diff -r 000000000000 -r c8caa15ef882 simpleengine/inc/msimpleenginerequest.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/simpleengine/inc/msimpleenginerequest.h Tue Feb 02 01:05:17 2010 +0200 @@ -0,0 +1,351 @@ +/* +* Copyright (c) 2006 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: Abstract base class for WV engine service APIs. +* +*/ + + + +#ifndef M_simpleenginerequest_H +#define M_simpleenginerequest_H + + +// INCLUDES +#include +#include "simplecommon.h" + + +/** + * Abstarct API for request handling in SIMPLE engine core and SIMPLE SIP LIB communication. + * + * @lib simpleengine + * @since S60 v3.2 + */ +class MSimpleEngineRequest + { +public: + + /** Request type */ + enum TSimpleRequest + { + /** None */ + ENone=0, + /** SIP Register */ + ERegister, + /** SIP Publish */ + EStartPublish, + /** SIP modify Publish */ + EPublishModify, + /** SIP Subscribe */ + ESubscribe, + /** SIP list Subscribe */ + ESubscribeLista, + /** SIP Subscribe Get (once) */ + ESubscribeGet, + /** SIP subscribe WINFO */ + ESubscribeWinfo, + /** SIP Unsubscribe */ + ESubscribeStop, + /** SIP Dialog (notify, status) */ + EDialog, + /** SIP Publish stop */ + EStopPublish, + /** Listen to event states */ + EListenEvents, + /** Destroy the object */ + EDestroy, + /** Destroy the object with a delay */ + EDestroyStart, + /** SIP Subscrption-state */ + ESubscriptionState, + /** SIP send IM */ + ESendIM, + /** SIP receive IM */ + EReceiveIM + }; + + /** SIP response/request message */ + enum TSimpleSIPResponse + { + /** None */ + EUnknownResponse=0, + /** SIP NOTIFY */ + ENotify, + /** SIP status */ + EStatus, + /** ETag update only in status in refresh response */ + EStatusETag + }; + + /** NOTIFY response reason */ + enum TSimpleResponseReason + { + /** unknown reason */ + ENoReason, + /** Application SHOULD re-subscribe later. */ + EDeactivated, + /** Application SHOULD re-subscribe later. */ + EProbation, + /** The subscription has been terminated due to change in + authorization policy. + Application SHOULD NOT attempt to re-subscribe. */ + ERejected, + /** The subscription has been terminated because it was not + refreshed before it expired. Application MAY re-subscribe + later. */ + ETimeout, + /** The subscription has been terminated because the notifier + could not obtain authorization in a timely fashion. + Application MAY re-subscribe later. */ + EGiveup, + /** The subscription has been terminated because the resource + state which was being monitored no longer exists. + Application SHOULD NOT attempt to re-subscribe. */ + ENoresource + }; + + /** SIP subscription-state */ + enum TSimpleSipSubscriptionState + { + ESimpleStateNone=0, + ESimpleStatePending, + ESimpleStateActive, + ESimpleStateTerminated + }; + + + /** + * Destructor + * @since S60 3.2 + */ + virtual void Destroy() = 0; + + /** + * Request type accessor + * @since S60 3.2 + * @return request type + */ + virtual TSimpleRequest RequestType() = 0; + + /** + * Request type accessor + * @since S60 3.2 + * @param aType request type + */ + virtual void ModifyType( TSimpleRequest aType ) = 0; + + /** + * Complete the open request + * @since S60 3.2 + * @param aStatus result status + */ + virtual void Complete( TInt aStatus ) = 0; + + /** + * Request data type accessor + * @since S60 3.2 + * @return request data content type + */ + virtual TPtrC8 RequestContentType() = 0; + + /** + * Request data accessor + * @since S60 3.2 + * @return request data payload + */ + virtual TPtrC8 RequestData() = 0; + + /** + * Response data type setter. + * @since S60 3.2 + * @param aData content that is NOT copied, ownership is transferred + */ + virtual void SetResponseContentType( HBufC8* aData ) = 0; + + /** + * Response data MIME multipart boundary setter. + * @since S60 3.2 + * @param aData boundary + */ + virtual void SetResponseBoundaryL( const TDesC8& aData ) = 0; + + /** + * Response data MIME multipart start content-id setter + * @since S60 3.2 + * @param aData content-id + */ + virtual void SetResponseStartL( const TDesC8& aData ) = 0; + + /** + * Response data setter. + * @since S60 3.2 + * @param aData content that is to be copied. + */ + virtual void SetResponseDataL( const TDesC8& aData ) = 0; + + /** + * Response method setter. + * @since S60 3.2 + * @param aMethod a method + */ + virtual void SetResponseMethod( TSimpleSIPResponse aMethod ) = 0; + + /** + * Aux data setter. + * @since S60 3.2 + * @param aData data + */ + virtual void SetAux( TInt aData ) = 0; + + /** + * Server response/request method accessor + * @return SIP method + */ + virtual TSimpleSIPResponse ResponseMethod() = 0; + + /** + * Response data type accessor + * @since S60 3.2 + * @return content type + */ + virtual TPtrC8 ResponseContentType() = 0; + + /** + * Response data MIME multipart boundary getter. + * @since S60 3.2 + * @return data boundary + */ + virtual TPtrC8 ResponseBoundary( ) = 0; + + /** + * Response data MIME multipart start content-id getter + * @since S60 3.2 + * @return start content-id + */ + virtual TPtrC8 ResponseStart( ) = 0; + + /** + * Response data accessor + * @since S60 3.2 + * @return response data payload + */ + virtual TPtrC8 ResponseData() = 0; + + /** + * Refresh time accessor + * @since S60 3.2 + * @return refresh time in seconds, 0 means query once + */ + virtual TUint RefreshTime() = 0; + + /** + * Refresh time setter + * @since S60 3.2 + * @param aTime time in seconds, 0 means query once + */ + virtual void SetRefreshTime( TUint aTime) = 0; + + /** + * Remote URI accessor + * @since S60 3.2 + * @return remote URI + */ + virtual TPtrC8 RemoteURI() = 0; + + /** + * Remote URI setter + * @since S60 3.2 + * @param aURI remote URI + */ + virtual void SetRemoteURIL( const TDesC8& aURI ) = 0; + + /** + * Get refresh parameter + * @since S60 3.2 + * return ETrue if refresh + */ + virtual TBool IsRefresh() = 0; + + /** + * Refresh parameter setter + * @since S60 3.2 + * @param aRefresh refresh boolean value + */ + virtual void SetRefresh( TBool aRefresh ) = 0; + + /** + * Operation id getter + * @since S60 3.2 + * @return operation id + */ + virtual TInt OpId( ) = 0; + + /** + * auxiliary parameter needed sometimes + * @since S60 3.2 + * @return aux number + */ + virtual TInt Aux() = 0; + + /** + * SIP Response reason setter + * @since S60 3.2 + * @param aReason reason + */ + virtual void SetResponseReason( TSimpleResponseReason aReason ) = 0; + + /** + * SIP Response reason getter + * @since S60 3.2 + * @return aReason reason + */ + virtual TSimpleResponseReason ResponseReason() = 0; + + /** + * Set SIP-ETag value + * + * @since S60 3.2 + * @param aTag tag + */ + virtual void SetETagL( const TDesC8& aTag ) = 0; + + /** + * get SIP-ETag value + * + * @since S60 3.2 + * @return SIP-ETag value. + */ + virtual TPtrC8 ETag() = 0; + + /** + * IM message recipient setter + * + * @since S60 5.0 + * @param aRecipientId recipient ID + */ + virtual void SetRecipientL( const TDesC8& aRecipientId ) = 0; + + /** + * IM message recipient getter + * + * @since S60 5.0 + * @return recipient ID + */ + virtual TPtrC8 Recipient() = 0; + + }; + +#endif + +// End of File