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

sipparameterheaderbase.h

Go to the documentation of this file.
00001 /*
00002 * =============================================================================
00003 *  Name        : sipparameterheaderbase.h
00004 *  Part of     : SIP Codec
00005 *  Interface   : SDK API, SIP Codec API
00006 *  Description : 
00007 *  Version     : SIP/4.0
00008 *
00009 *  Copyright (c) 2006 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 CSIPPARAMETERHEADERBASE_H
00023 #define CSIPPARAMETERHEADERBASE_H
00024 
00025 //  INCLUDES
00026 #include "sipheaderbase.h"
00027 #include "_sipcodecdefs.h"
00028 
00029 // FORWARD DECLARATIONS
00030 class CSIPParamContainerBase;
00031 
00032 // CLASS DECLARATION
00044 class CSIPParameterHeaderBase : public CSIPHeaderBase
00045     {
00046     public:    // Constructors and destructor
00047 
00051         IMPORT_C virtual ~CSIPParameterHeaderBase();
00052 
00053 
00054     public: // New functions
00055 
00061         IMPORT_C TBool HasParam(RStringF aName) const;
00062 
00070         IMPORT_C RStringF ParamValue(RStringF aName) const;
00071 
00081         IMPORT_C void SetParamL(RStringF aName, RStringF aValue);
00082 
00091         IMPORT_C void SetParamL(RStringF aName);
00092 
00097         IMPORT_C void DeleteParam(RStringF aName);
00098 
00103         IMPORT_C TInt ParamCount() const;
00104 
00114         IMPORT_C TInt Param(TInt aIndex, RStringF& aName) const;
00115 
00116     public: // From CSIPHeaderBase
00117 
00121         IMPORT_C HBufC8* ToTextValueL() const;
00122 
00123 
00124     protected: // Contructors
00125 
00126         CSIPParameterHeaderBase(const TChar& aSeparator);        
00127 
00128     protected: // New functions
00129 
00130         void ParseL(const TDesC8& aValue, TBool aIgnoreParenthesis=ETrue);
00131 
00132     protected: // Virtual functions
00133     
00134         virtual TBool ParamInsertionAllowed() const;
00135 
00136     protected: // Pure virtual functions
00137     
00138         virtual HBufC8* ToTextMandatoryPartLC() const = 0;
00139         virtual void ParseMandatoryPartL(const TDesC8& aMandatoryPart) = 0;
00140         virtual const CSIPParamContainerBase& Params() const = 0;
00141         virtual CSIPParamContainerBase& Params() = 0;
00142 
00143     private: // Contructors
00144 
00145         CSIPParameterHeaderBase();
00146 
00147     private: // Data
00148     
00149         TChar iSeparator;
00150 
00151     private: // For testing purposes
00152     
00153         UNIT_TEST(CSIPParameterHeaderBaseTest)
00154     };
00155 
00156 // CSIPPARAMETERHEADERBASE_H
00157 #endif
00158 
00159 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top