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

sipcontactheader.h

Go to the documentation of this file.
00001 /*
00002 * =============================================================================
00003 *  Name        : sipcontactheader.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 CSIPCONTACTHEADER_H
00023 #define CSIPCONTACTHEADER_H
00024 
00025 //  INCLUDES
00026 #include "SipParameterHeaderBase.h"
00027 #include "_sipcodecdefs.h"
00028 
00029 // FORWARD DECLARATIONS
00030 class CSIPAddress;
00031 class CSIPContactHeaderParams;
00032 
00033 // CLASS DECLARATION
00043 class CSIPContactHeader : public CSIPParameterHeaderBase
00044         {
00045         public: // Constructors and destructor
00046 
00054                 IMPORT_C static RPointerArray<CSIPContactHeader> 
00055                         DecodeL(const TDesC8& aValue);
00056 
00063                 IMPORT_C static CSIPContactHeader* NewL(CSIPAddress* aSIPAddress);
00064 
00071                 IMPORT_C static CSIPContactHeader* NewLC(CSIPAddress* aSIPAddress);
00072 
00076                 IMPORT_C ~CSIPContactHeader();
00077 
00078         
00079         public: // New functions
00080 
00086                 IMPORT_C TBool operator==(const CSIPContactHeader& aHeader) const;
00087 
00092                 IMPORT_C TBool Star() const;
00093 
00099                 IMPORT_C TInt ExpiresParameter() const;
00100 
00106                 IMPORT_C void SetExpiresParameterL(TInt aExpiresParam);
00107 
00114                 IMPORT_C TReal QParameter() const;
00115 
00121                 IMPORT_C void SetQParameterL(TReal aQValue);
00122 
00128                 IMPORT_C const CSIPAddress* SIPAddress() const;
00129 
00135                 IMPORT_C CSIPAddress* SIPAddress();
00136 
00143                 IMPORT_C void SetSIPAddressL(CSIPAddress* aSIPAddress);
00144 
00151                 IMPORT_C static CSIPHeaderBase* 
00152                         InternalizeValueL(RReadStream& aReadStream);
00153 
00154 
00155         public: // From CSIPHeaderBase
00156                 
00160                 IMPORT_C CSIPHeaderBase* CloneL() const;
00161 
00165                 IMPORT_C RStringF Name() const;
00166 
00167 
00168         public: // From CSIPHeaderBase, for internal use
00169 
00170                 TBool MoreThanOneAllowed() const;
00171                 TBool HasCompactName() const;
00172                 RStringF CompactName() const;
00173                 TPreferredPlace PreferredPlaceInMessage() const;
00174 
00175         public: // New functions, for internal use
00176 
00177                 static RPointerArray<CSIPHeaderBase> BaseDecodeL(const TDesC8& aValue);
00178 
00179         private: // From CSIPHeaderBase
00180 
00181                 void ExternalizeValueL(RWriteStream& aWriteStream) const;
00182 
00183         private: // From CSIPParameterHeaderBase
00184 
00185                 TBool ParamInsertionAllowed() const;
00186                 HBufC8* ToTextMandatoryPartLC() const;
00187                 void ParseMandatoryPartL(const TDesC8& aMandatoryPart);
00188                 const CSIPParamContainerBase& Params() const;
00189                 CSIPParamContainerBase& Params();
00190 
00191         private: // Constructors
00192 
00193                 CSIPContactHeader(TBool aIsStar=EFalse);
00194                 void ConstructL();
00195                 void ConstructL(CSIPAddress* aSIPAddress);
00196                 void ConstructL(const CSIPContactHeader& aContactHeader);
00197 
00198         private: // New functions 
00199 
00200                 void DoInternalizeValueL(RReadStream& aReadStream);
00201 
00202         private: // Data
00203 
00204                 CSIPAddress* iSIPAddress;
00205                 CSIPContactHeaderParams* iParams;
00206                 TBool iIsStar;
00207 
00208         private: // For testing purposes
00209         
00210                 UNIT_TEST(CSIPContactHeaderTest)
00211         };
00212 
00213 // CSIPCONTACTHEADER_H
00214 #endif
00215 
00216 // End of File

Copyright © Nokia Corporation 2001-2007
Back to top