--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/applayerpluginsandutils/httpprotocolplugins/wspinc/MWspCOMethodCallback.h Tue Feb 02 01:09:52 2010 +0200
@@ -0,0 +1,206 @@
+// 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 MWspCOMethodCallback.h
+ @warning : This file contains Rose Model ID comments - please do not delete
+*/
+
+#ifndef __MWSPCOMETHODCALLBACK_H__
+#define __MWSPCOMETHODCALLBACK_H__
+
+// System includes
+#include <e32std.h>
+#include <wsp/wsptypes.h>
+
+// Forward class declarations
+class MWspCOMethodInvoker;
+class MHTTPDataSupplier;
+
+// Types used for arguments in this file (e.g. TWspBearer) are from the Wap namespace
+using namespace Wap;
+
+
+class MWspCOMethodCallback
+/**
+@class MWspCOMethodCallback
+@since 7.0
+The MWspCOMethodInvoker and MWspCOMethodCallback form the API that provides
+the WSP Connection-Orientated Session Service Method Invocation facility, as
+described in the WSP Specification, July 2001.
+
+The MWspCOMethodInvoker interface is supplied by the Provider entity. The
+MWspCOMethodCallback interface is supplied by the Client entity. The Provider
+implements the communications necessary to send the primitives issued by the
+Client to the Server, and from the Server to the Client.
+
+A method transaction can only be invoked under the following circumstances;
+ 1) The WSP session is in either the Connecting, Connected or Resuming
+ state.
+ 2) The number of of outstanding method transactions has not reached the
+ negotiated Method MOR.
+Both these circumstances must be statisfied before a method may be invoked.
+
+Further, during the capability negotiations, the Protocol Option for Large
+Data Transfer may be refused (WSP Specification 8.3.2.3). If this is the case,
+then the use of the S-MethodInvokeData (by the Client) and S-MethodResultData
+(by the Server) is forbidden.
+
+The effect of not supporting LDT is that POST data may not be streamed and
+must not overflow the negotiated Server SDU size. The amount of allowed data
+in the S-MethodInvoke.req is dependent on the size of the destination URI
+and the method headers. A method transaction that exceeds the Server SDU size
+is aborted by the Client and is not invoked on the Provider.
+
+Another case in which the Client may abort a method transaction is when the
+negotiated Server Message size has been exceeded. This also applies when LDT
+is supported in the WSP session. The Client aborts the method invocation on
+the Provider as well.
+
+The object that encapsulates the concept of a method transaction implements
+the call-back API MWspCOMethodCallback. The Provider associates each of
+these objects with a Transaction Id used to distinguish between method
+transactions during a WSP session.
+@publishedAll
+@deprecated
+*/
+ {
+public: // Methods
+
+/** @fn MethodInvokeCnf() =0
+ Intended Usage : This represents the S-MethodInvoke.cnf primitive. The
+ Provider issues this primitive when it has received the
+ response to the method request invocation from the Server
+ (S-MethodInvoke.res). If the negotiated Server Message
+ size has been exceeded by the S-MethodInvoke.ind primitive,
+ then the Provider aborts the method transaction.
+
+ @since 7.0
+ @pre The WSP method transaction is in the Requesting state.
+ @post If there are subsequent S-MethodInvokeData.req primitives to
+ be issued for this method request, then the WSP method
+ transaction remains in the Requesting state. If the entire
+ request has been sent to the Server, then the WSP method
+ transaction is in the Waiting state.
+*/
+ virtual void MethodInvokeCnf() =0;
+
+/** @fn MethodInvokeDataCnf() =0
+ Intended Usage : This represents the S-MethodInvokeData.cnf primitive.
+ The Provider issues this primitive when it has received
+ the response to the method request invocation from the
+ Server (S-MethodInvokeData.res).If the negotiated Server
+ Message size has been exceeded, then the Provider aborts
+ the method transaction.
+ @since 7.0
+ @pre The WSP method transaction is in the Requesting state.
+ @post If there are subsequent S-MethodInvokeData.req primitives
+ to be issued for this method request, then the WSP method
+ transaction remains in the Requesting state. If the entire
+ request has been sent to the Server, then the WSP method
+ transaction is in the Waiting state.
+*/
+ virtual void MethodInvokeDataCnf() =0;
+
+/** @fn MethodAbortInd(TWspReason aReason) =0
+ Intended Usage : This represents the S-MethodAbort.ind primitive. This
+ is issued when the method transaction has been aborted.
+ @since 7.0
+ @param aReason A parameter that indicates the cause of the abort.
+ The value maps to the Reason type defined in the WSP
+ Specification, July 2001.
+ @pre The WSP method transaction is not in the Null state.
+ @post The WSP method transaction is in the Null state.
+*/
+ virtual void MethodAbortInd(TWspReason aReason) =0;
+
+/** @fn MethodResultInd(TInt aStatus, const TDesC8& aResponseHeaders, MHTTPDataSupplier& aResponseBody, TBool aMoreData) =0
+ Intended Usage : This represents the S-MethodResult.ind primitive. The
+ Provider issues this primitive when it has received the
+ response for this method transaction from the Server.
+
+ The aMoreData flag indicates whether there are subsequent
+ S-MethodResultData primitives to follow. This is only
+ possible if LDT is supported.
+
+ If there are subsequent S-MethodResultData primitives
+ for this transaction, then the data supplier object
+ aResponseBody is used to obtain the body data in all the
+ subsequent S-MethodResultData primitives.
+
+ The Server expects the S-MethodResult.res primitive to
+ be sent from the Client.
+ @since 7.0
+ @param aStatus A status code whose value is given by
+ the Status types defined in the WSP
+ Specification, July 2001 .
+ @param aResponseHeaders A reference to buffer that provides the
+ encoded response headers.
+ @param aResponseBody A reference to a data supplier object
+ that provides the data associated
+ with the response.
+ @param aMoreDate A flag indicating that there are subsequent
+ S-MethodResultData primitives to follow
+ for this transaction.
+ @pre The WSP method transaction is in the Waiting state.
+ @post If subsequent S-MethodResultData primitives are expected,
+ then the WSP method transaction is in the Waiting2 state.
+ If all the response information has been received, then the
+ WSP method transaction is in the Completing state.
+*/
+ virtual void MethodResultInd(
+ TInt aStatus,
+ const TDesC8& aResponseHeaders,
+ MHTTPDataSupplier& aResponseBody,
+ TBool aMoreData
+ ) =0;
+
+/** @fn MethodResultDataInd(const TDesC8& aTrailerHeaders, TBool aMoreData) =0
+ Intended Usage : This represents the S-MethodResultData.ind primitive.
+ The Provider sends more data associated with a
+ previous S-MethodResult.ind primitive.
+
+ The remaining body data is obtained using the data
+ supplier object aResponseBody provided to the Client
+ as a parameter of the previous call to MethodResultInd().
+
+ The aMoreData flag indicates whether there are subsequent
+ S-MethodResultData primitives to follow.
+
+ If there are trailer headers these are provided by the
+ input parameter aTrailerHeaders. This is only valid if
+ this is the last S-MethodResultData primitive.
+
+ The Server expects the S-MethodResultData.res primitive
+ to be sent from the Client.
+ @since 7.0
+ @param aTrailerHeaders A reference to a buffer with the encoded
+ trailer headers. This must be empty unless
+ this is the last S-MethodResultData
+ primitive.
+ @param aMoreDate A flag indicating that there are subsequent
+ S-MethodResultData primitives to follow for
+ this transaction.
+ @pre The WSP method transaction is in the Waiting2 state.
+ @post If subsequent S-MethodResultData primitives are expected,
+ then the WSP method transaction is in the Waiting2 state.
+ If all the response information has been received, then the
+ WSP method transaction is in the Completing state.
+*/
+ virtual void MethodResultDataInd(const TDesC8& aTrailerHeaders, TBool aMoreData) =0;
+
+ };
+
+#endif // __MWSPCOMETHODCALLBACK_H__
\ No newline at end of file