diff -r 65a3ef1d5bd0 -r f742655b05bf commsconfig/cscengine/inc/cscenguiextensionpluginhandler.h --- a/commsconfig/cscengine/inc/cscenguiextensionpluginhandler.h Thu Aug 19 09:45:22 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,258 +0,0 @@ -/* -* Copyright (c) 2007-2007 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: For CSC needed AIW handling for ui extension plug-ins -* -*/ - - - -#ifndef C_CSCENGUIEXTENSIONPLUGINHANDLER_H -#define C_CSCENGUIEXTENSIONPLUGINHANDLER_H - -#include - -const TUint KMaxUiExtensionNameLength = 128; - -class CEikonEnv; -class MAiwNotifyCallback; -class CAiwServiceHandler; -class CAiwGenericParamList; -class CCSCEngStartupHandler; -class MCSCEngUiExtensionObserver; - - -/** -* iUiExtensionName = UI Extension name -* iPluginsUid = Service plug-in UID -* iPlace = Place parameter -*/ -NONSHARABLE_CLASS( TUiExtensionPluginInfo ) - { - public: - - TUiExtensionPluginInfo() - : iUiExtensionName( KNullDesC ), - iPluginsUid( KNullUid ), - iPlace( 0 ) - {} - - public: - - /* - * UI Extension name - */ - TBuf iUiExtensionName; - - /* - * UI Extension plug-in UID - */ - TUid iPluginsUid; - - /* - * UI Extension placing information - * 0 = listbox - * 1 = options menu - */ - TInt iPlace; - }; - - - -/** - * An instance of CSCUiExtensionPluginHandler - * Handles Application Interworking (AIW). - * - * @lib - * @since S60 v3.2 - */ -NONSHARABLE_CLASS( CCSCEngUiExtensionPluginHandler ) : public CBase, - public MAiwNotifyCallback - { - public: - - /** - * State of the plugin. - */ - enum TPluginState - { - EPluginInitialize = 1, - EPluginOpenExtensionView, - EPluginOpenExtensionViewFromAI - }; - - - // UI extension plug-in callback events. - enum TUiExtensionPluginResponse - { - EPluginInitialized = KAiwEventStarted, - EPluginExited = KAiwEventStopped, - EPluginError = KAiwEventError - }; - - /** - * Two-phased constructor. - */ - IMPORT_C static CCSCEngUiExtensionPluginHandler* NewL( - CEikonEnv& aEikEnv, - MCSCEngUiExtensionObserver& aObserver, - CCSCEngStartupHandler& aStartupHandler ); - - - /** - * Two-phased constructor. - */ - IMPORT_C static CCSCEngUiExtensionPluginHandler* NewLC( - CEikonEnv& aEikEnv, - MCSCEngUiExtensionObserver& aObserver, - CCSCEngStartupHandler& aStartupHandler ); - - - /** - * Destructor. - */ - virtual ~CCSCEngUiExtensionPluginHandler(); - - - /** - * Initializes CSC supported UI Extension plugins. - * - * @since S60 v3.2 - */ - IMPORT_C void InitializePluginsL(); - - - /** - * Launches UI Extension plugin view - * - * @since S60 v3.2 - * @param aPluginUid contains plugins Uid - * @param aViewUid contains view Uid to be returned - * @param aLaunchedFromAI ETrue if launched from active idle - */ - IMPORT_C void LaunchUiExtensionL( - const TUid& aPluginUid, const TUid& aViewUid, - TBool aLaunchedFromAI = EFalse ); - - - /** - * Returns item from UI Extension plug-in array - * - * @since S60 v3.2 - * @param aIndex array index - */ - IMPORT_C TUiExtensionPluginInfo ItemFromPluginInfoArray( TInt aIndex ); - - - /** - * Returns count of CSC supported ui extension plugins in array. - * - * @since S60 v3.2 - * @param aType for items to be returned - * @return count of profiles - */ - IMPORT_C TInt PluginCount() const; - - - // from base class MAiwNotifyCallBack - - /** - * From MAiwNotifyCallBack. - * Handles received callbacks from AIW plugin. - * - * @since S60 v3.0 - * @param aCmdId for cmd id - * @param aEventId for event id - * @param aEventParamList for event param list - * @param aInParamList for in param list - */ - TInt HandleNotifyL( TInt aCmdId, - TInt aEventId, - CAiwGenericParamList& aEventParamList, - const CAiwGenericParamList& aInParamList ); - - - private: - - - CCSCEngUiExtensionPluginHandler( - CEikonEnv& aEikEnv, - MCSCEngUiExtensionObserver& aObserver, - CCSCEngStartupHandler& aStartupHandler ); - - - void ConstructL(); - - - /** - * Gets plug-in index in plug-in info array and plug-ins uid - * - * @since S60 v3.2 - * @param aInParamList for params received from plugin - * @param aIndex for plug-in info array index - * @param aPluginUid for plug-in uid - */ - void GetPluginIndexAndUid( - const CAiwGenericParamList& aInParamList, - TInt aIndex, - TUid aPluginUid ); - - /** - * Set information of plug-ins to plug-in info array - * - * @since S60 v3.2 - * @param aInParamList for params received from plugin - */ - void SetPluginInitInfo( - const CAiwGenericParamList& aInParamList ); - - - private: // data - - /** - * Reference to Eikon environment. - */ - CEikonEnv& iEikEnv; - - /** - * Observer for AIW commands - */ - MCSCEngUiExtensionObserver& iObserver; - - /** - * Reference to CCSCEngStartupHandler - */ - CCSCEngStartupHandler& iStartupHandler; - - /** - * For AIW Plugin services - * Own. - */ - CAiwServiceHandler* iServiceHandler; - - /** - * CSC supported UI Extension plug-in information array - */ - RArray iUiExtensionPluginInfoArray; - - /** - * Resource file offset. - */ - TInt iResourceOffset; - -#ifdef _DEBUG - friend class UT_CSCEngUiExtensionPluginHandler; -#endif - }; - -#endif // C_CSCENGUIEXTENSIONPLUGINHANDLER_H