diff -r 000000000000 -r b16258d2340f applayerpluginsandutils/httpprotocolplugins/wspinc/MWspCOPushInvoker.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/applayerpluginsandutils/httpprotocolplugins/wspinc/MWspCOPushInvoker.h Tue Feb 02 01:09:52 2010 +0200 @@ -0,0 +1,157 @@ +// 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 MWspCOPushInvoker.h + @warning : This file contains Rose Model ID comments - please do not delete +*/ + +#ifndef __MWSPCOPUSHINVOKER_H__ +#define __MWSPCOPUSHINVOKER_H__ + +// System includes +#include +#include + +// Forward declarations +class MWspCOPushCallback; + + +class MWspCOPushInvoker +/** +@class MWspCOPushInvoker +@since 7.0 +The MWspCOPushInvoker and MWspCOPushCallback form the API that provides the +WSP Connection-Orientated Session Servise Push and Confirmed Push facilities, +as decribed in the WSP Specification, July 2001. + +The MWspCOPsuhInvoker interface is supplied by the Provider entity. The +MWspCOPsuhCallback 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. + +The use of the Push and Confirmed Push facilities during the lifetime of the +WSP Session is dependent on these being successfully negotiated capabilities +for that session. + +The Push MOR is also negotiated with the Server, and defines the number of +outstanding confirmed push invocations that can be active at one time. + +The object that implements the call-back API MWspCOPushCallback encapsulates +the concept of a Push transaction. The Provider associates each of these +objects with a Push Id used to distinguish between push transactions during +a WSP session. + +The sending of Push information is initiated by the Server, but for this +information to be passed onto the Client, the Provider must be informed that +the Client is ready to receive Push transactions. This is achieved by +supplying the Provider with Push transaction objects that are prepared to +receive Push information - listening Push transaction objects. + +In the case of the Confirmed Push facility, the exact number of these objects +that the Client supplies to the Provider is determined by the negotiated Push MOR. + +Furthermore, if the Push facility has been successfully negotiated, the Client +must supply one additional Push transaction object. +@publishedAll +@deprecated +*/ + { +public: // Methods + +/** + @fn PushListen(MWspCOPushCallback& aPushCallback) =0 + Intended Usage : Provides a Push transaction to the Provider. Also, informs + the Provider that the Client can receive Push information. + The Provider uses this call-back object to pass Push and + Confirmed Push transactions to the Client. + @since 7.0 + @param aPushCallback A reference to an instance of the call-back + API MWspCOPushCallback.It uniquely identifies + this method transaction for the lifetime of + the transaction. + @pre The WSP session is in the Connecting, Connected or Resuming + state. Either the Push facility, Confirmed Push facility or + both have been successfully negotiated with the Server. + @post Increases the number of listening Push transactions by one. + */ + virtual void PushListen(MWspCOPushCallback& aPushCallback) =0; + +/** + @fn CancelPushListen(MWspCOPushCallback& aPushCallback) =0 + Intended Usage : Removes a listening Push transaction. The Client no longer + wishes to receive Push information via the specified Push + transaction call-back object. + @since 7.0 + @param aPushCallback A reference to an instance of the call-back + API MWspCOPushCallback.It uniquely identifies + this method transaction for the lifetime of + the transaction. + @pre The Push transaction object exists. + @post Reduces the number of listening Push transactions by one. + */ + virtual void CancelPushListen(MWspCOPushCallback& aPushCallback) =0; + +/** + @fn PushAbortReq(MWspCOPushCallback& aPushCallback, TWspReason aReason) =0 + Intended Usage : This represents the S-PushAbort.req primitive. The Client + issues this when it has received Confirmed Push + information that it wishes to reject.The Client expects + the S-PushAbort.ind to be issued by the Provider. + @since 7.0 + @param aPushCallback A reference to an instance of the call-back + API MWspCOPushCallback.It uniquely identifies + this method transaction for the lifetime of + the transaction. + @param aReason A parameter that indicates the cause of the + abort.The value maps to the Reason type + defined in the July 2001 WSP Specification. + @pre The call-back reference aPushCallback represents a Confirmed + Push transaction. The WSP push transaction is in the Receiving + state. + @post The WSP push tranasaction is in the Aborting state. + */ + virtual void PushAbortReq( + MWspCOPushCallback& aPushCallback, + TWspReason aReason + ) =0; + +/** + @fn ConfirmedPushRes(MWspCOPushCallback& aPushCallback, const TDesC8& aAckHeaders) =0 + Intended Usage : This represents the S-ConfirmedPush.res primitive. The + Protocol Handler issues this primitive to acknowledge + the receipt of Confirmed Push information. The call-back + pointer is no longer valid after this call. + @since 7.0 + @param aPushCallback A reference to an instance of the call-back + API MWspCOPushCallback.It uniquely identifies + this method transaction for the lifetime of + the transaction. This is no longer valid once + this call returns. + @param aAckHeaders A buffer that contains the optional set of + headers containing some information to return + to the Server. + @pre The WSP push transaction is in the Receiving state. + @post The WSP push transaction is in the Null state. The call-back + object aPushCallback is no longer valid. + */ + virtual void ConfirmedPushRes( + MWspCOPushCallback& aPushCallback, + const TDesC8& aAckHeaders + ) =0; + + }; + +#endif // __MWSPCOPUSHINVOKER_H__ \ No newline at end of file