webservices/wsframework/inc/msensessioncontext.h
changeset 0 62f9d29f7211
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/webservices/wsframework/inc/msensessioncontext.h	Thu Jan 07 16:19:19 2010 +0200
@@ -0,0 +1,179 @@
+/*
+* Copyright (c) 2002-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: Header declaration
+*
+*/
+
+
+
+
+
+
+
+
+#ifndef M_SEN_SESSION_CONTEXT_H
+#define M_SEN_SESSION_CONTEXT_H
+
+// INCLUDES
+#include <e32std.h>
+#include "msencontext.h"
+/**
+* This is the session context interface, which is visible to CSenSessionHandler ECOM plug-in implementations.
+*/
+
+// FORWARD DECLARATIONS
+class CSenWSDescription;
+class MSenRemoteServiceSession;
+
+
+// CLASS DECLARATION
+class MSenSessionContext : public MSenContext
+    {
+    public:
+        /*
+        * Adds session description (as CSenWSDescription*) into context,
+        * typically identified by following key: KSenCtxKeyServiceSession
+        * 
+        * @param aValue is the value being added. Ownership is NOT transferred
+        * to this context.
+        * 
+        * @return KErrNone on success, 
+        *         KErrAlreadyExists, if the key is reserved,
+        *         or some other system-wide error code.
+        */
+        // virtual TInt AddSession(CSenWSDescription* aValue) = 0; // protected context
+
+        /*
+        * Updates new CSenWSDescription* type value into context, typically
+        * identified by following key: KSenCtxKeyServiceSession
+        * If some value for the same key already exists, it is replaced with new.
+        * @param aValue is the updated value, which may replace
+        *         any existing value, which used same key.
+        *         Ownership is NOT transferred to this context.
+        * @return KErrNone on success, 
+        *         or some other system-wide error code.
+        */
+        //virtual TInt UpdateSession(CSenWSDescription* aValue) = 0;  // protected context
+
+        /*
+        * Method returns current service session as CSenWSDescriptionL* type value.
+        * 
+        * @return value behind given key, or NULL, if not
+        * found.
+        * Ownership is NOT transferred, as it was NOT held by this context.   
+        * Method leaves with KErrSenTypeMismatch error code,
+        * if value at this index is not CSenSoapEnvelope* type.   
+        */
+        virtual const CSenWSDescription* GetSession() = 0;
+
+        // virtual TInt AddInitializer(CSenWSDescription* aValue) = 0; // protected context
+        // virtual TInt UpdateInitializer(CSenWSDescription* aValue) = 0;  // protected context
+
+        /*
+        * Method returns session initializer as CSenWSDescriptionL* type value.
+        * 
+        * @returns value behind given key, or NULL, if not
+        * found.
+        * Ownership is NOT transferred, as it is never held by
+        * this context.   
+        * Method leaves with KErrSenTypeMismatch error code,
+        * if value at this index is not CSenSoapEnvelope* type.   
+        */
+        virtual const CSenWSDescription* GetInitializer() = 0;
+
+        /*
+        * Adds new CSenWSDescription* type value into context, identified by given key.
+        * 
+        * @param aKey identifies new value
+        * @param aValue is the value being added. Ownership is transferred
+        * to this context.
+        * 
+        * @return KErrNone on success, 
+        *         KErrAlreadyExists, if the key is reserved,
+        *         or some other system-wide error code.
+        */
+        virtual TInt Add(const TDesC8& aKey, CSenWSDescription* aValue) = 0;
+
+        /*
+        * Updates session description (as CSenWSDescription*) into context,
+        * typically identified by following key: KSenCtxKeyServiceSession
+        * If some value for this key already exists, it is destroyed and replaced
+        * by the new value.
+        * 
+        * @param aKey identifies new value
+        * @param aValue is the updated value, which may replace
+        *         any existing value, which used same key.
+        *         Ownership is transferred to this context.
+        * @return KErrNone on success, 
+        *         or some other system-wide error code.
+        */
+        virtual TInt Update(const TDesC8& aKey, CSenWSDescription* aValue) = 0;
+
+        /*
+        * Method returns CSenWSDescriptionL* type value.
+        * 
+        * @return value behind given key, or NULL, if not
+        * found.
+        * Ownership is not transferred, but remains to be held by this context.   
+        * Method leaves with KErrSenTypeMismatch error code,
+        * if value at this index is not CSenSoapEnvelope* type.   
+        */
+        virtual const CSenWSDescription* GetSenWSDescriptionL(const TDesC8& aKey) = 0;
+
+        /*
+        * Adds new MSenRemoteServiceSession& type value into context, identified by given key.
+        * 
+        * @param aKey identifies new value
+        * @param aValue is the value being added. Ownership is NOT transferred
+        * to this context.
+        * 
+        * @return KErrNone on success, 
+        *         KErrAlreadyExists, if the key is reserved,
+        *         or some other system-wide error code.
+        */
+        virtual TInt Add(const TDesC8& aKey, MSenRemoteServiceSession& aValue) = 0; // protected context
+
+        /*
+        * Updates new MSenRemoteServiceSession& type value into context, identified by given key.
+        * If some value for the same key already exists, it is replaced with the new value.
+        * 
+        * @param aKey identifies new value
+        * @param aValue is the updated value, which may replace
+        *         any existing value, which used same key.
+        *         Ownership is NOT transferred to this context.
+        * 
+        * @return KErrNone on success, 
+        *         or some other system-wide error code.
+        */
+        virtual TInt Update(const TDesC8& aKey, MSenRemoteServiceSession& aValue) = 0;
+
+        /*
+        * Method returns MSenRemoteServiceSession* type value.
+        * 
+        * @param aKey identifies remote service session
+        * 
+        * @returns value behind given key, or NULL, if not
+        * found.
+        * Ownership is NOT transferred, as it was never held 
+        * by this context.   
+        * Method leaves with KErrSenTypeMismatch error code,
+        * if value at this index is not MSenRemoteServiceSession* type.   
+        */
+        virtual const MSenRemoteServiceSession* GetSenRemoteServiceSessionL(const TDesC8& aKey) = 0;
+
+    };
+
+#endif // M_SEN_SESSION_CONTEXT_H
+
+// End of File