00001 /* 00002 * ============================================================================== 00003 * Name : sipdialogassocbase.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 CSIPDIALOGASSOCBASE_H 00022 #define CSIPDIALOGASSOCBASE_H 00023 00024 // INCLUDES 00025 #include <stringpool.h> 00026 #include "_sipcodecdefs.h" 00027 00028 // FORWARD DECLARATIONS 00029 class CSIPMessageElements; 00030 class CSIPClientTransaction; 00031 class CSIPDialog; 00032 class CSIPRefresh; 00033 class CSIPServerTransaction; 00034 class CSIPDialogAssocImplementation; 00035 00036 // CLASS DECLARATION 00037 00047 class CSIPDialogAssocBase : public CBase 00048 { 00049 public: // Destructor 00050 00054 virtual ~CSIPDialogAssocBase(); 00055 00056 public: // New functions 00057 00062 IMPORT_C const CSIPDialog& Dialog() const; 00063 00068 IMPORT_C CSIPDialog& Dialog(); 00069 00090 IMPORT_C virtual CSIPClientTransaction* 00091 SendNonTargetRefreshRequestL(RStringF aMethod, 00092 CSIPMessageElements* aElements); 00093 00099 IMPORT_C RStringF Type() const; 00100 00106 IMPORT_C TBool IsNonTargetRefreshRequest(RStringF aMethod) const; 00107 00108 public: // New functions, for internal use 00109 00115 CSIPDialogAssocImplementation& Implementation(); 00116 00126 virtual CSIPRefresh* FindRefresh(TUint32 aRefreshId); 00127 00128 virtual void DeletingRefresh(CSIPRefresh& aRefresh, TUint32 aRefreshId); 00129 00130 protected: // Constructors, for internal use 00131 00132 /* 00133 * Constructor 00134 */ 00135 CSIPDialogAssocBase(); 00136 00137 void ConstructL(RStringF aType, CSIPDialog& aDialog); 00138 void ConstructL(RStringF aType, 00139 CSIPDialog& aDialog, 00140 CSIPServerTransaction& aTransaction); 00141 00142 protected: // Data 00143 00144 //Implementation instance, CSIPDialogAssocBase owns it 00145 CSIPDialogAssocImplementation* iImplementation; 00146 00147 private: // For testing purposes 00148 00149 UNIT_TEST(CSIPInviteDialogAssoc_Test) 00150 00151 __DECLARE_TEST; 00152 }; 00153 00154 #endif