S60 3rd Edition API Reference: sipeventheader.h Source File

sipeventheader.h

Go to the documentation of this file.
00001 /*
00002 * =============================================================================
00003 *  Name        : sipeventheader.h
00004 *  Part of     : SIP Codec
00005 *  Interface   : SDK API, SIP Codec API
00006 *  Description : 
00007 *  Version     : SIP/4.0 
00008 *
00009 *  Copyright (c) 2004 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 CSIPEVENTHEADER_H
00023 #define CSIPEVENTHEADER_H
00024 
00025 //  INCLUDES
00026 #include <bamdesca.h>
00027 #include <badesca.h>
00028 #include "SipParameterHeaderBase.h"
00029 #include "_sipcodecdefs.h"
00030 
00031 // FORWARD DECLARATIONS
00032 class CSIPEventHeaderParams;
00033 
00034 // CLASS DECLARATION
00044 class CSIPEventHeader : public CSIPParameterHeaderBase
00045         {
00046         public: // Constructors and destructor
00047         
00054                 IMPORT_C static CSIPEventHeader* DecodeL(const TDesC8& aValue);
00055 
00061                 IMPORT_C static CSIPEventHeader* NewL(const TDesC8& aEventPackage);
00062 
00069                 IMPORT_C static CSIPEventHeader* NewLC(const TDesC8& aEventPackage);
00070 
00074                 IMPORT_C ~CSIPEventHeader();
00075 
00076 
00077         public: // New functions
00078 
00084                 IMPORT_C TBool operator==(const CSIPEventHeader& aHeader) const;
00085 
00090                 IMPORT_C const TDesC8& EventPackage() const;
00091 
00096                 IMPORT_C void SetEventPackageL(const TDesC8& aEventPackage);
00097 
00102                 IMPORT_C void SetEventTemplatesL(const MDesC8Array& aEventTemplates);
00103 
00108                 IMPORT_C const MDesC8Array& EventTemplates() const;
00109         
00116                 IMPORT_C static CSIPHeaderBase* 
00117                         InternalizeValueL(RReadStream& aReadStream);
00118 
00119 
00120         public: // From CSIPHeaderBase
00121 
00125                 IMPORT_C CSIPHeaderBase* CloneL() const;
00126 
00130                 IMPORT_C RStringF Name() const;
00131 
00132 
00133         public: // From CSIPHeaderBase, for internal use
00134 
00135                 TBool HasCompactName() const;
00136                 RStringF CompactName() const;
00137                 TPreferredPlace PreferredPlaceInMessage() const;
00138 
00139         public: // New functions, for internal use
00140 
00141                 static RPointerArray<CSIPHeaderBase> BaseDecodeL(const TDesC8& aValue);
00142 
00143         private: // From CSIPHeaderBase
00144 
00145                 void ExternalizeValueL(RWriteStream& aWriteStream) const;
00146 
00147         private: // From CSIPParameterHeaderBase
00148 
00149                 HBufC8* ToTextMandatoryPartLC() const;
00150                 void ParseMandatoryPartL(const TDesC8& aMandatoryPart);
00151                 const CSIPParamContainerBase& Params() const;
00152                 CSIPParamContainerBase& Params();
00153 
00154         private: // Constructors
00155 
00156                 CSIPEventHeader();
00157                 void ConstructL();
00158                 void ConstructL(const TDesC8& aEventPackage);
00159                 void ConstructL(const CSIPEventHeader& aSIPEventHeader);
00160 
00161         private: // New functions
00162 
00163                 void DoInternalizeValueL(RReadStream& aReadStream);
00164                 void CheckTemplateL(const TDesC8& aParam) const;
00165                 // Needed for cleanup of a RPointerArray<HBufC8>:
00166                 static void ResetAndDestroy(TAny* anArray);
00167 
00168         private: // Data
00169 
00170                 HBufC8* iEventPackage;
00171                 CSIPEventHeaderParams* iParams;
00172                 CDesC8ArraySeg* iEventTemplates;
00173 
00174         private: // For testing purposes
00175         
00176                 UNIT_TEST(CSIPEventHeaderTest)
00177         };
00178 
00179 // CSIPEVENTHEADER_H
00180 #endif
00181 
00182 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top