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

sipheaderbase.h

Go to the documentation of this file.
00001 /*
00002 * =============================================================================
00003 *  Name        : sipheaderbase.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 CSIPHEADERBASE_H
00023 #define CSIPHEADERBASE_H
00024 
00025 //  INCLUDES
00026 #include <e32base.h>
00027 #include <s32mem.h>
00028 #include <stringpool.h>
00029 #include "_sipcodecdefs.h"
00030 
00031 // CLASS DECLARATION
00040 class CSIPHeaderBase : public CBase
00041         {
00042         public: // Constructors and destructors
00043 
00047                 IMPORT_C virtual ~CSIPHeaderBase();
00048 
00049         
00050         public: // New functions
00051         
00057                 IMPORT_C virtual CSIPHeaderBase* CloneL() const = 0;
00058 
00064                 IMPORT_C virtual RStringF Name() const = 0;
00065 
00071                 IMPORT_C HBufC8* ToTextL() const;
00072 
00079                 IMPORT_C HBufC8* ToTextLC() const;
00080 
00086                 IMPORT_C virtual HBufC8* ToTextValueL() const = 0;
00087 
00094                 IMPORT_C HBufC8* ToTextValueLC() const;
00095 
00102                 IMPORT_C void ExternalizeL(RWriteStream& aWriteStream,
00103                                    TBool aAddName=ETrue) const;
00104 
00111                 IMPORT_C virtual TBool ExternalizeSupported() const;
00112 
00119                 IMPORT_C static void PushLC(RPointerArray<CSIPHeaderBase>* aArray);
00120 
00121 
00122         public: // For internal use
00123 
00124                 enum TPreferredPlace
00125                         {
00126                         ETop,
00127                         EMiddleTop,
00128                         EMiddle,
00129                         EMiddleBottom,
00130                         EBottom
00131                         };
00132         
00133                 TSglQueLink iLink;
00134 
00135                 virtual TBool EncodeMultipleToOneLine() const;
00136                 virtual TBool MoreThanOneAllowed() const;
00137                 virtual TBool IsExtensionHeader() const;
00138                 virtual TBool HasCompactName() const;
00139                 virtual RStringF CompactName() const;
00140                 virtual TPreferredPlace PreferredPlaceInMessage() const = 0;
00141 
00142         protected: // Constructors
00143 
00144                 CSIPHeaderBase();
00145 
00146         protected: // New functions
00147 
00148                 void ExternalizeNameL(RWriteStream& aWriteStream) const;
00149                 virtual void ExternalizeValueL(RWriteStream& aWriteStream) const;
00150                 // Needed for cleanup of a RPointerArray<CSIPHeaderBase>:
00151                 static void ResetAndDestroy(TAny* anArray);
00152         };
00153 
00154 // CSIPHEADERBASE_H
00155 #endif
00156 
00157 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top