00001 /* 00002 * ============================================================================== 00003 * Name : sipresponseelements.h 00004 * Part of : SIP Client 00005 * Interface : SDK API, SIP 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 CSIPRESPONSEELEMENTS_H 00022 #define CSIPRESPONSEELEMENTS_H 00023 00024 // INCLUDES 00025 #include <e32base.h> 00026 #include <s32strm.h> 00027 #include <stringpool.h> 00028 #include "_sipcodecdefs.h" 00029 00030 // FORWARD DECLARATIONS 00031 class CSIPMessageElements; 00032 class CSIPFromHeader; 00033 class CSIPToHeader; 00034 class CSIPCSeqHeader; 00035 00036 // CLASS DECLARATION 00037 00049 class CSIPResponseElements : public CBase 00050 { 00051 public: // Constructors and destructor 00058 IMPORT_C static CSIPResponseElements* NewL(TUint aStatusCode, 00059 RStringF aReasonPhrase); 00060 00067 IMPORT_C static CSIPResponseElements* NewLC(TUint aStatusCode, 00068 RStringF aReasonPhrase); 00069 00073 IMPORT_C ~CSIPResponseElements(); 00074 00075 public: // New functions 00083 IMPORT_C void SetStatusCodeL(TUint aStatusCode); 00084 00089 IMPORT_C TUint StatusCode() const; 00090 00095 IMPORT_C void SetReasonPhraseL(RStringF aReasonPhrase); 00096 00102 IMPORT_C RStringF ReasonPhrase() const; 00103 00109 IMPORT_C const CSIPFromHeader* FromHeader() const; 00110 00116 IMPORT_C const CSIPToHeader* ToHeader() const; 00117 00123 IMPORT_C const CSIPCSeqHeader* CSeqHeader() const; 00124 00129 IMPORT_C const CSIPMessageElements& MessageElements() const; 00130 00137 IMPORT_C CSIPMessageElements& MessageElements(); 00138 00139 public: // New functions, for internal use 00140 static CSIPResponseElements* InternalizeL (RReadStream& aReadStream); 00141 static CSIPResponseElements* InternalizeLC (RReadStream& aReadStream); 00142 void ExternalizeL (RWriteStream& aWriteStream) const; 00143 00144 private: 00145 CSIPResponseElements(); 00146 void ConstructL(TUint aStatusCode, RStringF aReasonPhrase); 00147 void DoInternalizeL (RReadStream& aReadStream); 00148 00149 private: // Data 00150 TUint iStatusCode; 00151 RStringF iReasonPhrase; 00152 CSIPMessageElements* iMessageElements; 00153 }; 00154 00155 // end of CSIPRESPONSEELEMENTS_H 00156 #endif