omaprovisioning/provisioning/ProvisioningEngine/Inc/MWPContextManager.h
changeset 0 b497e44ab2fc
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/omaprovisioning/provisioning/ProvisioningEngine/Inc/MWPContextManager.h	Thu Dec 17 09:07:52 2009 +0200
@@ -0,0 +1,169 @@
+/*
+* Copyright (c) 2002 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:  Context manager interface.
+*
+*/
+
+
+#ifndef MWPCONTEXTMANAGER_H
+#define MWPCONTEXTMANAGER_H
+
+// FORWARD DECLARATIONS
+class HBufC16;
+class MDesC16Array;
+class CDesC16Array;
+class MWPContextExtension;
+class MWPContextExtensionArray;
+class MWPContextObserver;
+
+// CONSTANTS
+const TUint32 KWPMgrUidNoContext = 0xffffffff;
+
+// CLASS DECLARATION
+
+/**
+*  MWPContextManager declares an interface to be implemented by
+*  context managers.
+*
+*  @lib ProvisioningEngine
+*  @since 2.0
+ */ 
+class MWPContextManager
+    {
+    public:  // Constructors and destructor
+        /**
+        * Destructor.
+        */
+        virtual ~MWPContextManager() {};
+
+        /**
+        * Called after saving one setting.
+        * @param aExtension Extension interface for the saving adapter
+        * @param aItem Setting number
+        */
+        virtual void SaveL( MWPContextExtension& aExtension, TInt aItem ) = 0;
+
+        /**
+        * Creates a context. Leaves with KErrOverflow if the max. number of contexts
+        * has been reached.
+        * @param aName Name of the context
+        * @param aTPS TPS of the context
+        * @param aProxies Proxies that can be used in the context
+        * @return UID of the new context
+        */
+        virtual TUint32 CreateContextL( const TDesC& aName, const TDesC& aTPS, 
+            const MDesC16Array& aProxies ) = 0;
+
+        /**
+        * Deletes a context.
+        * @param aArray The context extension array
+        * @param aUID UID of the context
+        */
+        virtual void DeleteContextL( MWPContextExtensionArray& aArray, 
+            TUint32 aUid ) = 0;
+
+        /**
+        * Number of contexts available.
+        * @return Array of context uids. Ownership is transferred.
+        */
+        virtual CArrayFix<TUint32>* ContextUidsL() = 0;
+
+        /**
+        * Name of a context.
+        * @param aUid UID of the context.
+        * @return Context name. Ownership is transferred.
+        */
+        virtual HBufC16* ContextNameL( TUint32 aUid ) = 0;
+
+        /**
+        * TPS of a context.
+        * @param aUid UID of the context.
+        * @return TPS. Ownership is transferred.
+        */
+        virtual HBufC16* ContextTPSL( TUint32 aUid ) = 0;
+
+        /**
+        * Trusted proxies of a context.
+        * @param aUid UID of the context.
+        * @return Array of proxies. Ownership is transferred.
+        */
+        virtual CDesC16Array* ContextProxiesL( TUint32 aUid ) = 0;
+
+        /**
+        * Deletes a context data item.
+        * @param aArray The context extension array
+        * @param aUid UID of the context.
+        * @return ETrue if there is more data in the context
+        */
+        virtual TBool DeleteContextDataL( MWPContextExtensionArray& aArray, TUint32 aUid ) = 0;
+
+        /**
+        * Returns the number of context data items. Note that this
+        * count is an approximate and should not be relied on except
+        * for giving user progress feedback. 
+        * @param aUid UID of the context
+        * @return The number of context data items
+        */
+        virtual TInt ContextDataCountL( TUint32 aUid ) = 0;
+
+        /**
+        * Returns the current context.
+        * @return Current context UID
+        */
+        virtual TUint32 CurrentContextL() = 0;
+
+        /**
+        * Sets the current context.
+        * @param aUID The UID of the context
+        */
+        virtual void SetCurrentContextL( TUint32 aUid ) = 0;
+
+        /**
+        * Returns a specific context.
+        * @param aTPS TPS whose context should be looked for
+        * @return The UID of the context
+        */
+        virtual TUint32 ContextL( const TDesC& aTPS ) = 0;
+
+        /**
+        * Checks if a context exists.
+        * @param aUid The UID of the context
+        * @return ETrue if context exists
+        */
+        virtual TBool ContextExistsL( TUint32 aUid ) = 0;
+
+        /**
+        * Checks if a context exists.
+        * @param aTPS The TPS of the context
+        * @return ETrue if context exists
+        */
+        virtual TBool ContextExistsL( const TDesC& aTPS ) = 0;
+
+        /**
+        * Register an observer to context information.
+        * @param aObserver The new observer
+        */
+        virtual void RegisterContextObserverL( 
+            MWPContextObserver* aObserver ) = 0;
+
+        /**
+        * Unregister an observer to context information.
+        * @param aObserver The observer to unregister
+        * @return KErrNone, or an error code
+        */
+        virtual TInt UnregisterContextObserver( 
+            MWPContextObserver* aObserver ) = 0;
+    };
+
+#endif /* MWPCONTEXTMANAGER_H */