epoc32/include/http/framework/rheaderfield.h
branchSymbian2
changeset 2 2fe1408b6811
--- /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 <e32base.h>
+#include <http/thttphdrval.h>
+#include <http/rhttppropertyset.h>
+#include <http/rhttpheaders.h>
+
+// 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__