diff -r 000000000000 -r ba25891c3a9e appinstaller/AppMngr2/GSInstFilesPlugin/inc/appmngr2gsinstfilesplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/appinstaller/AppMngr2/GSInstFilesPlugin/inc/appmngr2gsinstfilesplugin.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,77 @@ +/* +* Copyright (c) 2007-2008 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: AppMngr2 GS Installation Files plugin implementation +* +*/ + + +#ifndef C_APPMNGR2GSINSTFILESPLUGIN_H +#define C_APPMNGR2GSINSTFILESPLUGIN_H + +#include // CGSPluginInterface +#include // MAknServerAppExitObserver +#include // RConeResourceLoader +#include + +class CAknNullService; + +const TInt KAppMngr2InstFilesUidValue = 0x10282D8D; +const TUid KAppMngr2InstFilesPluginUid = { KAppMngr2InstFilesUidValue }; + + +/** + * CAppMngrInstFilesPlugin launches embedded AppMngr2 application to show + * Installation Files view. It is an EGSItemTypeSettingDialog type GS plug-in + * and hence the GS framework calls HandleSelection() instead of DoActivate(). + * CAknView functionality is not supported although the base class is derived + * from CAknView via CGSPluginInterface. + */ +class CAppMngr2GsInstFilesPlugin : public CGSPluginInterface, + public MAknServerAppExitObserver + { +public: // constructors and destructor + static CAppMngr2GsInstFilesPlugin* NewL( TAny* aInitParams ); + ~CAppMngr2GsInstFilesPlugin(); + +public: // from CGSPluginInterface + void GetCaptionL( TDes& aCaption ) const; + void HandleSelection( const TGSSelectionTypes aSelectionType ); + TGSListboxItemTypes ItemType(); + CGulIcon* CreateIconL( const TUid aIconType ); + TInt PluginProviderCategory() const; + +public: // from CAknView, via CGSPluginInterface + TUid Id() const; + +protected: // from CAknView, via CGSPluginInterface + void DoActivateL( const TVwsViewId& aPrevViewId, TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + void DoDeactivate(); + +private: // new functions + CAppMngr2GsInstFilesPlugin(); + void ConstructL(); + void OpenLocalizedResourceFileL( const TDesC& aResourceFileName, + RConeResourceLoader& aResourceLoader ); + void LaunchAppManagerL(); + void EmbedAppL( const TUid& aAppUid ); + +protected: // data + RConeResourceLoader iResources; + CAknNullService* iNullService; + CApaDocument* iEmbedded; + }; + +#endif // C_APPMNGR2GSINSTFILESPLUGIN_H +