diff -r 8ee96d21d9bf -r 7e0eff37aedb gssettingsuis/Gs/GSPDataHSDPAPlugin/inc/GSPDataHSDPAPlugin.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gssettingsuis/Gs/GSPDataHSDPAPlugin/inc/GSPDataHSDPAPlugin.h Wed Sep 01 12:20:44 2010 +0100 @@ -0,0 +1,215 @@ +/* +* 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: GSPDataHSDPAPlugin implementation. +* +*/ + +#ifndef GSPDATAHSDPAPLUGIN_H +#define GSPDATAHSDPAPLUGIN_H + +// User includes + +// System includes +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// Classes referenced +class CAknNavigationDecorator; +class CAknViewAppUi; +class CAknWaitDialog; +class CGSPDataHSDPAModel; + +// Constants +const TUid KGSPDataHSDPAPluginUID = { 0x10282DC8 }; +_LIT( KPDataHSDPAResourceFileName, "z:GSPDataHSDPAPluginRsc.rsc" ); + +// CLASS DECLARATION + +/** +* CGSPDataHSDPAPlugin view class. +* +* This class handles state and application logic of PDataHSDPA settings. +* The plugin is a type of EGSItemTypeSettingDialog and therefore the GS FW will +* call HandleSelection() instead of DoActivate(). +* +*/ +class CGSPDataHSDPAPlugin : public CGSPluginInterface, + public MGSSettingPSObserver, + public MProEngProfileActivationObserver + { + public: // Constructors and destructor + + /** + * Symbian OS two-phased constructor + * @return + */ + static CGSPDataHSDPAPlugin* NewL( TAny* aInitParams ); + + /** + * Destructor. + */ + ~CGSPDataHSDPAPlugin(); + + public: // From CAknView + + /** + * See base class. + */ + TUid Id() const; + + public: // From CGSPluginInterface + + /** + * See base class. + */ + void GetCaptionL( TDes& aCaption ) const; + + /** + * See base class. + */ + TInt PluginProviderCategory() const; + + /** + * See base class. + */ + TGSListboxItemTypes ItemType(); + + /** + * See base class. + */ + void GetValue( const TGSPluginValueKeys aKey, + TDes& aValue ); + + /** + * See base class. + */ + void HandleSelection( const TGSSelectionTypes aSelectionType ); + + /** + * See base class. + */ + TGSMenuActivationItems MenuActivationItem(); + + /** + * @see CGSPluginInterface header file. + */ + TBool Visible() const; + + public: //From MProEngProfileActivationObserver + + /** + * Callback for device profile change + * Used for observing offline mode activation + */ + void HandleProfileActivatedL( TInt aProfileId ); + + protected: // New + + /** + * C++ default constructor. + */ + CGSPDataHSDPAPlugin(); + + /** + * Symbian OS default constructor. + */ + void ConstructL(); + + protected: // From CAknView + + /** + * See base class. + */ + void DoActivateL( const TVwsViewId& aPrevViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + /** + * See base class. + */ + void DoDeactivate(); + + private: // New + + /** + * Sets HSDPA state. + * Launches a setting page with a confirmation dialog + */ + void SetHSDPAStateL(); + + /** + * Opens localized resource file. + */ + void OpenLocalizedResourceFileL( + const TDesC& aResourceFileName, + RConeResourceLoader& aResourceLoader ); + + /** + * Resets all Active Connections, If Any. + */ + void ResetActiveConnectionsL(); + + /* + * + * Indexes of HSDPA on/off items in a listbox are not the same as + * aPDataHSDPState value. Therefore matching between these two is + * required. + */ + TBool ShowHSDPASettingPageL( TInt& aHsdpaState ); + + /** + * Leaving version of GetValue() + */ + void GetValueL( TDes& aValue ); + + /** + * Updating parent view + */ + void UpdateParentViewL(); + + private: // From MGSSettingPSObserver + /** + * Callback from MGSSettingPSObserver + */ + void HandleNotifyPSL( const TUid aUid, const TInt& aKey, + const TRequestStatus& aStatus ); + + protected: // Data + + // PDataHSDPA model. + CGSPDataHSDPAModel* iModel; + + // Resource loader. + RConeResourceLoader iResources; + + //PubSub object for NW mode state listener + CGSPubSubsListener* iNwModeListener; + + MProfileEngine* iProfileEngine; + MProEngNotifyHandler* iNotifyHandler; + + TInt iNetworkMode; + + TBool iHSDPASettingSupport; + }; + +#endif // GSPDATAHSDPAPLUGIN_H +// End of File