00001 /* 00002 * ============================================================================== 00003 * Name : sipreferdialogassoc.h 00004 * Part of : SIP Client 00005 * Interface : SDK API, SIP Client API 00006 * Description : 00007 * Version : 1.0 00008 * 00009 * Copyright (c) 2005 Nokia Corporation. 00010 * This material, including documentation and any related 00011 * computer programs, is protected by copyright controlled by 00012 * Nokia Corporation. All rights are reserved. Copying, 00013 * including reproducing, storing, adapting or translating, any 00014 * or all of this material requires the prior written consent of 00015 * Nokia Corporation. This material also contains confidential 00016 * information which may not be disclosed to others without the 00017 * prior written consent of Nokia Corporation. 00018 * ============================================================================== 00019 */ 00020 00021 #ifndef CSIPREFERDIALOGASSOC_H 00022 #define CSIPREFERDIALOGASSOC_H 00023 00024 // INCLUDES 00025 #include "sipdialogassocbase.h" 00026 00027 // CONSTANTS 00028 00029 // FORWARD DECLARATIONS 00030 class CUri8; 00031 class CSIPToHeader; 00032 class CSIPFromHeader; 00033 class CSIPContactHeader; 00034 class CSIPReferToHeader; 00035 class MSIPRegistrationContext; 00036 class CSIPConnection; 00037 00038 // CLASS DECLARATION 00039 00053 class CSIPReferDialogAssoc: public CSIPDialogAssocBase 00054 { 00055 public: // Constructors and destructor 00056 00067 IMPORT_C static CSIPReferDialogAssoc* 00068 NewL(CSIPDialog& aDialog, 00069 CSIPReferToHeader* aReferTo); 00070 00081 IMPORT_C static CSIPReferDialogAssoc* 00082 NewLC(CSIPDialog& aDialog, 00083 CSIPReferToHeader* aReferTo); 00084 00107 IMPORT_C static CSIPReferDialogAssoc* 00108 NewL(CSIPConnection& aConnection, 00109 CSIPFromHeader* aFrom, 00110 CUri8* aRemoteUri, 00111 CSIPReferToHeader* aReferTo, 00112 CSIPToHeader* aTo=0, 00113 CSIPContactHeader* aContact=0); 00114 00137 IMPORT_C static CSIPReferDialogAssoc* 00138 NewLC(CSIPConnection& aConnection, 00139 CSIPFromHeader* aFrom, 00140 CUri8* aRemoteUri, 00141 CSIPReferToHeader* aReferTo, 00142 CSIPToHeader* aTo=0, 00143 CSIPContactHeader* aContact=0); 00144 00173 IMPORT_C static CSIPReferDialogAssoc* 00174 NewL(CSIPConnection& aConnection, 00175 CUri8* aRemoteUri, 00176 const MSIPRegistrationContext& aContext, 00177 CSIPReferToHeader* aReferTo, 00178 CSIPFromHeader* aFrom=0, 00179 CSIPToHeader* aTo=0, 00180 CSIPContactHeader* aContact=0); 00181 00210 IMPORT_C static CSIPReferDialogAssoc* 00211 NewLC(CSIPConnection& aConnection, 00212 CUri8* aRemoteUri, 00213 const MSIPRegistrationContext& aContext, 00214 CSIPReferToHeader* aReferTo, 00215 CSIPFromHeader* aFrom=0, 00216 CSIPToHeader* aTo=0, 00217 CSIPContactHeader* aContact=0); 00218 00222 IMPORT_C ~CSIPReferDialogAssoc(); 00223 00224 public: //New functions 00225 00243 IMPORT_C CSIPClientTransaction* 00244 SendReferL(CSIPMessageElements* aElements=0); 00245 00250 IMPORT_C const CSIPReferToHeader& ReferTo() const; 00251 00252 public: // New functions, for internal use 00253 00264 CSIPClientTransaction* DoSendReferL(CSIPMessageElements* aElements, 00265 TBool aWithinDialog); 00266 00267 private: // Constructors 00268 00269 CSIPReferDialogAssoc(); 00270 00271 static CSIPReferDialogAssoc* NewLC(CSIPConnection& aConnection, 00272 CUri8* aRemoteUri, 00273 CSIPReferToHeader* aReferTo, 00274 CSIPFromHeader* aFrom, 00275 CSIPToHeader* aTo, 00276 CSIPContactHeader* aContact, 00277 const MSIPRegistrationContext* aContext); 00278 00279 private: // Data 00280 00281 CSIPReferToHeader* iReferTo; 00282 }; 00283 00284 #endif