--- a/serviceapifw_plat/liw_provider_utility_api/inc/liwmenu.h Fri Apr 16 15:54:49 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* Copyright (c) 2003-2005 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of the License "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: Declares LIW Menu utilities for providers to access consumer menu.
-*
-*/
-
-
-
-
-
-
-
-#ifndef LIW_MENU_H
-#define LIW_MENU_H
-
-// INCLUDES
-#include <eikmenup.h>
-#include <liwserviceifbase.h>
-
-// CONSTANTS
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD DECLARATIONS
-
-// CLASS DECLARATION
-
-/**
-* CLiwMenuPane for providers to have limited access to consumer menu.
-*
-* LIW provider can get a reference to CLiwMenuPane in its InitializeMenuPaneL()
-* method, which is derived from CLiwServiceIfMenu. With this reference,
-* the provider can e.g. insert menu items to the consumer application's menu.
-*
-* @lib ServiceHandler.lib
-* @since Series 60 2.6
-*/
-class CLiwMenuPane: public CBase
- {
- public:
- /**
- * Constructor.
- *
- * @param aMenuPane Consumer's menu pane handle.
- * @param aBaseCmdId Base command ID for new menu items, specified by consumer.
- */
- IMPORT_C CLiwMenuPane(CEikMenuPane& aMenuPane, TInt aBaseCmdId);
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CLiwMenuPane();
-
- public:
- /**
- * Adds a menu item to consumer menu. For each addition a mapping element
- * is created. This method should normally be called from provider's
- * InitializeMenuPaneL().
- *
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aMenuItem The menu item data.
- * @param aIndex Position of item where to add menu items.
- */
- IMPORT_C void AddMenuItemL(
- TInt aServiceCmd,
- CEikMenuPaneItem::SData& aMenuItem,
- TInt aIndex);
-
- /**
- * Adds a menu item to consumer menu. For each addition a mapping element
- * is created. This method should normally be called from provider's
- * InitializeMenuPaneL().
- *
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aMenuItem The menu item data.
- * @param aIndex Position of item where to add menu items.
- * @param aExtraText Altenative menu item text, if it is placed to a submenu.
- */
- IMPORT_C void AddMenuItemL(
- TInt aServiceCmd,
- CEikMenuPaneItem::SData& aMenuItem,
- TInt aIndex,
- const TDesC& aExtraText);
-
- /**
- * Adds a menu item(s) to consumer menu from provider resource. This method
- * should normally be called from provider's InitializeMenuPaneL().
- *
- * @param aReader Resource reader pointing to the menu resource.
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aIndex Position of item where to add menu items.
- * @param aAddSeparator Currently not in use.
- */
- IMPORT_C void AddMenuItemsL(
- TResourceReader& aReader,
- TInt aServiceCmd,
- TInt aIndex,
- TBool aAddSeperator = EFalse);
-
- /**
- * Adds a menu item(s) to consumer menu from provider resource. This method
- * should normally be called from provider's InitializeMenuPaneL().
- *
- * @param aFileName The provider's resource where menu item(s) are defined.
- * @param aResId Resource id of a MENU_PANE.
- * @param aServiceCmd The LIW service command the provider implements.
- * @param aIndex Position of item where to add menu items.
- * @param aAddSeperator Currently not in use.
- */
- IMPORT_C void AddMenuItemsL(
- TFileName& aFileName,
- TInt aResId,
- TInt aServiceCmd,
- TInt aIndex,
- TBool aAddSeperator = EFalse);
-
- public:
- /**
- * Gets the provider's original menu command ID from the dynamic menu command
- * ID (generated by the LIW framework).
- *
- * @param aDynCmdId Dynamic menu command ID.
- * @return Found provider's original menu command ID, KErrNotFound if not found.
- */
- IMPORT_C TInt MenuCmdId(TInt aDynCmdId) const;
-
- /**
- * Gets the dynamic menu command ID (generated by the LIW framework) from the
- * provider's original menu command ID. There are usually multiple matching
- * dynamic menu command IDs, so this method returns the first item found.
- *
- * @param aMenuCmdId Provider's original menu command ID.
- * @return Found dynamic menu command ID, KErrNotFound if not found.
- */
- IMPORT_C TInt DynCmdId(TInt aMenuCmdId) const;
-
- /**
- * Gets the LIW service command ID from the dynamic menu command ID (generated
- * by the LIW framework).
- *
- * @param aDynCmdId Dynamic menu command ID.
- * @return Found LIW service command ID, KErrNotFound if not found.
- */
- IMPORT_C TInt ServiceCmdId(TInt aDynCmdId) const;
-
- /**
- * Add sub menu title item. This item will not be visible in menus,
- * but will be used as title for comsumer's LIW submenu (if consumer
- * requests that).
- *
- * @param aTitle Title text
- * @param aIndex Position of title item in menu (can be anything, but
- * if there is several title item definitions in menu,
- * then the last one will be used).
- * @since 2.8
- */
- IMPORT_C void AddTitleItemL(const TDesC& aTitle, TInt aIndex);
-
- friend class CLiwServiceHandlerImpl;
-
- private:
- struct SMenuIdMap
- {
- TInt serviceCmdId; // LIW service command ID.
- TInt origCmdId; // Original menu ID used by provider SW
- TInt dynMenuCmdId; // The dynamic command ID generated by LIWFW
- CLiwServiceIfBase* owner; // A pointer to the provider object.
- RBuf extraText; // Alternative submenu text is stored here.
- };
-
- private:
- TInt FindCmdId(TInt aIndex);
- inline CEikMenuPane& MenuPane();
- inline void SetResourceSlotId(TInt aSlot);
- inline TInt ResourceSlotId() const;
- inline void SetPaneOffset(TInt aOffset);
- inline TInt PaneOffset() const;
- inline TInt MenuResourceId() const;
- inline void SetMenuResourceId(TInt aMenuResourceId);
- TBool IsCmdInRange(TInt aCmdSpaceSize, TInt aCmd);
- CLiwServiceIfBase* CommandOwner(TInt aDynId) const;
- inline CLiwServiceIfBase* InitializingOwner() const;
- inline void SetInitializingOwner(CLiwServiceIfBase* aOwner);
- const TDesC& ExtraText(TInt aDynMenuCmdId);
-
- private:
- // Original menu pane.
- CEikMenuPane* iMenuPane;
-
- // Base ID to generate menu IDs for placeholders. From constructor.
- TInt iBaseCmdId;
-
- // Map needed to map provider cmd IDs to dynamic command Ids
- RArray<SMenuIdMap> iIdMap;
-
- TInt iNextCmdId; // The next free command ID to use
- TInt iResourceSlotId;
- TInt iPaneOffset;
- TInt iMenuResourceId;
- CLiwServiceIfBase* iInitializingOwner; // Owner that is currently initializing.
-
- TInt iReserved_1;
- void *iExtension; // reserved for future use
- };
-
-
-inline CEikMenuPane& CLiwMenuPane::MenuPane()
- {
- return *iMenuPane;
- }
-
-
-inline void CLiwMenuPane::SetResourceSlotId(TInt aSlot)
- {
- iResourceSlotId = aSlot;
- }
-
-
-inline TInt CLiwMenuPane::ResourceSlotId() const
- {
- return iResourceSlotId;
- }
-
-
-inline void CLiwMenuPane::SetPaneOffset(TInt aOffset)
- {
- iPaneOffset = aOffset;
- }
-
-
-inline TInt CLiwMenuPane::PaneOffset() const
- {
- return iPaneOffset;
- }
-
-
-inline CLiwServiceIfBase* CLiwMenuPane::InitializingOwner() const
- {
- return iInitializingOwner;
- }
-
-
-inline void CLiwMenuPane::SetInitializingOwner(CLiwServiceIfBase* aOwner)
- {
- iInitializingOwner = aOwner;
- }
-
-
-inline TInt CLiwMenuPane::MenuResourceId() const
- {
- return iMenuResourceId;
- }
-
-
-inline void CLiwMenuPane::SetMenuResourceId(TInt aMenuResourceId)
- {
- iMenuResourceId = aMenuResourceId;
- }
-
-#endif // LIW_MENU_H
-
-// END of File