diff -r 000000000000 -r a2952bb97e68 mmappfw_plat/mpx_view_utility_api/inc/mpxviewutility.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmappfw_plat/mpx_view_utility_api/inc/mpxviewutility.h Thu Dec 17 08:55:47 2009 +0200 @@ -0,0 +1,240 @@ +/* +* 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: MPX view utility interface definition +* +*/ + + + +#ifndef MMPXVIEWUTILITY_H +#define MMPXVIEWUTILITY_H + + +// INCLUDES +#include +#include + + +// FORWARD DECLARATIONS +class MMPXViewPluginManager; +class CMPXViewPlugin; + + +// CLASS DECLARATION + +/** + * MPX view utility interface. + * + * @lib mpxviewutility.lib + */ +NONSHARABLE_CLASS( MMPXViewUtility ) + { +public: + + /** + * Retrieve a view utility of this thread. All clients in this thread + * shares the same viewutility (singleton). + * Call Close() when this object is not needed anymore. + * + * @since S60 3.2.3 + * @return Pointer to view utility. Ownership not transferred. + */ + IMPORT_C static MMPXViewUtility* UtilityL(); + + /** + * This method must be called when this object can be freed. This object + * will be destroyed when no one is using it. + * + * @since S60 3.2.3 + */ + virtual void Close() = 0; + + /** + * Activate view by resolving passed uid. + * + * @since S60 3.2.3 + * @param aUid Uid to be resolved. This uid can be plugin implementation + * uid, plugin type uid or specific view plugin uid. + * @param aParam Parameter passed to the view on activation + * @leave KErrNotFound if a matching plugin cannot be found + */ + virtual void ActivateViewL( + const TUid& aUid, + const TDesC* aParam = NULL ) = 0; + + /** + * Activate view by resolving passed uids. + * + * @since S60 3.2.3 + * @param aUids List of Uids to be resolved, this uid can be plugin uid, + * plugin type uid or specific view plugin uid. + * @param aParam Parameter passed to the view on activation + * @leave KErrNotFound if a matching plugin cannot be found + */ + virtual void ActivateViewL( + const RArray& aUids, + const TDesC* aParam = NULL ) = 0; + + /** + * Set view as default view, not bring to foreground. This is only valid + * if there are no views previously activated. + * + * @since S60 3.2.3 + * @param aUid Uid of item to be activated. This uid can be plugin implementation + * uid, plugin type uid or specific view plugin uid. + * @leave Error code KErrAlreadyExist when there are views already + * activated + * @leave Error code KErrNotSupported for views that doesn't support + * default view (such as dialogs) + */ + virtual void SetAsDefaultViewL( const TUid& aUid ) = 0; + + /** + * Set view as default view, not bring to foreground. This is only valid + * if there are no views previously activated. + * + * @since S60 3.2.3 + * @param aUid Uids of item to be activated. This uid can be plugin implementation + * uid, plugin type uid or specific view plugin uid. + * @leave Error code KErrAlreadyExist when there are views already + * activated + * @leave Error code KErrNotSupported for views that doesn't support + * default view (such as dialogs) + */ + virtual void SetAsDefaultViewL( const RArray& aUids ) = 0; + + /** + * Activate previous view. + * + * @since S60 3.2.3 + * + * @leave Error code KErrNotFound if there's no history. + */ + virtual void ActivatePreviousViewL() = 0; + + /** + * Pre-load view plug-ins that have EMPXPluginFlagPreLoad flag set. + * + * @since S60 3.2.3 + */ + virtual void PreLoadViewsL() = 0; + + /** + * Pre-load view plug-ins that have EMPXPluginFlagPreLoad flag and also by resolving passed uid. + * + * @param aUid Uid of specific application to be resolved. + */ + virtual void PreLoadViewsL( const TUid& aUid ) = 0; + + /** + * Pre-load view plug-in by resolving passed uid. + * + * @since S60 3.2.3 + * @param aUid Uid to be resolved. This uid can be plugin uid, plugin type + * uid or specific view plugin uid. + * @leave if no match is found. + */ + virtual void PreLoadViewL( const TUid& aUid ) = 0; + + /** + * Get a reference to view plugin manager. + * + * @since S60 3.2.3 + * @return Reference to view plugin manager. + */ + virtual MMPXViewPluginManager& ViewPluginManager() = 0; + + /** + * Constructs default view history. + * + * @since S60 3.2.3 + * @return if defined, the default view UID. KNullUid if not defined + */ + virtual TUid ConstructDefaultViewHistoryL() = 0; + + /** + * Push default history to view history. The current browse history + * is erased and the default browsing path is loaded as the current history. + * @since S60 3.2.3 + */ + virtual void PushDefaultHistoryL() = 0; + + /** + * Gets default view's UID. + * + * @since S60 3.2.3 + * @return if defined, the default view UID. KNullUid if not defined + */ + virtual TUid DefaultViewUid() = 0; + + /** + * Returns the current history depth. + * if depth is greater than 1, the client should call ActivatePreviousViewL + * on a back command. + * + * if depth is 1, the client should exit the app on a back command instead + * of calling ActivatePreviousViewL. + * + * @since S60 3.2.3 + * + * @return The current browsing history depth. + */ + virtual TInt ViewHistoryDepth() = 0; + + /** + * Returns the last activated view type. + * + * @since S60 3.2.3 + * @return previous view type if defined. KNullUid if not. + */ + virtual TUid PreviousViewType() = 0; + + /** + * Returns the view type of the active view. + * + * @since S60 3.2.3 + * @return current view type if defined. KNullUid if not. + */ + virtual TUid ActiveViewType() = 0; + + /** + * Returns the implementation uid of the active view. + * + * @since S60 3.2.3 + * @return current view implementation id if defined. KNullUid if not. + */ + virtual TUid ActiveViewImplementationUid() = 0; + + /** + * Add view activation observer. + * + * @since S60 3.2.3 + * @param aObserver Pointer to an observer object + */ + virtual void AddObserverL( + MMPXViewActivationObserver* aObserver ) = 0; + + /** + * Remove view activation observer. + * + * @since S60 3.2.3 + * @param aObserver Pointer to an observer object + */ + virtual void RemoveObserver( + MMPXViewActivationObserver* aObserver ) = 0; + }; + +#endif // MMPXVIEWUTILITY_H + +// End of File