diff -r 63be7eb3fc78 -r f28ada11abbf wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h Wed Sep 01 12:20:32 2010 +0100 @@ -0,0 +1,332 @@ +/* +* Copyright (c) 2007-2008 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: Class header for TWsfMainController +* +*/ + +#ifndef T_WSFMAINCONTROLLER_H +#define T_WSFMAINCONTROLLER_H + +// EXTERNAL INCLUDES +#include + +// INTERNAL INCLUDES +#include "wsfmainuiobserver.h" +#include "wsfmodelobserver.h" +#include "wsfmainviewpartner.h" +#include "wsfstatechangeobserver.h" +#include "wsfdetailsviewpartner.h" +#include "wsfwlaninfo.h" + + + +// FORWARD DECLARATIONS +class CWsfAppUi; +class CWsfModel; +class MWsfMainViewControllerIf; +class MWsfDetailsViewControllerIf; +class CWsfWlanInfoArray; +class CWsfWlanInfoArrayVisitor; + +// CLASS DEFINITION +/** + * The main control class of the component. It is responsible for all + * the WLAN related functionalities. + * @since S60 v5.0 + */ +class TWsfMainController: public MWsfMainUiObserver, + public MWsfModelObserver, + public MWsfMainViewPartner, + public MWsfDetailsViewPartner, + public MWsfStateChangeObserver + { + public: // New methods + + /** + * PreInitialization for this class + * @since S60 5.0 + * @param aAppUi reference for the AppUI + * @param aModel reference for the Model + * @param aWlanInfoBranding reference for the WlanInfoArrayVisitor + */ + void Initialize( CWsfAppUi& aAppUi, + CWsfModel& aModel, + CWsfWlanInfoArrayVisitor& aWlanInfoBranding ); + + /** + * Updating the active View + * @since S60 5.0 + */ + void UpdateViewL(); + + /** + * Updating the active View + * @since S60 5.0 + * @param aInfoArray - Current Wlan Array + */ + void UpdateViewL( CWsfWlanInfoArray* aInfoArray ); + + public: //From MWsfMainUiObserver + + /** + * Activate (Switch back to) the Main View + * @since S60 5.0 + */ + void ShowWlanListL(); + + /** + * Incialize Main View + * @since S60 5.0 + */ + void MainViewCreatedL(); + + /** + * Sarts the Borwser + * @since S60 5.0 + */ + void StartBrowsingL(); + + /** + * Continues browsing (browser launched if needed) + * @since S60 5.0 + */ + void ContinueBrowsingL(); + + /** + * Connect to an IAP and create a WLAN connection + * @since S60 5.0 + */ + void ConnectL(); + + /** + * Disconnect a connection + * @since S60 5.0 + */ + void DisconnectL(); + + /** + * Start a refresh scanning + * @since S60 5.0 + */ + void RefreshL(); + + /** + * Start to display the diteils view of the selected connection + * @since S60 5.0 + */ + void ShowDetailsL(); + + /** + * Create an Access Point + * @since S60 5.0 + */ + void CreateAccessPointL(); + + /** + * Used in AppUi side to check if the + * wait dialog should be shown + * @since S60 5.0 + * @return ETrue if first refreshing + */ + TBool EngineRefreshing(); + + /** + * Callback function, when the Sniffer started + * @since S60 5.0 + */ + void AppLaunchCompleteL(); + + /** + * Enable Scanning + * @since S60 5.0 + */ + void AppSwitchedForegroundL(); + + /** + * Disable Scanning + * @since S60 5.0 + */ + void AppSwitchedBackgroundL(); + + /** + * Displays the "Filter out Wlan" dialog + * @since S60 5.0 + */ + void EditBlackListItemsL(); + + + public: //From MWsfModelObserver + + /** + * Called if the launch has been completed successfully + * @since S60 5.0 + */ + void BrowserLaunchCompleteL(); + + /** + * Called if the browser launch failed for some reason + * @since S60 5.0 + * @param aError error code + */ + void BrowserLaunchFailed( TInt aError ); + + /** + * Called when the previously launched browser exits + * @since S60 5.0 + */ + void BrowserExitL(); + + /** + * Notification that connection is going to be created + * @since S60 5.0 + * @param aIapId The IAP id of the connection being created + */ + void ConnectingL( TUint32 aIapId ); + + /** + * Notification that the connection creation process ended + * @since S60 5.0 + * @param aResult The result of the connection creation + */ + void ConnectingFinishedL( TInt aResult ); + + + public: //From MWsfMainViewPartner + + /** + * Mainview request to show manubar + * @since S60 5.0 + */ + void ShowMenuBarL(); + + public: //From MWsfDetailsViewPartner + + /** + * Detailsview requests to close view + * @since S60 5.0 + */ + void CloseDetailsViewL(); + + /** + * Refresh scanning + */ + void DetailsScanL(); + + public: // From MWsfStateChangeObserver + + /** + * The current wlan data has changed and it is ready to be retrieved + * @since S60 5.0 + */ + void WlanListChangedL(); + + /** + * Engine error occured + * @since S60 5.0 + * @param aError System wide error code + */ + void NotifyEngineError( TInt aError ); + + /** + * Scanning has been disabled + * @since S60 5.0 + */ + void ScanDisabledL(); + + /** + * Scanning has been enabled + * @since S60 5.0 + */ + void ScanEnabledL(); + + /** + * A WLAN connection has been established + * @since S60 5.0 + */ + void WlanConnectionActivatedL(); + + /** + * A WLAN connection has been closed + * @since S60 5.0 + */ + void WlanConnectionClosedL(); + + /** + * Connection creation process finished + * @since S60 5.2 + * @param aError System wide error code + */ + void ConnectionCreationProcessFinishedL( TInt aError ); + + private: + + /** + * Cleanup function to release the key events suppressing + * @since S60 5.0 + * @param aPtr Pointer for this class + */ + static void ReleaseSuppressingKeyEvents( TAny* aPtr ); + + /** + * Cleanup function to restore refresh state + * @since S60 5.2 + * @param aPtr Pointer for this class + */ + static void RestoreRefreshState( TAny* aPtr ); + + /** + * Updates iap id to wlan list + * @since S60 5.2 + * @param aInfo reference of TWsfWlanInfo class + */ + void UpdateIapIdToInfoArrayL( TWsfWlanInfo & aInfo ); + + private: // Data + + /** + * Reference to AppUi + */ + CWsfAppUi* iAppUi; + + /** + * Reference to Model + */ + CWsfModel* iModel; + + /** + * Reference to Main View + */ + MWsfMainViewControllerIf* iMainView; + + /** + * Reference to WlanInfoArrayVisitor + */ + CWsfWlanInfoArrayVisitor* iWlanInfoBranding; + + /** + * Reference to Deatils View + */ + MWsfDetailsViewControllerIf* iDetailsView; + + /** + * Reference to WlanInfoArray + */ + CWsfWlanInfoArray* iInfoArray; + + }; + + +#endif // T_WSFMAINCONTROLLER_H + +// End of file