diff -r 13d7c31c74e0 -r b183ec05bd8c remotemgmt_plat/oma_provisioning_engine_api/inc/MWPContextManager.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/remotemgmt_plat/oma_provisioning_engine_api/inc/MWPContextManager.h Tue Aug 31 16:04:06 2010 +0300 @@ -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* 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 */