diff -r 8bda91a87a00 -r 8ee96d21d9bf gssettingsuis/Gs/GSNetworkPlugin/Inc/GSNetworkPlugin.h --- a/gssettingsuis/Gs/GSNetworkPlugin/Inc/GSNetworkPlugin.h Thu Aug 19 10:12:30 2010 +0300 +++ /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 -#include -#include -#include -#include -#include -#include //for base class -#include -#include -//For listening BT SAP events -#include -#include -#include - -#include "GSPhoneSettingConstants.h" -#include "GSNetworkPluginContainer.h" -#include "GsNetworkPlugin.hrh" -#include "MGsFWMSKLabelObserver.h" - -#include -#include - -#include - -// 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