diff -r 000000000000 -r 5a93021fdf25 cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugin.h Thu Dec 17 08:55:21 2009 +0200 @@ -0,0 +1,243 @@ +/* +* Copyright (c) 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: Header file for Connectivity Settings plugin. +* +*/ + + +#ifndef GSCONNSETTINGSPLUGIN_H +#define GSCONNSETTINGSPLUGIN_H + +// Includes +#include +#include +#include "gsconnsettingsmskobserver.h" + +#include +#include + +// Classes referenced +class CAknViewAppUi; +class RConeResourceLoader; +class CGSConnSettingsPluginModel; +class CGSConnSettingsPluginContainer; + +// Constants + +//Should we put these to .hrh +// This UID is used for both the view UID +// and the ECOM plugin implementation ID. +const TUid KGSConnSettingsPluginUid = { 0x200255B9 }; +const int KGConnSettingsPluginCount = 10; + +_LIT( KGSConnSettingsPluginResourceFileName, "z:gsconnsettingspluginrsc.rsc" ); +_LIT( KGSConnSettingsPluginIconDirAndName, "z:gsconnsettingsplugin.mbm"); // Use KDC_BITMAP_DIR + +// CLASS DECLARATION + +/** +* CConnSettingsPlugin view class. +* +* @since Series60_3.1 +*/ +class CGSConnSettingsPlugin : public CGSBaseView, public MGSPluginLoadObserver, public MGSConnSettingsMskObserver + { + public: // Constructors and destructor + + /** + * Symbian OS two-phased constructor + * @return + */ + static CGSConnSettingsPlugin* NewL( TAny* aInitParams ); + + /** + * Destructor. + */ + ~CGSConnSettingsPlugin(); + +// From CAknView + + /** + * See base class. + */ + TUid Id() const; + + /** + * Handles commands. + * @param aCommand Command to be handled. + * + */ + void HandleCommandL( TInt aCommand ); + + + /** + * See base class. + */ + void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + /** + * See base class. + */ + void DoDeactivate(); + + + /** + * From MEikMenuObserver. + * Changes MenuPane dynamically. + */ + void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane ); + +// From CGSParentPlugin + + /** + * See base class. + */ + TUid UpperLevelViewUid(); + + + /** + * See base class. + */ + void GetHelpContext( TCoeHelpContext& aContext ); + +// From CGSPluginInterface + + /** + * See base class. + */ + void GetCaptionL( TDes& aCaption ) const; + + /** + * See base class. + */ + CGulIcon* CreateIconL( const TUid aIconType ); + + /** + * See base class. + */ + TInt PluginProviderCategory() const; + + /** + * @see MGSPluginLoadObserver header file. + */ + void HandlePluginLoaded( KGSPluginLoaderStatus aStatus ); + + + /** + * Updates listbox's item's value. + * @param aItemId An item which is updated. + * + */ + void UpdateListBoxL( TInt aItemId ); + + /** + * Get CGSConnSettingsPlugin's ccontainer. + */ + CGSConnSettingsPluginContainer* Container(); + + /** + * From MGSSensorMskObserver. + * Checks currently activated item in list and updates MSK label if needed + */ + void CheckMiddleSoftkeyLabelL(); + + /** + * From MEikListBoxObserver (through CGSBaseView) + */ + void HandleListBoxEventL( CEikListBox* aListBox, + TListBoxEvent aEventType ); + + + protected: // New + /** + * C++ default constructor. + */ + CGSConnSettingsPlugin(); + + /** + * Symbian OS default constructor. + */ + void ConstructL(); + + private: + + void NewContainerL(); + + /** + * From CGSBaseView. Handles list box selection + */ + void HandleListBoxSelectionL(); + + /** + * Show "Join new WLAN networks" setting page + */ + void ShowUsageOfWlanSettingPageL(); + + /** + * Show "Cellular data usage abroad" setting page + */ + void ShowDataUsageAbroadSettingPageL(); + + /** + * Show "Cellular data usage in home network" setting page + */ + void ShowDataUsageInHomeNwSettingPageL(); + + /** + * Removes current label from MSK + */ + void RemoveCommandFromMSK(); + + /** + * Adds new label for MSK + * + * @param aResourceId Text of the new label + * @param aCommandId Command id of the MSK + */ + void SetMiddleSoftKeyLabelL( const TInt aResourceId, const TInt aCommandId ); + + + private: //Private data + + /** + * Resource loader + */ + RConeResourceLoader iResourceLoader; + + /** + * Pointer to model. + * Owned by CGSConnSettingsPluginContainer + */ + CGSConnSettingsPluginModel *iModel; + + /** + * Asynchronous loader for the GS plug-ins. + */ + CGSPluginLoader* iPluginLoader; + + /** + * Array of the child plugins + */ + CArrayPtrFlat* iPluginArray; + + /** + * Flag is set when wlan is supported + */ + TBool iIsWlanSupported; + }; + + +#endif // GSCONNSETTINGSPLUGIN_H +// End of File