reSIProcate/DialogUsageManager  9680
BaseCreator.hxx
Go to the documentation of this file.
00001 #if !defined(RESIP_BASECREATOR_HXX)
00002 #define RESIP_BASECREATOR_HXX
00003 
00004 #include "resip/stack/SipMessage.hxx"
00005 #include "resip/dum/UserProfile.hxx"
00006 #include "resip/dum/DialogUsageManager.hxx"
00007 
00008 namespace resip
00009 {
00010 
00011 class DialogUsageManager;
00012 
00013 class BaseCreator
00014 {
00015    public:
00016       BaseCreator(DialogUsageManager& dum, const SharedPtr<UserProfile>& userProfile);
00017       virtual ~BaseCreator();
00018       SharedPtr<SipMessage> getLastRequest();
00019       SharedPtr<UserProfile> getUserProfile();
00020       //const SipMessage& getLastRequest() const;
00021 
00022    protected:
00023       void makeInitialRequest(const NameAddr& target, MethodTypes method);
00024       void makeInitialRequest(const NameAddr& target, const NameAddr& from, MethodTypes method);
00025       
00026       // this will get updated when an initial request is challenged. where we
00027       // store the credentials and last cseq
00028       SharedPtr<SipMessage> mLastRequest;
00029       DialogUsageManager& mDum;
00030       SharedPtr<UserProfile> mUserProfile;
00031 };
00032 
00033 }
00034 
00035 #endif
00036 
00037 /* ====================================================================
00038  * The Vovida Software License, Version 1.0 
00039  * 
00040  * Copyright (c) 2000 Vovida Networks, Inc.  All rights reserved.
00041  * 
00042  * Redistribution and use in source and binary forms, with or without
00043  * modification, are permitted provided that the following conditions
00044  * are met:
00045  * 
00046  * 1. Redistributions of source code must retain the above copyright
00047  *    notice, this list of conditions and the following disclaimer.
00048  * 
00049  * 2. Redistributions in binary form must reproduce the above copyright
00050  *    notice, this list of conditions and the following disclaimer in
00051  *    the documentation and/or other materials provided with the
00052  *    distribution.
00053  * 
00054  * 3. The names "VOCAL", "Vovida Open Communication Application Library",
00055  *    and "Vovida Open Communication Application Library (VOCAL)" must
00056  *    not be used to endorse or promote products derived from this
00057  *    software without prior written permission. For written
00058  *    permission, please contact vocal@vovida.org.
00059  *
00060  * 4. Products derived from this software may not be called "VOCAL", nor
00061  *    may "VOCAL" appear in their name, without prior written
00062  *    permission of Vovida Networks, Inc.
00063  * 
00064  * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED
00065  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
00066  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND
00067  * NON-INFRINGEMENT ARE DISCLAIMED.  IN NO EVENT SHALL VOVIDA
00068  * NETWORKS, INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT DAMAGES
00069  * IN EXCESS OF $1,000, NOR FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
00070  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
00071  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
00072  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
00073  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
00074  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
00075  * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
00076  * DAMAGE.
00077  * 
00078  * ====================================================================
00079  * 
00080  * This software consists of voluntary contributions made by Vovida
00081  * Networks, Inc. and many individuals on behalf of Vovida Networks,
00082  * Inc.  For more information on Vovida Networks, Inc., please see
00083  * <http://www.vovida.org/>.
00084  *
00085  */