--- a/gssettingsuis/Gs/GSNetworkPlugin/Inc/GSNetworkPlugin.h Tue Feb 02 00:22:03 2010 +0200
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,519 +0,0 @@
-/*
-* Copyright (c) 2006-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: View for Network settings.
-*
-*/
-
-
-#ifndef GSNETWORKPLUGIN_H
-#define GSNETWORKPLUGIN_H
-
-// INCLUDES
-#include <aknsettingpage.h>
-#include <ConeResLoader.h>
-#include <gsplugininterface.h>
-#include <gsfwviewuids.h>
-#include <gsbaseview.h>
-#include <MSSSettingsRefreshObserver.h>
-#include <MPsetNetworkInfoObs.h>//for base class
-#include <etelmm.h>
-#include <msatrefreshobserver.h>
-//For listening BT SAP events
-#include <gspubsubslistener.h>
-#include <mgssettingpsobserver.h>
-#include <eikmenup.h>
-
-#include "GSPhoneSettingConstants.h"
-#include "GSNetworkPluginContainer.h"
-#include "GsNetworkPlugin.hrh"
-#include "MGsFWMSKLabelObserver.h"
-
-#include <etelmm.h>
-#include <e32base.h>
-
-#include <NWHandlingEngine.h>
-
-// CONSTANTS
-const TUid KGSNetworkPluginUid = { 0x102824A8 };
-// Resource file name
-_LIT( KGSNetworkPluginResourceFileName, "z:GSNetworkPluginRsc.rsc" );
-// Icon file name
-_LIT( KGSNetworkPluginIconDirAndName, "z:GSNetworkPlugin.mbm");
-
-// MACROS
-
-// DATA TYPES
-
-// FUNCTION PROTOTYPES
-
-// FORWARD CLASS DECLARATION
-class CAknViewAppUi;
-class CGSNetworkPluginContainer;
-class CPsetNetwork;
-class CAknWaitDialog;
-class CPsetContainer;
-class CAknRadioButtonSettingPage;
-class CAknPopupList;
-class MSSSettingsRefreshObserver;
-class CPSetRefreshHandler;
-
-class CNWSession;
-class TNWInfo;
-class CGSParentPlugin;
-
-// CLASS DECLARATION
-/**
-* CGSNetworkPlugin view class
-*
-* Plugin implementation for Network settings
-* @lib GSNetworkPlugin.lib
-* @since Series 60_3.1
-*/
-#ifdef FF_POWER_SAVE
- class CGSNetworkPluginAO;
-#endif // FF_POWER_SAVE
-
-class CGSNetworkPlugin : public CGSBaseView,
- public MPsetNetworkInfoObserver,
- public MSSSettingsRefreshObserver,
- public MGsFWMSKObserver,
- public MGSSettingPSObserver,
- public MNWMessageObserver
- {
- public: // Constructors and destructor
-
- /** C++ Constructor */
- CGSNetworkPlugin();
-
- /**
- * Symbian OS two-phased constructor
- * @return GS connection view.
- */
- static CGSNetworkPlugin* NewL( TAny* aInitParams );
-
- static CGSNetworkPlugin* NewLC();
-
- /**
- * Destructor.
- */
- ~CGSNetworkPlugin();
-
- public: // from base classes
-
- /**
- * Returns view id.
- * @return TUid
- */
- TUid Id() const;
-
- /**
- * Handles commands.
- * @param aCommand Command to be handled.
- *
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * From MEikCommandObserver, handles the commands.
- *
- * @param aCommand identifies the command given.
- */
- void ProcessCommandL( TInt aCommand );
-
- public: // From CGSPluginInterface
-
- /**
- * @see CGSPluginInterface header file.
- */
- void GetCaptionL( TDes& aCaption ) const;
-
- /**
- * @see CGSPluginInterface header file.
- */
- void GetValue( const TGSPluginValueKeys aKey,
- TDes& aValue );
-
- /**
- * @see CGSPluginInterface header file.
- */
- TInt PluginProviderCategory() const;
-
- /**
- * See base class.
- */
- CGulIcon* CreateIconL( const TUid aIconType );
-
- /**
- * @see CGSPluginInterface header file.
- */
- TBool Visible() const;
-
- public: //new
-
- /**
- * Get CGSNetworkPlugin's ccontainer.
- */
- CGSNetworkPluginContainer* Container();
-
- /**
- * Checks if the MSK label needs to be adjusted.
- */
- void CheckMiddleSoftkeyLabelL();
-
- /**
- * Remove command and label from MSK.
- */
- void RemoveCommandFromMSK( const TBool flag);
-
- /**
- * Adds given resource text as MSK to CBA.
- *
- * @param aResourceId middle softkey label.
- * @param aCommandId command that should be performed when MSK
- * is pressed.
- * @since S60 v3.1
- */
- void SetMiddleSoftKeyLabelL( const TInt aResourceId,const TInt aCommandId );
-
- /**
- * Shows a requested note.
- * @param aResourceId reource ID for note text
- * @param aType type of note
- */
- void ShowNoteL( TInt aResourceId, TInt aType );
-
- public: // from base class MPsetNetworkInfoObserver
-
- /**
- * @@see MPsetNetworkInfoObserver::HandleNetworkInfoReceivedL
- */
- void HandleNetworkInfoReceivedL(
- const CNetworkInfoArray* aInfoArray, const TInt aResult );
-
- /**
- * @@see MPsetNetworkInfoObserver::HandleCurrentNetworkInfoL - not used
- */
- inline void HandleCurrentNetworkInfoL(
- const MPsetNetworkSelect::TCurrentNetworkInfo& /* aCurrentInfo */,
- const TInt /* aResult */ ) {}
-
- /**
- * DEPRECATED in MPsetNetworkInfoObserver.
- *
- * @@see MPsetNetworkInfoObserver::HandleNetworkChangedL
- */
- void HandleNetworkChangedL(
- const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
- const MPsetNetworkSelect::TCurrentNetworkStatus aStatus,
- const TInt aResult );
-
- /**
- * @@see MPsetNetworkInfoObserver::HandleNetworkChangedL
- */
- void HandleNetworkChangedL(
- const MPsetNetworkSelect::TNetworkInfo& aCurrentInfo,
- const RMobilePhone::TMobilePhoneRegistrationStatus& aStatus,
- const TInt aResult );
-
-
- /**
- * @@see MPsetNetworkInfoObserver::HandleSearchingNetworksL
- */
- void HandleSearchingNetworksL( TServiceRequest aRequest );
-
- /**
- * @@see MPsetNetworkInfoObserver::HandleRequestingSelectedNetworkL
- */
- void HandleRequestingSelectedNetworkL( TBool aOngoing );
-
- /**
- * @@see MPsetNetworkInfoObserver::HandleCallActivatedL
- */
- void HandleCallActivatedL();
-
- /**
- * @@see MPsetNetworkInfoObserver::HandleNetworkErrorL
- */
- void HandleNetworkErrorL( const TServiceRequest aRequest,
- const TInt aError );
-
- public: //from base class MSSSettingsRefreshObserver
- /**
- * @@see MSSSettingsRefreshObserver::AllowRefresh
- */
- TBool AllowRefresh(
- const TSatRefreshType aType,
- const TSatElementaryFiles aFiles );
-
- /**
- * @@see MSSSettingsRefreshObserver::Refresh
- */
- void Refresh(
- const TSatRefreshType aType,
- const TSatElementaryFiles aFiles );
-
- public: // From MNWMessageObserver
-
- /**
- * Offers message interface to the client
- * @param aMessage
- * This methods execute time must be short,since code
- * starting to run from RunL.
- *
- * Function updates data into iNWInfo.
- */
- void HandleNetworkMessage( const TNWMessages aMessage );
-
- /**
- * Offers error message interface to the client
- * @param aOperation operation which failed
- * @param aErrorCode returned Symbian OS error code
- *
- */
- void HandleNetworkError( const TNWOperation aOperation, TInt aErrorCode );
-
- /**
- * Updates network setting page in case it is visible. This is needed in
- * case network mode is change while setting page is oppen.
- */
- void UpdateNetworkSettingPageL();
- public:
-#ifdef FF_POWER_SAVE
- /*
- * Update network plugin view when PSM mode has changed
- */
- void UpdateOnPsmChanged();
-#endif
-
- protected: // From CAknView
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
- void DoDeactivate();
-
- protected: // From MEikMenuObserver
-
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- protected:
-
- /**
- * C++ default constructor.
- */
-/* CGSNetworkPlugin();*/
-
- /**
- * Symbian OS default constructor.
- *
- */
- void ConstructL();
-
- void HandleClientRectChange();
-
- private: // from CGSBaseView
-
- void NewContainerL();
- void HandleListBoxSelectionL();
-
- private: // From MGSSettingPSObserver
- /**
- * Callback from MGSSettingPSObserver
- */
- void HandleNotifyPSL( const TUid aUid, const TInt& aKey,
- const TRequestStatus& aStatus );
-
- private: //new methods
-
- /**
- * Check if calls are active. Show note if Nw-menu is tried to open.
- * @param aItemId list item ID in network view
- */
- void CheckCallActiveL( TGSNetworkItemIds aItemId );
-
- /**
- * Provides the network operator list.
- */
- void NetworkListL();
-
- /**
- * Displays setting page for highlighted setting.
- *
- * @param aPage identifies the page that will be displayed.
- */
- void ShowSettingPageL( TGSNetworkItemIds aPage );
-
- /**
- * Sets title to a popup list.
- * @param aList pointer to list
- * @param aTitleID resource ID of the title
- */
- void SetTitleToPopupL( CAknPopupList& aList, TInt aTitleID );
-
- /**
- * Adds item to a list.
- * @param aList pointer to a list
- * @param aItem resource ID of the item to be added
- */
- void AppendItemL( CDesCArrayFlat& aList, TInt aItem );
-
- /**
- * Sets title to a settings page.
- * @param aDlg setting page
- * @param aTitleID resource ID of the title
- */
- void SetTitleToSettingsL( CAknRadioButtonSettingPage& aDlg,
- TInt aTitleID );
-
- /**
- * Shows a note if GPRS is active, when MCN is turned on.
- * @param aCurrentItem value of setting currently
- */
- void CheckGPRSConnectionL( TInt aCurrentItem );
-
- /**
- * Switches between shared data and setting page values (0 > 1, 1 > 0).
- * @param aValue value to switch
- */
- void SwitchOnOffValue( TInt& aValue );
-
- /**
- * Makes a Network/MCN Ss operation.
- * @param aIndex currently active list item.
- * @param aPage which setting page is open
- */
- void CreateNetworkSsCallL( TInt aIndex, TGSNetworkItemIds aPage );
-
- /**
- * Creates a waiting note (member variable).
- * @param aDelayOff is the note shown immediately or not
- */
- void CheckAndCreateDlgL( TBool aDelayOff );
-
- /**
- * Empties fetched network provider's list.
- */
- void PurgeNetworkList();
-
- /**
- * Updates listbox in container
- */
- void UpdateListBoxL( const TInt& aListItem, const TInt aValue = -1 );
-
- /**
- * Activate the Phone Idle view.
- */
- void PhoneIdle();
-
- /**
- * To verify if the phone is in the offline mode. (or mostly if mode is supported???)
- */
- TBool IsPhoneOfflineL() const;
-
- /**
- * Actually checks from telephone server cached data (iNWInfo) if phone
- * is online.
- *
- * @return ETrue if phone is online.
- */
- TBool PhoneOnline();
-
- /**
- * Updates iNetworkText from the iNWInfo values.
- */
- void UpdateNetworkTextL();
-
- /**
- * Easy access to parent plugin. Casts view from AppUI.
- */
- CGSParentPlugin* Parent();
-
- /**
- * Convert TInt to TGSNetworkModeItems.
- * Will panic in case TInt is of wrong value.
- */
- TGSNetworkModeItems CGSNetworkPlugin::IntToEnum( TInt aFeatureId );
-
- /**
- * Closes dialog (iSettingDlg) if it is open.
- */
- void CloseDialog();
-
-#ifdef FF_POWER_SAVE
- /**
- * Displays blocking note. Used if PSM is on.
- */
- void DisplayBlockNoteL();
-#endif // FF_POWER_SAVE
-
- public: //enumerations
-
- enum TGSNetworkList
- {
- EAutomaticMode,
- EManualMode
- };
-
- protected:
-
- // for load wait dialog
- CAknWaitDialog* iWaitDialog;
-
- private:
-
- //Requesting note
- CAknWaitDialog* iDlg;
- //PhoneSettings container
- CPsetContainer* iSettingsContainer;
- //PhoneSettings engine object
- CPsetNetwork* iPhoneSettingsEngine;
- //Array of networks
- CNetworkInfoArray* iNetworkArray;
- //Network selection list
- CAknPopupList* iNetworkPopupList;
- //Setting page
- CAknRadioButtonSettingPage* iSettingDlg;
- //Value of MCN setting item
- TInt iMCN;
- //Has the user selected a valid network
- TBool iApprovedNetwork;
- //PhoneSettings refresh handler
- CPSetRefreshHandler* iPSRefreshHandler;
- //Previous network selection state
- TBool iPreviousState;
- // check if which command MSK is set during destruction
- TBool iMskCommandFlag;
- //PubSub object for BT SAP state
- CGSPubSubsListener* iBtSapListener;
- TBool iSearchForNetworksActive;
-
- // Session to network handling engine. Owned.
- CNWSession* iNWSession;
-
- // Cached network info structure. Will be updated by iNWSession in a
- // callback.
- TNWInfo iNWInfo;
-
- // Cached network text read by GetValue(). When network handling engine
- // updates data, this buffer is re-created accordingly.
- HBufC* iNetworkText;
-#ifdef FF_POWER_SAVE
- // Active object for handling PSM realted CenRep events.
- CGSNetworkPluginAO* iPsmActive;
-#endif // FF_POWER_SAVE
-
- };
-
-#endif // GSNETWORKPLUGIN_H
-
-//End of File