simpleengine/inc/msimpleenginerequest.h
changeset 0 c8caa15ef882
--- /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 <e32base.h>
+#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