00001 /* 00002 * ============================================================================== 00003 * Name : sipclienttransaction.h 00004 * Part of : SIP Client 00005 * Interface : 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 00022 #ifndef CSIPCLIENTTRANSACTION_H 00023 #define CSIPCLIENTTRANSACTION_H 00024 00025 // INCLUDES 00026 #include "siptransactionbase.h" 00027 00028 // FORWARD DECLARATIONS 00029 class CSIPRefresh; 00030 00031 // CLASS DECLARATION 00032 00044 class CSIPClientTransaction: public CSIPTransactionBase 00045 { 00046 public: // Destructor 00047 00051 IMPORT_C ~CSIPClientTransaction(); 00052 00053 public: // New functions 00054 00059 IMPORT_C const CSIPResponseElements* ResponseElements() const; 00060 00075 IMPORT_C CSIPClientTransaction* CancelL(); 00076 00084 IMPORT_C const CSIPRefresh* Refresh() const; 00085 00094 IMPORT_C virtual TBool CancelAllowed() const; 00095 00096 public: // Constructors, for internal use 00097 00109 static CSIPClientTransaction* 00110 NewL(RStringF aType, 00111 TUint32 aRequestId, 00112 MTransactionAssociation& aAssociation, 00113 CSIPRefresh* aRefresh=0); 00114 00127 static CSIPClientTransaction* 00128 NewLC(RStringF aType, 00129 TUint32 aRequestId, 00130 MTransactionAssociation& aAssociation, 00131 CSIPRefresh* aRefresh=0); 00132 00133 public: // New functions, for internal use 00134 00142 CSIPRefresh* Refresh(); 00143 00147 void RemoveRefresh(); 00148 00149 protected: // Constructor 00150 00151 CSIPClientTransaction(TUint32 aRequestId, 00152 MTransactionAssociation& aAssociation, 00153 CSIPRefresh* aRefresh); 00154 00155 private: // Data 00156 00157 //NULL if this transaction is not refreshed. 00158 //CSIPClientTransaction does not own the refresh object. 00159 CSIPRefresh* iRefresh; 00160 00161 private: // For testing purposes 00162 00163 UNIT_TEST(CSIP_Test) 00164 }; 00165 00166 #endif