2 * Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
 
     4 * This component and the accompanying materials are made available
 
     5 * under the terms of "Eclipse Public License v1.0"
 
     6 * which accompanies this distribution, and is available
 
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
 
     9 * Initial Contributors:
 
    10 * Nokia Corporation - initial contribution.
 
    15 * Name        : sipcontentencodingheader.h
 
    17 * Interface   : SDK API, SIP Codec API
 
    25 #ifndef CSIPCONTENTENCODINGHEADER_H
 
    26 #define CSIPCONTENTENCODINGHEADER_H
 
    29 #include "siptokenheaderbase.h"
 
    36 * Class provides functions for setting and getting parameters 
 
    37 * in SIP "Content-Encoding" header.
 
    41 class CSIPContentEncodingHeader : public CSIPTokenHeaderBase
 
    43 	public:	// Constructors and destructor
 
    46 		* Constructs a CSIPContentEncodingHeader from textual representation
 
    47 		* of the header's value part.
 
    48 		* @param aValue a value part of a "Content-Encoding"-header
 
    49 		* @return an array containing 1..n instances of 
 
    50 		*         CSIPContentEncodingHeader
 
    52 		IMPORT_C static RPointerArray<CSIPContentEncodingHeader> 
 
    53 			DecodeL(const TDesC8& aValue);
 
    56 		* Creates a new instance of CSIPContentEncodingHeader
 
    57 		* @param aValue a content-coding value 
 
    58 		* @return a new instance of CSIPContentEncodingHeader
 
    60 		IMPORT_C static CSIPContentEncodingHeader* NewL(RStringF aValue);
 
    63 		* Creates a new instance of CSIPContentEncodingHeader 
 
    64 		* and puts it to CleanupStack
 
    65 		* @param aValue a content-coding value
 
    66 		* @return a new instance of CSIPContentEncodingHeader
 
    68 		IMPORT_C static CSIPContentEncodingHeader* NewLC(RStringF aValue);
 
    71 		* Destructor, deletes the resources of CSIPContentEncodingHeader.
 
    73 		IMPORT_C ~CSIPContentEncodingHeader();
 
    76 	public: // New functions
 
    79 		* Constructs an instance of a CSIPContentEncodingHeader 
 
    81 		* @param aReadStream a stream containing the value of the
 
    82 		*        externalized object (header name not included).
 
    83 		* @return an instance of a CSIPContentEncodingHeader
 
    86 		IMPORT_C static CSIPHeaderBase* 
 
    87 			InternalizeValueL(RReadStream& aReadStream);
 
    90 	public: // From CSIPHeaderBase
 
    93 		* From CSIPHeaderBase CloneL
 
    95 		IMPORT_C CSIPHeaderBase* CloneL() const;
 
    98 		* From CSIPHeaderBase Name
 
   100 		IMPORT_C RStringF Name() const;
 
   103 	public: // From CSIPHeaderBase, for internal use
 
   108 		TBool HasCompactName() const;
 
   113 		RStringF CompactName() const;
 
   118 		TPreferredPlace PreferredPlaceInMessage() const;
 
   120 	public: // New functions, for internal use
 
   122 		static RPointerArray<CSIPHeaderBase> BaseDecodeL(const TDesC8& aValue);
 
   124 	private: // Constructors
 
   126 		CSIPContentEncodingHeader();
 
   127 		CSIPContentEncodingHeader(const CSIPContentEncodingHeader& aHeader);
 
   130 #endif // CSIPCONTENTENCODINGHEADER_H