diff -r 666f914201fb -r 2fe1408b6811 epoc32/include/http/framework/rheaderfield.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/epoc32/include/http/framework/rheaderfield.h Tue Mar 16 16:12:26 2010 +0000 @@ -0,0 +1,110 @@ +// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members +// which accompanies this distribution, and is available +// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + + + +/** + @file RHeaderField.h + @warning : This file contains Rose Model ID comments - please do not delete +*/ + +#ifndef __RHEADERFIELD_H__ +#define __RHEADERFIELD_H__ + +// System includes +#include +#include +#include +#include + +// Forward declarations +class CHeaderField; +class THeaderFieldPartIter; + + +/** +The default chunk size for Raw data should be set to the average length of a header field when encoded in +plaintext. +@publishedAll +@released +*/ +const TInt KDefaultRawChunkSize= 32; + + +//##ModelId=3B1E52A50396 +class RHeaderField +/** +An proxy object for a single field in an HTTP header. The class is used by +implementations of CHeaderCodec in order to manipulate the header at the part and +parameter level, or to obtain raw data, during a header encode/decode operation. +@publishedAll +@released +*/ + { +public: // methods + + //##ModelId=3BA6004002BC + RHeaderField(CHeaderField& aHeaderField); + + IMPORT_C + //##ModelId=3B1E52A503C0 + RStringF Name() const; + + IMPORT_C + //##ModelId=3B1E52A503BF + THeaderFieldPartIter PartsL(); + + IMPORT_C + //##ModelId=3B1E52A503B9 + void RawDataL(TPtrC8& aRawData); + + IMPORT_C + //##ModelId=3BA6004002B2 + RHTTPHeaders Collection(); + + IMPORT_C + //##ModelId=3B1E52A503B6 + void SetPartL(CHeaderFieldPart* aPart, TInt aIndex); + + IMPORT_C + //##ModelId=3B1E52A503B4 + void BeginRawDataL(TInt aChunkSize = KDefaultRawChunkSize); + + IMPORT_C + //##ModelId=3B1E52A503AB + void WriteRawDataL(const TDesC8& aData); + + IMPORT_C + //##ModelId=3B1E52A503AD + void WriteRawDataL(TChar aData); + + IMPORT_C + //##ModelId=3B1E52A503AA + void CommitRawData(); + +private: // attributes + + /** The internal representation of this header field + */ + //##ModelId=3B1E52A503A2 + CHeaderField& iHeaderField; +}; + +inline RHeaderField::RHeaderField(CHeaderField& aHeaderField) + : iHeaderField(aHeaderField) + { + } + +#endif // __CHEADERFIELD_H__