--- /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 <e32base.h>
+#include <mpxviewactivationobserver.h>
+
+
+// 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<TUid>& 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<TUid>& 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