--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/cmmanager/gsconnsettingsplugin/inc/gsconnsettingsplugin.h Wed Sep 01 12:23:51 2010 +0100
@@ -0,0 +1,253 @@
+/*
+* 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 <gspluginloader.h>
+#include <gsbaseview.h>
+#include "gsconnsettingsmskobserver.h"
+
+#include <aknview.h>
+#include <eikclb.h>
+
+// 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();
+
+ /**
+ * See base class.
+ */
+ void HandleForegroundEventL( TBool aForeground );
+
+
+ /**
+ * 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<CGSPluginInterface>* iPluginArray;
+
+ /**
+ * Flag is set when wlan is supported
+ */
+ TBool iIsWlanSupported;
+
+ /**
+ * Flag is uised to ignore duplicate Window's events
+ */
+ TBool iProcessing;
+ };
+
+
+#endif // GSCONNSETTINGSPLUGIN_H
+// End of File