diff -r f742655b05bf -r d38647835c2e commsconfig/cscgsplugin/inc/cscgsplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/commsconfig/cscgsplugin/inc/cscgsplugin.h Wed Sep 01 12:29:57 2010 +0100 @@ -0,0 +1,196 @@ +/* +* Copyright (c) 2008-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: cscgsplugin implementation. +* +*/ + + +#ifndef C_CSCGSPLUGIN_H +#define C_CSCGSPLUGIN_H + +#include +#include +#include + +#ifdef SYMBIAN_ENABLE_SPLIT_HEADERS +#include "apadoc.h" +#endif + +class CAknNullService; + + +class TAppInfo + { + public: + TAppInfo( TUid aUid, const TDesC& aFile ) + : iUid( aUid ), iFile( aFile ) + {} + TUid iUid; + TFileName iFile; + }; + + +/** + * Commsconfig GS plugin implementation. + * Launches CSC application from control panel. + * + * @code + * @endcode + * + * @since S60 5.0 + */ +class CCscGsPlugin : public CGSPluginInterface, + public MAknServerAppExitObserver // Embedding + { + public: + + static CCscGsPlugin* NewL( TAny* aInitParams ); + + ~CCscGsPlugin(); + + + // from base class CAknView + + /** + * From CAknView. + * + * @since S60 v3.0 + * @return The ID of view. + */ + TUid Id() const; + + + // from base class CGSPluginInterface + + /** + * From CGSPluginInterface. + */ + void GetCaptionL( TDes& aCaption ) const; + + /** + * From CGSPluginInterface. + */ + TInt PluginProviderCategory() const; + + /** + * From CGSPluginInterface. + */ + TGSListboxItemTypes ItemType(); + + /** + * From CGSPluginInterface. + */ + void GetValue( + const TGSPluginValueKeys aKey, + TDes& aValue ); + + /** + * From CGSPluginInterface. + */ + void HandleSelection( const TGSSelectionTypes aSelectionType ); + + /** + * From CGSPluginInterface. + */ + CGulIcon* CreateIconL( const TUid aIconType ); + + /** + * From CGSPluginInterface. + */ + TBool Visible() const; + + protected: + + + CCscGsPlugin(); + + void ConstructL(); + + + // from base class CAknView + + /** + * From CAknView. + * Creates the Container class object. + * + * @param aPrevViewId is not used. + * @param aCustomMessageId is not used. + * @param aCustomMessage is not used. + */ + void DoActivateL( + const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * From CAknView. + * Deletes the Container class object. + * + */ + void DoDeactivate(); + + private: + + /** + * Opens localized resource file. + * + * @since S60 5.0 + * @param aResourceFileName resource file name + * @param aResourceLoader resource loader + */ + void OpenLocalizedResourceFileL( + const TDesC& aResourceFileName, + RConeResourceLoader& aResourceLoader ); + + /** + * Launches csc application. + * + * @since S60 5.0 + */ + void LaunchCscAppL(); + + + /** + * Launches application as embedded. + * + * @since S60 5.0 + */ + void EmbedAppL( const TAppInfo& aApp ); + + protected: + + /** + * Resource laoder. + * Own. + */ + RConeResourceLoader iResources; + + /** + * Nullservice. + * Own. + */ + CAknNullService* iNullService; + + /** + * ApaDocument. + * Own. + */ + CApaDocument* iEmbedded; + +#ifdef _DEBUG + friend class ut_cscgsplugin; +#endif + }; + +#endif // C_CSCGSPLUGIN_H