diff -r 000000000000 -r 3ce708148e4d devicediagnostics/devdiaggsplugin/inc/gsdevdiagplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/devicediagnostics/devdiaggsplugin/inc/gsdevdiagplugin.h Thu Dec 17 08:40:12 2009 +0200 @@ -0,0 +1,202 @@ +/* +* 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: Launch Diagnostics embedded application. +* (DevDiagApp.exe) The UID3 is defined below. +* +*/ + + +#ifndef GSDDPLUGIN_H +#define GSDDPLUGIN_H + +// INCLUDES +#include +#include +#include + +//CONSTANTS +const TUid KGSDDPluginUid = { 0x2000E543 }; +const TUid KGsDiagnosticsAppUid = { 0x2000E542 }; //app to be laucnhed +//_LIT( KGSDDPluginIconDirAndName, "z:GSDDPlugin.mbm"); // Use KDC_BITMAP_DIR +_LIT( KGSDDPluginIconDirAndName, "z:GSDevDiagPlugin.mif"); // Use KDC_BITMAP_DIR or ?? KDC_APP_BITMAP_DIR +_LIT( KGSDiagnosticsApp, "z:\\sys\\bin\\DevDiagApp.exe" ); + + +// MACROS + +// DATA TYPES + +// FUNCTION PROTOTYPES + +// FORWARD DECLARATIONS +class CAknNullService; + + +// CLASS DEFINITION +/** +* CGSDevDiagPlugin view class +* @since S60 5.0 +* +*/ +class CGSDevDiagPlugin : public CGSPluginInterface, + public MAknServerAppExitObserver // Embedding + + { + + /** + * Contains application information + * + * @since S60 5.0 + **/ + class TAppInfo + { + public: + TAppInfo( TUid aUid, const TDesC& aFile ) + : iUid( aUid ), iFile( aFile ) + {} + TUid iUid; //Uid3 + TFileName iFile; //full filename of the app. + }; + + +public: // Constructors and destructor + + /** + * Symbian OS two-phased constructor + * @return GS connection view. + */ + static CGSDevDiagPlugin* NewL( TAny* aInitParams ); + + /** + * Destructor + */ + ~CGSDevDiagPlugin(); + +public: // From CGSPluginInterface + + /** + * @see CGSPluginInterface header file. + */ + void GetCaptionL( TDes& aCaption ) const; + + /** + * See base class. + */ + CGulIcon* CreateIconL( const TUid aIconType ); + + /** + * @see CGSPluginInterface header file. + */ + TInt PluginProviderCategory() const; + + /** + * GS framework calls this method when plug-in is opened. + * The method launches the embedded application. + **/ + void HandleSelection( const TGSSelectionTypes aSelectionType ); + + /** + * See base class. + */ + TGSListboxItemTypes ItemType(); + + /** + * See base class. + */ + void GetValue( const TGSPluginValueKeys aKey, + TDes& aValue ); + +public: //from MAknServerAppExitObserver + + /** + * Close the GS when embedded application is shutdown. + **/ + virtual void HandleServerAppExit(TInt aReason); + + +public: //From CAknView + + /** + * From CAknView. + * Returns views id. + **/ + TUid Id() const; + + +protected: + /** + * From CAknView Activates view. + * @since Series 60 3.1 + * @param aPrevViewId Id of previous view. + * @param aCustomMessageId Custom message id. + * @param aCustomMessage Custom message. + * @return None. + */ + virtual void DoActivateL (const TVwsViewId &aPrevViewId, + TUid aCustomMessageId, + const TDesC8 &aCustomMessage); + /** + * From CAknView Deactivates view. + * @since Series 60 3.1 + * @param None. + * @return None. + */ + virtual void DoDeactivate(); + +private: + + /** + * ConstructL + **/ + void ConstructL(); + + /** + * Default constructor + **/ + CGSDevDiagPlugin(); + + /** + * Open localised resource file. + * + * @aResourceFileName Full path name of the resource file. + * @aRsourceLoader + **/ + void OpenLocalizedResourceFileL( + const TDesC& aResourceFileName, + RConeResourceLoader& aResourceLoader ); + + /** + * Launch DevDiagApp.exe as an embedded application + **/ + void LaunchDiagnosticsAppL(); + + /** + * Calls null service to launch the application. + * + * @param aApp The application to be launched. + **/ + void EmbedAppL( const TAppInfo& aApp ); + +private: + + // resource loader + RConeResourceLoader iResourceLoader; + + // Mysterious embedded app launcher. + CAknNullService* iNullService; + }; + +#endif //GSDDPLUGIN_H + +// End of File