applayerpluginsandutils/httpprotocolplugins/wspinc/MWspUnknownCapabilities.h
changeset 0 b16258d2340f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerpluginsandutils/httpprotocolplugins/wspinc/MWspUnknownCapabilities.h	Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,109 @@
+// 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 "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file MWspUnknownCapabilities.h
+ @warning : This file contains Rose Model ID comments - please do not delete
+*/
+
+#ifndef __MWSPUNKNOWNCAPABILITIES_H__
+#define __MWSPUNKNOWNCAPABILITIES_H__
+
+// System includes
+#include <e32base.h>
+#include <wsp/wsptypes.h>
+
+class MWspUnknownCapabilities
+/**
+@class MWspUnknownCapabilities
+@since			7.0
+The MWspUnknownCapabilities API provides an interface to a set of unknown
+capabilities as defined by the WSP Specification, July 2001. The Identifier
+is encoded in the same way as the header field name - it uses the BNF rule 
+for Field-Name, as shown in the WSP Specification, Section 8.4.2.6. Well-
+known capabilities have their identifier encoded using a short-integer, and
+unknown capabilities encode their identifier using a Null-terminated string.
+Any extra capabilities must be defined in such a way that an empty parameter
+value is illegal. This allows the unknown capability to be rejected.
+
+The interface allows the set of unknown capabilities to be accessed one by 
+one. The read function provides the caller with a copy of the capability 
+information. The set can be reset to the default value of the capability (as
+defined by the WSP Specification), which is an empty set. An unknown 
+capability can be added to the set.
+@publishedAll
+@deprecated
+*/
+	{
+public:	// Methods
+
+/**
+	@fn				Start() const =0
+	Intended Usage	:	Ensures that the first unknown capability in the set is 
+						available for reading.
+	@since			7.0
+	@return			An error code. If there are no unknown capabilities, then 
+					the value returned is KErrNotFound. If there are unknown 
+					capabilities then the value KErrNone is returned.
+	@post			The subsequent call to GetNext() is applied to the first
+					unknown capability in the set.
+ */
+	virtual TInt Start() const =0;
+
+/**
+	@fn				GetNext(TPtrC8& aIdentifier, TPtrC8& aValue) const =0
+	Intended Usage	:	Gets the next unknown capability in the set. If there 
+						are no unknown capabilities left then KErrNotFound error code is 
+						returned.
+	@since			7.0
+	@param			aIdentifier	An output parameter reference for a buffer with
+								the identifier for the unknown capability.
+	@param			aValue		An output parameter reference for a buffer with
+								the parameters for the capability.
+	@return			An error code. If there are no unknown capabilities left, 
+					then the value returned is KErrNotFound. If there are unknown
+					capabilities left then the value KErrNone is returned.
+	@post			The next unknown capability in the set is available for 
+					reading.
+ */
+	virtual TInt GetNext(TPtrC8& aIdentifier, TPtrC8& aValue) const =0;
+
+/**
+	@fn				Reset() =0
+	Intended Usage	:	Resets the capability to the default. The default is 
+						defined in the WSP Specification, July 2001, as being an
+						empty set of code pages.
+	@since			7.0
+	@post			The set of unknown capabilities is empty.
+ */
+	virtual void Reset() =0;
+
+/**
+	@fn				AddUnknownCapabilityL(const TDesC8& aIdentifier, const TDesC8& aValue) =0
+	Intended Usage	:	Adds an unknown capability to the set.
+	@since			7.0
+	@leave			Leave code KErrNoMemory if the capability cannot be added to 
+					the set.
+	@param			aIdentifier	A buffer with the identifier for the unknown
+								capability.
+	@param			aValue		A buffer with the parameters for the capability.
+	@post			If no error has occurred then the unknown capability has been 
+					added.
+ */
+	virtual void AddUnknownCapabilityL(const TDesC8& aIdentifier, const TDesC8& aValue) =0;
+
+	};
+
+#endif	// __MWSPUNKNOWNCAPABILITIES_H__