--- a/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ b/group/bld.inf Tue Aug 31 16:18:40 2010 +0300
@@ -24,7 +24,6 @@
PRJ_MMPFILES
#include "../hotspotfw/group/bld.inf"
#include "../hsfw_plat/group/bld.inf"
-#include "../wlanutilities/group/bld.inf"
PRJ_TESTMMPFILES
--- a/hotspotfw/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/group/bld.inf Tue Aug 31 16:18:40 2010 +0300
@@ -23,13 +23,9 @@
PRJ_EXPORTS
../rom/hotspot.iby CORE_MW_LAYER_IBY_EXPORT_PATH(hotspot.iby)
-../rom/hotspotResources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(hotspotResources.iby)
../rom/hotspotfwstub.sis /epoc32/data/z/system/install/hotspotfwstub.sis
../rom/ictsstub.sis /epoc32/data/z/system/install/ictsstub.sis
-// Localisation files of whole Hotspot localised here
-../hsbrowser/loc/hsbrowser.loc MW_LAYER_LOC_EXPORT_PATH(hsbrowser.loc)
-
../internetconnectivitytestservice/conf/icts.confml MW_LAYER_CONFML(icts.confml)
../internetconnectivitytestservice/conf/icts_10282EC7.crml MW_LAYER_CRML(icts_10282ec7.crml)
../internetconnectivitytestservice/group/backup_registration.xml /epoc32/data/z/private/10282ec5/backup_registration.xml
@@ -56,11 +52,5 @@
../hsclient/group/NetCfgExtnHotSpot.mmp
../hsclient/group/hssmgmtimpl.mmp
../hspluginforagent/group/wlanagthotspotimpl.mmp
-../hsbrowser/group/hsbrowser.mmp
../hsserver/group/hssscanlist.mmp
PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE hsbrowsericon_aif.mif
-OPTION SOURCES -c8,1 qgn_menu_wlan_logon
-END
--- a/hotspotfw/hsbrowser/data/hsbrowser.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,187 +0,0 @@
-/*
-* 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: This file contains all the resources for HsBrowser.
-*
-*/
-
-
-
-// RESOURCE IDENTIFIER
-NAME HSBR // 4 letter ID
-
-// INCLUDES
-
-#include <eikon.rh>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <appinfo.rh>
-#include <avkon.mbg>
-#include <data_caging_paths_strings.hrh>
-#include <hsbrowser.loc>
-
-// RESOURCE DEFINITIONS
-
-// -----------------------------------------------------------------------------
-//
-// Define the resource file signature
-// This resource should be empty.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE { }
-
-// -----------------------------------------------------------------------------
-//
-// Default Document Name
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE TBUF { buf=""; }
-
-// -----------------------------------------------------------------------------
-//
-// Define default CBA key and status pane.
-//
-// -----------------------------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
- {
- cba = R_AVKON_SOFTKEYS_CANCEL;
- status_pane = r_hsbrowser_app_model;
- }
-
-// ---------------------------------------------------------
-//
-// r_hsbrowser_app_model
-// Define status pane of HsBrowser.
-//
-// ---------------------------------------------------------
-//
-RESOURCE STATUS_PANE_APP_MODEL r_hsbrowser_app_model
- {
- layout = R_AVKON_STATUS_PANE_LAYOUT_SMALL_WITH_SIGNAL_PANE;
- panes =
- {
- SPANE_PANE
- {
- id = EEikStatusPaneUidNavi;
- type = EAknCtNaviPane;
- resource = r_hsbrowser_navi_decorator;
- }
- };
- }
-
-// ---------------------------------------------------------
-//
-// r_hsbrowser_navi_decorator
-// Define static title of HsBrowser.
-//
-// ---------------------------------------------------------
-//
-RESOURCE NAVI_DECORATOR r_hsbrowser_navi_decorator
- {
- type = ENaviDecoratorLabel;
- control = NAVI_LABEL
- {
- txt = qtn_netw_conset_wba_static_title;
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_hsbrowser_localisable_app_info
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE LOCALISABLE_APP_INFO r_hsbrowser_localisable_app_info
- {
- short_caption = qtn_netw_conset_wba_static_title;
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = qtn_netw_conset_wba_static_title;
- icon_file = "Z:"APP_BITMAP_DIR"\\hsbrowsericon_aif.mif";
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_hsbrowser_softkeys_continue_cancel
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE CBA r_hsbrowser_softkeys_continue_cancel
- {
- buttons =
- {
- CBA_BUTTON{ id = EAknSoftkeyNext; txt = text_softkey_continue; },
- CBA_BUTTON{ id = EAknSoftkeyCancel; txt = text_softkey_cancel; },
- CBA_BUTTON{ id = EAknSoftkeyNext; txt = text_softkey_continue; }
- };
- }
-
-RESOURCE CBA r_hsbrowser_softkeys_cancel
- {
- buttons =
- {
- CBA_BUTTON{ txt = text_softkey_empty; },
- CBA_BUTTON{ id = EAknSoftkeyClose; txt = text_softkey_cancel; },
- CBA_BUTTON{ txt = text_softkey_empty; }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_hsbrowser_softkeys_continue_exit
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE CBA r_hsbrowser_softkeys_continue_exit
- {
- buttons =
- {
- CBA_BUTTON{ id = EAknSoftkeyNext; txt = text_softkey_continue; },
- CBA_BUTTON{ id = EAknSoftkeyExit; txt = text_softkey_exit; },
- CBA_BUTTON{ id = EAknSoftkeyNext; txt = text_softkey_continue; }
- };
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_qtn_netw_conset_wba_info_complete
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_netw_conset_wba_info_complete
- {
- buf = qtn_netw_conset_wba_info_complete;
- }
-
-// ----------------------------------------------------------------------------
-//
-// r_qtn_netw_conset_wba_info_closed
-//
-// ----------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_netw_conset_wba_info_closed
- {
- buf = qtn_netw_conset_wba_info_closed;
- }
-
-RESOURCE TBUF r_qtn_netw_conset_wba_static_title
- {
- buf = qtn_netw_conset_wba_static_title;
- }
-// End of File
--- a/hotspotfw/hsbrowser/data/hsbrowser_reg.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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: RSS for registration file for HsBrowser.
-*
-*/
-
-
-
-#include <appinfo.rh>
-#include <hsbrowser.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x2000AFCC
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file = "HsBrowser";
- localisable_resource_file = "\\resource\\apps\\hsbrowser";
- localisable_resource_id = R_HSBROWSER_LOCALISABLE_APP_INFO;
- hidden = KAppIsHidden;
- embeddability = KAppNotEmbeddable;
- newfile = KAppDoesNotSupportNewFile;
- }
-
-// End of File
--- a/hotspotfw/hsbrowser/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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: This file provides the information required
-* for building the whole of a Hotspot Browser Application.
-*
-*/
-
-
-
-
-PRJ_PLATFORMS
-
-
-PRJ_EXPORTS
-
-
-PRJ_MMPFILES
-hsbrowser.mmp
--- a/hotspotfw/hsbrowser/group/hsbrowser.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* 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: This is the project specification file for
-* HotSpot Browser Application.
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-TARGET HsBrowser.exe
-TARGETTYPE exe
-UID 0x100039CE 0x2000AFCC
-VENDORID VID_DEFAULT
-CAPABILITY CAP_APPLICATION NetworkControl
-
-EPOCSTACKSIZE 0x10000
-EPOCHEAPSIZE 0x2000 0x500000
-
-SOURCEPATH ../src
-SOURCE hsbrowserapp.cpp
-SOURCE hsbrowserappui.cpp
-SOURCE hsbrowserdocument.cpp
-SOURCE hsbrowsermodel.cpp
-SOURCE hsbrowsercontainer.cpp
-SOURCE hsbrowserloadeventobserver.cpp
-SOURCE hsbrowserspecialloadobserver.cpp
-SOURCE hsbrowserictsobserver.cpp
-SOURCE hsbrowserhssrvnotifs.cpp
-
-// UI resource file
-START RESOURCE ../data/hsbrowser.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-// registration file
-START RESOURCE ../data/hsbrowser_reg.rss
-DEPENDS hsbrowser.rsg
-TARGETPATH /private/10003a3f/apps
-END
-
-USERINCLUDE .
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib apparc.lib cone.lib eikcore.lib
-LIBRARY avkon.lib apmime.lib apgrfx.lib efsrv.lib eikcoctl.lib commonui.lib ecom.lib
-LIBRARY eikdlg.lib gdi.lib bitgdi.lib esock.lib insock.lib
-LIBRARY hotspotclient.lib
-LIBRARY ictsclientinterface.lib
-LIBRARY ws32.lib
-LIBRARY commonengine.lib
-LIBRARY browserengine.lib
-LIBRARY aknnotify.lib eiksrv.lib
-LIBRARY akncapserverclient.lib
-LIBRARY bafl.lib
-LIBRARY hlplch.lib // for "Help" options menu
--- a/hotspotfw/hsbrowser/inc/am_debug.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* 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: Debug utilities
-*
-*/
-
-
-
-#ifndef AM_DEBUG_H
-#define AM_DEBUG_H
-
-#include <e32svr.h>
-
-#ifdef _DEBUG
-
-/**
-* Class for producing debug traces
-* @lib
-* @since Series 60 3.0
-*/
-class Debug
- {
- public:
- static inline void PrintBuffer( TUint aLength, const TUint8* aData );
- static inline void PrintString( const TDesC& aString, TUint aLength, const TUint8* aData );
- static inline void PrintTimestamp( const TDesC& aString );
- };
-
-#define DEBUG(a) RDebug::Print(_L(a))
-#define DEBUG1(a,b) RDebug::Print(_L(a),b)
-#define DEBUG2(a,b,c) RDebug::Print(_L(a),b,c)
-#define DEBUG3(a,b,c,d) RDebug::Print(_L(a),b,c,d)
-#define DEBUG4(a,b,c,d,e) RDebug::Print(_L(a),b,c,d,e)
-#define DEBUG5(a,b,c,d,e,f) RDebug::Print(_L(a),b,c,d,e,f)
-#define DEBUG6(a,b,c,d,e,f,g) RDebug::Print(_L(a),b,c,d,e,f,g)
-#define DEBUG7(a,b,c,d,e,f,g,h) RDebug::Print(_L(a),b,c,d,e,f,g,h)
-#define DEBUG8(a,b,c,d,e,f,g,h,i) RDebug::Print(_L(a),b,c,d,e,f,g,h,i)
-#define DEBUG_MAC(a) RDebug::Print(_L("%02X%02X%02X%02X%02X%02X"),a[0],a[1],a[2],a[3],a[4],a[5])
-#define DEBUG_RATES(a) RDebug::Print(_L("%d %d %d %d %d %d %d %d"),a[0],a[1],a[2],a[3],a[4],a[5],a[6],a[7])
-#define DEBUG_BUFFER(a,b) Debug::PrintBuffer(a,b);
-#define DEBUG1S(a,b,c) Debug::PrintString(_L(a),b,c);
-#define DEBUGT(a) Debug::PrintTimestamp(_L(a));
-
-#include "am_debug.inl"
-
-#else // _DEBUG
-
-#define DEBUG(a) /* _DEBUG is not defined. */
-#define DEBUG1(a,b) /* _DEBUG is not defined. */
-#define DEBUG2(a,b,c) /* _DEBUG is not defined. */
-#define DEBUG3(a,b,c,d) /* _DEBUG is not defined. */
-#define DEBUG4(a,b,c,d,e) /* _DEBUG is not defined. */
-#define DEBUG5(a,b,c,d,e,f) /* _DEBUG is not defined. */
-#define DEBUG6(a,b,c,d,e,f,g) /* _DEBUG is not defined. */
-#define DEBUG7(a,b,c,d,e,f,g,h) /* _DEBUG is not defined. */
-#define DEBUG8(a,b,c,d,e,f,g,h,i) /* _DEBUG is not defined. */
-#define DEBUG_MAC(a) /* _DEBUG is not defined. */
-#define DEBUG_RATES(a) /* _DEBUG is not defined. */
-#define DEBUG_BUFFER(a,b) /* _DEBUG is not defined. */
-#define DEBUG1S(a,b,c) /* _DEBUG is not defined. */
-#define DEBUGT(a) /* _DEBUG is not defined. */
-
-#endif // _DEBUG
-
-#endif // AM_DEBUG_H
--- a/hotspotfw/hsbrowser/inc/am_debug.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* 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: Debug utilities
-*
-*/
-
-
-
-const TUint KPrintLineLength = 200;
-const TUint KPrintHexPerLine = 8;
-
-// -----------------------------------------------------------------------------
-// Debug::PrintBuffer
-// -----------------------------------------------------------------------------
-//
-inline void Debug::PrintBuffer( TUint aLength, const TUint8* aData )
- {
- TBuf<KPrintLineLength> line;
- TUint idx( 0 );
- for ( ; idx < aLength; ++idx )
- {
- if ( idx && !( idx % KPrintHexPerLine ) )
- {
- RDebug::Print( line );
- line.Zero();
- }
- line.AppendFormat( _L( "%02X " ), aData[idx] );
- }
- RDebug::Print( line );
- }
-
-// -----------------------------------------------------------------------------
-// Debug::PrintString
-// -----------------------------------------------------------------------------
-//
-inline void Debug::PrintString( const TDesC& aString, TUint aLength, const TUint8* aData )
- {
- TBuf<KPrintLineLength> line;
-
- line.Append( aString );
-
- TPtrC8 buf8( aData, aLength );
-
- TBuf<KPrintLineLength> buf16;
- buf16.Copy( buf8 );
-
- line.Append( buf16 );
-
- RDebug::Print( line );
- }
-
-// -----------------------------------------------------------------------------
-// Debug::PrintTimestamp
-// -----------------------------------------------------------------------------
-//
-inline void Debug::PrintTimestamp( const TDesC& aString )
- {
- TBuf<KPrintLineLength> line;
- TTime time;
- time.HomeTime();
-
- time.FormatL( line, _L( "%H:%T:%S:%C" ) );
- line.Append( _L( " " ) );
- line.Append( aString );
-
- RDebug::Print( line );
- }
--- a/hotspotfw/hsbrowser/inc/hsbrowserapp.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* 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: Declares main application class.
-*
-*/
-
-
-
-#ifndef HSBROWSERAPP_H
-#define HSBROWSERAPP_H
-
-// INCLUDES
-#include <aknapp.h>
-
-// CLASS DECLARATION
-/**
-* CHsBrowserApp application class.
-* Provides the factory to create a concrete document object.
-*
-*/
-class CHsBrowserApp : public CAknApplication
- {
-
- public: // Functions from base classes
- /**
- * From CApaApplication, overridden to enable INI file support.
- * @return CDictionaryStore*, A pointer to the dictionary store
- */
- CDictionaryStore* OpenIniFileLC(RFs& aFs) const;
- private:
-
- /**
- * From CApaApplication, creates CHsBrowserDocument document object.
- * @return CApaDocument*, A pointer to the created document object.
- */
- CApaDocument* CreateDocumentL();
-
- /**
- * From CApaApplication, returns application's UID.
- * @return TUid, The value of KUidHsBrowserApp.
- */
- TUid AppDllUid() const;
- };
-
-#endif
-
-// End of File
-
--- a/hotspotfw/hsbrowser/inc/hsbrowserappui.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* 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: The UI class for HotSpot Browser Application.
-*
-*/
-
-
-
-#ifndef HSBROWSERAPPUI_H
-#define HSBROWSERAPPUI_H
-
-// INCLUDES
-#include <eikapp.h>
-#include <eikdoc.h>
-#include <e32std.h>
-#include <coeccntx.h>
-#include <aknappui.h>
-#include <in_sock.h>
-
-// FORWARD DECLARATIONS
-class CHsBrowserContainer;
-
-// CONSTANTS
-const TInt KBufSize = 512;
-
-// CLASS DECLARATION
-/**
-* CHsBrowserAppUi class.
-* Application UI class which provides support for the following features:
-* - EIKON control architecture
-*
-*/
-class CHsBrowserAppUi : public CAknAppUi
- {
- public:
-
- /**
- * EPOC default constructor.
- */
- void ConstructL();
-
- /**
- * Destructor.
- */
- ~CHsBrowserAppUi();
-
- public: // From CEikAppUi
-
- /**
- * Parses command line arguments.
- *
- * @param aCommandLine Reference to command line.
- */
- TBool ProcessCommandParametersL( CApaCommandLine& aCommandLine );
-
- /**
- * Takes care of command handling.
- *
- * @param aCommand Command to be handled
- */
- void HandleCommandL(TInt aCommand);
-
- /**
- * Handles key events.
- *
- * @param aKeyEvent Event to handled.
- * @param aType Type of the key event.
- * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed).
- */
- virtual TKeyResponse HandleKeyEventL(
- const TKeyEvent& aKeyEvent,TEventCode aType);
-
- /**
- * Handles changes in keyboard focus when an application switches to,
- * or from, the foreground.
- *
- * @param aForeground ETrue if the application is in the foreground,
- * otherwise EFalse.
- */
- void HandleForegroundEventL( TBool aForeground );
-
- private: //data
-
- /**
- * Pointer to container of Hotspot Browser .
- */
- CHsBrowserContainer* iAppContainer;
- };
-
-#endif
-
-// End of File
-
-
--- a/hotspotfw/hsbrowser/inc/hsbrowsercommon.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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: Common data for HotSpot Browser Application.
-*
-*/
-
-
-
-#ifndef HSBROWSERCOMMON_H
-#define HSBROWSERCOMMON_H
-
-// CONSTANTS
-
-/**
-* Z drive.
-*/
-_LIT( KDriveZ, "z:" );
-
-/**
-* C drive.
-*/
-_LIT( KDriveC, "c:" );
-
-/*
-* Series60v3.2 product file.
-*/
-_LIT( KS60ProductIdFile, "Series60v3.2.sis" );
-
-/*
-* ROM install directory.
-*/
-_LIT( KROMInstallDir, "z:\\system\\install\\" );
-
-/**
-* Resource file for Hotspot Browser.
-*/
-_LIT( KResourceFile, "hsbrowser.rsc" );
-
-/**
-* UID3 of the application.
-*/
-const TUid KUidHsBrowserApp = { 0x2000AFCC };
-
-#endif
-
-// End of File
--- a/hotspotfw/hsbrowser/inc/hsbrowsercontainer.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,333 +0,0 @@
-/*
-* 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: Declares container control for HotSpot Browser Application.
-*
-*/
-
-
-
-#ifndef HSBROWSERCONTAINER_H
-#define HSBROWSERCONTAINER_H
-
-// INCLUDES
-#include <coecntrl.h>
-#include <coecobs.h>
-#include <ictscommon.h>
-#include <ictsclientinterface.h>
-#include <eikmenup.h>
-#include <brctlinterface.h>
-#include <wlanmgmtcommon.h>
-#include <wlanmgmtclient.h>
-
-// FORWARD DECLARATIONS
-class CBrCtlInterface;
-class CHsBrowserSpecialLoadObserver;
-class CHsBrowserLoadEventObserver;
-class CHsBrowserIctsObserver;
-class CHsBrowserHsSrvNotifs;
-class CHsBrowserModel;
-class TCoeEvent;
-class CAknNavigationControlContainer;
-class CAknNavigationDecorator;
-class CAknIndicatorContainer;
-class CAknNaviLabel;
-
-// CONSTANTS
-const TInt KComponentsNumber = 1;
-const TInt KBrCtlComponentIndex = 0;
-
-// CLASS DECLARATION
-/**
-* CHsBrowserContainer class.
-* This is the container control class.
-*/
-class CHsBrowserContainer : public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * C++ default constructor.
- *
- * @param aModel Pointer to model of HsBrowser.
- */
- CHsBrowserContainer( CHsBrowserModel* aModel );
-
- /**
- * EPOC default constructor.
- *
- * @param aRect Frame rectangle for container.
- */
- void ConstructL( const TRect& aRect );
-
- /**
- * Destructor.
- */
- ~CHsBrowserContainer();
-
- public:
- enum TNaviPaneEvent
- {
- ELoadingLoginPage,
- ELoadingUrl,
- EPageTitleAvailable,
- ELoadingFinished
- };
-
-
- public: // new
-
- /**
- * Initializes the indicators in the navi pane.
- */
- void InitNaviPaneL();
-
- /**
- * Updates the indicators in the navi pane.
- */
- void UpdateNaviPane( TNaviPaneEvent aUpdateEvent );
-
- /**
- * Pass a command to the Browser Control
- *
- * @param aCommand The command that the Browser Control should process.
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * Handles key events
- *
- * @param aKeyEvent The key event that occurred.
- * @param aType The window server event type that is being handled
- * @return TKeyResponse Value indicates whether or not the key event was consumed by the control.
- * The default implementation simply returns EKeyWasNotConsumed.
- */
- TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType );
-
- /**
- * Handle events when when an application switches to,
- * or from, the foreground.
- *
- * @param aForeground ETrue if the application is in the foreground,
- * otherwise EFalse.
- */
- void ProcessForegroundEvent( TBool aForeground );
-
- /**
- * Send application to foreground.
- */
- void SendToForeground();
-
- /**
- * Restore original ordinary position and priority.
- */
- void RestorePositionAndPriority();
-
- /**
- * Send application to background.
- */
- void SendToBackground();
-
- /**
- * Update softkeys according to model state.
- */
- void UpdateSoftkeys();
-
- /**
- * Show login complete information note.
- */
- void ShowLoginCompleteNote();
-
- /**
- * Show connection closed information note.
- */
- void ShowConnClosedNote();
-
- /**
- * Initialize model, attach to connection, and load specified URL.
- *
- * @param aUrl URL of authentication web page.
- * @param aIapId ID of IAP.
- * @param aNetId Network ID.
- * @return KErrNone, if successful, otherwice one of system wide errorcodes.
- */
- TInt LoadRedirect( const TPtrC& aUrl, TInt aIapId, TInt aNetId );
-
- /**
- * Called when wlan connection is lost.
- * Shows information note and exits.
- */
- void ProcessWlanConnModeNotConnected();
-
- /**
- * Returns boolean value for application foreground status.
- *
- * @return ETrue / EFalse
- */
- TBool IsForeground();
-
- public: // access
-
- /**
- * Accessor method for iBrCtlInterface
- *
- * @return CBrCtlInterface* A pointer to the browser control interface.
- */
- inline CBrCtlInterface* BrCtlInterface();
-
- /**
- * Accessor method for iHsBrowserSpecialLoadObserver.
- *
- * @return CHsBrowserSpecialLoadObserver* A pointer to the special load observer.
- */
- inline CHsBrowserSpecialLoadObserver* HsBrowserSpecialLoadObserver();
-
- /**
- * Accessor method for iHsBrowserIctsObserver.
- *
- * @return CHsBrowserIctsObserver* A pointer to the Internet connectivity test observer.
- */
- inline CHsBrowserIctsObserver* HsBrowserIctsObserver();
-
- /**
- * Accessor method for iModel.
- *
- * @return CHsBrowserModel* A pointer to the model of HsBrowser.
- */
- inline CHsBrowserModel* Model();
-
- /**
- * Accessor method for iNaviLabel.
- *
- * @return CAknNaviLabel* A pointer to the label control in the navigation pane.
- */
- inline CAknNaviLabel* NaviLabel();
-
- /**
- * Get boolean value if input box is active or not.
- *
- * @return ETrue / EFalse
- */
- inline TBool ActiveInputBox();
-
- /**
- * Set input box active flag
- */
- inline void SetActiveInputBox( TBool aActiveInputBox );
-
- private: // From CoeControl
-
- /**
- * From CoeControl,SizeChanged.
- */
- void SizeChanged();
-
- /**
- * From CoeControl,CountComponentControls.
- */
- TInt CountComponentControls() const;
-
- /**
- * From CCoeControl,ComponentControl.
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * From CCoeControl,Handle key events.
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType);
-
- /**
- * From CCoeControl,Handle resource change events.
- */
- void HandleResourceChange( TInt aType );
-
- private: //data
-
- /**
- * Pointer to the browser control interface.
- * Owned.
- */
- CBrCtlInterface* iBrCtlInterface;
-
- /**
- * Command Base
- */
- TInt iCommandBase;
-
- /**
- * Special Load Observer
- */
- CHsBrowserSpecialLoadObserver* iHsBrowserSpecialLoadObserver;
-
- /**
- * Load Event Observer
- */
- CHsBrowserLoadEventObserver* iHsBrowserLoadEventObserver;
-
- /**
- * Internet connectivity test observer
- */
- CHsBrowserIctsObserver* iHsBrowserIctsObserver;
-
- /**
- * Notifications from hotspot server.
- */
- CHsBrowserHsSrvNotifs* iHsBrowserHsSrvNotifs;
-
- /**
- * Model of HsBrowser
- */
- CHsBrowserModel* iModel;
-
- /**
- * Pointer to default control in the status pane's navigation pane.
- * Not owned.
- */
- CAknNavigationControlContainer* iNaviPane;
-
- /**
- * Pointer to the editor indicator control in the navigation pane.
- * Owned.
- */
- CAknNavigationDecorator* iEditorIndicatorContainer;
-
- /**
- * Pointer to the editor indicator control in the navigation pane
- * Not owned.
- */
- CAknIndicatorContainer* iIndiContainer;
-
- /**
- * Resource.
- */
- TInt iResource;
-
- /**
- * Flag for softkey press.
- */
- TBool iActiveInputBox;
-
- /**
- * handle to WlanMgmtClient
- */
- CWlanMgmtClient *iMgtClient;
- };
-
-#include "hsbrowsercontainer.inl"
-
-#endif
-
-// End of File
-
--- a/hotspotfw/hsbrowser/inc/hsbrowsercontainer.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* 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: Inline method definitions for CHsBrowserContainer.
-*
-*/
-
-
-
-#ifndef HSBROWSERCONTAINER_INL
-#define HSBROWSERCONTAINER_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CHsBrowserContainer::BrCtlInterface
-// ---------------------------------------------------------------------------
-//
-CBrCtlInterface* CHsBrowserContainer::BrCtlInterface()
- {
- return iBrCtlInterface;
- }
-
-// ---------------------------------------------------------------------------
-// CHsBrowserContainer::HsBrowserSpecialLoadObserver
-// ---------------------------------------------------------------------------
-//
-CHsBrowserSpecialLoadObserver* CHsBrowserContainer::
- HsBrowserSpecialLoadObserver()
- {
- return iHsBrowserSpecialLoadObserver;
- }
-
-// ---------------------------------------------------------------------------
-// CHsBrowserContainer::HsBrowserIctsObserver
-// ---------------------------------------------------------------------------
-//
-CHsBrowserIctsObserver* CHsBrowserContainer::HsBrowserIctsObserver()
- {
- return iHsBrowserIctsObserver;
- }
-
-// ---------------------------------------------------------------------------
-// CHsBrowserContainer::Model
-// ---------------------------------------------------------------------------
-//
-CHsBrowserModel* CHsBrowserContainer::Model()
- {
- return iModel;
- }
-
-// ---------------------------------------------------------------------------
-// CHsBrowserContainer::NaviLabel
-// ---------------------------------------------------------------------------
-//
-CAknNaviLabel* CHsBrowserContainer::NaviLabel()
- {
- return NULL;
- }
-
-// ---------------------------------------------------------------------------
-// CHsBrowserContainer::ActiveInputBox
-// ---------------------------------------------------------------------------
-//
-TBool CHsBrowserContainer::ActiveInputBox()
- {
- return iActiveInputBox;
- }
-
-// ---------------------------------------------------------------------------
-// CHsBrowserContainer::SetActiveInputBox
-// ---------------------------------------------------------------------------
-//
-void CHsBrowserContainer::SetActiveInputBox( TBool aActiveInputBox )
- {
- iActiveInputBox = aActiveInputBox;
- }
-
-#endif
--- a/hotspotfw/hsbrowser/inc/hsbrowserdocument.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* 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: Declares document for application.
-*
-*/
-
-
-
-#ifndef HSBROWSERDOCUMENT_H
-#define HSBROWSERDOCUMENT_H
-
-// INCLUDES
-#include <AknDoc.h>
-
-// CONSTANTS
-
-// FORWARD DECLARATIONS
-class CEikAppUi;
-class CHsBrowserModel;
-
-// CLASS DECLARATION
-
-/**
-* CHsBrowserDocument application class.
-*/
-class CHsBrowserDocument : public CAknDocument
- {
- public: // Constructors and destructor
- /**
- * Two-phased constructor.
- */
- static CHsBrowserDocument* NewL( CEikApplication& aApp );
-
- /**
- * Destructor.
- */
- virtual ~CHsBrowserDocument();
-
- public: // access
-
- /**
- * Accessor method for iModel.
- *
- * @return CHsBrowserModel* A pointer to model of HsBrowser.
- */
- inline CHsBrowserModel* Model();
-
- private:
-
- /**
- * C++ default constructor.
- */
- CHsBrowserDocument( CEikApplication& aApp );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // new
-
- /**
- * Initialize model.
- */
- //inline void ResetModel();
-
- private:
-
- /**
- * From CEikDocument, create CBrCtlSampleAppAppUi "App UI" object.
- */
- CEikAppUi* CreateAppUiL();
-
- private: // data
-
- /**
- * Pointer to model of HsBrowser.
- * Owned.
- */
- CHsBrowserModel* iModel;
- };
-
-#include "hsbrowserdocument.inl"
-
-#endif
-
-// End of File
-
--- a/hotspotfw/hsbrowser/inc/hsbrowserdocument.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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: Inline method definitions for CHsBrowserModel.
-*
-*/
-
-
-
-#ifndef HSBROWSERDOCUMENT_INL
-#define HSBROWSERDOCUMENT_INL
-
-#include "hsbrowsermodel.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserDocument::Model
-// ---------------------------------------------------------
-//
-CHsBrowserModel* CHsBrowserDocument::Model()
- {
- return iModel;
- }
-
-#endif
--- a/hotspotfw/hsbrowser/inc/hsbrowserhssrvnotifs.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* 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: Implements notifications interface from Hotspot server in order
-* to receive wlan connection closed notification.
-*
-*/
-
-
-
-#ifndef HSBROWSERHSSRVNOTIFS_H
-#define HSBROWSERHSSRVNOTIFS_H
-
-// INCLUDES
-#include <e32base.h>
-#include <ictscommon.h>
-#include "hsssrvnotifications.h"
-#include <wlanmgmtcommon.h>
-#include <wlanmgmtinterface.h>
-
-// FORWARD DECLARATION
-class CHsBrowserContainer;
-
-// CLASS DECLARATION
-/**
-* CHsBrowserHsSrvNotifs class.
-* Class implements notifications interface for Hotspot server in order
-* to receive wlan connection closed notification.
-*/
-class CHsBrowserHsSrvNotifs : public CBase, public MWlanMgmtNotifications
- {
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- *
- * @param aContainer Pointer to container of browser application
- */
- static CHsBrowserHsSrvNotifs* NewL( CHsBrowserContainer* aContainer );
-
- /**
- * Destructor.
- */
- ~CHsBrowserHsSrvNotifs();
-
- public: // from MWlanMgmtNotifications
-
- /**
- * Connection state has changed .
- */
- virtual void ConnectionStateChanged( TWlanConnectionMode aNewState );
-
-
- private:
-
- /**
- * C++ default constructor.
- *
- * @param aContainer Pointer to container of browser application.
- */
- CHsBrowserHsSrvNotifs( CHsBrowserContainer* aContainer );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private:
-
- /**
- * Container of hotspot browser application.
- */
- CHsBrowserContainer* iContainer;
- };
-
-#endif // HSBROWSERHSSRVNOTIFS_H
-
-// End of File
-
--- a/hotspotfw/hsbrowser/inc/hsbrowserictsobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,97 +0,0 @@
-/*
-* 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: Implements callback interface for Internet Connectivity Test Service
-* notifications.
-*
-*/
-
-
-
-#ifndef HSBROWSERICTSOBSERVER_H
-#define HSBROWSERICTSOBSERVER_H
-
-// INCLUDES
-#include <e32base.h>
-#include <ictscommon.h>
-
-// FORWARD DECLARATION
-class CHsBrowserContainer;
-
-// CLASS DECLARATION
-/**
-* This class implements callback interface for Internet Connectivity Test Service
-* notifications.
-*/
-class CHsBrowserIctsObserver : public CBase, public MIctsObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- *
- * @param aContainer Pointer to container of browser application
- */
- static CHsBrowserIctsObserver* NewL( CHsBrowserContainer* aContainer );
-
- /**
- * Destructor.
- */
- ~CHsBrowserIctsObserver();
-
- public: // from MIctsObserver
-
- /**
- * From MIctsObserver, ConnectivityObserver
- */
- void ConnectivityObserver( TIctsTestResult aResult, const TDesC& aString );
-
- private: // new
-
- /**
- * Process connection ok event.
- */
- void ProcessConnectionOk();
-
- private:
-
- /**
- * C++ default constructor.
- *
- * @param aContainer Pointer to container of browser application.
- */
- CHsBrowserIctsObserver( CHsBrowserContainer* aContainer );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private:
-
- /**
- * Container of hotspot browser application.
- * Not owned.
- */
- CHsBrowserContainer* iContainer;
-
- /**
- * Flag for authentication ok indication to Hotspot Server
- */
- TBool iAuthenticatedOkSent;
- };
-
-#endif // HSBROWSERICTSOBSERVER_H
-
-// End of File
-
--- a/hotspotfw/hsbrowser/inc/hsbrowserloadeventobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,130 +0,0 @@
-/*
-* 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: Handle load progress events
-*
-*/
-
-
-
-#ifndef HSBROWSERLOADEVENTOBSERVER_H
-#define HSBROWSERLOADEVENTOBSERVER_H
-
-// INCLUDES
-#include <brctlinterface.h>
-
-// FORWARD DECLARATIONS
-class CHsBrowserContainer;
-
-// CONSTANTS
-_LIT8( KHttp, "http" );
-const TInt KTotalPollingTime = 300000000;
-const TInt KExecutionTimeInterval = 10000000;
-const TInt KBufSize = 4;
-
-// CLASS DECLARATION
-/**
-* This class is used to receive load progress events.
-*/
-class CHsBrowserLoadEventObserver : public CBase, public MBrCtlLoadEventObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CHsBrowserLoadEventObserver* NewL( CHsBrowserContainer* aContainer );
-
- /**
- * Destructor.
- */
- ~CHsBrowserLoadEventObserver();
-
- public: // from MBrCtlLoadEventObserver
-
- /**
- * From MBrCtlLoadEventObserver, load events notification.
- */
- void HandleBrowserLoadEventL( TBrCtlDefs::TBrCtlLoadEvent aLoadEvent,
- TUint aSize,
- TUint16 aTransactionId) ;
- private:
-
- /**
- * Constructor.
- */
- CHsBrowserLoadEventObserver( CHsBrowserContainer* aContainer );
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // new
-
- /**
- * Update label in the navigation pane.
- *
- * @param aName Label for navi pane.
- */
- void UpdateNaviLabel( const TDesC& aName );
-
- /**
- * Update name in fast swapper.
- *
- * @param aName Name in fast swapper.
- */
- void UpdateFastSwapNameL( const TDesC& aName );
-
- /**
- * Get page title, udpate navi label and name in fast swapper.
- */
- void UpdateNameL();
-
- /**
- * Start polling internet connection.
- */
- void TestInternetConnectivityL();
-
- /**
- * Update boolean flag for internet connectivity test.
- */
- void UpdateDoIctFlagL();
-
- private: // data
-
- /**
- * Pointer to the container class associated with this observer.
- */
- CHsBrowserContainer* iContainer; // not owner
-
- /**
- * Pointer to internet connectivity test object.
- */
- CIctsClientInterface* iIcts; // owner
-
- /**
- * Boolean flag for Internet Connectivity Test.
- */
- TBool iDoIct;
-
- /**
- * Used to differentiate the navibar content: no title shown yet when
- * we are just loading the logon page
- */
- TBool iIsFirstLoad;
- };
-
-#endif // HSBROWSERLOADEVENTOBSERVER_H
-
-// End of File
--- a/hotspotfw/hsbrowser/inc/hsbrowsermodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* 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: Declaration of HsBrowserModel class.
-*
-*/
-
-
-
-#ifndef HSBROWSERMODEL_H
-#define HSBROWSERMODEL_H
-
-// INCLUDES
-#include <e32base.h>
-#include <es_sock.h>
-#include "hssinterface.h"
-
-// FORWARD DECLARATIONS
-class RConnection;
-class RSocketServ;
-class RHssInterface;
-
-// CLASS DECLARATION
-/**
- * Manages the HsBrowser data.
- */
-class CHsBrowserModel : public CBase
- {
-
- public:
-
- /**
- * Static constructor.
- */
- static CHsBrowserModel* NewL();
-
- /**
- * Destructor.
- */
- ~CHsBrowserModel();
-
- public: // new methods
-
- /**
- * Set model state.
- *
- * @param aState State of the model.
- * @param aSendToHss Flag for sending status to hotspot server.
- */
- void SetState( TUint aState, TBool aSendToHss );
-
- /**
- * Attach to connection using known iIapId and iNetId.
- */
- TInt Attach();
-
- public: // access
-
- inline TInt IapId() const;
- inline TInt NetId() const;
- inline HBufC* Url();
- inline RConnection& Connection();
- inline RSocketServ& SocketServ();
- inline RHssInterface& HsServer();
- inline TBool Foreground();
- inline TUint State();
- inline TBool LoginCompleteNoteShown();
- inline TInt Position();
- inline TInt Priority();
- inline HBufC* StaticTitle();
- inline HBufC* PageTitle();
-
- inline void SetNetId( TInt aNetId );
- inline void SetIapId( TInt aIapId );
- inline void SetUrl( const TPtrC& aUrl );
- inline void SetState( TUint aState );
- inline void SetForeground( TBool aForeground );
- inline void SetLoginCompleteNoteShown( TBool aLoginCompleteNoteShown );
- inline void SetStaticTitle( const TDesC& aStaticTitle );
- inline void SetPageTitle( const TDesC& aPageTitle );
-
- private:
-
- /**
- * C++ default constructor.
- */
- CHsBrowserModel();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private: // data
-
- /**
- * IAP ID.
- */
- TInt iIapId;
-
- /**
- * Network ID.
- */
- TInt iNetId;
-
- /**
- * URL of web page for user authentication.
- * Owned.
- */
- HBufC* iUrl;
-
- /**
- * The management interface for a network connection.
- */
- RConnection iConnection;
-
- /**
- * Provides the Connect() function to create an IPC communication
- * channel to the socket server.
- */
- RSocketServ iSocketServ;
-
- /**
- * Handle to a session with a hotspot server.
- */
- RHssInterface iHsServer;
-
- /**
- * Application state. Possible values are EHsBrowserUiUndefined, EHsBrowserUiRunning,
- * EHsBrowserUiAuthenticatedOk, EHsBrowserUiAuthenticatedNok, EHsBrowserUiClosed, defined
- * in hotspotclientserver.h
- */
- TUint iState;
-
- /**
- * Boolean flag for foreground state.
- */
- TBool iForeground;
-
- /**
- * Boolean flag for showing login complete note.
- */
- TBool iLoginCompleteNoteShown;
-
- /**
- * The window's original ordinal position.
- */
- TInt iPosition;
-
- /**
- * The window's original ordinal priority.
- */
- TInt iPriority;
-
- /**
- * Default page title, "WLAN login"
- * Owned.
- */
- HBufC* iStaticTitle;
-
- /**
- * Web page title, used instead of default if available.
- * Owned.
- */
- HBufC* iPageTitle;
-
- };
-
-#include "hsbrowsermodel.inl"
-
-#endif // HSBROWSERMODEL_H
-
-// end of file
-
--- a/hotspotfw/hsbrowser/inc/hsbrowsermodel.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,265 +0,0 @@
-/*
-* 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: Inline method definitions for CHsBrowserModel.
-*
-*/
-
-
-
-#ifndef HSBROWSERMODEL_INL
-#define HSBROWSERMODEL_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserModel::IapId
-// ---------------------------------------------------------
-//
-TInt CHsBrowserModel::IapId() const
- {
- return iIapId;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetIapId
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetIapId( TInt aIapId )
- {
- iIapId = aIapId;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::IapId
-// ---------------------------------------------------------
-//
-TInt CHsBrowserModel::NetId() const
- {
- return iNetId;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::Url
-// ---------------------------------------------------------
-//
-HBufC* CHsBrowserModel::Url()
- {
- return iUrl;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetNetId
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetNetId( TInt aNetId )
- {
- iNetId = aNetId;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::Connection
-// ---------------------------------------------------------
-//
-RConnection& CHsBrowserModel::Connection()
- {
- return iConnection;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SocketServ
-// ---------------------------------------------------------
-//
-RSocketServ& CHsBrowserModel::SocketServ()
- {
- return iSocketServ;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::HsServer
-// ---------------------------------------------------------
-//
-RHssInterface& CHsBrowserModel::HsServer()
- {
- return iHsServer;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetUrl
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetUrl( const TPtrC& aUrl )
- {
- if ( iUrl )
- {
- delete iUrl;
- iUrl = NULL;
- }
- iUrl = aUrl.Alloc();
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::Foreground
-// ---------------------------------------------------------
-//
-TBool CHsBrowserModel::Foreground()
- {
- return iForeground;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::State
-// ---------------------------------------------------------
-//
-TUint CHsBrowserModel::State()
- {
- return iState;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::ShowLoginCompleteNote
-// ---------------------------------------------------------
-//
-/*TBool CHsBrowserModel::ShowLoginCompleteNote()
- {
- return iShowLoginCompleteNote;
- }
-*/
-
-// ---------------------------------------------------------
-// CHsBrowserModel::LoginCompleteNoteShown
-// ---------------------------------------------------------
-//
-TBool CHsBrowserModel::LoginCompleteNoteShown()
- {
- return iLoginCompleteNoteShown;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::Position
-// ---------------------------------------------------------
-//
-TInt CHsBrowserModel::Position()
- {
- return iPosition;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::Priority
-// ---------------------------------------------------------
-//
-TInt CHsBrowserModel::Priority()
- {
- return iPriority;
- }
-
-HBufC* CHsBrowserModel::StaticTitle()
- {
- return iStaticTitle;
- }
-
-HBufC* CHsBrowserModel::PageTitle()
- {
- return iPageTitle;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::ShowConnClosedNote
-// ---------------------------------------------------------
-//
-/*
-TBool CHsBrowserModel::ShowConnClosedNote()
- {
- return iShowConnClosedNote;
- }
-*/
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetState
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetState( TUint aState )
- {
- iState = aState;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetForeground
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetForeground( TBool aForeground )
- {
- iForeground = aForeground;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetShowLoginCompleteNote
-// ---------------------------------------------------------
-//
-/*void CHsBrowserModel::SetShowLoginCompleteNote( TBool aShowLoginCompleteNote )
- {
- iShowLoginCompleteNote = aShowLoginCompleteNote;
- }
-*/
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetLoginCompleteNoteShown
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetLoginCompleteNoteShown(
- TBool aLoginCompleteNoteShown )
- {
- iLoginCompleteNoteShown = aLoginCompleteNoteShown;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetShowConnClosedNote
-// ---------------------------------------------------------
-//
-/*
-void CHsBrowserModel::SetShowConnClosedNote( TBool aShowConnClosedNote )
- {
- iShowConnClosedNote = aShowConnClosedNote;
- }
-*/
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetStaticTitle
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetStaticTitle( const TDesC& aStaticTitle )
- {
- if ( iStaticTitle )
- {
- delete iStaticTitle;
- iStaticTitle = NULL;
- }
- iStaticTitle = aStaticTitle.Alloc();
- }
-
-// ---------------------------------------------------------
-// CHsBrowserModel::SetPageTitle
-// ---------------------------------------------------------
-//
-void CHsBrowserModel::SetPageTitle( const TDesC& aPageTitle )
- {
- if ( iPageTitle )
- {
- delete iPageTitle;
- iPageTitle = NULL;
- }
- iPageTitle = aPageTitle.Alloc();
- }
-
-
-#endif // HSBROWSERMODEL_INL
--- a/hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,120 +0,0 @@
-/*
-* 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: Handle special load requests like Non-HTTP(S) load requests,
-* and Non-HTML content. Control over network connections
-*
-*/
-
-
-
-#ifndef HSBROWSERSPECIALLOADOBSERVER_H
-#define HSBROWSERSPECIALLOADOBSERVER_H
-
-// INCLUDES
-#include <brctlspecialloadobserver.h>
-#include <brctlinterface.h>
-
-// CLASS DECLARATION
-
-/**
-* CHsBrowserSpecialLoadObserver class.
-* This class inherits from the MBrCtlSpecialLoadObserver interface which
-* is used if the host application requires: Handling of non-HTTP(S) load requests;
-* Handling of non-markup content; Control over network connections
-*/
-class CHsBrowserSpecialLoadObserver : public CBase, public MBrCtlSpecialLoadObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CHsBrowserSpecialLoadObserver* NewL();
-
- /**
- * Destructor.
- */
- ~CHsBrowserSpecialLoadObserver();
-
- public: // from MBrCtlSpecialLoadObserver
-
- /**
- * Request to create a network connection.
- * @since 2.8
- * @param aConnectionPtr A pointer to the new connection. If NULL, the proxy filter will automatically create a network connection
- * @param aSockSvrHandle A handle to the socket server.
- * @param aNewConn A flag if a new connection was created. If the connection is not new, proxy filter optimization will not read the proxy again from CommsBd
- * @param aBearerType The bearer type of the new connection
- * @return void
- */
- void NetworkConnectionNeededL( TInt* aConnectionPtr,
- TInt* aSockSvrHandle,
- TBool* /*aNewConn*/,
- TApBearerType* /*aBearerType*/ );
- /**
- * Request the host applicaion to handle non-http request.
- * @since 2.8
- * @param aTypeArray Array of download parameter types. These types indicates the type of data contained within the DesArray
- * @param aDesArray Array of values associated with the types in the type array.
- * @return ETrue, If the request is handled by the host application. EFalse if not
- */
- TBool HandleRequestL( RArray<TUint>* /*aTypeArray*/,
- CDesCArrayFlat* /*aDesArray*/ );
-
- /**
- * Request the host applicaion to handle downloads
- * @since 2.8
- * @param aTypeArray Array of download parameter types
- * @param aDesArray Array of values associated with the types in the type array
- * @return ETrue, If the request is handled by the host application. EFalse if not
- */
- TBool HandleDownloadL( RArray<TUint>* /*aTypeArray*/,
- CDesCArrayFlat* /*aDesArray*/ );
-
- public: // access methods
-
- /**
- * Accessor method for iConnectionPtr.
- */
- void SetConnectionPtr( TInt aConnectionPtr );
-
- /**
- * Accessor method for iSockSvrHandle.
- */
- void SetSockSvrHandle( TInt aSockSvrHandle );
-
- private:
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
- private:
-
- /**
- * Connection handle.
- */
- TInt iConnectionPtr;
-
- /**
- * Socket server handle.
- */
- TInt iSockSvrHandle;
- };
-
-#endif // HSBROWSERSPECIALLOADOBSERVER_H
-
-// End of File
-
--- a/hotspotfw/hsbrowser/loc/hsbrowser.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,55 +0,0 @@
-/*
-* 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: Localization file.
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-//d:A static title is displayed during the rendering of the page, and replaced
-//d:by the web page title when it is available. If the web page does not have
-//d:a title, the static title remains in the status pane.
-//l:status_small_pane_t1/opt3
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wba_static_title "WLAN login"
-
-//d:As soon as authentication can be detected as complete,
-//d:this information note is displayed,
-//d:and the logon application is sent to background.
-//l:popup_note_window
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wba_info_complete "Login complete. Application will be sent to background."
-
-//d:If the WLAN connection is closed when logon application is in foreground,
-//d:this information note is displayed and application is closed.
-//l:popup_note_window
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wba_info_closed "WLAN connection closed. Login application will now exit."
-
-//d:Softkey used in authentication process.
-//l:control_pane_t1/opt7
-//w:
-//r:3.2
-//
-#define text_softkey_continue "Continue"
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowserapp.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-/*
-* 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: Implements the main application class.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <eikstart.h>
-
-#include "hsbrowserapp.h"
-#include "hsbrowserdocument.h"
-#include "hsbrowsercommon.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserApp::AppDllUid()
-// Returns application UID
-// ---------------------------------------------------------
-//
-TUid CHsBrowserApp::AppDllUid() const
- {
- return KUidHsBrowserApp;
- }
-
-// ---------------------------------------------------------
-// CDictionaryStore* CHsBrowserApp::OpenIniFileLC(RFs& aFs) const
-// overrides CAknApplication::OpenIniFileLC to enable INI file support
-// ---------------------------------------------------------
-//
-CDictionaryStore* CHsBrowserApp::OpenIniFileLC( RFs& aFs ) const
- {
- return CEikApplication::OpenIniFileLC( aFs );
- }
-
-// ---------------------------------------------------------
-// CHsBrowserApp::CreateDocumentL()
-// Creates CHsBrowserAppDocument object
-// ---------------------------------------------------------
-//
-CApaDocument* CHsBrowserApp::CreateDocumentL()
- {
- return CHsBrowserDocument::NewL( *this );
- }
-
-// ================= OTHER EXPORTED FUNCTIONS ==============
-//
-// ---------------------------------------------------------
-// NewApplication()
-// Constructs CHsBrowserApp
-// Returns: created application object
-// ---------------------------------------------------------
-//
-LOCAL_C CApaApplication* NewApplication( )
- {
- return new CHsBrowserApp;
- }
-
-// ---------------------------------------------------------
-// E32Main
-// Main function for Symbian OS v9 EXE application
-// Returns: TInt
-// ---------------------------------------------------------
-GLDEF_C TInt E32Main()
- {
- DEBUG( "***** Starting Hotspot Browser Logon Application..." );
- return EikStart::RunApplication( NewApplication );
- }
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowserappui.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,204 +0,0 @@
-/*
-* 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: The UI class for HotSpot Browser Application.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <avkon.hrh>
-#include <es_enum.h>
-#include <hsbrowser.rsg>
-#include <akntitle.h>
-#include <AknUtils.h>
-#include <hlplch.h>
-
-#include "hsbrowserappui.h"
-#include "hsbrowsercontainer.h"
-#include "hsbrowserdocument.h"
-#include "hsbrowsercommon.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-//
-// ----------------------------------------------------------
-// CHsBrowserAppUi::ConstructL()
-// ----------------------------------------------------------
-//
-void CHsBrowserAppUi::ConstructL()
- {
- DEBUG( "CHsBrowserAppUi::ConstructL()" );
- BaseConstructL( CAknAppUi::EAknEnableSkin );
- CHsBrowserModel* model;
- model = static_cast<CHsBrowserDocument*>(iDocument)->Model();
- iAppContainer = new (ELeave) CHsBrowserContainer( model );
- iAppContainer->SetMopParent( this );
- iAppContainer->ConstructL( ClientRect() );
- AddToStackL( iAppContainer );
- }
-
-// ----------------------------------------------------
-// CHsBrowserAppUi::~CHsBrowserAppUi()
-// Destructor
-// Frees reserved resources
-// ----------------------------------------------------
-//
-CHsBrowserAppUi::~CHsBrowserAppUi()
- {
- DEBUG( "CHsBrowserAppUi::~CHsBrowserAppUi()" );
- if ( iAppContainer )
- {
- RemoveFromStack( iAppContainer );
- delete iAppContainer;
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserAppUi::ProcessCommandParametersL
-// ----------------------------------------------------
-//
-TBool CHsBrowserAppUi::ProcessCommandParametersL(
- CApaCommandLine& aCommandLine )
- {
- DEBUG( "CHsBrowserAppUi::ProcessCommandParametersL()" );
-
- TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
- TApaTask task = taskList.FindApp( KUidHsBrowserApp );
- task.BringToForeground();
-
- TBuf<KBufSize> args;
- args.Copy( aCommandLine.DocumentName() );
-
- if ( args.Length() == 0 )
- {
- // No arguments, meaning started from application menu.
- // Continue normally, for testing purposes
- return EFalse;
- }
-
- TLex wordLex( args );
- TPtrC word;
- // get IAP ID
- word.Set( wordLex.NextToken() );
- TInt iapId;
- TLex x1( word );
- TInt err = x1.Val( iapId );
- if ( err != KErrNone )
- {
- DEBUG1( "CHsBrowserAppUi::ProcessCommandParametersL() x1.Val(), err=%d",
- err );
- }
- // get net ID
- word.Set( wordLex.NextToken() );
- TInt netId;
- TLex x2( word );
- err = x2.Val( netId );
- if ( err != KErrNone )
- {
- DEBUG1( "CHsBrowserAppUi::ProcessCommandParametersL() x2.Val(), err=%d",
- err );
- }
- // get URL
- TPtrC url( wordLex.NextToken() );
-
- err = iAppContainer->LoadRedirect( url, iapId, netId );
- if ( err != KErrNone )
- {
- DEBUG1( "CHsBrowserAppUi::ProcessCommandParametersL() LoadRedirect(), err=%d",
- err );
- }
- return EFalse;
-}
-
-// ----------------------------------------------------
-// CHsBrowserAppUi::HandleCommandL(TInt aCommand)
-// ----------------------------------------------------
-//
-void CHsBrowserAppUi::HandleCommandL( TInt aCommand )
- {
- DEBUG1( "CHsBrowserAppUi::HandleCommandL() aCommmand=%d", aCommand );
-
- switch ( aCommand )
- {
- case EAknSoftkeyCancel:
- {
- iAppContainer->HandleCommandL( aCommand );
- Exit();
- break;
- }
- case EAknSoftkeyClose:
- {
- // Now for sure we know that we are in input box.
- // Next close aCommand should be treated as EAknSoftkeyCancel
- iAppContainer->SetActiveInputBox( ETrue );
- // change softkey to Cancel...
- CEikButtonGroupContainer* cba = CEikonEnv::Static()->
- AppUiFactory()->Cba();
- if ( cba )
- {
- cba->SetCommandSetL( R_AVKON_SOFTKEYS_CANCEL );
- cba->DrawNow();
- }
- break;
- }
- case EAknSoftkeyExit:
- case EAknSoftkeyBack:
- case EEikCmdExit:
- {
- iAppContainer->HandleCommandL( aCommand );
- Exit();
- break;
- }
- case EAknCmdHelp:
- {
- HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
- AppHelpContextL());
- break;
- }
-
- default:
- iAppContainer->HandleCommandL( aCommand );
- break;
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserAppUi::HandleKeyEventL()
-// ----------------------------------------------------
-//
-TKeyResponse CHsBrowserAppUi::HandleKeyEventL(
- const TKeyEvent& aKeyEvent,TEventCode aType)
- {
- //DEBUG( "CHsBrowserAppUi::HandleKeyEventL()" )
- return iAppContainer->HandleKeyEventL(aKeyEvent, aType);
- }
-
-// ---------------------------------------------------------
-// CHsBrowserAppUi::HandleForegroundEventL()
-// ---------------------------------------------------------
-//
-void CHsBrowserAppUi::HandleForegroundEventL( TBool aForeground )
- {
- DEBUG( "CHsBrowserAppUi::HandleForegroundEventL()" );
-
- CAknAppUi::HandleForegroundEventL( aForeground );
- if ( iAppContainer )
- {
- iAppContainer->ProcessForegroundEvent( aForeground );
- }
- }
-
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowsercontainer.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,687 +0,0 @@
-/*
-* 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: Implementation of the container control for HotSpot Browser Application.
-*
-*/
-
-// INCLUDE FILES
-#include <eiklabel.h>
-#include <avkon.hrh>
-#include <hsbrowser.rsg>
-#include <brctlinterface.h>
-#include <charconv.h>
-#include <gdi.h>
-#include <bitdev.h>
-#include <eikenv.h>
-#include <AknDef.h>
-#include <AknUtils.h>
-#include <apgtask.h>
-#include <es_enum.h>
-#include <coecobs.h>
-#include <coecntrl.h>
-#include <apgwgnam.h>
-#include <aknnavi.h>
-#include <AknIndicatorContainer.h>
-#include <aknnavilabel.h>
-#include <aknnavide.h>
-#include <aknappui.h>
-#include <aknnotewrappers.h>
-#include <StringLoader.h>
-#include <bautils.h>
-#include <data_caging_path_literals.hrh>
-#include <AknGlobalNote.h>
-#include <hlplch.h>
-
-#include "hotspotclientserver.h"
-#include "hsbrowsercontainer.h"
-#include "hsbrowserloadeventobserver.h"
-#include "hsbrowserloadeventobserver.h"
-#include "hsbrowserspecialloadobserver.h"
-#include "hsbrowserictsobserver.h"
-#include "hsbrowserhssrvnotifs.h"
-#include "hsbrowsermodel.h"
-#include "hsbrowsercommon.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::CHsBrowserContainer()
-// Constructor.
-// ---------------------------------------------------------
-//
-CHsBrowserContainer::CHsBrowserContainer( CHsBrowserModel* aModel ) :
- iModel( aModel ),
- iNaviPane( NULL ),
- iEditorIndicatorContainer( NULL),
- iIndiContainer( NULL ),
- iResource( 0 ),
- iActiveInputBox( EFalse )
- {
- DEBUG( "CHsBrowserContainer::CHsBrowserContainer()" );
- }
-
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::ConstructL(const TRect& aRect)
-// EPOC two phased constructor
-// ---------------------------------------------------------
-//
-void CHsBrowserContainer::ConstructL( const TRect& aRect )
- {
- DEBUG( "CHsBrowserContainer::ConstructL()" );
- CreateWindowL();
-
- // create observers
- iHsBrowserSpecialLoadObserver = CHsBrowserSpecialLoadObserver::NewL();
- iHsBrowserLoadEventObserver = CHsBrowserLoadEventObserver::NewL( this );
- iHsBrowserIctsObserver = CHsBrowserIctsObserver::NewL( this );
- iHsBrowserHsSrvNotifs = CHsBrowserHsSrvNotifs::NewL( this );
-
- iCommandBase = TBrCtlDefs::ECommandIdBase;
- TUint brCtlCapabilities = TBrCtlDefs::ECapabilityLoadHttpFw |
- TBrCtlDefs::ECapabilityDisplayScrollBar |
- TBrCtlDefs::ECapabilityCursorNavigation;
- iBrCtlInterface = CreateBrowserControlL(
- this,
- aRect,
- brCtlCapabilities,
- iCommandBase,
- NULL, // softkey observer
- NULL, // link resolver
- iHsBrowserSpecialLoadObserver,
- NULL, // layout observer
- NULL, // dialog provider
- NULL, // window observer
- NULL );// download observer
-
- // disable ESettingsSecurityWarnings setting,
- // or implement MBrCtlDialogsProvider interface
- // reason: default implementation of MBrCtlDialogsProvider::DialogConfirmL
- // returns EFalse and page is not loaded.
- iBrCtlInterface->SetBrowserSettingL(
- TBrCtlDefs::ESettingsSecurityWarnings, EFalse );
-
- // auto load on
- iBrCtlInterface->SetBrowserSettingL (
- TBrCtlDefs::ESettingsAutoLoadImages,
- ETrue);
-
- iBrCtlInterface->SetBrowserSettingL (
- TBrCtlDefs::ESettingsCookiesEnabled,
- ETrue);
-
- iBrCtlInterface->SetBrowserSettingL (
- TBrCtlDefs::ESettingsCSSFetchEnabled,
- ETrue);
-
- iBrCtlInterface->SetBrowserSettingL (
- TBrCtlDefs::ESettingsECMAScriptEnabled,
- ETrue);
-
- // this observer can be added and removed dynamically
- iBrCtlInterface->AddLoadEventObserverL( iHsBrowserLoadEventObserver );
-
- // init navi pane indicators
- InitNaviPaneL();
-
- // load resource file
- TFileName fileName;
- fileName.Append( KDriveZ );
- fileName.Append( KDC_APP_RESOURCE_DIR );
- fileName.Append( KResourceFile );
- BaflUtils::NearestLanguageFile( CCoeEnv::Static()->FsSession(),
- fileName );
- iResource = CCoeEnv::Static()->AddResourceFileL( fileName );
-
- HBufC* title = StringLoader::LoadL( R_QTN_NETW_CONSET_WBA_STATIC_TITLE );
-
- iModel->SetStaticTitle( *title );
- delete title;
-
- // activate WLAN MGMT API notifications,
- // we need to know when network is lost
- iMgtClient = CWlanMgmtClient::NewL();
- iMgtClient->ActivateNotificationsL( *iHsBrowserHsSrvNotifs );
-
- SetRect( aRect ); // set the size
- ActivateL(); // activate the window
- SetFocus( ETrue );
- }
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::~CHsBrowserContainer()
-// Destructor.
-// ---------------------------------------------------------
-//
-CHsBrowserContainer::~CHsBrowserContainer()
- {
- DEBUG( "CHsBrowserContainer::~CHsBrowserContainer()" );
- if ( iMgtClient )
- {
- iMgtClient->CancelNotifications();
- delete iMgtClient;
- }
-
- iBrCtlInterface->RemoveLoadEventObserver( iHsBrowserLoadEventObserver );
- delete iBrCtlInterface;
-
- // delete observers
- delete iHsBrowserSpecialLoadObserver;
- delete iHsBrowserLoadEventObserver;
- delete iHsBrowserIctsObserver;
-
- // cancels also notifications
- delete iHsBrowserHsSrvNotifs;
-
- if ( iResource )
- {
- CCoeEnv::Static()->DeleteResourceFile( iResource );
- }
-
- delete iEditorIndicatorContainer;
- DEBUG( "CHsBrowserContainer::~CHsBrowserContainer() DONE" );
- }
-
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::InitNaviPaneL()
-// Initializes the indicators in the navi pane.
-// ---------------------------------------------------------
-//
-void CHsBrowserContainer::InitNaviPaneL()
- {
- DEBUG( "CHsBrowserContainer::InitNaviPaneL()" );
- if ( !iEditorIndicatorContainer )
- {
- CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
- if ( statusPane )
- {
- iNaviPane = (CAknNavigationControlContainer*)
- statusPane->ControlL( TUid::Uid( EEikStatusPaneUidNavi ) );
- if ( iNaviPane )
- {
- iEditorIndicatorContainer =
- iNaviPane->CreateEditorIndicatorContainerL();
- }
- }
- }
-
- if ( !iIndiContainer && iEditorIndicatorContainer )
- {
- iIndiContainer = (CAknIndicatorContainer*) iEditorIndicatorContainer->DecoratedControl();
- }
-
- if ( iNaviPane && iEditorIndicatorContainer )
- {
- iNaviPane->PushL( *iEditorIndicatorContainer );
- }
-
- }
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::SizeChanged()
-// Called by framework when the view size is changed
-// ---------------------------------------------------------
-//
-void CHsBrowserContainer::SizeChanged()
- {
- DEBUG( "CHsBrowserContainer::SizeChanged()" );
- iBrCtlInterface->SetRect(Rect());
- }
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::CountComponentControls() const
-// ---------------------------------------------------------
-//
-TInt CHsBrowserContainer::CountComponentControls() const
- {
- return KComponentsNumber;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::ComponentControl(TInt aIndex) const
-// ---------------------------------------------------------
-//
-CCoeControl* CHsBrowserContainer::ComponentControl(TInt aIndex) const
- {
- switch ( aIndex )
- {
- case KBrCtlComponentIndex:
- return iBrCtlInterface;
- default:
- return NULL;
- }
- }
-
-
-// ------------------------------------------------------------------
-// CHsBrowserContainer::UpdateNaviPane( TNaviPaneEvent aUpdateEvent )
-// ------------------------------------------------------------------
-//
-void CHsBrowserContainer::UpdateNaviPane( TNaviPaneEvent aUpdateEvent )
- {
- DEBUG( "CHsBrowserContainer::UpdateNaviPane()" );
-
- iIndiContainer->SetIndicatorState(
- TUid::Uid( EAknNaviPaneEditorIndicatorMessageInfo ),
- EAknIndicatorStateOn );
-
- switch( aUpdateEvent )
- {
- case ELoadingLoginPage:
- {
- TRAP_IGNORE( iIndiContainer->SetIndicatorValueL(
- TUid::Uid( EAknNaviPaneEditorIndicatorMessageInfo ),
- *iModel->StaticTitle() ) );
- iIndiContainer->SetIndicatorState(
- TUid::Uid( EAknNaviPaneEditorIndicatorWaitBar ),
- EAknIndicatorStateAnimate );
- break;
- }
- case ELoadingUrl:
- {
- iIndiContainer->SetIndicatorState(
- TUid::Uid( EAknNaviPaneEditorIndicatorWaitBar ),
- EAknIndicatorStateAnimate );
- break;
- }
- case EPageTitleAvailable:
- {
- TRAP_IGNORE( iIndiContainer->SetIndicatorValueL(
- TUid::Uid( EAknNaviPaneEditorIndicatorMessageInfo ),
- *iModel->PageTitle() ) );
- break;
- }
- case ELoadingFinished:
- {
- iIndiContainer->SetIndicatorState(
- TUid::Uid( EAknNaviPaneEditorIndicatorWaitBar ),
- EAknIndicatorStateOff );
- break;
- }
- }
-
- iIndiContainer->DrawNow();
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::HandleCommandL(TInt aCommand)
-// ----------------------------------------------------
-//
-void CHsBrowserContainer::HandleCommandL(TInt aCommand)
- {
- DEBUG1( "CHsBrowserContainer::HandleCommandL() aCommand=%d", aCommand );
- switch ( aCommand )
- {
- case EAknSoftkeyNext:
- ShowLoginCompleteNote();
- SendToBackground();
- break;
- case EAknSoftkeyCancel:
- case EAknSoftkeyBack:
- case EAknSoftkeyExit:
- case EEikCmdExit:
- {
- iBrCtlInterface->HandleCommandL(
- TBrCtlDefs::ECommandCancelFetch +
- TBrCtlDefs::ECommandIdBase );
- iModel->SetState( EHsBrowserUiClosed, ETrue );
- break;
- }
- case EAknCmdHelp:
- {
- HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
- iEikonEnv->EikAppUi()->AppHelpContextL());
- break;
- }
- default:
- if ( aCommand >= iCommandBase &&
- aCommand < iCommandBase + TBrCtlDefs::ECommandIdRange )
- {
- iBrCtlInterface->HandleCommandL( aCommand );
- }
- break;
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::HandleKeyEventL(
-// const TKeyEvent& aKeyEvent,TEventCode /*aType*/)
-// ----------------------------------------------------
-//
-TKeyResponse CHsBrowserContainer::HandleKeyEventL(
- const TKeyEvent& /*aKeyEvent*/,TEventCode /*aType*/)
- {
- return EKeyWasNotConsumed;
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::SendToForeground()
-// ----------------------------------------------------
-//
-void CHsBrowserContainer::SendToForeground()
- {
- DEBUG( "CHsBrowserContainer::SendToForeground()" );
-
- // because "Connecting via..." note hides hsbrowser,
- // send hsbrowser to foreground
- CCoeEnv::Static()->RootWin().SetOrdinalPosition( 0,
- ECoeWinPriorityNormal );
- CCoeEnv::Static()->WsSession().Flush();
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::RestorePositionAndPriority()
-// ----------------------------------------------------
-//
-void CHsBrowserContainer::RestorePositionAndPriority()
- {
- DEBUG( "CHsBrowserContainer::RestorePositionAndPriority()" );
-
- RWindowGroup& wg = CEikonEnv::Static()->RootWin();
-
- // because "Connecting via..." note hides hsbrowser,
- // it was assigned ECoeWinPriorityAlwaysAtFront priority,
- // restore original now
- if ( wg.OrdinalPriority() == ECoeWinPriorityAlwaysAtFront )
- {
- CCoeEnv::Static()->RootWin().SetOrdinalPosition(
- iModel->Position(), iModel->Priority() );
- }
- }
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::SendToBackground
-// ---------------------------------------------------------
-//
-void CHsBrowserContainer::SendToBackground()
- {
- DEBUG( "CHsBrowserContainer::SendToBackground()" );
-
- RWindowGroup& wg = CEikonEnv::Static()->RootWin();
-
- // Construct en empty TApaTask object
- // giving it a reference to the Window Server session
- TApaTask task( CEikonEnv::Static()->WsSession() );
-
- // Initialise the object with the window group id of
- // our application (so that it represent our app)
- task.SetWgId( wg.Identifier() );
-
- // Request window server to bring our application
- // to foreground
- DEBUG("CHsBrowserContainer::SendToBackground() sending to background" );
- task.SendToBackground();
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::ProcessForegroundEvent()
-// ----------------------------------------------------
-//
-void CHsBrowserContainer::ProcessForegroundEvent( TBool aForeground )
- {
- DEBUG1( "CHsBrowserContainer::ProcessForegroundEvent() aForeground = %d", aForeground );
- iModel->SetForeground( aForeground );
- UpdateSoftkeys();
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::OfferKeyEventL(const
-// TKeyEvent& aKeyEvent,TEventCode aType)
-// ----------------------------------------------------
-//
-TKeyResponse
-CHsBrowserContainer::OfferKeyEventL(const TKeyEvent& aKeyEvent,TEventCode aType)
- {
- DEBUG( "CHsBrowserContainer::OfferKeyEventL()" );
-
- TUint state = iModel->State();
- TBrCtlDefs::TBrCtlElementType elem = iBrCtlInterface->FocusedElementType();
- DEBUG1( "CHsBrowserContainer::OfferKeyEventL() type: %d", elem);
-
- if ( elem == TBrCtlDefs::EElementActivatedInputBox || elem == TBrCtlDefs::EElementInputBox )
- {
- if ( !iActiveInputBox && state != EHsBrowserUiAuthenticatedOk )
- {
- // change softkey
- CEikButtonGroupContainer* cba = CEikonEnv::Static()->
- AppUiFactory()->Cba();
- if ( cba )
- {
- cba->SetCommandSetL( R_HSBROWSER_SOFTKEYS_CANCEL );
- cba->DrawNow();
- }
- }
- iActiveInputBox = EFalse;
- }
- else
- {
- CEikButtonGroupContainer* cba = CEikonEnv::Static()->
- AppUiFactory()->Cba();
- if ( cba && state != EHsBrowserUiAuthenticatedOk )
- {
- cba->SetCommandSetL( R_AVKON_SOFTKEYS_CANCEL );
- cba->DrawNow();
- }
- }
- DEBUG( "CHsBrowserContainer::OfferKeyEventL() done to iBrCtl" );
- return iBrCtlInterface->OfferKeyEventL(aKeyEvent, aType);
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::HandleResourceChange()
-// ----------------------------------------------------
-//
-void CHsBrowserContainer::HandleResourceChange( TInt aType )
- {
- DEBUG( "CHsBrowserContainer::HandleResourceChange" );
- CCoeControl::HandleResourceChange( aType );
-
- // Adjust Browser size to screen when screen layout is changed
- // Vertical vs. horizontal
- if ( aType == KEikDynamicLayoutVariantSwitch )
- {
- DEBUG( "CHsBrowserContainer::HandleResourceChange = KEikDynamicLayoutVariantSwitch" );
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
- mainPaneRect );
- SetRect( mainPaneRect );
- DrawDeferred();
- }
- }
-
-
-// ----------------------------------------------------
-// CHsBrowserContainer::UpdateSoftkeys()
-// ----------------------------------------------------
-//
-void CHsBrowserContainer::UpdateSoftkeys()
- {
- DEBUG( "CHsBrowserContainer::UpdateSoftkeys()" );
-
- TBool foreground = iModel->Foreground();
- TUint state = iModel->State();
-
- if ( !foreground && state == EHsBrowserUiAuthenticatedOk )
- {
- // R_HSBROWSER_SOFTKEYS_CONTINUE_EXIT
- CEikButtonGroupContainer* cba = CEikonEnv::Static()->AppUiFactory()->Cba();
- if ( cba )
- {
- TRAP_IGNORE( cba->SetCommandSetL( R_HSBROWSER_SOFTKEYS_CONTINUE_EXIT ) );
- cba->DrawNow();
- }
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::LoadRedirect
-// ----------------------------------------------------
-//
-TInt CHsBrowserContainer::LoadRedirect( const TPtrC& aUrl,
- TInt aIapId, TInt aNetId )
- {
- DEBUG( "CHsBrowserContainer::LoadRedirect()" );
-
- TInt err = KErrNone;
-
- UpdateNaviPane( ELoadingLoginPage );
-
- // init model
- iModel->SetIapId( aIapId );
- iModel->SetNetId( aNetId );
- iModel->SetUrl( aUrl );
- // attach
- err = iModel->Attach();
- if ( err != KErrNone )
- {
- DEBUG1( "CHsBrowserContainer::LoadRedirect() Attach() err=%d", err );
- }
- else
- {
- TInt connPtr = REINTERPRET_CAST( TInt, &iModel->Connection() );
- if ( iHsBrowserSpecialLoadObserver )
- {
- iHsBrowserSpecialLoadObserver->SetConnectionPtr( connPtr );
- iHsBrowserSpecialLoadObserver->SetSockSvrHandle(
- iModel->SocketServ().Handle() );
- }
- }
-
- if ( err == KErrNone )
- {
- TRAP( err, iBrCtlInterface->LoadUrlL( aUrl ) );
- DEBUG1( "CHsBrowserContainer::LoadRedirect() iBrCtlInterface->\
- LoadUrlL() err=%d", err );
- }
- return err;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::ProcessWlanConnModeNotConnected
-// ---------------------------------------------------------
-//
-void CHsBrowserContainer::ProcessWlanConnModeNotConnected()
- {
- DEBUG( "CHsBrowserContainer::ProcessWlanConnModeNotConnected()" );
-
- // Workaround for "WLAN login application closed" error:
- TRAP_IGNORE( iBrCtlInterface->HandleCommandL(
- TBrCtlDefs::ECommandCancelFetch +
- TBrCtlDefs::ECommandIdBase ));
-
- ShowConnClosedNote();
- iAvkonAppUi->Exit();
- }
-
-// ---------------------------------------------------------
-// CHsBrowserContainer::ShowLoginCompleteNote
-// ---------------------------------------------------------
-//
-void CHsBrowserContainer::ShowLoginCompleteNote()
- {
- TBool noteShown = iModel->LoginCompleteNoteShown();
- DEBUG1( "CHsBrowserContainer::ShowLoginCompleteNote() noteShown=%d", noteShown );
-
- TInt pos = CCoeEnv::Static()->RootWin().OrdinalPosition();
- DEBUG1( "CHsBrowserContainer::ShowLoginCompleteNote() pos=%d", pos );
-
- if ( !noteShown && pos == 0 )
- {
- DEBUG( "CHsBrowserContainer::ShowLoginCompleteNote() showing note" );
-
- HBufC* message = NULL;
- TRAPD( err, message = StringLoader::LoadLC( R_QTN_NETW_CONSET_WBA_INFO_COMPLETE ); CleanupStack::Pop( message ) );
- if (err == KErrNone)
- {
- // Global note needed here, because CAknInformationNote was sometimes causing chrashes
- CAknGlobalNote* note = NULL;
- TRAP( err, note = CAknGlobalNote::NewLC(); CleanupStack::Pop( note ) );
- if (err == KErrNone)
- {
- TRAP( err, note->ShowNoteL( EAknGlobalInformationNote, *message ) );
- if (err == KErrNone)
- {
- DEBUG( "CHsBrowserContainer::ShowLoginCompleteNote(): Showing note DONE" );
- }
- delete note;
- }
- delete message;
- }
- iModel->SetLoginCompleteNoteShown( ETrue );
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::ShowConnClosedNote
-// ----------------------------------------------------
-//
-void CHsBrowserContainer::ShowConnClosedNote()
- {
- DEBUG( "CHsBrowserContainer::ShowConnClosedNote()" );
- if ( IsForeground() )
- {
- DEBUG( "CHsBrowserContainer::ShowConnClosedNote() Foreground" );
- HBufC* message = NULL;
- TRAPD( err, message = StringLoader::LoadLC( R_QTN_NETW_CONSET_WBA_INFO_CLOSED ); CleanupStack::Pop( message ) );
- if (err == KErrNone)
- {
- // use global note here, otherwise overlap problem
- // appears with "Wlan network lost" note, which is
- // also a global note.
- CAknGlobalNote* note = NULL;
- TRAP( err, note = CAknGlobalNote::NewLC(); CleanupStack::Pop( note ) );
- if (err == KErrNone)
- {
- TRAP( err, note->ShowNoteL( EAknGlobalInformationNote, *message ) );
- if (err == KErrNone)
- {
- DEBUG( "CHsBrowserContainer::ShowConnClosedNote(): Showing note DONE" );
- }
- delete note;
- }
- delete message;
- }
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserContainer::IsForeground()
-// ----------------------------------------------------
-//
-TBool CHsBrowserContainer::IsForeground()
- {
- DEBUG( "CHsBrowserContainer::IsForeground()" );
- TInt32 foregroundUid(0);
- RWsSession ws;
- TInt ret = ws.Connect();
- if ( KErrNone == ret )
- {
- TApaTaskList taskList = TApaTaskList( ws );
- TApaTask foregroundTask = taskList.FindByPos( 0 );
-
- CApaWindowGroupName* wgName = NULL;
- TRAPD( err, wgName = CApaWindowGroupName::NewLC( ws, foregroundTask.WgId() ); CleanupStack::Pop( wgName ) );
- if (err == KErrNone)
- {
- foregroundUid = wgName->AppUid().iUid;
- delete wgName;
- }
- ws.Close();
- }
- return foregroundUid == KUidHsBrowserApp.iUid;
- }
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowserdocument.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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: Implements the document for application.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "hsbrowserdocument.h"
-#include "hsbrowserappui.h"
-#include "hsbrowsermodel.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ----------------------------------------------------
-// CHsBrowserDocument::CHsBrowserDocument
-// ----------------------------------------------------
-//
-CHsBrowserDocument::CHsBrowserDocument( CEikApplication& aApp )
-: CAknDocument(aApp), iModel( NULL )
- {
- }
-
-// ----------------------------------------------------
-// CHsBrowserDocument::~CHsBrowserDocument
-// ----------------------------------------------------
-//
-CHsBrowserDocument::~CHsBrowserDocument()
- {
- DEBUG( "CHsBrowserDocument::~CHsBrowserDocument()" );
- if ( iModel )
- {
- delete iModel;
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserDocument::ConstructL
-// ----------------------------------------------------
-//
-void CHsBrowserDocument::ConstructL()
- {
- DEBUG( "CHsBrowserDocument::ConstructL()" );
- iModel = CHsBrowserModel::NewL();
- }
-
-// ----------------------------------------------------
-// CHsBrowserDocument::NewL
-// ----------------------------------------------------
-//
-CHsBrowserDocument* CHsBrowserDocument::NewL(
- CEikApplication& aApp)
- {
- CHsBrowserDocument* self = new (ELeave) CHsBrowserDocument( aApp );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ----------------------------------------------------
-// CHsBrowserDocument::CreateAppUiL()
-// constructs CBrCtlSampleAppUi
-// ----------------------------------------------------
-//
-CEikAppUi* CHsBrowserDocument::CreateAppUiL()
- {
- return new (ELeave) CHsBrowserAppUi;
- }
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowserhssrvnotifs.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* 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: Implements notifications interface from Hotspot server in order
-* to receive wlan connection closed notification.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <apgtask.h>
-#include <eikenv.h>
-
-#include "hsbrowserhssrvnotifs.h"
-#include "hsbrowsercontainer.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserHsSrvNotifs::NewL
-// ---------------------------------------------------------
-//
-CHsBrowserHsSrvNotifs* CHsBrowserHsSrvNotifs::NewL(
- CHsBrowserContainer* aContainer )
- {
- DEBUG( "CHsBrowserHsSrvNotifs::CHsBrowserHsSrvNotifs::NewL()()" );
- CHsBrowserHsSrvNotifs* self = new(ELeave) CHsBrowserHsSrvNotifs( aContainer );
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserHsSrvNotifs::CHsBrowserHsSrvNotifs
-// ---------------------------------------------------------
-//
-CHsBrowserHsSrvNotifs::~CHsBrowserHsSrvNotifs()
- {
- DEBUG( "CHsBrowserHsSrvNotifs::~CHsBrowserHsSrvNotifs()" );
- }
-
-// -----------------------------------------------------------------------------
-// CHsBrowserHsSrvNotifs::ConnectionStateChanged
-// -----------------------------------------------------------------------------
-//
-
-void CHsBrowserHsSrvNotifs::ConnectionStateChanged( TWlanConnectionMode aNewState )
- {
- DEBUG1( "CHsBrowserHsSrvNotifs::ConnectionStateChanged() aNewState=%d", aNewState );
- if ( aNewState == EWlanConnectionModeNotConnected )
- {
- iContainer->ProcessWlanConnModeNotConnected();
- }
- }
-
-// ---------------------------------------------------------
-// CHsBrowserHsSrvNotifs::CHsBrowserHsSrvNotifs
-// ---------------------------------------------------------
-//
-CHsBrowserHsSrvNotifs::CHsBrowserHsSrvNotifs(
- CHsBrowserContainer* aContainer ) : iContainer( aContainer )
- {
- DEBUG( "CHsBrowserHsSrvNotifs::CHsBrowserHsSrvNotifs()" );
- }
-
-// ---------------------------------------------------------
-// CHsBrowserHsSrvNotifs::ConstructL
-// ---------------------------------------------------------
-//
-void CHsBrowserHsSrvNotifs::ConstructL()
- {
- DEBUG( "CHsBrowserHsSrvNotifs::ConstructL()" );
- }
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowserictsobserver.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,121 +0,0 @@
-/*
-* 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: Implements callback interface for Internet Connectivity Test Service
-* notifications.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <apgtask.h>
-#include <eikenv.h>
-
-#include "hsbrowserictsobserver.h"
-#include "hsbrowsercontainer.h"
-#include "hotspotclientserver.h"
-#include "hsbrowsermodel.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserIctsObserver::NewL
-// ---------------------------------------------------------
-//
-CHsBrowserIctsObserver* CHsBrowserIctsObserver::NewL(
- CHsBrowserContainer* aContainer )
- {
- DEBUG( "CHsBrowserIctsObserver::CHsBrowserIctsObserver::NewL()()" );
- CHsBrowserIctsObserver* self = new(ELeave) CHsBrowserIctsObserver( aContainer );
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserIctsObserver::~CHsBrowserIctsObserver
-// ---------------------------------------------------------
-//
-CHsBrowserIctsObserver::~CHsBrowserIctsObserver()
- {
- DEBUG( "CHsBrowserIctsObserver::~CHsBrowserIctsObserver()" );
- }
-
-// -----------------------------------------------------------------------------
-// CHsBrowserIctsObserver::ConnectivityObserver
-// -----------------------------------------------------------------------------
-//
-void CHsBrowserIctsObserver::ConnectivityObserver( TIctsTestResult aResult,
- const TDesC& /* aString */ )
- {
- DEBUG1("CHsBrowserIctsObserver::ConnectivityObserver() result: %d", aResult);
- switch ( aResult )
- {
- case EConnectionOk :
- ProcessConnectionOk();
- break;
- case EHttpAuthenticationNeeded :
- case EConnectionNotOk :
- case ETimeout :
- default:
- break;
- }
- }
-
-// ---------------------------------------------------------
-// CHsBrowserIctsObserver::ProcessConnectionOk
-// ---------------------------------------------------------
-//
-void CHsBrowserIctsObserver::ProcessConnectionOk()
- {
- DEBUG( "CHsBrowserIctsObserver::ProcessConnectionOk()" );
- if ( iContainer )
- {
- CHsBrowserModel* model = iContainer->Model();
- if ( model && !iAuthenticatedOkSent )
- {
- // Send this only once per session
- iAuthenticatedOkSent = ETrue;
- model->SetState( EHsBrowserUiAuthenticatedOk, ETrue );
- // Do this only once too
- iContainer->ShowLoginCompleteNote();
- iContainer->SendToBackground();
- iContainer->UpdateSoftkeys();
- }
- }
- }
-
-// ---------------------------------------------------------
-// CHsBrowserIctsObserver::CHsBrowserIctsObserver
-// ---------------------------------------------------------
-//
-CHsBrowserIctsObserver::CHsBrowserIctsObserver(
- CHsBrowserContainer* aContainer ) : iContainer( aContainer ),
- iAuthenticatedOkSent( EFalse )
- {
- DEBUG( "CHsBrowserIctsObserver::CHsBrowserIctsObserver()" );
- }
-
-// ---------------------------------------------------------
-// CHsBrowserIctsObserver::ConstructL
-// ---------------------------------------------------------
-//
-void CHsBrowserIctsObserver::ConstructL()
- {
- DEBUG( "CHsBrowserIctsObserver::ConstructL()" );
- }
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowserloadeventobserver.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,324 +0,0 @@
-/*
-* 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: Handle load progress events
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <e32cmn.h>
-#include <eikenv.h>
-#include <aknappui.h>
-#include <akntitle.h>
-#include <aknnavilabel.h>
-#include <apgcli.h>
-#include <ictsclientinterface.h>
-#include "hotspotclientserver.h"
-
-#include "hsbrowsercontainer.h"
-#include "hsbrowserloadeventobserver.h"
-#include "hsbrowserictsobserver.h"
-#include "hsbrowsermodel.h"
-#include "hsbrowsercommon.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserLoadEventObserver::NewL
-// ---------------------------------------------------------
-//
-CHsBrowserLoadEventObserver*
-CHsBrowserLoadEventObserver::NewL( CHsBrowserContainer* aContainer )
- {
- DEBUG( "CHsBrowserLoadEventObserver::NewL()" );
- CHsBrowserLoadEventObserver* self = new(ELeave)
- CHsBrowserLoadEventObserver( aContainer );
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserLoadEventObserver::~CHsBrowserLoadEventObserver
-// ---------------------------------------------------------
-//
-CHsBrowserLoadEventObserver::~CHsBrowserLoadEventObserver()
- {
- DEBUG( "CHsBrowserLoadEventObserver::~CHsBrowserLoadEventObserver()" );
- if ( iIcts )
- {
- delete iIcts;
- }
-
- }
-
-// ---------------------------------------------------------
-// CHsBrowserLoadEventObserver::HandleBrowserLoadEventL
-// ---------------------------------------------------------
-//
-void CHsBrowserLoadEventObserver::HandleBrowserLoadEventL(
- TBrCtlDefs::TBrCtlLoadEvent aLoadEvent,
- TUint /* aSize */,
- TUint16 /* aTransactionId */ )
- {
- DEBUG1( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() event=%d", aLoadEvent );
-
- switch( aLoadEvent )
- {
- case TBrCtlDefs::EEventUrlLoadingStart:
- {
- if ( !iIsFirstLoad )
- {
- iContainer->UpdateNaviPane( CHsBrowserContainer::ELoadingUrl );
- }
- else
- {
- iIsFirstLoad = EFalse;
- }
- // no break, fall through
- }
- case TBrCtlDefs::EEventNewContentDisplayed:
- case TBrCtlDefs::EEventNewContentStart:
- {
- DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventNewContentStart" );
- if ( iDoIct )
- {
- DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() Start testing internet connectivity.");
- iDoIct = EFalse;
- TRAPD( err, TestInternetConnectivityL() );
- if ( err != KErrNone )
- {
- DEBUG1( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() err=%d.", err );
- }
- }
- break;
- }
- case TBrCtlDefs::EEventLoadFinished://EEventUrlLoadingFinished:
- {
- DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventUrlLoadingFinished" );
- // We've finished loading one element of page
- iContainer->UpdateNaviPane( CHsBrowserContainer::ELoadingFinished );
- break;
- }
- case TBrCtlDefs::EEventTitleAvailable:
- {
- DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventTitleAvailable" );
- UpdateNameL();
- break;
- }
- default:
- {
- break;
- }
- } // end of switch
-
- UpdateDoIctFlagL();
-
- if ( iContainer )
- {
- iContainer->DrawNow();
- iContainer->MakeVisible( ETrue );
- }
- }
-
-// ---------------------------------------------------------
-// CHsBrowserLoadEventObserver::CHsBrowserLoadEventObserver
-// ---------------------------------------------------------
-//
-CHsBrowserLoadEventObserver::CHsBrowserLoadEventObserver(
- CHsBrowserContainer* aContainer ) :
- iContainer( aContainer ),
- iIcts( NULL ),
- iDoIct( EFalse ),
- iIsFirstLoad( ETrue )
- {
- DEBUG( "CHsBrowserLoadEventObserver::CHsBrowserLoadEventObserver()" );
- }
-
-// ---------------------------------------------------------
-// CHsBrowserLoadEventObserver::ConstructL
-// ---------------------------------------------------------
-//
-void
-CHsBrowserLoadEventObserver::ConstructL()
- {
- DEBUG( "CHsBrowserLoadEventObserver::ConstructL()" );
- }
-
-// ----------------------------------------------------
-// CHsBrowserLoadEventObserver::UpdateNaviLabel()
-// ----------------------------------------------------
-//
-void CHsBrowserLoadEventObserver::UpdateNaviLabel( const TDesC& aName )
- {
- DEBUG( "CHsBrowserLoadEventObserver::UpdateNaviLabel()" );
- if ( iContainer )
- {
- TRAPD( err, iContainer->NaviLabel()->SetTextL( aName ) );
- if ( err == KErrNone )
- {
- iContainer->NaviLabel()->DrawDeferred( );
- }
- else
- {
- DEBUG1( "CHsBrowserLoadEventObserver::UpdateNaviLabel() err=%d", err );
- }
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserLoadEventObserver::UpdateFastSwapNameL()
-// ----------------------------------------------------
-//
-void CHsBrowserLoadEventObserver::UpdateFastSwapNameL( const TDesC& aName )
- {
- DEBUG( "CHsBrowserLoadEventObserver::UpdateFastSwapNameL()" );
-
- RApaLsSession appArcSession;
- TInt err = KErrNone;
- TApaAppInfo info;
-
- err = appArcSession.Connect(); // connect to AppArc server
- if( KErrNone == err )
- {
- CleanupClosePushL( appArcSession );
- appArcSession.GetAppInfo( info, KUidHsBrowserApp );
-
- if ( aName.Length() > KApaMaxAppCaption )
- {
- TPtrC shortName = aName.Left( KApaMaxAppCaption );
- err = appArcSession.SetAppShortCaption( shortName, ELangNone, KUidHsBrowserApp );
- }
- else
- {
- err = appArcSession.SetAppShortCaption( aName, ELangNone, KUidHsBrowserApp );
- }
- if ( err != KErrNone )
- {
- DEBUG1( "CHsBrowserLoadEventObserver::UpdateFastSwapNameL() err=%d", err );
- }
- CleanupStack::PopAndDestroy( &appArcSession );
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserLoadEventObserver::UpdateNameL()
-// ----------------------------------------------------
-//
-void CHsBrowserLoadEventObserver::UpdateNameL()
- {
- DEBUG( "CHsBrowserLoadEventObserver::UpdateNameL()" );
- CBrCtlInterface* brCtlInterface = NULL;
- if ( iContainer )
- {
- brCtlInterface = iContainer->BrCtlInterface();
- }
- if ( !brCtlInterface )
- {
- return;
- }
- HBufC* title = brCtlInterface->PageInfoLC( TBrCtlDefs::EPageInfoTitle );
- if ( title )
- {
- UpdateFastSwapNameL( *title );
- CHsBrowserModel* model = iContainer->Model();
- if ( model )
- {
- model->SetPageTitle( *title );
- iContainer->UpdateNaviPane( CHsBrowserContainer::EPageTitleAvailable );
- }
- }
- CleanupStack::PopAndDestroy( title );
- }
-
-// -----------------------------------------------------------------------------
-// CHsBrowserLoadEventObserver::TestInternetConnectivityL
-// -----------------------------------------------------------------------------
-//
-void CHsBrowserLoadEventObserver::TestInternetConnectivityL()
- {
- DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() 7" );
-
- if ( !iContainer )
- {
- DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() iContainer=NULL" );
- return;
- }
- CHsBrowserModel* model = iContainer->Model();
- if ( !model )
- {
- DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() model=NULL" );
- return;
- }
- CHsBrowserIctsObserver* observer = iContainer->HsBrowserIctsObserver();
- if ( !observer )
- {
- DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() observer=NULL" );
- return;
- }
- DEBUG1( "CHsBrowserLoadEventObserver::TestInternetConnectivity() iap=%d", model->IapId() );
- DEBUG1( "CHsBrowserLoadEventObserver::TestInternetConnectivity() netid=%d", model->NetId() );
- if ( !iIcts )
- {
- iIcts = CIctsClientInterface::NewL( model->IapId(), model->NetId(), *observer );
- }
- else
- {
- // stop previously started polling
- iIcts->StopPolling();
- }
- // Start polling
- DEBUG( "CHsBrowserLoadEventObserver::TestInternetConnectivity() starting ICT" );
- iIcts->StartPolling( KTotalPollingTime, KExecutionTimeInterval );
- }
-
-// -----------------------------------------------------------------------------
-// CHsBrowserLoadEventObserver::UpdateDoIctFlagL
-// -----------------------------------------------------------------------------
-//
-void CHsBrowserLoadEventObserver::UpdateDoIctFlagL()
- {
- DEBUG( "CHsBrowserLoadEventObserver::UpdateDoIctFlagL()" );
- CBrCtlInterface* brCtlInterface = NULL;
- CHsBrowserModel* model = NULL;
- if ( iContainer )
- {
- brCtlInterface = iContainer->BrCtlInterface();
- model = iContainer->Model();
- }
- if ( brCtlInterface && model )
- {
- // get url
- HBufC* url = brCtlInterface->PageInfoLC( TBrCtlDefs::EPageInfoUrl );
- if ( url )
- {
- DEBUG1( "url=%S", url );
- if ( url->Compare( *model->Url() ) == 0 )
- { // match
- iDoIct = ETrue;
- DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() iDoIct = ETrue." );
- }
- }
- else
- {
- DEBUG( "CHsBrowserLoadEventObserver::UpdateDoIctFlagL() url=NULL" );
- }
- CleanupStack::PopAndDestroy( url );
- }
- }
-
-// End of File
--- a/hotspotfw/hsbrowser/src/hsbrowsermodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* 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: Implements the model for application.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <es_enum.h>
-#include <coemain.h>
-
-#include "hotspotclientserver.h"
-#include "hsbrowsermodel.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ----------------------------------------------------
-// CHsBrowserModel::NewL
-// ----------------------------------------------------
-//
-CHsBrowserModel* CHsBrowserModel::NewL()
- {
- DEBUG( "CHsBrowserModel::NewL()" );
- CHsBrowserModel* self = new(ELeave) CHsBrowserModel();
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ----------------------------------------------------
-// CHsBrowserModel::~CHsBrowserModel
-// ----------------------------------------------------
-//
-CHsBrowserModel::~CHsBrowserModel()
- {
- DEBUG( "CHsBrowserModel::~CHsBrowserModel()" );
- if ( iUrl )
- {
- delete iUrl;
- }
- if ( iState != EHsBrowserUiClosed )
- {
- iHsServer.SetUiState( iIapId, EHsBrowserUiClosed );
- }
-
- iHsServer.Close();
- // Removed iConnection and iSocketServ Close() calls.
- // It seems like Browser Control is freeing them as it's using them also.
-
- if ( iStaticTitle )
- {
- delete iStaticTitle;
- }
- if ( iPageTitle )
- {
- delete iPageTitle;
- }
- DEBUG( "CHsBrowserModel::~CHsBrowserModel() DONE" );
- }
-
-// ----------------------------------------------------
-// CHsBrowserModel::SetState
-// ----------------------------------------------------
-//
-void CHsBrowserModel::SetState( TUint state, TBool sendToHss )
- {
- DEBUG( "CHsBrowserModel::SetState()" );
- iState = state;
- if ( sendToHss )
- {
- iHsServer.SetUiState( iIapId, iState );
- }
- }
-
-// ----------------------------------------------------
-// CHsBrowserModel::Attach
-// ----------------------------------------------------
-//
-TInt CHsBrowserModel::Attach()
- {
- DEBUG( "CHsBrowserModel::Attach() 1" );
- TInt err = KErrNone;
- TConnectionInfoBuf currentConnInfo;
- // Open channel to Socket Server
- err = iSocketServ.Connect();
- if ( err != KErrNone)
- {
- return err;
- }
- // Open connection
- err = iConnection.Open( iSocketServ );
- if ( err != KErrNone)
- {
- return err;
- }
- currentConnInfo().iIapId = iIapId;
- currentConnInfo().iNetId = iNetId;
-
- err = iConnection.Attach( currentConnInfo,
- RConnection::EAttachTypeMonitor );
-
- if (err != KErrNone)
- {
- iConnection.Close(); // Just to be sure...
- }
-
- return err;
- }
-
-// ----------------------------------------------------
-// CHsBrowserModel::CHsBrowserModel
-// ----------------------------------------------------
-//
-CHsBrowserModel::CHsBrowserModel() :
- iIapId( 1 ),
- iNetId( 0 ),
- iUrl( NULL ),
- iState( 0 ),
- iForeground( ETrue ),
- iLoginCompleteNoteShown( EFalse ),
- iStaticTitle( NULL ),
- iPageTitle( NULL)
- {
- DEBUG( "CHsBrowserModel::CHsBrowserModel()" );
- }
-
-// ----------------------------------------------------
-// CHsBrowserModel::ConstructL
-// ----------------------------------------------------
-//
-void CHsBrowserModel::ConstructL()
- {
- DEBUG( "CHsBrowserModel::ConstructL()" );
- User::LeaveIfError( iHsServer.Connect() );
- iPosition = CCoeEnv::Static()->RootWin().OrdinalPosition();
- iPriority = CCoeEnv::Static()->RootWin().OrdinalPriority();
- }
-
-// end of file
--- a/hotspotfw/hsbrowser/src/hsbrowserspecialloadobserver.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* 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: Handle special load requests like Non-HTTP(S) load requests,
-* and Non-HTML content. Control over network connections
-*
-*/
-
-
-
-// INCLUDE FILES
-
-#include "hsbrowserspecialloadobserver.h"
-#include "am_debug.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::NetworkConnectionNeededL
-// ---------------------------------------------------------
-//
-void CHsBrowserSpecialLoadObserver::NetworkConnectionNeededL(
- TInt* aConnectionPtr,
- TInt* aSockSvrHandle,
- TBool* /*aNewConn*/,
- TApBearerType* /*aBearerType*/)
- {
- DEBUG( "CHsBrowserSpecialLoadObserver::NetworkConnectionNeededL()" );
- *aConnectionPtr = iConnectionPtr;
- *aSockSvrHandle = iSockSvrHandle;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::HandleRequestL
-// ---------------------------------------------------------
-//
-TBool CHsBrowserSpecialLoadObserver::HandleRequestL(
- RArray<TUint>* /*aTypeArray*/,
- CDesCArrayFlat* /*aDesArray*/)
- {
- DEBUG( "CHsBrowserSpecialLoadObserver::HandleRequestL()" );
- return EFalse;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::HandleDownloadL
-// ---------------------------------------------------------
-//
-TBool CHsBrowserSpecialLoadObserver::HandleDownloadL(
- RArray<TUint>* /*aTypeArray*/,
- CDesCArrayFlat* /*aDesArray*/)
- {
- DEBUG( "CHsBrowserSpecialLoadObserver::HandleDownloadL()" );
- return EFalse;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::ConstructL
-// ---------------------------------------------------------
-//
-void CHsBrowserSpecialLoadObserver::ConstructL()
- {
- DEBUG( "CHsBrowserSpecialLoadObserver::ConstructL()" );
- }
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::~CHsBrowserSpecialLoadObserver
-// ---------------------------------------------------------
-//
-CHsBrowserSpecialLoadObserver::~CHsBrowserSpecialLoadObserver()
- {
- DEBUG( "CHsBrowserSpecialLoadObserver::~CHsBrowserSpecialLoadObserver()" );
- }
-
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::NewL
-// ---------------------------------------------------------
-//
-CHsBrowserSpecialLoadObserver* CHsBrowserSpecialLoadObserver::NewL()
- {
- DEBUG( "CHsBrowserSpecialLoadObserver::CHsBrowserSpecialLoadObserver::NewL()()" );
- CHsBrowserSpecialLoadObserver* self = new(ELeave)CHsBrowserSpecialLoadObserver;
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::SetConnectionPtr
-// ---------------------------------------------------------
-//
-void CHsBrowserSpecialLoadObserver::SetConnectionPtr( TInt aConnectionPtr )
- {
- iConnectionPtr = aConnectionPtr;
- }
-
-// ---------------------------------------------------------
-// CHsBrowserSpecialLoadObserver::SetSockSvrHandle
-// ---------------------------------------------------------
-//
-void CHsBrowserSpecialLoadObserver::SetSockSvrHandle( TInt aSockSvrHandle )
- {
- iSockSvrHandle = aSockSvrHandle;
- }
-
-// End of File
--- a/hotspotfw/hsclient/inc/hssiaphandler.h Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsclient/inc/hssiaphandler.h Tue Aug 31 16:18:40 2010 +0300
@@ -100,14 +100,7 @@
void PackWepKeyCommsDatL( const SHssWep& aInputKey,
const EHssWEPKeyFormat& aFormat,
CMDBField<TDesC8>* aPackedKey );
-
- /**
- * Converts Hotspot EAP settings to EAPOL EAP settings
- * @param aHssEap, Hotspot EAP settings
- * @param aEap, EAPOL EAP settings
- */
- void ConvertEApSettings( THssEapSettings& aHssEap, EAPSettings& aEap );
-
+
/**
* Converts ascii to hecxadecimal
* @param aSource, ascii
@@ -117,14 +110,6 @@
HBufC8*& aDest );
/**
- * Writes eap type to descriptor
- * @param aEapType, Eap type
- * @param aEapString, Eap type descrpitor
- * @param aEapCode, Eap id code
- */
- void GetEapTypeDesC( TUint aEapType, TDes8& aEapString, TChar& aEapCode );
-
- /**
* Removes brackets from UID
* @param aUid, UID of the client
*/
--- a/hotspotfw/hsclient/src/hssiaphandler.cpp Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsclient/src/hssiaphandler.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -18,18 +18,17 @@
// INCLUDE FILES
-#include <EapType.h>
#include <cdbpreftable.h>
#include "hssiaphandler.h"
#include "hotspotclientserver.h"
#include "am_debug.h"
#include <es_enum.h>
-#include <cmconnectionmethodext.h>
+#include <cmconnectionmethod.h>
#include <cmconnectionmethoddef.h>
-#include <cmmanagerext.h>
+#include <cmmanager.h>
#include <cmmanagerdef.h>
-#include <cmdestinationext.h>
+#include <cmdestination.h>
// CONSTANTS
const TInt KRetryCount = 20;
@@ -44,9 +43,9 @@
// -----------------------------------------------------------------------------
//
CHssIapHandler::CHssIapHandler( )
- {
+ {
DEBUG("CHssIapHandler::CHssIapHandler");
- }
+ }
// -----------------------------------------------------------------------------
// ConstructL
@@ -75,15 +74,15 @@
// -----------------------------------------------------------------------------
//
CHssIapHandler::~CHssIapHandler()
- {
- DEBUG("CHssIapHandler::~CHssIapHandler()");
+ {
+ DEBUG("CHssIapHandler::~CHssIapHandler()");
- if ( iWLANRecord != NULL )
- {
- delete iWLANRecord;
- }
- iWLANRecord = NULL;
- }
+ if ( iWLANRecord != NULL )
+ {
+ delete iWLANRecord;
+ }
+ iWLANRecord = NULL;
+ }
// -----------------------------------------------------------------------------
// ChangeSettingsL
@@ -97,23 +96,14 @@
DEBUG("CHssIapHandler::ChangeSettingsL");
TInt ret( KErrNone );
- RCmManagerExt cmManager;
+ RCmManager cmManager;
cmManager.OpenL();
CleanupClosePushL( cmManager );
- TUint easyWlanId = cmManager.EasyWlanIdL();
-
- // Easy WLAN can't be modified
- if ( easyWlanId == aIapID )
- {
- CleanupStack::PopAndDestroy( &cmManager );
- return KErrPermissionDenied;
- }
-
// Read WLAN table service id
TUint32 serviceId(0);
- RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( aIapID );
- CleanupClosePushL( plugin );
+ RCmConnectionMethod plugin = cmManager.ConnectionMethodL( aIapID );
+ CleanupClosePushL( plugin );
serviceId = plugin.GetIntAttributeL( EWlanServiceId );
DEBUG1("CHssIapHandler::ChangeSettingsL WLAN serviceId: %d", serviceId);
@@ -129,7 +119,7 @@
CMDBSession* dbSession = CMDBSession::NewL(CMDBSession::LatestVersion());
CleanupStack::PushL( dbSession );
iWLANRecord = static_cast<CMDBGenericRecord*>
- ( CCDRecordBase::RecordFactoryL( 0));
+ ( CCDRecordBase::RecordFactoryL( 0 ) );
iWLANRecord->InitializeL( KGenericTable(),NULL );
iWLANRecord->SetRecordId( serviceId );
@@ -160,9 +150,9 @@
// -> Destination can become unusable.
TInt secMode = aSettings.iSecurityMode;
if ( secMode > EHssWpa2Only )
- {
- secMode = EHssAllowUnsecure;
- }
+ {
+ secMode = EHssAllowUnsecure;
+ }
if( secMode == EHssWep )
{
@@ -198,89 +188,12 @@
*((CMDBField<TUint32>*)iWLANRecord->GetFieldByIdL(KCDTIdWlanWpaKeyLength)) = aSettings.iWPAKeyLength;
*((CMDBField<TUint32>*)iWLANRecord->GetFieldByIdL(KCDTIdWlanEnableWpaPsk)) = aSettings.iEnableWpaPsk;
}
- else // Use EAP
+ else // Use EAP. EAP settings can be set with EAP API.
{
DEBUG("CHssIapHandler::ChangeSettingsL -> SecurityMode > EHssWep -> EAP");
*((CMDBField<TUint32>*)iWLANRecord->GetFieldByIdL(KCDTIdWlanEnableWpaPsk)) = aSettings.iEnableWpaPsk;
}
}
-
- // access point updated EAP data can be now set if needed
- if ( ( !aSettings.iEnableWpaPsk ) && secMode > EHssWep )
- {
- DEBUG("CHssIapHandler::ChangeSettingsL -> Set EAP data");
- TBuf8<KEapListMaxLength> enabledEapList;
- for (TInt i=0;i<aSettings.iEapDataArray.Count();i++)
- {
- TBuf8< KEapExpandedIdLength > eapTypeCue;
- TChar eapCode;
- GetEapTypeDesC(aSettings.iEapDataArray[i]->iEAPType, eapTypeCue, eapCode );
-
- CEapType* eapType = NULL;
- TRAPD( error, ( eapType = CEapType::NewL( eapTypeCue, ELan, serviceId ) ) );
- DEBUG1(" CEapType::NewL error: %d", error);
- if ( ( error == KErrNone ) && eapType )
- {
- CleanupStack::PushL( eapType );
- EAPSettings* eapSettings = new (ELeave) EAPSettings;
-
- ConvertEApSettings( *aSettings.iEapDataArray[i], *eapSettings );
-
- // Set EAP tunneling
- if ( aSettings.iEapDataArray[i]->iEncapsulatedInside != EAPSettings::EEapNone )
- {
- DEBUG("iEncapsulatedInside != EAPSettings::EEapNone");
- eapType->SetTunnelingType(
- static_cast<TInt> ( aSettings.iEapDataArray[i]->iEncapsulatedInside ) );
- }
- else // Write to EAP list
- {
- DEBUG("CHssIapHandler::ChangeSettingsL -> Add to EAP list");
- TBuf8<8> expandedForm;
- expandedForm.AppendFill( 0xFE, 1 );
- if ( THssEapSettings::EEapPlainMschapv2 == aSettings.iEapDataArray[i]->iEAPType )
- {
- expandedForm.AppendFill( 0xFF, 3 );
- }
- else{
- expandedForm.AppendFill( 0x00, 6 );
- }
-
- expandedForm.AppendFill( eapCode, 1 );
-
- enabledEapList.Append( expandedForm );
- }
-
- DEBUG("CHssIapHandler::ChangeSettingsL -> eapType->SetConfigurationL");
- TRAPD( eapErr, eapType->SetConfigurationL( *eapSettings ) );
- DEBUG1(" eapType->SetConfigurationL error: %d", eapErr);
- if( eapErr != KErrNone )
- {
- CleanupStack::PopAndDestroy( eapType );
- CleanupStack::PopAndDestroy( dbSession );
- DEBUG("CHssIapHandler::ChangeSettingsL EapError DONE");
- return eapErr;
- }
- CleanupStack::PopAndDestroy( eapType );
- }
- if ( error != KErrNone )
- {
- DEBUG("CHssIapHandler::ChangeSettingsL Eap error");
- CleanupStack::PopAndDestroy( dbSession );
- return error;
- }
- }
-
- // Set enabled EAP list
- if ( enabledEapList.Length() > 0 )
- {
- DEBUG("CHssIapHandler::ChangeSettingsL -> Set EAP list");
- CMDBField<TDesC8>* eaps = (CMDBField<TDesC8>*)iWLANRecord->GetFieldByIdL( KCDTIdWlanEnabledEaps );
- //eaps->SetMaxLengthL( eapList16.Length() )
- eaps->SetL( enabledEapList );
- }
- }
-
// Update access point, be prepared that Commsdat might be locked
TInt errCode( KErrLocked );
TInt retryCount( 0 );
@@ -301,10 +214,10 @@
// override previous ret value only when error happened
ret = errCode;
}
-
+
CleanupStack::PopAndDestroy( dbSession );
DEBUG("CHssIapHandler::ChangeSettingsL DONE");
- return ret;
+ return ret;
}
// -----------------------------------------------------------------------------
@@ -398,65 +311,6 @@
aPackedKey->SetL( wepBuf);
}
-
-// -----------------------------------------------------------------------------
-// ConvertEApSettings
-// -----------------------------------------------------------------------------
-//
-void CHssIapHandler::ConvertEApSettings( THssEapSettings& aHssEap, EAPSettings& aEap )
- {
- DEBUG("CHssIapHandler::ConvertEApSettings");
- aEap.iEAPType = static_cast<EAPSettings::TEapType>(aHssEap.iEAPType);
- aEap.iUsernamePresent = aHssEap.iUsernamePresent;
- aEap.iUsername = aHssEap.iUsername;
- aEap.iPasswordPresent = aHssEap.iPasswordPresent;
- aEap.iPassword = aHssEap.iPassword;
- aEap.iRealmPresent = aHssEap.iRealmPresent;
- aEap.iRealm = aHssEap.iRealm;
- aEap.iUsePseudonymsPresent = aHssEap.iUsePseudonymsPresent;
- aEap.iUsePseudonyms = aHssEap.iUsePseudonyms;
- aEap.iVerifyServerRealmPresent = aHssEap.iVerifyServerRealmPresent;
- aEap.iVerifyServerRealm = aHssEap.iVerifyServerRealm;
- aEap.iRequireClientAuthenticationPresent = aHssEap.iRequireClientAuthenticationPresent;
- aEap.iRequireClientAuthentication = aHssEap.iRequireClientAuthentication;
- aEap.iSessionValidityTimePresent = aHssEap.iSessionValidityTimePresent;
- aEap.iSessionValidityTime = aHssEap.iSessionValidityTime;
- aEap.iCipherSuitesPresent = aHssEap.iCipherSuitesPresent;
-
- for( TInt i = 0; i < aHssEap.iCipherSuitesCount; i++ )
- {
- aEap.iCipherSuites.Append( aHssEap.iCipherSuites[i] );
- }
- aEap.iPEAPVersionsPresent = aHssEap.iPEAPVersionsPresent;
- aEap.iPEAPv0Allowed = aHssEap.iPEAPv0Allowed;
- aEap.iPEAPv1Allowed = aHssEap.iPEAPv1Allowed;
- aEap.iPEAPv2Allowed = aHssEap.iPEAPv2Allowed;
- aEap.iCertificatesPresent = aHssEap.iCertificatesPresent;
- for( TInt i = 0; i < aHssEap.iCertificatesCount; i++ )
- {
- DEBUG("CHssIapHandler::ConvertEApSettings Certificates present");
- CertificateEntry entry;
-
- entry.iCertType = static_cast<CertificateEntry::TCertType>( aHssEap.iCertificates[i]->iCertType );
- entry.iSubjectNamePresent = aHssEap.iCertificates[i]->iSubjectNamePresent;
- entry.iSubjectName = aHssEap.iCertificates[i]->iSubjectName;
- entry.iIssuerNamePresent = aHssEap.iCertificates[i]->iIssuerNamePresent;
- entry.iIssuerName = aHssEap.iCertificates[i]->iIssuerName;
- entry.iSerialNumberPresent= aHssEap.iCertificates[i]->iSerialNumberPresent;
- entry.iSerialNumber = aHssEap.iCertificates[i]->iSerialNumber;
- entry.iSubjectKeyIDPresent = aHssEap.iCertificates[i]->iSubjectKeyIDPresent;
- entry.iSubjectKeyID = aHssEap.iCertificates[i]->iSubjectKeyID;
-
- entry.iThumbprintPresent = aHssEap.iCertificates[i]->iThumbprintPresent;
- entry.iThumbprint = aHssEap.iCertificates[i]->iThumbprint;
- TRAP_IGNORE( aEap.iCertificates.AppendL( entry ) ); // Memory problem, ignored...
- }
- aEap.iEncapsulatedEAPTypesPresent = aHssEap.iEncapsulatedEAPTypesPresent;
- for( TInt i = 0; i < aHssEap.iEncapsulatedEAPTypesCount; i++ )
- {
- aEap.iEncapsulatedEAPTypes.Append( aHssEap.iEncapsulatedEAPTypes[i] );
- }
- }
// -----------------------------------------------------------------------------
// ConvertAsciiToHex
@@ -478,78 +332,6 @@
}
// -----------------------------------------------------------------------------
-// GetEapTypeDesC
-// -----------------------------------------------------------------------------
-//
-void CHssIapHandler::GetEapTypeDesC( TUint aEapType, TDes8& aEapString, TChar& aEapCode )
- {
- DEBUG1( "CHssIapHandler::GetEapTypeDesC aEapType: %d", aEapType );
- switch ( aEapType )
- {
- // EapNone
- case 0:
- aEapString.Copy( KEapNoneId, KEapExpandedIdLength );
- aEapCode = KEapNoneId[7];
- break;
- // KEapGtc
- case 6:
- aEapString.Copy( KEapGtcId, KEapExpandedIdLength );
- aEapCode = KEapGtcId[7];
- break;
- // KEapTls
- case 13:
- aEapString.Copy( KEapTlsId, KEapExpandedIdLength );
- aEapCode = KEapTlsId[7];
- break;
- // KEapLeap
- case 17:
- aEapString.Copy( KEapLeapId, KEapExpandedIdLength );
- aEapCode = KEapLeapId[7];
- break;
- // KEapSim
- case 18:
- aEapString.Copy( KEapSimId, KEapExpandedIdLength );
- aEapCode = KEapSimId[7];
- break;
- // KEapTtls
- case 21:
- aEapString.Copy( KEapTtlsId, KEapExpandedIdLength );
- aEapCode = KEapTtlsId[7];
- break;
- // KEapAka
- case 23:
- aEapString.Copy( KEapAkaId, KEapExpandedIdLength );
- aEapCode = KEapAkaId[7];
- break;
- // KEapPeap
- case 25:
- aEapString.Copy( KEapPeapId, KEapExpandedIdLength );
- aEapCode = KEapPeapId[7];
- break;
- // KEapMschapv2
- case 26:
- aEapString.Copy( KEapMschapv2Id, KEapExpandedIdLength );
- aEapCode = KEapMschapv2Id[7];
- break;
- // KEapSecurid
- case 32:
- aEapString.Copy( KEapSecuridId, KEapExpandedIdLength );
- aEapCode = KEapSecuridId[7];
- break;
- // KEapPlainMschapv2
- case 99:
- aEapString.Copy( KEapPlainMschapv2Id, KEapExpandedIdLength );
- aEapCode = KEapPlainMschapv2Id[7];
- break;
- default:
- aEapString.Copy( KEapNoneId, KEapExpandedIdLength );
- aEapCode = KEapNoneId[7];
- break;
- }
- DEBUG( "CHssIapHandler::GetEapTypeDesC DONE" );
- }
-
-// -----------------------------------------------------------------------------
// GetNetworkIdL
// -----------------------------------------------------------------------------
//
@@ -557,11 +339,11 @@
{
DEBUG( "CHssIapHandler::GetNetworkIdL()" );
- RCmManagerExt cmManager;
+ RCmManager cmManager;
cmManager.OpenL();
CleanupClosePushL( cmManager );
- RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( aIapId );
+ RCmConnectionMethod plugin = cmManager.ConnectionMethodL( aIapId );
CleanupClosePushL( plugin );
aNetId = plugin.GetIntAttributeL( ECmNetworkId );
@@ -589,7 +371,7 @@
RArray<TUint32> destArray = RArray<TUint32>( 10 ); // KCmArrayGranularity instead of 10
CleanupClosePushL( destArray );
- RCmManagerExt cmManager;
+ RCmManager cmManager;
cmManager.OpenL();
CleanupClosePushL( cmManager );
@@ -597,7 +379,7 @@
for (TInt i = 0; i < destArray.Count(); i++)
{
- RCmDestinationExt dest = cmManager.DestinationL( destArray[i] );
+ RCmDestination dest = cmManager.DestinationL( destArray[i] );
CleanupClosePushL( dest );
for (TInt j = 0; j < dest.ConnectionMethodCount(); j++)
--- a/hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -124,9 +124,9 @@
//
void CHssMgmtScanInfoImpl::Bssid( THssBssid& aBssid ) const
{
- TUint8 bssid[ KHssMacAddressLength ];
+ TUint8 bssid[KHssMacAddressLength];
iScanInfo->BSSID( bssid );
- aBssid.Copy( &bssid[ 0 ], KHssMacAddressLength );
+ aBssid.Copy( &bssid[0], KHssMacAddressLength );
}
// ---------------------------------------------------------
--- a/hotspotfw/hsserver/group/hotspotserver.mmp Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/group/hotspotserver.mmp Tue Aug 31 16:18:40 2010 +0300
@@ -15,7 +15,6 @@
*
*/
-
#include <platform_paths.hrh>
TARGET HotSpotServer.exe
@@ -36,21 +35,18 @@
USERINCLUDE ../inc
USERINCLUDE ../../hsclient/inc
-USERINCLUDE ../../internetconnectivitytestservice/inc
+
MW_LAYER_SYSTEMINCLUDE
SYSTEMINCLUDE /epoc32/include/ecom
LIBRARY euser.lib efsrv.lib esock.lib insock.lib
-LIBRARY APPARC.lib apgrfx.lib
-LIBRARY http.lib
LIBRARY inetprotutil.lib
LIBRARY ecom.lib
LIBRARY bafl.lib
LIBRARY commdb.lib
LIBRARY commsdat.lib
LIBRARY wlandbif.lib
-LIBRARY ictsclientinterface.lib
LIBRARY hal.lib
LIBRARY estor.lib
LIBRARY centralrepository.lib
--- a/hotspotfw/hsserver/inc/hotspotclientserver.h Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/inc/hotspotclientserver.h Tue Aug 31 16:18:40 2010 +0300
@@ -30,7 +30,6 @@
_LIT( KHotSpotPlugin, "NetCfgExtnHotSpot" );
_LIT( KDhcpPlugin, "NetCfgExtnDhcp" );
-const TUint KEasyWlanServiceId = 1;
const TUid KHotspotServerUid3={0x10282ECB};
const TUint KHssShutdown = 777;
--- a/hotspotfw/hsserver/inc/hotspotserver.h Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/inc/hotspotserver.h Tue Aug 31 16:18:40 2010 +0300
@@ -239,13 +239,6 @@
void CheckIapsL();
/**
- * Activates WLAN notifications.
- * @since Series 60 5.2
- * @return None
- */
- void ActivateWlanNotificationsL();
-
- /**
* Get login timer value for the specified client.
* @since Series 60 5.2
* @param aClientUid, clients user id
@@ -295,13 +288,6 @@
* @param aIapId, IAP id
*/
void RemoveClientIap( TUint aIapId );
-
- /**
- * Returns Easy WLAN IAP id.
- * @since Series 60 5.2
- * @return Easy WLAN id
- */
- TInt GetEasyWlanId();
private:
@@ -400,11 +386,7 @@
* Array for storing client IAPs and their UIDs.
*/
RArray<SClientIaps> iClientIaps;
-
- /**
- * Easy WLAN IAP Id
- */
- TInt iEasyWlanId;
+
};
#endif
--- a/hotspotfw/hsserver/inc/hotspotsession.h Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/inc/hotspotsession.h Tue Aug 31 16:18:40 2010 +0300
@@ -27,8 +27,6 @@
#include <wlanmgmtinterface.h>
#include <wlanmgmtcommon.h>
#include <commdb.h>
-#include <ictscommon.h>
-#include <ictsclientinterface.h>
#include "hssnotif.h"
#include "hssiapsettingshandler.h"
#include "hssclientinterface.h"
@@ -51,8 +49,7 @@
* @lib HotSpotServer.exe
* @since Series 60 3.0
*/
-NONSHARABLE_CLASS( CHotSpotSession ) : public CSession2,
- public MIctsObserver,
+NONSHARABLE_CLASS( CHotSpotSession ) : public CSession2,
public MHssLoginTimerObserver,
public MHssLogoutTimerObserver,
public MWlanMgmtNotifications
@@ -96,16 +93,6 @@
void DispatchMessageL( const RMessage2& aMessage );
/**
- * From MICTSObserver. Called when internet connectivity tests are
- * being done.
- * @param aResult Result of tests
- * @param aString String containing possible HTML response
- * @return None
- */
- void ConnectivityObserver( TIctsTestResult aResult,
- const TDesC& aString );
-
- /**
* From MHssLoginTimerObserver. Called when time used for Login(..)
* has run out for client.
* @return None
@@ -150,30 +137,20 @@
*/
void ConstructL();
- /**
- * Initialize Scan to WlanEngine
- * @return None
- */
-
- /**
- * Launch Intenet Connectivity Test Service
- * @return None
- */
- void TestInternetConnectivityL();
-
+
/**
* Starts client register procedures
* @param aMessage, RMessage from client side
* @return None
*/
- void ProcessRegisterL( const RMessage2& aMessage );
+ void ProcessRegister( const RMessage2& aMessage );
/**
* Starts client unregister procedures
* @param aMessage, RMessage from client side
* @return None
*/
- void ProcessUnRegisterL( const RMessage2& aMessage );
+ void ProcessUnRegister( const RMessage2& aMessage );
/**
* Starts login procedures
@@ -181,7 +158,7 @@
* @param aNetId, Network id
* @return KErrNone, if successful, otherwice one of system wide errorcodes.
*/
- TInt ProcessStartLoginL( const TUint aIapId, const TUint aNetId );
+ TInt ProcessStartLogin( const TUint aIapId, const TUint aNetId );
/**
* Starts Join procedures
@@ -226,18 +203,6 @@
void ProcessServerShutdown( const RMessage2& aMessage );
/**
- * Updates UI state of HotSpot browser logon application.
- * @param aMessage, Message for completing request
- */
- void ProcessUiStateL( const RMessage2& aMessage );
-
- /**
- * Start HotSpot browser logon application.
- * @param aString, redirect URL
- */
- void AuthenticateL( const TDesC& aString );
-
- /**
* Removes brackets from the UID
* @param aUid, UID of the client
*/
@@ -317,12 +282,6 @@
* Own
*/
CHssIapSettingsHandler* iIapSettingsHandler;
-
- /**
- * Internet Connectivity testing instance
- * Own
- */
- CIctsClientInterface* iIcts;
/**
* Timer used for client Login procedure
--- a/hotspotfw/hsserver/inc/hssiapsettingshandler.h Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/inc/hssiapsettingshandler.h Tue Aug 31 16:18:40 2010 +0300
@@ -135,24 +135,11 @@
const TDesC& aUid );
/**
- * Create new IAP to Internet SNAP.
- * @param aHotspot, ETrue if captive portal detected
- * @return Iap ID, Otherwise aIapId will be null
- */
- TInt CreateIapL( TBool aHotspot );
-
- /**
* Deletes the IAP
* @param aIapID, IAP id
*/
void DeleteIapL( const TUint aIapId );
-
- /**
- * Moves the IAP to Internet SNAP
- * @param aIapID, IAP id
- */
- void MoveIapL( const TUint aIapId );
-
+
protected:
/**
--- a/hotspotfw/hsserver/src/hotspotserver.cpp Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/src/hotspotserver.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -25,12 +25,12 @@
#include <e32std.h>
#include <commsdattypesv1_1.h>
-#include <cmconnectionmethodext.h>
+#include <cmconnectionmethod.h>
#include <cmconnectionmethoddef.h>
#include <cmpluginwlandef.h>
-#include <cmmanagerext.h>
+#include <cmmanager.h>
#include <cmmanagerdef.h>
-#include <cmdestinationext.h>
+#include <cmdestination.h>
#include "hotspotserver.h"
#include "am_debug.h"
@@ -158,14 +158,15 @@
iLoginValue = ETrue;
iAssociationValue = EFalse;
iClientIapsChecked = KErrNone;
- iEasyWlanId = KEasyWlanServiceId; // Set to default value just in case
-
+
TRAP( iClientIapsChecked, FindClientIapsL() );
// Activate notifications for IAP check purposes. Done with every server startup.
// When EWlanConnectionModeNotConnected is received we can cancel this.
iMgtClient = CWlanMgmtClient::NewL();
- ActivateWlanNotificationsL();
+#ifndef __WINS__
+ iMgtClient->ActivateNotificationsL( *this );
+#endif
}
// -----------------------------------------------------------------------------
@@ -202,7 +203,7 @@
void CHotSpotServer::FindClientIapsL()
{
DEBUG("CHotSpotServer::FindClientIapsL()");
- RCmManagerExt cmManager;
+ RCmManager cmManager;
cmManager.OpenL();
CleanupClosePushL(cmManager);
@@ -211,16 +212,12 @@
TBool supportedBearersOnly = ETrue;
TBool legacyCmsOnly = EFalse;
- // Read Easy WLAN IAP ID first
- iEasyWlanId = cmManager.EasyWlanIdL();
- DEBUG1("CHotSpotServer::FindClientIapsL() iEasyWlanId: % d", iEasyWlanId);
-
cmManager.ConnectionMethodL( cmArray, supportedBearersOnly, legacyCmsOnly );
DEBUG1("CHotSpotServer::FindClientIapsL count: %d", cmArray.Count());
for( TInt i = 0; i < cmArray.Count(); i++ )
{
- RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( cmArray[i] );
+ RCmConnectionMethod cm = cmManager.ConnectionMethodL( cmArray[i] );
CleanupClosePushL( cm );
HBufC* daemonName = cm.GetStringAttributeL(
ECmConfigDaemonManagerName );
@@ -276,14 +273,14 @@
delete plugin;
DEBUG1("CHotSpotServer::CheckIapsL find client error: %d", error );
- if ( error != KErrNone )
+ if ( error == KErrNotFound )
{
// Remove from database
- RCmManagerExt cmManager;
+ RCmManager cmManager;
cmManager.OpenL();
CleanupClosePushL(cmManager);
- RCmConnectionMethodExt cm;
+ RCmConnectionMethod cm;
cm = cmManager.ConnectionMethodL( iClientIaps[i].iIapId );
CleanupClosePushL( cm );
cmManager.RemoveAllReferencesL( cm );
@@ -302,19 +299,6 @@
}
// -----------------------------------------------------------------------------
-// ActivateWlanNotificationsL
-// -----------------------------------------------------------------------------
-//
-void CHotSpotServer::ActivateWlanNotificationsL()
- {
- DEBUG("CHotSpotServer::ActivateWlanNotificationsL");
-#ifndef __WINS__
- iMgtClient->CancelNotifications();
- iMgtClient->ActivateNotificationsL( *this );
-#endif
- }
-
-// -----------------------------------------------------------------------------
// NewSessionL
// -----------------------------------------------------------------------------
//
@@ -677,16 +661,6 @@
}
}
-// -----------------------------------------------------------------------------
-// GetEasyWlanId
-// -----------------------------------------------------------------------------
-//
-TInt CHotSpotServer::GetEasyWlanId()
- {
- DEBUG("CHotspotServer::GetEasyWlanId()");
- return iEasyWlanId;
- }
-
// ========================== OTHER EXPORTED FUNCTIONS =========================
// -----------------------------------------------------------------------------
--- a/hotspotfw/hsserver/src/hotspotsession.cpp Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/src/hotspotsession.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -25,23 +25,16 @@
#include "hsslogouttimer.h"
#include "hssclientinterface.h"
#include "am_debug.h"
-#include <internetconnectivitycrkeys.h>
#include <WlanCdbCols.h>
#include <starterclient.h>
-#include <cmmanagerext.h>
#include <e32std.h>
#include <ecom.h>
#include <f32file.h>
-#include <apgcli.h>
// Forward declarations
class CWlanMgmtClient;
class MWlanMgmtNotifications;
-// Constants
-const TInt KSeparatorsLength = 4;
-const TInt KBrowserUid = 0x2000AFCC; // WLAN Login UID
-
// ============================ MEMBER FUNCTIONS ===============================
// -----------------------------------------------------------------------------
@@ -50,8 +43,7 @@
//
CHotSpotSession::CHotSpotSession( CHotSpotServer& aServer ) :
iServer( aServer ), iClient( NULL ), iSrvNotifications ( NULL ),
- iNotificationHandle( NULL ), iAllowNotifications( ETrue ),
- iHotspotExtension( ETrue )
+ iNotificationHandle( NULL ), iAllowNotifications( ETrue ), iHotspotExtension( ETrue )
{
}
@@ -123,11 +115,7 @@
iLogoutTimer->Cancel();
delete iLogoutTimer;
}
-
- if ( iIcts != NULL )
- {
- delete iIcts;
- }
+
DEBUG( "CHotSpotSession::~CHotSpotSession() Done" );
}
@@ -161,6 +149,7 @@
switch ( aMessage.Function() )
{
case EHssActivateNotifications :
+ DEBUG( "CHotSpotSession::ActivateNotificationsL" );
iAllowNotifications = EFalse;
if ( iNotifications == NULL )
@@ -171,6 +160,7 @@
HandleOrderNotifications( aMessage );
break;
case EHssCancelNotifications :
+ DEBUG( "CHotSpotSession::CancelNotifications" );
iAllowNotifications = EFalse;
iMgtClient->CancelNotifications( );
@@ -182,10 +172,10 @@
HandleCancelNotifications( aMessage );
break;
case EHssRegister :
- ProcessRegisterL( aMessage );
+ ProcessRegister( aMessage );
break;
case EHssUnRegister :
- ProcessUnRegisterL( aMessage );
+ ProcessUnRegister( aMessage );
break;
case EHssJoin :
iAllowNotifications = EFalse;
@@ -258,10 +248,12 @@
{
if ( value == KErrNone )
{
+ DEBUG( "EHssLoginComplete1" );
iServer.CompleteMessage( indx, KErrNone );
}
else
{
+ DEBUG( "EHssLoginComplete2" );
iServer.CompleteMessage( indx, KErrCancel );
iServer.SetLogoutFlag( ETrue );
}
@@ -295,12 +287,12 @@
}
else
{
- err = ProcessStartLoginL( iIapId, iNetId );
+ err = ProcessStartLogin( iIapId, iNetId );
// If client not found, an error was returned.
// Otherwise message completed elsewhere.
if ( KErrNone != err )
{
- indx = iServer.FindMessage( iIapId, EHssStartLogin );
+ indx = iServer.FindMessage(iIapId, EHssStartLogin );
if ( indx >= 0 )
{
iServer.CompleteMessage( indx , KErrNone );
@@ -463,23 +455,11 @@
aMessage.Complete( KErrNone );
break;
case EHssUiState:
- TRAP_IGNORE( ProcessUiStateL( aMessage ) );
- // Just complete the message
- aMessage.Complete( KErrNone );
+ aMessage.Complete( KErrNotSupported );
break;
case EHssStartBrowser:
{
- TInt len = aMessage.GetDesLength( 0 );
- iIapId = ( TInt )aMessage.Int1();
- iNetId = ( TInt )aMessage.Int2();
- err = iServer.SaveMessage( iIapId, aMessage, EHssStartBrowser );
- HBufC* buf = HBufC::NewLC( len );
- TPtr ptr( buf->Des() );
- User::LeaveIfError( aMessage.Read( 0, ptr ) );
-
- AuthenticateL( ptr );
-
- CleanupStack::PopAndDestroy(buf);
+ aMessage.Complete( KErrNotSupported );
break;
}
case EHssSetTimerValues:
@@ -600,69 +580,6 @@
}
// -----------------------------------------------------------------------------
-// TestInternetConnectivityL
-// -----------------------------------------------------------------------------
-//
-void CHotSpotSession::TestInternetConnectivityL()
- {
- DEBUG("CHotSpotSession::TestInternetConnectivityL");
- if ( iIcts != NULL )
- {
- delete iIcts;
- iIcts = NULL;
- }
-
- iIcts = CIctsClientInterface::NewL( iIapId, iNetId, *this );
- iIcts->StartL();
- }
-
-// -----------------------------------------------------------------------------
-// ConnectivityObserver
-// -----------------------------------------------------------------------------
-//
-void CHotSpotSession::ConnectivityObserver( TIctsTestResult aResult,
- const TDesC& aString )
- {
- DEBUG1("CHotSpotSession::ConnectivityObserver result: %d", aResult);
- TInt indx( KErrNone );
- switch ( aResult )
- {
- case EConnectionOk :
- // Create IAP first, then complete the message to connection.
- TRAP_IGNORE( iIapSettingsHandler->CreateIapL( EFalse ) );
- indx = iServer.FindMessage( iIapId, EHssStartLogin );
- if ( KErrNotFound != indx )
- {
- iServer.CompleteMessage( indx, KErrNone );
- }
- break;
- case EHttpAuthenticationNeeded :
- // Start browser for authentication
- TRAPD( browserStarted, AuthenticateL( aString ) );
- if ( browserStarted != KErrNone )
- {
- // Starting of browser leaved. Complete the message.
- indx = iServer.FindMessage( iIapId, EHssStartLogin );
- if ( KErrNotFound != indx )
- {
- iServer.CompleteMessage( indx, KErrNone );
- }
- }
- break;
- case EConnectionNotOk :
- case ETimeout :
- indx = iServer.FindMessage( iIapId, EHssStartLogin );
- if ( KErrNotFound != indx )
- {
- iServer.CompleteMessage( indx, KErrNone );
- }
- break;
- default:
- break;
- }
- }
-
-// -----------------------------------------------------------------------------
// LoginTimeout
// -----------------------------------------------------------------------------
//
@@ -715,12 +632,12 @@
}
// ---------------------------------------------------------
-// ProcessRegisterL
+// ProcessRegister
// ---------------------------------------------------------
//
-void CHotSpotSession::ProcessRegisterL( const RMessage2& aMessage )
+void CHotSpotSession::ProcessRegister( const RMessage2& aMessage )
{
- DEBUG("CHotSpotSession::ProcessRegisterL");
+ DEBUG("CHotSpotSession::ProcessRegister");
iAllowNotifications = EFalse;
TBufC< KIapNameLength > iapName;
@@ -760,33 +677,25 @@
}
// ---------------------------------------------------------
-// ProcessUnRegisterL
+// ProcessUnRegister
// ---------------------------------------------------------
//
-void CHotSpotSession::ProcessUnRegisterL( const RMessage2& aMessage )
+void CHotSpotSession::ProcessUnRegister( const RMessage2& aMessage )
{
- DEBUG("CHotSpotSession::ProcessUnRegisterL");
+ DEBUG("CHotSpotSession::ProcessUnRegister");
iAllowNotifications = EFalse;
TInt ret( KErrNone );
// Read message
TInt iapId = ( TInt )aMessage.Int0();
iServer.RemoveClientIap( iapId );
- // Check that this is not Easy WLAN
- TInt easyWlan = iServer.GetEasyWlanId();
- if ( easyWlan != iapId )
+
+ TRAPD( err, iIapSettingsHandler->DeleteIapL( iapId ) );
+ // return KErrGeneral if IAP removal is not successful
+ if ( err != KErrNone )
{
- TRAPD( err, iIapSettingsHandler->DeleteIapL( iapId ) );
- // return KErrGeneral if IAP removal is not successful
- if ( err != KErrNone )
- {
- ret = KErrGeneral;
- }
+ ret = KErrGeneral;
}
- else
- {
- ret = KErrPermissionDenied;
- }
aMessage.Complete( ret );
DEBUG("CHotSpotSession::ProcessUnRegisterL DONE");
}
@@ -795,24 +704,13 @@
// ProcessStartLogin
// -----------------------------------------------------------------------------
//
-TInt CHotSpotSession::ProcessStartLoginL( const TUint aIapId, const TUint aNetId )
+TInt CHotSpotSession::ProcessStartLogin( const TUint aIapId, const TUint aNetId )
{
DEBUG("CHotSpotSession::ProcessStartLogin");
TInt ret( KErrNotFound );
TBuf8<KExtensionAPILength> extAPI;
iIapId = aIapId;
- // Check if Easy WLAN.
- TInt easyWlan = iServer.GetEasyWlanId();
- if ( easyWlan == aIapId )
- {
- DEBUG("CHotSpotSession::ProcessStartLogin Easy WLAN detected");
- // Just test internet connectivity and complete message later
- TestInternetConnectivityL();
- ret = KErrNone;
- return ret;
- }
-
TBuf<KUidLength> clientUid;
TInt err = iServer.GetClientUid( aIapId, clientUid );
@@ -841,7 +739,7 @@
}
// -----------------------------------------------------------------------------
-// ProcessStart
+// ProcessStartL
// -----------------------------------------------------------------------------
//
TInt CHotSpotSession::ProcessStartL( const TUint aIapId )
@@ -1037,147 +935,6 @@
}
// -----------------------------------------------------------------------------
-// ProcessUiStateL
-// -----------------------------------------------------------------------------
-//
-void CHotSpotSession::ProcessUiStateL( const RMessage2& aMessage )
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL()" );
- TBool completeMsg = EFalse;
- TInt indx( KErrNone );
- TInt indxBrowser( KErrNone );
- TInt ret( KErrNone );
- iIapId = ( TInt )aMessage.Int0();
-
- indx = iServer.FindMessage( iIapId, EHssStartLogin );
- indxBrowser = iServer.FindMessage( iIapId, EHssStartBrowser );
- THsBrowserUiStates uiState = ( THsBrowserUiStates ) aMessage.Int1(); // UI state
- switch ( uiState )
- {
- case EHsBrowserUiRunning:
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL() EHsBrowserUiRunning" );
- break;
- }
- case EHsBrowserUiAuthenticatedOk:
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL() EHsBrowserUiAuthenticatedOk" );
- // Check if Easy WLAN.
- TInt easyWlan = iServer.GetEasyWlanId();
- if ( easyWlan != iIapId )
- {
- iIapSettingsHandler->MoveIapL( iIapId );
- // Activate notifications and mark as client IAP so that
- // IAP can be deleted after the use.
- TBuf<KIapNameLength> clientUid;
- iServer.SetClientIap( iIapId, clientUid );
- iServer.ActivateWlanNotificationsL();
- }
- else
- {
- TInt iapId( 0 );
- iapId = iIapSettingsHandler->CreateIapL( ETrue );
- if ( iapId > 0 )
- {
- // Activate notifications and mark as client IAP so that
- // IAP can be deleted after the use.
- TBuf<KIapNameLength> clientUid;
- iServer.SetClientIap( iapId, clientUid );
- iServer.ActivateWlanNotificationsL();
- }
- }
-
- completeMsg = ETrue;
- DEBUG( "CHotSpotSession::ProcessUiStateL() EHsBrowserUiAuthenticatedOk Done" );
- break;
- }
- case EHsBrowserUiAuthenticatedNok:
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL() EHsBrowserUiAuthenticatedNok" );
-
- completeMsg = ETrue;
- break;
- }
- case EHsBrowserUiClosed:
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL() EHsBrowserUiClosed" );
- completeMsg = ETrue;
- break;
- }
- default:
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL() default" );
- completeMsg = ETrue;
- }
- }
-
- if ( completeMsg )
- {
- // complete messages EHssStartLogin/EHssStartBrowser
- if ( indx >= 0 )
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL() completing EHssStartLogin" );
- iServer.CompleteMessage( indx , KErrNone );
- }
-
- if ( indxBrowser >= 0 )
- {
- DEBUG( "CHotSpotSession::ProcessUiStateL() completing EHssStartBrowser" );
- iServer.CompleteMessage( indxBrowser, ret );
- }
- }
- }
-
-// -----------------------------------------------------------------------------
-// Authenticate()
-// -----------------------------------------------------------------------------
-//
-void CHotSpotSession::AuthenticateL( const TDesC& aString )
- {
- DEBUG("CHotSpotSession::AuthenticateL()");
-
- // Count IAP Id length
- TInt iapIdLength ( 1 );
- TInt iapId = iIapId;
- while ( iapId >= 10 )
- {
- iapId = iapId / 10;
- iapIdLength++;
- }
-
- // Count Network Id length
- TInt netIdLength ( 1 );
- TInt netId = iNetId;
- while ( netId >= 10 )
- {
- netId = netId / 10;
- netIdLength++;
- }
-
- TInt length = aString.Length() +
- iapIdLength +
- netIdLength +
- KSeparatorsLength;
- HBufC* param = HBufC::NewLC( length );
- _LIT(tmpString, "%d, %d, %S");
- param->Des().Format( tmpString, iIapId, iNetId, &aString );
- TUid uid( TUid::Uid( KBrowserUid ) );
- RApaLsSession appArcSession;
- User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
- CleanupClosePushL( appArcSession );
- TThreadId id;
- TInt err = appArcSession.StartDocument( *param, TUid::Uid( KBrowserUid ), id );
- if ( err != KErrNone )
- {
- DEBUG1( "CHotSpotSession::AuthenticateL() StartDocument: %d", err );
- }
- CleanupStack::PopAndDestroy( &appArcSession );
- CleanupStack::PopAndDestroy( param );
-
- DEBUG("CHotSpotSession::AuthenticateLC() done");
- }
-
-// -----------------------------------------------------------------------------
// ModifyClientUid
// -----------------------------------------------------------------------------
//
--- a/hotspotfw/hsserver/src/hssiapsettingshandler.cpp Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/hsserver/src/hssiapsettingshandler.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -23,10 +23,10 @@
#include "am_debug.h"
#include <es_enum.h>
-#include <cmconnectionmethodext.h>
+#include <cmconnectionmethod.h>
#include <cmconnectionmethoddef.h>
-#include <cmdestinationext.h>
-#include <cmmanagerext.h>
+#include <cmdestination.h>
+#include <cmmanager.h>
using namespace CMManager;
@@ -82,7 +82,7 @@
{
DEBUG("CHssIapSettingsHandler::CreateClientIapL");
- RCmManagerExt cmManager;
+ RCmManager cmManager;
cmManager.OpenL();
CleanupClosePushL( cmManager );
@@ -91,7 +91,7 @@
CleanupClosePushL( destinations );
cmManager.AllDestinationsL( destinations );
- RCmDestinationExt destination;
+ RCmDestination destination;
// Loop through each destination
for( TInt i = 0; i < destinations.Count(); i++ )
{
@@ -99,10 +99,9 @@
CleanupClosePushL(destination);
// Internet destination will always exist in the system.
// Internet destination will have ESnapPurposeInternet set in its metadata.
- if ( destination.MetadataL( CMManager::ESnapMetadataPurpose ) ==
- CMManager::ESnapPurposeInternet )
+ if (destination.MetadataL(CMManager::ESnapMetadataPurpose) == CMManager::ESnapPurposeInternet)
{
- RCmConnectionMethodExt plugin = cmManager.CreateConnectionMethodL( KUidWlanBearerType );
+ RCmConnectionMethod plugin = cmManager.CreateConnectionMethodL( KUidWlanBearerType );
CleanupClosePushL( plugin );
plugin.SetStringAttributeL( ECmName, aIapName );
@@ -126,111 +125,6 @@
}
// -----------------------------------------------------------------------------
-// CreateIapL
-// -----------------------------------------------------------------------------
-//
-TInt CHssIapSettingsHandler::CreateIapL( TBool aHotspot )
- {
- DEBUG("CHssIapSettingsHandler::CreateIapL");
- TInt ret ( KErrNone );
- RCmManagerExt cmManager;
- cmManager.OpenL();
- CleanupClosePushL( cmManager );
-
- // Read all destination(SNAP) settings into an array
- RArray<TUint32> destinations;
- CleanupClosePushL( destinations );
-
- cmManager.AllDestinationsL( destinations );
- RCmDestinationExt destination;
- // Loop through each destination
- for( TInt i = 0; i < destinations.Count(); i++ )
- {
- destination = cmManager.DestinationL( destinations[i] );
- CleanupClosePushL( destination );
- // Internet destination will always exist in the system.
- // Internet destination will have ESnapPurposeInternet
- // set in its metadata.
- if ( destination.MetadataL( CMManager::ESnapMetadataPurpose ) ==
- CMManager::ESnapPurposeInternet )
- {
- CWlanMgmtClient* wlanMgmtClient = CWlanMgmtClient::NewL();
- CleanupStack::PushL( wlanMgmtClient );
-
- TWlanConnectionMode connMode;
- User::LeaveIfError(
- wlanMgmtClient->GetConnectionMode( connMode ) );
-
- TWlanConnectionSecurityMode secMode;
- User::LeaveIfError(
- wlanMgmtClient->GetConnectionSecurityMode( secMode ) );
-
- HBufC* ssid( NULL );
- TWlanSsid ssidConn;
-
- User::LeaveIfError(
- wlanMgmtClient->GetConnectionSsid( ssidConn ) );
- ssid = HBufC::NewLC( ssidConn.Length() );
- ssid->Des().Copy( ssidConn );
-
- TUint32 serviceId(0);
- TUint32 easyWlanIapId(0);
- easyWlanIapId = cmManager.EasyWlanIdL();
-
- RCmConnectionMethodExt easyWlanPlugin;
- easyWlanPlugin = cmManager.ConnectionMethodL( easyWlanIapId );
- CleanupClosePushL( easyWlanPlugin );
- TBool scanSsid = easyWlanPlugin.GetBoolAttributeL( EWlanScanSSID );
- TUint32 easyWlanServiceId =
- easyWlanPlugin.GetIntAttributeL( EWlanServiceId );
- CleanupStack::PopAndDestroy(); // easyWlanPlugin;
-
- RCmConnectionMethodExt plugin =
- cmManager.CreateConnectionMethodL( KUidWlanBearerType );
- CleanupClosePushL( plugin );
- plugin.SetStringAttributeL( ECmName, *ssid );
- plugin.SetStringAttributeL( EWlanSSID, *ssid );
- plugin.SetIntAttributeL( CMManager::EWlanSecurityMode,
- ConvertConnectionSecurityModeToSecModeL( secMode ));
- plugin.SetIntAttributeL( EWlanConnectionMode,
- ConvertConnectionModeToNetModeL( connMode ) );
- plugin.SetBoolAttributeL( EWlanScanSSID, scanSsid );
-
- if ( aHotspot )
- {
- // A hotspot IAP. Mark it so it can be deleted after the use.
- plugin.SetStringAttributeL( ECmConfigDaemonManagerName,
- KHotSpotPlugin );
- }
-
- destination.AddConnectionMethodL( plugin );
- destination.UpdateL();
- serviceId = plugin.GetIntAttributeL( EWlanServiceId );
- ret = plugin.GetIntAttributeL( ECmIapId );
- CleanupStack::PopAndDestroy( &plugin );
- if ( secMode == EWlanConnectionSecurityWep )
- {
- SaveWEPKeyL( easyWlanServiceId, serviceId );
- }
-
- if ( secMode == EWlanConnectionSecurityWpaPsk )
- {
- SaveWPAKeyL( easyWlanServiceId, serviceId );
- }
-
- CleanupStack::PopAndDestroy( ssid );
- CleanupStack::PopAndDestroy( wlanMgmtClient );
- }
- CleanupStack::PopAndDestroy( &destination );
- }
- CleanupStack::PopAndDestroy( &destinations );
- CleanupStack::PopAndDestroy( &cmManager );
-
- DEBUG1("CHssIapSettingsHandler::CreateIapL Done iapId: %d", ret);
- return ret;
- }
-
-// -----------------------------------------------------------------------------
// DeleteIapL
// -----------------------------------------------------------------------------
//
@@ -238,11 +132,11 @@
{
DEBUG1("CHssIapSettingsHandler:::DeleteIapL aIapId=%d ", aIapId);
- RCmManagerExt cmManager;
+ RCmManager cmManager;
cmManager.OpenL();
CleanupClosePushL( cmManager );
- RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( aIapId );
+ RCmConnectionMethod plugin = cmManager.ConnectionMethodL( aIapId );
CleanupClosePushL( plugin );
cmManager.RemoveAllReferencesL( plugin );
@@ -254,50 +148,6 @@
}
// ---------------------------------------------------------
-// MoveIapL()
-// ---------------------------------------------------------
-//
-void CHssIapSettingsHandler::MoveIapL( const TUint aIapId )
- {
- DEBUG1("CHssIapSettingsHandler::MoveIapL aIapId=%d ", aIapId);
- // Now move to Internet SNAP
- RCmManagerExt cmManager;
- cmManager.OpenL();
- CleanupClosePushL( cmManager );
-
- // Read all destination(SNAP) settings into an array
- RArray<TUint32> destinations;
- CleanupClosePushL( destinations );
-
- cmManager.AllDestinationsL( destinations );
- RCmDestinationExt destination;
- // Loop through each destination
- for( TInt i = 0; i < destinations.Count(); i++ )
- {
- destination = cmManager.DestinationL( destinations[i] );
- CleanupClosePushL( destination );
- // Internet destination will always exist in the system.
- // Internet destination will have ESnapPurposeInternet
- // set in its metadata.
- if ( destination.MetadataL( CMManager::ESnapMetadataPurpose ) ==
- CMManager::ESnapPurposeInternet )
- {
- RCmConnectionMethodExt iap = cmManager.ConnectionMethodL( aIapId );
- CleanupClosePushL( iap );
- iap.SetStringAttributeL( ECmConfigDaemonManagerName, KHotSpotPlugin );
- destination.AddConnectionMethodL( iap );
- CleanupStack::PopAndDestroy( &iap );
- destination.UpdateL();
- }
- CleanupStack::PopAndDestroy( &destination );
- }
- CleanupStack::PopAndDestroy( &destinations );
- CleanupStack::PopAndDestroy( &cmManager );
-
- DEBUG( "CHssIapSettingsHandler::MoveIapL Done" );
- }
-
-// ---------------------------------------------------------
// SaveWEPKeyL()
// ---------------------------------------------------------
//
--- a/hotspotfw/internetconnectivitytestservice/src/ictsengine.cpp Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/internetconnectivitytestservice/src/ictsengine.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -225,10 +225,7 @@
StopPolling();
iClient.ConnectivityObserver( EConnectionNotOk, iString );
}
- else
- {
- iPollingIntervalTimer->After( iPollingInterval );
- }
+ iPollingIntervalTimer->After( iPollingInterval );
}
// ---------------------------------------------------------------------------
--- a/hotspotfw/rom/hotspot.iby Thu Aug 19 10:59:40 2010 +0300
+++ b/hotspotfw/rom/hotspot.iby Tue Aug 31 16:18:40 2010 +0300
@@ -36,12 +36,6 @@
ECOM_PLUGIN( HssMgmtImpl.dll, 10282ecc.rsc )
ECOM_PLUGIN( wlanagthotspotimpl.dll, 1028309b.rss )
-S60_APP_EXE( HsBrowser )
-S60_APP_AIF_RSC( HsBrowser )
-
-// appshell icon
-S60_APP_AIF_ICONS( hsbrowsericon )
-
data=ZPRIVATE\10282EC5\backup_registration.xml private\10282EC5\backup_registration.xml
data=DATAZ_\system\install\hotspotfwstub.sis system\install\hotspotfwstub.sis
data=DATAZ_\system\install\ictsstub.sis system\install\ictsstub.sis
--- a/hotspotfw/rom/hotspotResources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +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: Image description file for project HotSpot FW
-*
-*/
-
-
-
-
-#ifndef HOTSPOTRESOURCES_IBY
-#define HOTSPOTRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-S60_APP_RESOURCE(HsBrowser)
-
-#endif // __PROTOCOL_WLAN
-#endif // HOTSPOTSRESOURCES_IBY
\ No newline at end of file
--- a/hsfw_plat/hotspot_framework_client_api/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ b/hsfw_plat/hotspot_framework_client_api/group/bld.inf Tue Aug 31 16:18:40 2010 +0300
@@ -32,4 +32,4 @@
../inc/hssmgmtscaninfo.h MW_LAYER_PLATFORM_EXPORT_PATH(hssmgmtscaninfo.h)
../inc/hssmgmtclient.inl MW_LAYER_PLATFORM_EXPORT_PATH(hssmgmtclient.inl)
../inc/hssmgmtscaninfo.inl MW_LAYER_PLATFORM_EXPORT_PATH(hssmgmtscaninfo.inl)
-../inc/hssiapsettings.inl MW_LAYER_PLATFORM_EXPORT_PATH(hssiapsettings.inl)
+
--- a/hsfw_plat/hotspot_framework_client_api/inc/hssiapsettings.h Thu Aug 19 10:59:40 2010 +0300
+++ b/hsfw_plat/hotspot_framework_client_api/inc/hssiapsettings.h Tue Aug 31 16:18:40 2010 +0300
@@ -30,9 +30,6 @@
const TInt KHssMaxMedTextLength = 255;
const TUint8 KHssMaxSSIDLength = 32;
const TUint32 KHssMaxWEPKeyLength = 29;
-const TUint KHssGeneralStringMaxLength = 255;
-const TUint KHssKeyIdentifierLength = 20;
-const TUint KHssThumbprintMaxLength = 64;
const TInt KHssMaxNumberOfKeys = 4;
// DATA TYPES
@@ -76,138 +73,6 @@
/** Array that stores the WEP key. */
TUint8 KeyMaterial[KHssMaxWEPKeyLength];
};
-
-
-
-
-/**
-* class containing Certificate info for EAP settings
-*/
-class THssCertificateEntry
-{
-public:
-
- enum THssCertType
- {
- EUser,
- ECA
- };
-
- THssCertificateEntry();
-
- // Specifies whether this entry describes user or CA certificate (mandatory)
- THssCertType iCertType;
-
- // Subject name in distinguished name ASCII form.
- // For example "/C=US/O=Some organization/CN=Some common name".
- TBool iSubjectNamePresent;
- TBuf<KHssGeneralStringMaxLength> iSubjectName;
-
- // Issuer name in distinguished name ASCII form.
- // For example "/C=US/O=Some organization/CN=Some common name".
- TBool iIssuerNamePresent;
- TBuf<KHssGeneralStringMaxLength> iIssuerName;
-
- // Serial number in ASCII form.
- TBool iSerialNumberPresent;
- TBuf<KHssGeneralStringMaxLength> iSerialNumber;
-
- // Subject key in binary form
- TBool iSubjectKeyIDPresent;
- TBuf8<KHssKeyIdentifierLength> iSubjectKeyID;
-
- // Thumbprint in binary form
- TBool iThumbprintPresent;
- TBuf<KHssThumbprintMaxLength> iThumbprint;
-};
-
-
-/**
-* class containing EAP settings
-*/
-class THssEapSettings
-{
-public:
-
- enum THssEapType
- {
- EEapNone = 0,
- EEapGtc = 6,
- EEapTls = 13,
- EEapLeap = 17,
- EEapSim = 18,
- EEapTtls = 21,
- EEapAka = 23,
- EEapPeap = 25,
- EEapMschapv2 = 26,
- EEapSecurid = 32,
- EEapPlainMschapv2 = 99
- };
-
- THssEapSettings();
-
- void ExternalizeL( RWriteStream& aStream ) const;
-
- void InternalizeL( RReadStream& aStream );
-
- // Specifies the EAP type these settings are for.
- // Is not really needed but is here so just some sanity checks can be made
- THssEapType iEAPType;
-
- // Username in ASCII format
- TBool iUsernamePresent;
- TBuf<KHssGeneralStringMaxLength> iUsername;
-
- // Password in ASCII format
- TBool iPasswordPresent;
- TBuf<KHssGeneralStringMaxLength> iPassword;
-
- // Realm in ASCII format
- TBool iRealmPresent;
- TBuf<KHssGeneralStringMaxLength> iRealm;
-
- // Use pseudonym identities in EAP-SIM/AKA
- TBool iUsePseudonymsPresent;
- TBool iUsePseudonyms;
-
- // Whether EAP-TLS/TTLS/PEAP should verify server realm
- TBool iVerifyServerRealmPresent;
- TBool iVerifyServerRealm;
-
- // Whether EAP-TLS/TTLS/PEAP should require client authentication
- TBool iRequireClientAuthenticationPresent;
- TBool iRequireClientAuthentication;
-
- // General session validity time (in minutes)
- TBool iSessionValidityTimePresent;
- TUint iSessionValidityTime;
-
- // An array of allowed cipher suites for EAP-TLS/TTLS/PEAP.
- // Refer to RFC2246 chapter A.5 for the values.
- TBool iCipherSuitesPresent;
- TUint iCipherSuitesCount;
- RArray<TUint> iCipherSuites;
-
- // In EAP-PEAP is version 0 allowed
- TBool iPEAPVersionsPresent;
- TBool iPEAPv0Allowed;
- TBool iPEAPv1Allowed;
- TBool iPEAPv2Allowed;
-
- // Array listing the allowed certificates for EAP-TLS/TTLS/PEAP
- TBool iCertificatesPresent;
- TUint iCertificatesCount;
- RPointerArray<THssCertificateEntry> iCertificates;
-
- // Array listing the encapsulated EAP types (in priority order)
- TBool iEncapsulatedEAPTypesPresent;
- TUint iEncapsulatedEAPTypesCount;
- RArray<TUint> iEncapsulatedEAPTypes;
-
- // EAP type that this THssEapSettings type is encapsulated to
- // Example: For EEapMschapv2 type this value could be EEapPeap
- THssEapType iEncapsulatedInside;
-};
/**
* struct containing all wlan settings data
@@ -216,7 +81,7 @@
{
public:
- THssIapSettings();
+
TBuf<KHssMaxMedTextLength> Name;
EHssConnectionMode iConnectionMode;
@@ -237,13 +102,8 @@
TBuf8<KHssWlanWpaPskLength> iWPAPreSharedKey;
TUint32 iWPAKeyLength;
TBool iEnableWpaPsk;
-
- RPointerArray<THssEapSettings> iEapDataArray;
};
-
-#include "hssiapsettings.inl"
-
#endif // HSSIAPSETTINGS_H
// end of file
--- a/hsfw_plat/hotspot_framework_client_api/inc/hssiapsettings.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,161 +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: EAP and WLAN authentication protocols.
-*
-*/
-
-
-
-inline THssCertificateEntry::THssCertificateEntry()
-: iSubjectNamePresent(EFalse)
-, iIssuerNamePresent(EFalse)
-, iSerialNumberPresent(EFalse)
-, iSubjectKeyIDPresent(EFalse)
-, iThumbprintPresent(EFalse)
- {
- }
-
-inline THssEapSettings::THssEapSettings()
-: iUsernamePresent(EFalse)
-, iPasswordPresent(EFalse)
-, iRealmPresent(EFalse)
-, iVerifyServerRealmPresent(EFalse)
-, iRequireClientAuthenticationPresent(EFalse)
-, iSessionValidityTimePresent(EFalse)
-, iCipherSuitesPresent(EFalse)
-, iCipherSuites(1)
-, iPEAPVersionsPresent(EFalse)
-, iCertificatesPresent(EFalse)
-, iCertificates(1)
-, iEncapsulatedEAPTypesPresent(EFalse)
-, iEncapsulatedEAPTypes(1)
-, iEncapsulatedInside( EEapNone )
- {
- }
-
-inline void THssEapSettings::ExternalizeL( RWriteStream& aStream ) const
- {
- aStream.WriteInt32L( iEAPType );
- aStream.WriteUint32L( iUsernamePresent );
- aStream << iUsername;
- aStream.WriteUint32L( iPasswordPresent );
- aStream << iPassword;
- aStream.WriteUint32L( iRealmPresent );
- aStream << iRealm;
- aStream.WriteUint32L( iUsePseudonymsPresent );
- aStream.WriteUint32L( iUsePseudonyms );
- aStream.WriteUint32L( iVerifyServerRealmPresent );
- aStream.WriteUint32L( iVerifyServerRealm );
- aStream.WriteUint32L( iRequireClientAuthenticationPresent );
- aStream.WriteUint32L( iRequireClientAuthentication );
- aStream.WriteUint32L( iSessionValidityTimePresent );
- aStream.WriteUint32L( iSessionValidityTime );
- aStream.WriteUint32L( iCipherSuitesPresent );
- aStream.WriteUint32L( iCipherSuitesCount);
- for( TInt i = 0; i < iCipherSuitesCount; i++ )
- {
- aStream.WriteUint32L(iCipherSuites[i]);
- }
- aStream.WriteUint32L( iPEAPVersionsPresent );
- aStream.WriteUint32L( iPEAPv0Allowed );
- aStream.WriteUint32L( iPEAPv1Allowed );
- aStream.WriteUint32L( iPEAPv2Allowed );
- aStream.WriteUint32L( iCertificatesPresent );
- aStream.WriteUint32L( iCertificatesCount);
- for( TInt i = 0; i < iCertificatesCount; i++ )
- {
- aStream.WriteInt32L( iCertificates[i]->iCertType );
- aStream.WriteUint32L( iCertificates[i]->iSubjectNamePresent );
- aStream << iCertificates[i]->iSubjectName;
- aStream.WriteUint32L( iCertificates[i]->iIssuerNamePresent );
- aStream << iCertificates[i]->iIssuerName;
- aStream.WriteUint32L( iCertificates[i]->iSerialNumberPresent );
- aStream << iCertificates[i]->iSerialNumber;
- aStream.WriteUint32L( iCertificates[i]->iSubjectKeyIDPresent );
- aStream << iCertificates[i]->iSubjectKeyID;
- aStream.WriteUint32L( iCertificates[i]->iThumbprintPresent );
- aStream << iCertificates[i]->iThumbprint;
- }
- aStream.WriteUint32L( iEncapsulatedEAPTypesPresent );
- aStream.WriteUint32L( iEncapsulatedEAPTypesCount );
- for( TInt i = 0; i < iEncapsulatedEAPTypesCount; i++ )
- {
- aStream.WriteUint32L( iEncapsulatedEAPTypes[i] );
- }
- }
-
-inline void THssEapSettings::InternalizeL( RReadStream& aStream )
- {
- iEAPType = static_cast<THssEapSettings::THssEapType>(aStream.ReadInt32L());
- iUsernamePresent = aStream.ReadUint32L();
- aStream >>iUsername;
- iPasswordPresent = aStream.ReadUint32L();
- aStream >>iPassword;
- iRealmPresent = aStream.ReadUint32L();
- aStream >>iRealm;
- iUsePseudonymsPresent = aStream.ReadUint32L();
- iUsePseudonyms = aStream.ReadUint32L();
- iVerifyServerRealmPresent = aStream.ReadUint32L();
- iVerifyServerRealm = aStream.ReadUint32L();
- iRequireClientAuthenticationPresent = aStream.ReadUint32L();
- iRequireClientAuthentication = aStream.ReadUint32L();
- iSessionValidityTimePresent = aStream.ReadUint32L();
- iSessionValidityTime = aStream.ReadUint32L();
- iCipherSuitesPresent = aStream.ReadUint32L();
- iCipherSuitesCount = aStream.ReadUint32L();
- for( TInt i = 0; i < iCipherSuitesCount; i++ )
- {
- iCipherSuites.Append(aStream.ReadUint32L());
- }
- iPEAPVersionsPresent = aStream.ReadUint32L();
- iPEAPv0Allowed = aStream.ReadUint32L();
- iPEAPv1Allowed = aStream.ReadUint32L();
- iPEAPv2Allowed = aStream.ReadUint32L();
- iCertificatesPresent = aStream.ReadUint32L();
- iCertificatesCount = aStream.ReadUint32L();
- for( TInt i = 0; i < iCertificatesCount; i++ )
- {
- THssCertificateEntry* entry = new (ELeave) THssCertificateEntry();
-
- entry->iCertType = static_cast<THssCertificateEntry::THssCertType>(aStream.ReadInt32L());
- entry->iSubjectNamePresent = aStream.ReadUint32L();
- aStream >> entry->iSubjectName;
- entry->iIssuerNamePresent = aStream.ReadUint32L();
- aStream >> entry->iIssuerName;
- entry->iSerialNumberPresent= aStream.ReadUint32L();
- aStream >> entry->iSerialNumber;
- entry->iSubjectKeyIDPresent = aStream.ReadUint32L();
- aStream >> entry->iSubjectKeyID;
- entry->iThumbprintPresent = aStream.ReadUint32L();
- aStream >> entry->iThumbprint;
- iCertificates.Insert(entry, i);
- }
- iEncapsulatedEAPTypesPresent = aStream.ReadUint32L();
- iEncapsulatedEAPTypesCount = aStream.ReadUint32L();
- for( TInt i = 0; i < iEncapsulatedEAPTypesCount; i++ )
- {
- iEncapsulatedEAPTypes.Append(aStream.ReadUint32L());
- }
-
-}
-
-inline THssIapSettings::THssIapSettings()
-: iConnectionMode(EHssInfrastructure)
-, iSecurityMode( EHssAllowUnsecure )
-, iAuthenticationMode(EHssOpen)
-, iEapDataArray(1)
-{
-}
-
-// end of file
--- a/layers.sysdef.xml Thu Aug 19 10:59:40 2010 +0300
+++ b/layers.sysdef.xml Tue Aug 31 16:18:40 2010 +0300
@@ -1,13 +1,13 @@
<?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
<!ENTITY layer_real_source_path "sf/mw/wirelessacc" >
]>
-<SystemDefinition name="wirelessacc" schema="1.4.0">
+<SystemDefinition name="wirelessacc" schema="1.5.1">
<systemModel>
<layer name="mw_layer">
<module name="wirelessacc">
- <unit unitID="netdo.wirelessacc" mrp="" bldFile="&layer_real_source_path;/group" name="wirelessacc" />
+ <unit unitID="netdo.wirelessaccqt" mrp="" bldFile="&layer_real_source_path;" name="wirelessaccqt" proFile="wirelessacc.pro" qmakeArgs="-r"/>
</module>
</layer>
</systemModel>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_definition.xml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<SystemDefinition schema="3.0.0" xmlns:qt="http://www.nokia.com/qt">
+ <package id="wirelessacc" name="Wireless Access" levels="framework generic ui">
+ <collection id="hsfw_plat" name="HotSpot Framework Platform Interfaces" level="ui">
+ <component id="hotspot_framework_client_api" name="HotSpot Framework Client API" class="api" filter="s60">
+ <meta rel="Api" href="hsfw_plat/hotspot_framework_client_api/hotspot_framework_client_api.metaxml"/>
+ <unit bldFile="hsfw_plat/hotspot_framework_client_api/group"/>
+ </component>
+ <component id="internet_connectivity_test_service_api" name="Internet Connectivity Test Service API" class="api" filter="s60">
+ <meta rel="Api" href="hsfw_plat/internet_connectivity_test_service_api/internet_connectivity_test_service_api.metaxml"/>
+ <unit bldFile="hsfw_plat/internet_connectivity_test_service_api/group"/>
+ </component>
+ <component id="internet_connectivity_test_service_settings_api" name="Internet Connectivity Test Service Settings API" class="api" filter="s60">
+ <meta rel="Api" href="hsfw_plat/internet_connectivity_test_service_settings_api/internet_connectivity_test_service_settings_api.metaxml"/>
+ <unit bldFile="hsfw_plat/internet_connectivity_test_service_settings_api/group"/>
+ </component>
+ <component id="hotspot_framework_client_plugin_api" name="HotSpot Framework Client Plugin API" class="api" filter="s60">
+ <meta rel="Api" href="hsfw_plat/hotspot_framework_client_plugin_api/hotspot_framework_client_plugin_api.metaxml"/>
+ <unit bldFile="hsfw_plat/hotspot_framework_client_plugin_api/group"/>
+ </component>
+ </collection>
+ <collection id="hotspotfw" name="HotSpot Framework" level="framework">
+ <!-- collection is really a component. Needs to move down a dir -->
+ <component id="hotspotfw_build" filter="s60" name="HotSpot Framework Build">
+ <unit bldFile="hotspotfw/group"/>
+ </component>
+ </collection>
+ <collection id="wlanutilities" name="WLAN Utilities" level="generic">
+ <component id="wlanqtutilities" filter="s60" name="WLAN Qt Utilities" introduced="^4">
+ <unit bldFile="wlanutilities/wlanqtutilities" qt:proFile="wlanqtutilities.pro"/>
+ </component>
+ <component id="eapwizard " filter="s60" name="EAP Wizard" introduced="^4">
+ <unit bldFile="wlanutilities/eapwizard" qt:proFile="eapwizard.pro"/>
+ </component>
+ <component id="wpswizard " filter="s60" name="WPS Wizard" introduced="^4">
+ <unit bldFile="wlanutilities/wpswizard" qt:proFile="wpswizard.pro"/>
+ </component>
+ <component id="wlanwizard " filter="s60" name="WLAN Wizard" introduced="^4">
+ <unit bldFile="wlanutilities/wlanwizard" qt:proFile="wlanwizard.pro"/>
+ </component>
+ <component id="wlansniffer" filter="s60" name="WLAN Sniffer">
+ <unit bldFile="wlanutilities/wlansniffer" qt:proFile="wlansniffer.pro"/>
+ </component>
+ <component id="wlanentryplugin" filter="s60" name="WLAN Entry Plugin" class="plugin">
+ <unit bldFile="wlanutilities/wlanentryplugin" qt:proFile="wlanentryplugin.pro"/>
+ </component>
+ <component id="wlanindicatorplugin" filter="s60" name="WLAN Indicator Plugin" class="plugin">
+ <unit bldFile="wlanutilities/wlanindicatorplugin" qt:proFile="wlanindicatorplugin.pro"/>
+ </component>
+ <component id="cpwlansettingsplugin" filter="s60" name="WLAN Settings Control Panel Plugin" class="plugin" introduced="^4">
+ <unit bldFile="wlanutilities/cpwlansettingsplugin" qt:proFile="cpwlansettingsplugin.pro"/>
+ </component>
+ <component id="wlanlogin" filter="s60" name="WLAN Login" introduced="^4">
+ <unit bldFile="wlanutilities/wlanlogin" qt:proFile="wlanlogin.pro"/>
+ </component>
+ </collection>
+ </package>
+</SystemDefinition>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/package_map.xml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,1 @@
+<PackageMap root="sf" layer="mw"/>
--- a/sysdef_1_4_0.dtd Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
- name CDATA #REQUIRED
- schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
- name CDATA #REQUIRED
- levels CDATA #IMPLIED
- span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
- name CDATA #REQUIRED
- level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
- unitID ID #REQUIRED
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- bldFile CDATA #REQUIRED
- priority CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
- name CDATA #REQUIRED
- mrp CDATA #REQUIRED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
- name CDATA #REQUIRED
- version CDATA #REQUIRED
- late (Y|N) #IMPLIED
- filter CDATA #IMPLIED
- contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
- name ID #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
- name ID #REQUIRED
- description CDATA #REQUIRED
- target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
- name ID #REQUIRED
- abldTarget CDATA #REQUIRED
- description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
- name ID #REQUIRED
- abldOption CDATA #REQUIRED
- description CDATA #REQUIRED
- enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
- name ID #REQUIRED
- description CDATA #REQUIRED
- filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
- command CDATA #REQUIRED
- targetList IDREFS #IMPLIED
- unitParallel (Y | N | y | n) #REQUIRED
- targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
- name CDATA #REQUIRED
- cwd CDATA #REQUIRED
- command CDATA #REQUIRED>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_5_1.dtd Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+ name CDATA #REQUIRED
+ schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+ name CDATA #REQUIRED
+ levels CDATA #IMPLIED
+ span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+ name CDATA #REQUIRED
+ level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+ unitID ID #REQUIRED
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ bldFile CDATA #REQUIRED
+ priority CDATA #IMPLIED
+ contract CDATA #IMPLIED
+ proFile CDATA #IMPLIED
+ qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+ name CDATA #REQUIRED
+ mrp CDATA #REQUIRED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+ name CDATA #REQUIRED
+ version CDATA #REQUIRED
+ late (Y|N) #IMPLIED
+ filter CDATA #IMPLIED
+ contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+ name ID #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+ name ID #REQUIRED
+ abldTarget CDATA #REQUIRED
+ description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+ name ID #REQUIRED
+ abldOption CDATA #REQUIRED
+ description CDATA #REQUIRED
+ enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+ name ID #REQUIRED
+ description CDATA #REQUIRED
+ filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+ command CDATA #REQUIRED
+ targetList IDREFS #IMPLIED
+ unitParallel (Y | N | y | n) #REQUIRED
+ targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+ name CDATA #REQUIRED
+ cwd CDATA #REQUIRED
+ command CDATA #REQUIRED>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wirelessacc.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2009-2010 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:
+# Qt project file for wirelessacc package.
+#
+
+TEMPLATE = subdirs
+
+CONFIG += ordered
+
+SUBDIRS += wlanutilities
+
+symbian {
+ BLD_INF_RULES.prj_exports += "$${LITERAL_HASH}include \"./group/bld.inf\""
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/cpwlansettingsplugin.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,68 @@
+#
+# Copyright (c) 2010 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:
+#
+
+TEMPLATE = lib
+TARGET = cpwlansettingsplugin
+CONFIG += hb plugin
+
+INCLUDEPATH += traces
+
+HEADERS += inc/cpwlansettingsplugin.h \
+ inc/cpwlansettingsgroupitemdata.h \
+ inc/wlansettings.h \
+ inc/wlansettings_s60_p.h \
+ traces/OstTraceDefinitions.h
+
+SOURCES += src/cpwlansettingsplugin.cpp \
+ src/cpwlansettingsgroupitemdata.cpp \
+ src/wlansettings.cpp \
+ src/wlansettings_s60.cpp
+
+TRANSLATIONS = cpwlansettingsplugin.ts
+
+LIBS += -lcpframework \
+ -lcentralrepository \
+ -lCOMMSDAT \
+ -lcmmanagerdatabase \
+ -lcmmanager \
+ -lecom \
+ -lxqsettingsmanager
+
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+symbian: {
+ MMP_RULES += "USERINCLUDE traces"
+}
+
+symbian: {
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.UID3 = 0x2002DC79
+
+ BLD_INF_RULES.prj_exports += "rom/cpwlansettingsplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwlansettingsplugin.iby)"
+ BLD_INF_RULES.prj_exports += "rom/cpwlansettingsplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(cpwlansettingsplugin_resources.iby)"
+}
+symbian {
+ deploy.path = C:
+ qtplugins.path = /resource/qt/plugins/controlpanel
+ qtplugins.sources += qmakepluginstubs/cpwlansettingsplugin.qtplugin
+
+ # This is for new exporting system coming in garden
+ for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+TARGET.CAPABILITY = CAP_GENERAL_DLL
+plugin.sources = cpwlansettingsplugin.dll
+plugin.path = /resource/qt/plugins/controlpanel
+DEPLOYMENT += plugin
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/cpwlansettingsgroupitemdata.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,96 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef WLANSETTINGSGROUPITEMDATA_H_
+#define WLANSETTINGSGROUPITEMDATA_H_
+
+// System includes
+
+#include <QObject>
+#include <QScopedPointer>
+#include <cpsettingformitemdata.h>
+#include <cpitemdatahelper.h>
+
+// User includes
+
+// Forward declarations
+
+class WlanSettings;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanSettingsGroupItemData: public CpSettingFormItemData
+{
+ Q_OBJECT
+
+public:
+ explicit CpWlanSettingsGroupItemData(CpItemDataHelper &itemDataHelper);
+
+ virtual ~CpWlanSettingsGroupItemData();
+
+private slots:
+ void scanItemChanged(const QString &text);
+
+ void powerSavingItemChanged(int index);
+
+ void joinWlanItemChanged(int index);
+
+ void scanSliderPressed();
+
+ void scanValueChanged(int value);
+
+ void scanSliderReleased();
+
+ void devicePowerSavingChanged();
+
+private:
+
+ Q_DISABLE_COPY(CpWlanSettingsGroupItemData)
+
+ void createScanIntervalItem();
+
+ void removeScanIntervalItem();
+
+ void initialise();
+
+ void createWlanSettingItems();
+
+private: // data
+
+ CpSettingFormItemData *mJoinWlanItem;
+ CpSettingFormItemData *mScanNetworkItem;
+ CpSettingFormItemData *mPowerSavingItem;
+ CpSettingFormItemData *mUserDefinedItem;
+
+ CpItemDataHelper &mItemDataHelper;
+
+ /*!
+ User defined scan interval. Not in use, while "Automatic" is
+ selected, but remembered so that it can be restored when
+ "User defined" mode is selected again.
+ */
+ int mUserDefinedScanInterval;
+
+ //! For loading and saving Wlan settings
+ QScopedPointer<WlanSettings> mWlanSettings;
+};
+
+#endif /* WLANSETTINGSGROUPITEMDATA_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/cpwlansettingsplugin.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,76 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef WLANSETTINGSPLUGIN_H_
+#define WLANSETTINGSPLUGIN_H_
+
+// System includes
+
+#include <QObject>
+#include <QScopedPointer>
+#include <cpplugininterface.h>
+
+// User includes
+
+// Forward declarations
+
+class HbTranslator;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanSettingsPlugin : public QObject, public CpPluginInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(CpPluginInterface)
+
+public:
+
+ // Data types
+
+ CpWlanSettingsPlugin();
+
+ virtual ~CpWlanSettingsPlugin();
+
+ virtual QList<CpSettingFormItemData*> createSettingFormItemData(
+ CpItemDataHelper &itemDataHelper) const;
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(CpWlanSettingsPlugin)
+
+private slots:
+
+private: // data
+
+ QScopedPointer<HbTranslator> mTranslator; //!< Translator for localisation
+
+ // Friend classes
+};
+
+#endif /* WLANSETTINGSPLUGIN_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/wlansettings.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef WLANSETTINGS_H_
+#define WLANSETTINGS_H_
+
+// System includes
+
+#include <QObject>
+
+// User includes
+
+// Forward declarations
+
+class CWlanSettingsPrivate;
+class XQSettingsManager;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSettings : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ enum ScanNetworkType {
+ EScanNetworkAuto = 0,
+ EScanNetworkUserDefined
+ };
+
+ static const uint ScanNetworkAuto = 0xFFFFFFFF;
+ static const uint ScanNetworkMin = 1;
+ static const uint ScanNetworkMax = 30;
+
+ WlanSettings();
+
+ ~WlanSettings();
+
+ int init();
+
+ int loadSettings();
+
+ ScanNetworkType scanNetworkType();
+
+ uint scanInterval();
+
+ int joinWlanMode() const;
+
+ int setJoinWlanMode(int mode);
+
+ bool isWlanPowerSavingEnabled() const;
+
+ bool isDevicePowerSavingEnabled();
+
+ int setWlanPowerSaving(int powerSavingOption);
+
+ int setWlanScanInterval(uint scanInterval);
+
+signals:
+
+ void devicePowerSavingUpdated();
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSettings)
+
+ void readDevicePowerSavingKey();
+
+private slots:
+
+ void devicePowerSavingKeyChanged();
+
+private: // data
+
+ //! Private Symbian specific implementation.
+ CWlanSettingsPrivate *d_ptr;
+
+ //! Settings manager for platform settings reading & status changes.
+ XQSettingsManager *mSettingsManager;
+
+ //! Device Power Saving Mode.
+ int mDevicePowerSavingMode;
+
+ //! Is mDevicePowerSavingMode up to date, or do we need to read it again?
+ bool mDevicePowerSavingModeUpToDate;
+};
+
+#endif /* WLANSETTINGS_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/wlansettings_s60_p.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+
+#ifndef WLANSETTINGS_S60_H_
+#define WLANSETTINGS_S60_H_
+
+// System includes
+
+#include <e32base.h>
+#include <wlancontainer.h>
+#include <centralrepository.h>
+#include <wlanmgmtclient.h>
+#include <cmgenconnsettings.h>
+
+// User includes
+
+// Forward declarations
+
+class WlanSettings;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CWlanSettingsPrivate : public CBase
+{
+public:
+
+ enum JoinWlanType {
+ EJoinWlanKnown = 0,
+ EJoinWlanManual
+ };
+
+ enum WlanOption {
+ EWlanPowerSaving = 0,
+ EWlanScanInterval
+ };
+
+ static CWlanSettingsPrivate* NewL(WlanSettings *q_ptr);
+
+ ~CWlanSettingsPrivate();
+
+ void LoadDBSettingsL();
+
+ void SaveDBSettingsL(TInt option);
+
+ TUint ScanInterval();
+
+ TBool PowerSaving();
+
+ TInt JoinWlanMode();
+
+ void SaveJoinWlanSettingL(TInt mode);
+
+ void SetScanInterval(TUint interval);
+
+ void SetPowerSaving(TBool powerSavingOption);
+
+private:
+
+ CWlanSettingsPrivate(WlanSettings *q_ptr);
+
+ void ConstructL();
+
+ void LoadJoinWlanSettingL();
+
+private: //data
+
+ //! Pointer to public implementation.
+ WlanSettings *q_ptr;
+
+ CommsDat::CMDBSession *mSession;
+
+ //Wlan management
+ CWlanMgmtClient *mWlanMgmtClient;
+
+ // Power saving.
+ TBool mPowerSaving;
+
+ // Scan networks interval in seconds. 0 for no scan, 0xFFFFFFFF for automatic.
+ TUint mScanInterval;
+
+ JoinWlanType mJoinWlanType;
+
+ //Struct to hold current settings
+ TCmGenConnSettings mCmSettings;
+};
+
+#endif /* WLANSETTINGS_S60_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/rom/cpwlansettingsplugin.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef CPWLANSETTINGPLUGIN_IBY
+#define CPWLANSETTINGPLUGIN_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+#include <bldvariant.hrh>
+
+file=ABI_DIR/BUILD_DIR/cpwlansettingsplugin.dll SHARED_LIB_DIR/cpwlansettingsplugin.dll
+data=/epoc32/data/c/resource/qt/plugins/controlpanel/cpwlansettingsplugin.qtplugin resource/qt/plugins/controlpanel/cpwlansettingsplugin.qtplugin
+
+#endif // CPWLANSETTINGPLUGIN_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/rom/cpwlansettingsplugin_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef CPWLANSETTINGPLUGIN_RESOURCES_IBY
+#define CPWLANSETTINGPLUGIN_RESOURCES_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+#include <bldvariant.hrh>
+
+//For localization resource
+data=DATAZ_/QT_TRANSLATIONS_DIR/cpwlansettingsplugin.qm QT_TRANSLATIONS_DIR/cpwlansettingsplugin.qm
+
+#endif // CPWLANSETTINGPLUGIN_RESOURCES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/cpwlansettingsgroupitemdata.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,425 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+
+// System includes
+
+#include <QStringList>
+#include <cpsettingformitemdata.h>
+
+// User includes
+
+#include "cpwlansettingsgroupitemdata.h"
+#include "wlansettings.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlansettingsgroupitemdataTraces.h"
+#endif
+
+/*!
+ \class CpWlanSettingsGroupItemData
+ \brief CpWlanSettingsGroupItemData class creates all widgets required for Manage
+ WLAN Settings.
+*/
+
+// External function prototypes
+
+// Local constants
+
+//! To Enable the setting of a widget propery. */
+static const int KEnableOption = 1;
+//! Maximum widgets allowed for this Item Data. */
+static const int KMaxWidgets = 4;
+//! Index of Slider widget for Scan Interval. */
+static const int KSliderIndex = 2;
+//! Default value for user defined scan interval
+static const int KDefaultUserDefinedScanInterval = 5;
+
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+CpWlanSettingsGroupItemData::CpWlanSettingsGroupItemData(
+ CpItemDataHelper &itemDataHelper) :
+ CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId(
+ "txt_occ_subhead_wlan_settings")),
+ mItemDataHelper(itemDataHelper)
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_ENTRY );
+
+ initialise();
+ createWlanSettingItems();
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_EXIT );
+}
+
+/*!
+ Destructor.
+*/
+
+CpWlanSettingsGroupItemData::~CpWlanSettingsGroupItemData()
+{
+ OstTraceFunctionEntry0( DUP1_CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_ENTRY );
+ OstTraceFunctionExit0( DUP1_CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_EXIT );
+}
+
+/*!
+ Initialises the member variables and reads the values of WLAN Settings.
+*/
+
+void CpWlanSettingsGroupItemData::initialise()
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_INITIALISE_ENTRY );
+
+ mWlanSettings.reset(new WlanSettings);
+
+ bool connectStatus = connect(
+ mWlanSettings.data(),
+ SIGNAL(devicePowerSavingUpdated()),
+ this,
+ SLOT(devicePowerSavingChanged()));
+ Q_ASSERT(connectStatus);
+
+ //Error needs to be handled.
+ int error = mWlanSettings->init();
+
+ //Error needs to be handled.
+ error = mWlanSettings->loadSettings();
+
+ mUserDefinedScanInterval = KDefaultUserDefinedScanInterval;
+ mUserDefinedItem = NULL;
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_INITIALISE_EXIT );
+}
+
+/*!
+ Creates the Widgets for displaying WLAN Settings.
+*/
+
+void CpWlanSettingsGroupItemData::createWlanSettingItems()
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_CREATEWLANSETTINGITEMS_ENTRY );
+
+ mJoinWlanItem = new CpSettingFormItemData(
+ HbDataFormModelItem::ComboBoxItem,
+ hbTrId("txt_occ_setlabel_join_wlan_networks"));
+ // name the object for test automation purposes
+ mJoinWlanItem->setObjectName("switchToWlan");
+
+ QStringList joinWlanItems;
+
+ joinWlanItems.append(
+ hbTrId("txt_occ_setlabel_join_wlan_networks_val_known"));
+
+ joinWlanItems.append(
+ hbTrId("txt_occ_setlabel_join_wlan_networks_val_manual"));
+
+ mJoinWlanItem->setContentWidgetData("items", joinWlanItems);
+
+ mItemDataHelper.addConnection(
+ mJoinWlanItem,
+ SIGNAL(currentIndexChanged (int)),
+ this,
+ SLOT(joinWlanItemChanged (int)));
+
+ mJoinWlanItem->setContentWidgetData(
+ "currentIndex",
+ mWlanSettings->joinWlanMode());
+
+ this->appendChild(mJoinWlanItem);
+
+ mScanNetworkItem = new CpSettingFormItemData(
+ HbDataFormModelItem::ComboBoxItem,
+ hbTrId("txt_occ_setlabel_scan_for_networks"));
+ // name the object for test automation purposes
+ mScanNetworkItem->setObjectName("scanNetworkItem");
+
+ QStringList scanNetworkItems;
+
+ scanNetworkItems.append(
+ hbTrId("txt_occ_setlabel_scan_for_networks_val_automatic"));
+
+ scanNetworkItems.append(
+ hbTrId("txt_occ_setlabel_scan_for_networks_val_userdefine"));
+
+ mScanNetworkItem->setContentWidgetData("items", scanNetworkItems);
+
+ mItemDataHelper.addConnection(
+ mScanNetworkItem,
+ SIGNAL(currentIndexChanged (const QString &)),
+ this,
+ SLOT(scanItemChanged (const QString &)));
+
+ this->appendChild(mScanNetworkItem);
+
+ WlanSettings::ScanNetworkType scanType = mWlanSettings->scanNetworkType();
+
+ mScanNetworkItem->setContentWidgetData("currentIndex", scanType);
+
+ //In case of PSM mode for device user-defined value is not
+ //allowed,make it automatic forcefully.
+ if (mWlanSettings->isDevicePowerSavingEnabled()) {
+ mScanNetworkItem->setContentWidgetData(
+ "currentIndex",
+ WlanSettings::EScanNetworkAuto);
+ mScanNetworkItem->setContentWidgetData("enabled", false);
+ } else if (scanType == WlanSettings::EScanNetworkUserDefined) {
+ createScanIntervalItem();
+ }
+
+ mPowerSavingItem = new CpSettingFormItemData(
+ HbDataFormModelItem::ComboBoxItem,
+ hbTrId("txt_occ_setlabel_power_saving"));
+ // name the object for test automation purposes
+ mPowerSavingItem->setObjectName("powerSaving");
+
+ QStringList powerSavingItems;
+
+ powerSavingItems.append(
+ hbTrId("txt_occ_setlabel_power_saving_val_disabled"));
+
+ powerSavingItems.append(
+ hbTrId("txt_occ_setlabel_power_saving_val_enabled"));
+
+ mPowerSavingItem->setContentWidgetData("items", powerSavingItems);
+
+ mPowerSavingItem->setContentWidgetData(
+ "currentIndex",
+ mWlanSettings->isWlanPowerSavingEnabled());
+
+ mItemDataHelper.addConnection(
+ mPowerSavingItem,
+ SIGNAL(currentIndexChanged (int)),
+ this,
+ SLOT(powerSavingItemChanged (int)));
+
+ this->appendChild(mPowerSavingItem);
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_CREATEWLANSETTINGITEMS_EXIT );
+}
+
+/*!
+ Creates the slider widget for displaying scan interval value.
+*/
+
+void CpWlanSettingsGroupItemData::createScanIntervalItem()
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_CREATESCANINTERVALITEM_ENTRY );
+
+ //Add Scan Interval Slider, if it doesn't already exist.
+ if (this->childCount() < KMaxWidgets) {
+ mUserDefinedItem = new CpSettingFormItemData(
+ HbDataFormModelItem::SliderItem,
+ hbTrId("txt_occ_setlabel_scan_interval_minutes"));
+
+ mUserDefinedItem->setContentWidgetData("maximum", WlanSettings::ScanNetworkMax);
+ mUserDefinedItem->setContentWidgetData("minimum", WlanSettings::ScanNetworkMin);
+ mUserDefinedItem->setContentWidgetData("toolTipVisible", KEnableOption);
+ mUserDefinedItem->setContentWidgetData("tracking", KEnableOption);
+
+ mItemDataHelper.addConnection(
+ mUserDefinedItem,
+ SIGNAL(valueChanged (int)),
+ this,
+ SLOT(scanValueChanged (int)));
+
+ mItemDataHelper.addConnection(
+ mUserDefinedItem,
+ SIGNAL(sliderReleased ()),
+ this,
+ SLOT(scanSliderReleased ()));
+
+ mItemDataHelper.addConnection(
+ mUserDefinedItem,
+ SIGNAL(sliderPressed ()),
+ this,
+ SLOT(scanSliderPressed ()));
+
+ int interval = mWlanSettings->scanInterval();
+ if (interval == WlanSettings::ScanNetworkAuto) {
+ interval = mUserDefinedScanInterval;
+ }
+ mUserDefinedItem->setContentWidgetData("value", interval);
+
+ this->insertChild(KSliderIndex, mUserDefinedItem);
+ }
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_CREATESCANINTERVALITEM_EXIT );
+}
+
+/*!
+ Removes the slider widget, if it exists.
+*/
+
+void CpWlanSettingsGroupItemData::removeScanIntervalItem()
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_REMOVESCANINTERVALITEM_ENTRY );
+
+ if (KMaxWidgets == this->childCount()) {
+ this->removeChild(KSliderIndex);
+ mUserDefinedItem = NULL; //removeChild() will delete the item.
+ }
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_REMOVESCANINTERVALITEM_EXIT );
+}
+
+/*!
+ Slot for handling pressed signal of scan interval slider widget.
+*/
+
+void CpWlanSettingsGroupItemData::scanSliderPressed()
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERPRESSED_ENTRY );
+
+ int interval = mWlanSettings->scanInterval();
+ if (interval == WlanSettings::ScanNetworkAuto) {
+ interval = mUserDefinedScanInterval;
+ }
+ mUserDefinedItem->setContentWidgetData(
+ "text",
+ QString("%1").arg(interval));
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERPRESSED_EXIT );
+}
+
+/*!
+ Slot for handling value changed signal of scan interval slider widget.
+*/
+
+void CpWlanSettingsGroupItemData::scanValueChanged(int value)
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_SCANVALUECHANGED_ENTRY );
+
+ mUserDefinedItem->setContentWidgetData("text",QString("%1").arg(value));
+ mUserDefinedScanInterval = value;
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_SCANVALUECHANGED_EXIT );
+}
+
+/*!
+ Slot for handling Released signal of scan interval slider widget.
+ Current value will be commited to database.
+*/
+
+void CpWlanSettingsGroupItemData::scanSliderReleased()
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERRELEASED_ENTRY );
+
+ mWlanSettings->setWlanScanInterval(mUserDefinedScanInterval);
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERRELEASED_EXIT );
+}
+
+/*!
+ Slot for handling item changed signal of Scan for network combo box widget.
+*/
+
+void CpWlanSettingsGroupItemData::scanItemChanged(const QString &text)
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_SCANITEMCHANGED_ENTRY );
+
+ if (hbTrId("txt_occ_setlabel_scan_for_networks_val_userdefine") == text) {
+ // User defined mode
+ mWlanSettings->setWlanScanInterval(mUserDefinedScanInterval);
+ createScanIntervalItem();
+ } else {
+ // Automatic mode
+ removeScanIntervalItem();
+ mWlanSettings->setWlanScanInterval(WlanSettings::ScanNetworkAuto);
+ }
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_SCANITEMCHANGED_EXIT );
+}
+
+/*!
+ Slot for handling item changed signal of Power saving combo box widget.
+*/
+
+void CpWlanSettingsGroupItemData::powerSavingItemChanged(int index)
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_POWERSAVINGITEMCHANGED_ENTRY );
+
+ mWlanSettings->setWlanPowerSaving(index);
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_POWERSAVINGITEMCHANGED_EXIT );
+}
+
+/*!
+ Slot for handling item changed signal of Join WLAN networks combo box widget.
+*/
+
+void CpWlanSettingsGroupItemData::joinWlanItemChanged(int index)
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_JOINWLANITEMCHANGED_ENTRY );
+
+ mWlanSettings->setJoinWlanMode(index);
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_JOINWLANITEMCHANGED_EXIT );
+}
+
+/*!
+ Slot for handling device power saving mode update signal.
+*/
+
+void CpWlanSettingsGroupItemData::devicePowerSavingChanged()
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSGROUPITEMDATA_DEVICEPOWERSAVINGCHANGED_ENTRY );
+
+ // Disconnect the handling of currentIndexChanged, because
+ // we will programmatically update the index in this function.
+ mItemDataHelper.removeConnection(
+ mScanNetworkItem,
+ SIGNAL(currentIndexChanged (const QString &)),
+ this,
+ SLOT(scanItemChanged (const QString &)));
+
+ if (mWlanSettings->isDevicePowerSavingEnabled()) {
+ // If device power saving mode is activated, force the scan
+ // setting to automatic, and disable the setting combo box
+ mScanNetworkItem->setContentWidgetData(
+ "currentIndex",
+ WlanSettings::EScanNetworkAuto);
+ mScanNetworkItem->setContentWidgetData("enabled", false);
+ removeScanIntervalItem();
+ } else {
+ // If device power saving mode is deactivated, enable the
+ // setting combo box, and make sure the setting is in the
+ // same mode it was before power saving mode was activated
+ mScanNetworkItem->setContentWidgetData("enabled", true);
+ if (mWlanSettings->scanNetworkType() ==
+ WlanSettings::EScanNetworkUserDefined) {
+ mScanNetworkItem->setContentWidgetData(
+ "currentIndex",
+ WlanSettings::EScanNetworkUserDefined);
+ createScanIntervalItem();
+ }
+ }
+
+ // Reconnect the handling of currentIndexChanged since we are
+ // done with the updates.
+ mItemDataHelper.addConnection(
+ mScanNetworkItem,
+ SIGNAL(currentIndexChanged (const QString &)),
+ this,
+ SLOT(scanItemChanged (const QString &)));
+
+ OstTraceFunctionExit0( CPWLANSETTINGSGROUPITEMDATA_DEVICEPOWERSAVINGCHANGED_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/cpwlansettingsplugin.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+// System includes
+
+#include <HbTranslator>
+#include <QScopedPointer>
+#include <cpitemdatahelper.h>
+#include <cpsettingformitemdata.h>
+
+// User includes
+
+#include "cpwlansettingsplugin.h"
+#include "cpwlansettingsgroupitemdata.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlansettingspluginTraces.h"
+#endif
+
+/*!
+ \class CpWlanSettingsPlugin
+ \brief CpWlanSettingsPlugin implements the WLAN Settings Control Panel Plugin
+ which will allow viewing/editing of Manage WLAN Settings.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+CpWlanSettingsPlugin::CpWlanSettingsPlugin() :
+ QObject(),
+ mTranslator(new HbTranslator("cpwlansettingsplugin"))
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_ENTRY );
+ OstTraceFunctionExit0( CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_EXIT );
+}
+
+/*!
+ Destructor.
+*/
+
+CpWlanSettingsPlugin::~CpWlanSettingsPlugin()
+{
+ OstTraceFunctionEntry0( DUP1_CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_ENTRY );
+ OstTraceFunctionExit0( DUP1_CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_EXIT );
+}
+
+/*!
+ Plugin function for creating the WLAN Settings form item data.
+*/
+
+QList<CpSettingFormItemData*> CpWlanSettingsPlugin::createSettingFormItemData(
+ CpItemDataHelper &itemDataHelper) const
+{
+ OstTraceFunctionEntry0( CPWLANSETTINGSPLUGIN_CREATESETTINGFORMITEMDATA_ENTRY );
+
+ QList<CpSettingFormItemData*> settingFormData;
+ settingFormData.append(new CpWlanSettingsGroupItemData(itemDataHelper));
+
+ OstTraceFunctionExit0( CPWLANSETTINGSPLUGIN_CREATESETTINGFORMITEMDATA_EXIT );
+ return settingFormData;
+
+}
+
+Q_EXPORT_PLUGIN2(cpwlansettingsplugin, CpWlanSettingsPlugin);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/wlansettings.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,302 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+// System includes
+
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <psmsrvdomaincrkeys.h>
+#include <psmtypes.h>
+
+// User includes
+
+#include "wlansettings_s60_p.h"
+#include "wlansettings.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansettingsTraces.h"
+#endif
+
+/*!
+ \class WlanSettings
+ \brief WlanSettings is a wrapper class for CWlanSettingsImpl.
+*/
+
+// External function prototypes
+
+// Local constants
+
+//! Device Power Saving Mode setting key
+static const XQSettingsKey devicePowerSavingKey(
+ XQSettingsKey::TargetCentralRepository,
+ KCRUidPowerSaveMode.iUid,
+ KPsmCurrentMode);
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanSettings::WlanSettings() :
+ QObject(),
+ mSettingsManager(new XQSettingsManager(this)),
+ mDevicePowerSavingMode(0),
+ mDevicePowerSavingModeUpToDate(false)
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_WLANSETTINGS_ENTRY );
+ OstTraceFunctionExit0( WLANSETTINGS_WLANSETTINGS_EXIT );
+}
+
+/*!
+ Destructor.
+*/
+
+WlanSettings::~WlanSettings()
+{
+ OstTraceFunctionEntry0( DUP1_WLANSETTINGS_WLANSETTINGS_ENTRY );
+
+ delete d_ptr;
+
+ OstTraceFunctionExit0( DUP1_WLANSETTINGS_WLANSETTINGS_EXIT );
+}
+
+/*!
+ Creates the CWlanSettingsImpl object for reading/writing settings.
+ \return Error code.
+*/
+
+int WlanSettings::init()
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_INIT_ENTRY );
+
+ // Listen for changes in the key value
+ bool connectStatus = connect(
+ mSettingsManager,
+ SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+ this,
+ SLOT(devicePowerSavingKeyChanged()));
+ Q_ASSERT(connectStatus);
+ mSettingsManager->startMonitoring(devicePowerSavingKey);
+
+ TRAPD(error,(d_ptr = CWlanSettingsPrivate::NewL(this)));
+
+ OstTraceFunctionExit0( WLANSETTINGS_INIT_EXIT );
+ return error;
+}
+
+/*!
+ Reads the value of the Device Power Saving Mode setting.
+*/
+
+void WlanSettings::readDevicePowerSavingKey()
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_READDEVICEPOWERSAVINGKEY_ENTRY );
+
+ mDevicePowerSavingMode =
+ mSettingsManager->readItemValue(devicePowerSavingKey).toInt();
+
+ mDevicePowerSavingModeUpToDate = true;
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSETTINGS_READDEVICEPOWERSAVINGKEY,
+ "WlanSettings::readDevicePowerSavingKey;powerSaving=%d",
+ mDevicePowerSavingMode );
+
+ OstTraceFunctionExit0( WLANSETTINGS_READDEVICEPOWERSAVINGKEY_EXIT );
+}
+
+/*!
+ Slot for handling updates in the Device Power Saving Mode setting.
+*/
+
+void WlanSettings::devicePowerSavingKeyChanged()
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_DEVICEPOWERSAVINGKEYCHANGED_ENTRY );
+
+ // Remember that we need to read the setting value again before
+ // using it, and notify UI of the change.
+ mDevicePowerSavingModeUpToDate = false;
+ emit devicePowerSavingUpdated();
+
+ OstTraceFunctionExit0( WLANSETTINGS_DEVICEPOWERSAVINGKEYCHANGED_EXIT );
+}
+
+/*!
+ Reads the WLAN setting values.
+ \return Error code.
+*/
+
+int WlanSettings::loadSettings()
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_LOADSETTINGS_ENTRY );
+
+ TRAPD(error, d_ptr->LoadDBSettingsL());
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSETTINGS_LOADSETTINGS,
+ "WlanSettings::loadSettings;error=%d",
+ error );
+
+ OstTraceFunctionExit0( WLANSETTINGS_LOADSETTINGS_EXIT );
+ return error;
+}
+
+/*!
+ Function to get the scan network type.
+ \return ScanNetworkType which is automatic or user-defined.
+*/
+
+WlanSettings::ScanNetworkType WlanSettings::scanNetworkType()
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_SCANNETWORKTYPE_ENTRY );
+
+ ScanNetworkType scanType;
+ if (d_ptr->ScanInterval() == ScanNetworkAuto) {
+ scanType = EScanNetworkAuto;
+ } else {
+ scanType = EScanNetworkUserDefined;
+ }
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSETTINGS_SCANNETWORKTYPE,
+ "WlanSettings::scanNetworkType;scanType=%d",
+ scanType );
+
+ OstTraceFunctionExit0( WLANSETTINGS_SCANNETWORKTYPE_EXIT );
+ return scanType;
+}
+
+/*!
+ Function to get the scan interval.
+ \return Scan interval in minutes.
+*/
+
+uint WlanSettings::scanInterval()
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_SCANINTERVAL_ENTRY );
+
+ uint scanInterval = d_ptr->ScanInterval();
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSETTINGS_SCANINTERVAL,
+ "WlanSettings::scanInterval;scanInterval=%u",
+ scanInterval );
+
+ OstTraceFunctionExit0( WLANSETTINGS_SCANINTERVAL_EXIT );
+ return scanInterval;
+}
+
+/*!
+ Function to get Wlan Power Saving Option.
+ \return True if Power Saving option is enabled, otherwise False.
+*/
+
+bool WlanSettings::isWlanPowerSavingEnabled() const
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_ISWLANPOWERSAVINGENABLED_ENTRY );
+ OstTraceFunctionExit0( WLANSETTINGS_ISWLANPOWERSAVINGENABLED_EXIT );
+ return d_ptr->PowerSaving();
+}
+
+/*!
+ Function to set Power Saving Option.
+ \param powerSavingOption True to enable or false to disable power saving option.
+ \return Error code.
+*/
+
+int WlanSettings::setWlanPowerSaving(int powerSavingOption)
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_SETWLANPOWERSAVING_ENTRY );
+
+ d_ptr->SetPowerSaving(powerSavingOption);
+ TRAPD(error, d_ptr->SaveDBSettingsL(CWlanSettingsPrivate::EWlanPowerSaving));
+
+ OstTraceFunctionExit0( WLANSETTINGS_SETWLANPOWERSAVING_EXIT );
+ return error;
+}
+
+/*!
+ Function to set Scan interval.
+ \param scanInterval Scan interval in minutes.
+ \return Error code.
+*/
+
+int WlanSettings::setWlanScanInterval(uint scanInterval)
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_SETWLANSCANINTERVAL_ENTRY );
+
+ d_ptr->SetScanInterval(scanInterval);
+ TRAPD(error, d_ptr->SaveDBSettingsL(CWlanSettingsPrivate::EWlanScanInterval));
+
+ OstTraceFunctionExit0( WLANSETTINGS_SETWLANSCANINTERVAL_EXIT );
+ return error;
+}
+
+/*!
+ Function to get Join WLAN networks option.
+ \return 0 for Known, 1 for Manual.
+*/
+
+int WlanSettings::joinWlanMode() const
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_JOINWLANMODE_ENTRY );
+ OstTraceFunctionExit0( WLANSETTINGS_JOINWLANMODE_EXIT );
+ return d_ptr->JoinWlanMode();
+}
+
+/*!
+ Function to set Join WLAN networks option.
+ \param mode 0 for Known, 1 for Manual.
+ \return Error code.
+*/
+
+int WlanSettings::setJoinWlanMode(int mode)
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_SETJOINWLANMODE_ENTRY );
+
+ TRAPD(error, d_ptr->SaveJoinWlanSettingL(mode));
+
+ OstTraceFunctionExit0( WLANSETTINGS_SETJOINWLANMODE_EXIT );
+ return error;
+}
+
+/*!
+ Function to get Power Saving status of the device.
+ \return True if Power Saving is enabled.
+*/
+
+bool WlanSettings::isDevicePowerSavingEnabled()
+{
+ OstTraceFunctionEntry0( WLANSETTINGS_ISDEVICEPOWERSAVINGENABLED_ENTRY );
+
+ if (!mDevicePowerSavingModeUpToDate) {
+ readDevicePowerSavingKey();
+ }
+ if (mDevicePowerSavingMode == EPsmsrvModeNormal) {
+ OstTraceFunctionExit0( WLANSETTINGS_ISDEVICEPOWERSAVINGENABLED_EXIT );
+ return false;
+ } else {
+ OstTraceFunctionExit0( DUP1_WLANSETTINGS_ISDEVICEPOWERSAVINGENABLED_EXIT );
+ return true;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/wlansettings_s60.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,406 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+// System includes
+
+#include <internetconnectivitycrkeys.h>
+#include <cmmanager.h>
+
+// User includes
+
+#include "wlansettings.h"
+#include "wlansettings_s60_p.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansettings_s60Traces.h"
+#endif
+
+/*!
+ \class CWlanSettingsPrivate
+ \brief CWlanSettingsPrivate is the actual implementation for
+ reading/writing WLAN Settings from/to database.
+*/
+
+// External function prototypes
+
+// Local constants
+/** Seconds per minute. */
+static const TInt KWlanSettingsSecondsInMinute = 60;
+/** Default "Scan Networks" setting. */
+static const TUint KWlanSettingsDefaultScanNetwork =
+ WlanSettings::ScanNetworkAuto;
+/** Default "Power saving" setting. */
+static const TBool KWlanSettingsDefaultPowerSaving = ETrue;
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Static NewL function for creating CWlanSettingsPrivate object.
+ \return Pointer to CWlanSettingsPrivate object.
+*/
+
+CWlanSettingsPrivate* CWlanSettingsPrivate::NewL(WlanSettings *q_ptr)
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_NEWL_ENTRY);
+
+ CWlanSettingsPrivate* impl = new ( ELeave ) CWlanSettingsPrivate(q_ptr);
+ CleanupStack::PushL( impl );
+ impl->ConstructL();
+ CleanupStack::Pop( impl );
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_NEWL_EXIT);
+ return impl;
+}
+
+/*!
+ Second phase Constructor.
+*/
+
+void CWlanSettingsPrivate::ConstructL()
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_CONSTRUCTL_ENTRY);
+
+ mSession = CMDBSession::NewL( KCDLatestVersion );
+
+#ifndef __WINS__
+ mWlanMgmtClient = CWlanMgmtClient::NewL();
+#endif
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_CONSTRUCTL_EXIT);
+}
+
+/*!
+ Constructor.
+*/
+
+CWlanSettingsPrivate::CWlanSettingsPrivate(WlanSettings *q_ptr) :
+ q_ptr(q_ptr),
+ mPowerSaving(KWlanSettingsDefaultPowerSaving),
+ mScanInterval(KWlanSettingsDefaultScanNetwork)
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_ENTRY);
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+
+CWlanSettingsPrivate::~CWlanSettingsPrivate()
+{
+ OstTraceFunctionEntry0(DUP1_CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_ENTRY);
+
+ delete mSession;
+#ifndef __WINS__
+ delete mWlanMgmtClient;
+#endif
+
+ OstTraceFunctionExit0(DUP1_CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_EXIT);
+}
+
+/*!
+ Function to load the WLAN Settings from CommsDB.
+*/
+
+void CWlanSettingsPrivate::LoadDBSettingsL()
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_LOADDBSETTINGSL_ENTRY);
+
+ TBool ownTransaction( EFalse );
+ if ( !mSession->IsInTransaction() ) {
+ ownTransaction = ETrue;
+ mSession->OpenTransactionL();
+ }
+ TMDBElementId tableId = 0;
+
+ tableId = CCDWlanDeviceSettingsRecord::TableIdL( *mSession );
+
+ CCDWlanDeviceSettingsRecord* record = new( ELeave )
+ CCDWlanDeviceSettingsRecord( tableId );
+ CleanupStack::PushL( record );
+
+ record->iWlanDeviceSettingsType = KWlanUserSettings;
+
+ if ( record->FindL( *mSession ) ) {
+ record->LoadL( *mSession );
+ }
+
+ // Read scan interval
+ OstTrace1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_LOADDBSETTINGSL_SCANINTERVAL,
+ "CWlanSettingsPrivate::LoadDBSettingsL ScanInterval;iBgScanInterval=%u",
+ record->iBgScanInterval );
+ OstTrace1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_LOADDBSETTINGSL_SAVEDSCANINTERVAL,
+ "CWlanSettingsPrivate::LoadDBSettingsL SavedScanInterval;iSavedBgScanInterval=%u",
+ record->iSavedBgScanInterval );
+ mScanInterval = record->iSavedBgScanInterval;
+ //Safe check for scan interval, control should not come here.
+ if (mScanInterval > (WlanSettings::ScanNetworkMax
+ * KWlanSettingsSecondsInMinute)) {
+ mScanInterval = WlanSettings::ScanNetworkAuto;
+ }
+
+ // Read power saving mode
+ mPowerSaving = record->iWlanPowerMode;
+ OstTraceExt1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_LOADDBSETTINGSL_POWERSAVE,
+ "CWlanSettingsPrivate::LoadDBSettingsL PowerSave;mPowerSaving=%hhu",
+ mPowerSaving );
+
+ CleanupStack::PopAndDestroy( record );
+
+ if ( ownTransaction ) {
+ mSession->CommitTransactionL();
+ // Rollback operation.
+ }
+
+ //To Load CM Settings.
+ LoadJoinWlanSettingL();
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_LOADDBSETTINGSL_EXIT);
+}
+
+/*!
+ Function to load the Join WLAN networks Setting from CMManager.
+*/
+
+void CWlanSettingsPrivate::LoadJoinWlanSettingL()
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_LOADJOINWLANSETTINGL_ENTRY);
+
+ RCmManager CmManager;
+ CmManager.CreateTablesAndOpenL();
+ CleanupClosePushL(CmManager);
+ CmManager.ReadGenConnSettingsL( mCmSettings );
+ CleanupStack::PopAndDestroy( 1 ); //CmManager
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_LOADJOINWLANSETTINGL_EXIT);
+}
+
+/*!
+ Function to write the Join WLAN networks Setting using CMManager.
+*/
+
+void CWlanSettingsPrivate::SaveJoinWlanSettingL(TInt mode)
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_SAVEJOINWLANSETTINGL_ENTRY);
+
+ switch ( mode ) {
+ case EJoinWlanKnown:
+ mCmSettings.iUsageOfWlan = ECmUsageOfWlanKnown;
+ break;
+
+ case EJoinWlanManual:
+ mCmSettings.iUsageOfWlan = ECmUsageOfWlanManual;
+ break;
+
+ default:
+ break;
+ }
+
+ RCmManager CmManager;
+ CmManager.CreateTablesAndOpenL();
+ CleanupClosePushL(CmManager);
+ CmManager.WriteGenConnSettingsL( mCmSettings );
+ CleanupStack::PopAndDestroy( 1 );
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_SAVEJOINWLANSETTINGL_EXIT);
+}
+
+/*!
+ Function to get the Join WLAN network setting.
+ \return 0 for Known, 1 for Manual.
+*/
+
+TInt CWlanSettingsPrivate::JoinWlanMode()
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_JOINWLANMODE_ENTRY);
+
+ TInt mode = 0;
+
+ switch ( mCmSettings.iUsageOfWlan ) {
+ case ECmUsageOfWlanKnown:
+ mode = EJoinWlanKnown;
+ break;
+
+ case ECmUsageOfWlanManual:
+ mode = EJoinWlanManual;
+ break;
+
+ default:
+ break;
+ }
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_JOINWLANMODE_EXIT);
+ return mode;
+}
+
+/*!
+ Function to write the WLAN Settings to CommsDb.
+*/
+
+void CWlanSettingsPrivate::SaveDBSettingsL(TInt option)
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_SAVEDBSETTINGSL_ENTRY);
+
+ TBool ownTransaction( EFalse );
+ if ( !mSession->IsInTransaction() ) {
+ ownTransaction = ETrue;
+ mSession->OpenTransactionL();
+ }
+ TMDBElementId tableId = 0;
+ tableId = CCDWlanDeviceSettingsRecord::TableIdL( *mSession );
+
+ CCDWlanDeviceSettingsRecord* record = new( ELeave )
+ CCDWlanDeviceSettingsRecord( tableId );
+
+ CleanupStack::PushL( record );
+
+ record->iWlanDeviceSettingsType = KWlanUserSettings;
+
+ if ( record->FindL( *mSession ) ) {
+ record->LoadL( *mSession );
+ }
+
+ switch (option) {
+ case EWlanScanInterval:
+ record->iBgScanInterval = mScanInterval;
+ if (!q_ptr->isDevicePowerSavingEnabled()) {
+ record->iSavedBgScanInterval = mScanInterval;
+ }
+ OstTrace1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_SAVEDBSETTINGSL_SCANINTERVAL,
+ "CWlanSettingsPrivate::SaveDBSettingsL ScanInterval;iBgScanInterval=%u",
+ record->iBgScanInterval );
+ OstTrace1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_SAVEDBSETTINGSL_SAVEDSCANINTERVAL,
+ "CWlanSettingsPrivate::SaveDBSettingsL SavedScanInterval;iSavedBgScanInterval=%u",
+ record->iSavedBgScanInterval );
+ break;
+
+ case EWlanPowerSaving:
+ OstTraceExt1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_SAVEDBSETTINGSL_POWERSAVING,
+ "CWlanSettingsPrivate::SaveDBSettingsL PowerSaving;mPowerSaving=%hhu",
+ mPowerSaving );
+
+ record->iWlanPowerMode = mPowerSaving;
+ break;
+
+ default:
+ break;
+ }
+
+ // Whenever settings are modified, iUseDefaultSettings must be set to false.
+ record->iUseDefaultSettings = EFalse;
+
+ record->ModifyL( *mSession );
+
+ CleanupStack::PopAndDestroy( record );
+ if ( ownTransaction ) {
+ mSession->CommitTransactionL();
+ }
+
+#ifndef __WINS__
+ // Notifying WLAN Engine about changes in settings
+ mWlanMgmtClient->NotifyChangedSettings();
+#endif
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_SAVEDBSETTINGSL_EXIT);
+}
+
+/*!
+ Function to get the scan interval.
+ \return Scan interval in minutes.
+*/
+
+TUint CWlanSettingsPrivate::ScanInterval()
+{
+ TUint retVal;
+ if ( mScanInterval == WlanSettings::ScanNetworkAuto ) {
+ retVal = mScanInterval;
+ } else {
+ // Return scan time in minutes
+ retVal = mScanInterval / KWlanSettingsSecondsInMinute;
+ }
+
+ OstTrace1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_SCANINTERVAL,
+ "CWlanSettingsPrivate::ScanInterval;retVal=%u",
+ retVal );
+
+ return retVal;
+}
+
+/*!
+ Function to get Power Saving Option.
+ \return True if Power Saving option is enabled, otherwise False.
+*/
+
+TBool CWlanSettingsPrivate::PowerSaving()
+{
+ OstTraceExt1(
+ TRACE_NORMAL,
+ CWLANSETTINGSPRIVATE_POWERSAVING,
+ "CWlanSettingsPrivate::PowerSaving;mPowerSaving=%hhx",
+ mPowerSaving );
+
+ return mPowerSaving;
+}
+
+/*!
+ Function to set Scan interval.
+ \param interval Scan interval in minutes.
+*/
+
+void CWlanSettingsPrivate::SetScanInterval(TUint interval)
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_SETSCANINTERVAL_ENTRY);
+
+ if ( interval == WlanSettings::ScanNetworkAuto ) {
+ mScanInterval = interval;
+ }
+ else {
+ // Scan time stored in seconds
+ mScanInterval = interval * KWlanSettingsSecondsInMinute;
+ }
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_SETSCANINTERVAL_EXIT);
+}
+
+/*!
+ Function to set Power Saving Option.
+ \param powerSavingOption True to enable or false to disable power saving option.
+*/
+
+void CWlanSettingsPrivate::SetPowerSaving(TBool powerSavingOption)
+{
+ OstTraceFunctionEntry0(CWLANSETINGPRIVATE_SETPOWERSAVING_ENTRY);
+
+ mPowerSaving = powerSavingOption;
+
+ OstTraceFunctionExit0(CWLANSETINGPRIVATE_SETPOWERSAVING_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/main.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include "wlansettingstest.h"
+
+
+int main(int /*argc*/, char *argv[])
+{
+ WlanSettingsTest* test = new WlanSettingsTest;
+
+ //Save test reults to a file
+ char *pass[3];
+ pass[0] = argv[0];
+ pass[1] = "-o";
+ pass[2] = "c:\\data\\WlanSettingsTest.txt";
+
+ int res = QTest::qExec(test, 3, pass);
+
+ delete test;
+ return res;
+}
+
+#include "moc_wlansettingstest.cpp"
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+
+#include "wlansettingstest.h"
+
+//constructor
+WlanSettingsTest::WlanSettingsTest()
+{
+ mSecuritySettings.reset(new WlanSettings);
+
+ //Initialise the wlansettings
+ mSecuritySettings->init();
+}
+
+
+//Test Scenario : 1
+void WlanSettingsTest::test_setWlanPowerMode()
+{
+ int powerSavingOption(ETrue);
+
+ int error = mSecuritySettings->setWlanPowerSaving(powerSavingOption);
+
+ QVERIFY(error == KErrNone);
+}
+
+/////////////////////////////////////////Manual WLan joining Mode//////////////////////////////////////////////////
+
+//Test Scenario : 2
+void WlanSettingsTest::test_CheckJoinWlanModeManual()
+{
+ mJoinWlanMode = WlanSettings::EScanNetworkUserDefined;
+ int error = mSecuritySettings->setJoinWlanMode(mJoinWlanMode);
+
+ QVERIFY(error == KErrNone);
+
+ //Load the Settings
+ int loadError = mSecuritySettings->loadSettings();
+ QVERIFY(loadError == KErrNone);
+
+ //Verify Mode
+ int mode = mSecuritySettings->joinWlanMode();
+ QVERIFY(mode == mJoinWlanMode );
+}
+
+/////////////////////////////////////////User-defined Scan Interval/////////////////////////////////////
+//Test Scenario : 3
+void WlanSettingsTest::test_CheckWlanScanIntervalManual()
+{
+
+ mScanIntervalManual = 16;
+
+ //Set some user-defined Interval
+ int setError = mSecuritySettings->setWlanScanInterval(mScanIntervalManual);
+ QVERIFY(setError == KErrNone);
+
+ //Load the Settings
+ int loadError = mSecuritySettings->loadSettings();
+ QVERIFY(loadError == KErrNone);
+
+ //Check if the interval set is right
+ uint scanIntervalset = mSecuritySettings->scanInterval();
+ QVERIFY(scanIntervalset == mScanIntervalManual);
+
+ //Verify the Network type, based on the scan interval set
+ int networkType = mSecuritySettings->scanNetworkType();
+ QVERIFY(networkType == WlanSettings::EScanNetworkUserDefined);
+
+}
+
+
+//////////////////////////////////////////Automatic WLAN joining Mode///////////////////////////////////////////
+
+//Test Scenario : 4
+void WlanSettingsTest::test_CheckJoinWlanModeAuto()
+{
+ mJoinWlanMode = WlanSettings::EScanNetworkAuto;
+ int error = mSecuritySettings->setJoinWlanMode(mJoinWlanMode);
+
+ QVERIFY(error == KErrNone);
+
+
+ //Load the Settings
+ int loadError = mSecuritySettings->loadSettings();
+ QVERIFY(loadError == KErrNone);
+
+
+ //Verify Mode
+ int mode = mSecuritySettings->joinWlanMode();
+ QVERIFY(mode == mJoinWlanMode );
+
+}
+
+///////////////////////////////////////Automatic Scan Interval/////////////////////////////////////////
+//Test Scenario : 5
+void WlanSettingsTest::test_CheckWlanScanIntervalAuto()
+{
+ uint KDefaultScanInterval(5);
+
+ mScanIntervalAuto = WlanSettings::ScanNetworkAuto;
+
+ //Set the Auto Interval
+ int setError = mSecuritySettings->setWlanScanInterval(mScanIntervalAuto);
+ QVERIFY(setError == KErrNone);
+
+ //Load the Settings
+ int loadError = mSecuritySettings->loadSettings();
+ QVERIFY(loadError == KErrNone);
+
+ //Check the Auto Interval
+ uint scanIntervalset = mSecuritySettings->scanInterval();
+ QVERIFY(scanIntervalset == KDefaultScanInterval );
+
+ //Verify the Network type, based on the scan interval set
+ int networkType = mSecuritySettings->scanNetworkType();
+ QVERIFY(networkType == WlanSettings::EScanNetworkAuto);
+}
+
+//Test Scenario : 6
+void WlanSettingsTest::test_CheckManualIntervalValidity()
+{
+ uint KDefaultScanInterval(5);
+ //Invalid User defined Interval
+ mScanIntervalManual = 45;
+
+ int setError = mSecuritySettings->setWlanScanInterval(mScanIntervalManual);
+ QVERIFY(setError == KErrNone);
+
+ //Load the Settings
+ int loadError = mSecuritySettings->loadSettings();
+ QVERIFY(loadError == KErrNone);
+
+ //Validate ;When User-defined Interval is invalid,Auto Interval should have been set
+ uint scanIntervalset = mSecuritySettings->scanInterval();
+ QVERIFY(scanIntervalset == KDefaultScanInterval);
+
+}
+
+//Test Scenario : 7
+void WlanSettingsTest::test_CheckWlanPowerSavingMode()
+{
+ int wlanPowerSavingMode(ETrue);
+
+ int setError = mSecuritySettings->setWlanPowerSaving(wlanPowerSavingMode);
+ QVERIFY(setError == KErrNone);
+
+ //Verify Power saving mode parameter
+ int powerSavingMode = mSecuritySettings->isWlanPowerSavingEnabled();
+ QVERIFY(powerSavingMode == wlanPowerSavingMode);
+}
+
+//Delete data members
+WlanSettingsTest::~WlanSettingsTest()
+{
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef WLANSETTINGSTEST_H_
+#define WLANSETTINGSTEST_H_
+
+
+#include <QtTest/QtTest>
+#include <QScopedPointer>
+#include "wlansettings.h"
+
+class WlanSettingsTest: public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanSettingsTest();
+ ~WlanSettingsTest();
+
+private slots:
+ void test_setWlanPowerMode();
+
+ void test_CheckJoinWlanModeManual();
+
+ void test_CheckWlanScanIntervalManual();
+
+ void test_CheckJoinWlanModeAuto();
+
+ void test_CheckWlanScanIntervalAuto();
+
+ void test_CheckManualIntervalValidity();
+
+ void test_CheckWlanPowerSavingMode();
+
+private: //data
+
+ QScopedPointer<WlanSettings> mSecuritySettings;
+ uint mScanIntervalAuto;
+ uint mScanIntervalManual;
+ int mJoinWlanMode;
+
+};
+
+
+#endif /* WLANSETTINGSTEST_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.loc Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,13 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-03-03T16:18:22
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#ifdef LANGUAGE_SC
+#define STRING_r_short_caption "wlansettingstest"
+#define STRING_r_caption "wlansettingstest"
+#else
+#define STRING_r_short_caption "wlansettingstest"
+#define STRING_r_caption "wlansettingstest"
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2010 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:
+#
+
+TEMPLATE = app
+TARGET = wlansettingstest
+QT += core \
+ gui
+HEADERS += wlansettingstest.loc \
+ ../inc/wlansettings.h \
+ ../inc/wlansettings_s60_p.h \
+ ../traces/OstTraceDefinitions.h \
+ wlansettingstest.h
+
+SOURCES += wlansettingstest.cpp \
+ wlansettingstest.rss \
+ wlansettingstest_reg.rss \
+ main.cpp \
+ ../src/wlansettings.cpp \
+ ../src/wlansettings_s60.cpp
+
+FORMS +=
+RESOURCES +=
+symbian:TARGET.UID3 = 0xE05A6280
+
+TARGET.CAPABILITY = All -TCB
+
+CONFIG += qtestlib
+LIBS += -lCOMMSDAT \
+ -lcommdb \
+ -lcpframework \
+ -lCOMMSDAT \
+ -lcmmanagerdatabase \
+ -lcmmanager \
+ -lecom \
+ -lxqsettingsmanager
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.rss Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-03-03T16:18:22
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <appinfo.rh>
+#include <wlansettingstest.loc>
+
+RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
+ {
+ short_caption = STRING_r_short_caption;
+ caption_and_icon =
+ CAPTION_AND_ICON_INFO
+ {
+ caption = STRING_r_caption;
+ number_of_icons = 0;
+ icon_file = "";
+ };
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest_reg.rss Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,18 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-03-03T16:18:22
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <wlansettingstest.rsg>
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xE05A6280
+
+RESOURCE APP_REGISTRATION_INFO
+ {
+ app_file="wlansettingstest";
+ localisable_resource_file="\\resource\\apps\\wlansettingstest";
+
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/bwins/eapwizardu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,17 @@
+EXPORTS
+ ?tr@EapWizard@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString EapWizard::tr(char const *, char const *, int)
+ ?staticMetaObject@EapWizard@@2UQMetaObject@@B @ 2 NONAME ; struct QMetaObject const EapWizard::staticMetaObject
+ ?qt_metacast@EapWizard@@UAEPAXPBD@Z @ 3 NONAME ; void * EapWizard::qt_metacast(char const *)
+ ?tr@EapWizard@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString EapWizard::tr(char const *, char const *)
+ ?getStaticMetaObject@EapWizard@@SAABUQMetaObject@@XZ @ 5 NONAME ; struct QMetaObject const & EapWizard::getStaticMetaObject(void)
+ ??0EapWizard@@QAE@PAVWlanWizardHelper@@@Z @ 6 NONAME ; EapWizard::EapWizard(class WlanWizardHelper *)
+ ?trUtf8@EapWizard@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString EapWizard::trUtf8(char const *, char const *)
+ ??1EapWizard@@UAE@XZ @ 8 NONAME ; EapWizard::~EapWizard(void)
+ ?metaObject@EapWizard@@UBEPBUQMetaObject@@XZ @ 9 NONAME ; struct QMetaObject const * EapWizard::metaObject(void) const
+ ?summary@EapWizard@@UAE_NW4Summary@WlanWizardPlugin@@AAVQString@@1@Z @ 10 NONAME ; bool EapWizard::summary(enum WlanWizardPlugin::Summary, class QString &, class QString &)
+ ?qt_metacall@EapWizard@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 11 NONAME ; int EapWizard::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?trUtf8@EapWizard@@SA?AVQString@@PBD0H@Z @ 12 NONAME ; class QString EapWizard::trUtf8(char const *, char const *, int)
+ ?errorString@EapWizard@@UAE?AVQString@@H@Z @ 13 NONAME ; class QString EapWizard::errorString(int)
+ ?storeSettings@EapWizard@@UAE_NXZ @ 14 NONAME ; bool EapWizard::storeSettings(void)
+ ??_EEapWizard@@UAE@I@Z @ 15 NONAME ; EapWizard::~EapWizard(unsigned int)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/eabi/eapwizardu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,20 @@
+EXPORTS
+ _ZN9EapWizard11errorStringEi @ 1 NONAME
+ _ZN9EapWizard11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+ _ZN9EapWizard11qt_metacastEPKc @ 3 NONAME
+ _ZN9EapWizard13storeSettingsEv @ 4 NONAME
+ _ZN9EapWizard16staticMetaObjectE @ 5 NONAME DATA 16
+ _ZN9EapWizard19getStaticMetaObjectEv @ 6 NONAME
+ _ZN9EapWizard7summaryEN16WlanWizardPlugin7SummaryER7QStringS3_ @ 7 NONAME
+ _ZN9EapWizardC1EP16WlanWizardHelper @ 8 NONAME
+ _ZN9EapWizardC2EP16WlanWizardHelper @ 9 NONAME
+ _ZN9EapWizardD0Ev @ 10 NONAME
+ _ZN9EapWizardD1Ev @ 11 NONAME
+ _ZN9EapWizardD2Ev @ 12 NONAME
+ _ZNK9EapWizard10metaObjectEv @ 13 NONAME
+ _ZTI9EapWizard @ 14 NONAME
+ _ZTV9EapWizard @ 15 NONAME
+ _ZThn8_N9EapWizard11errorStringEi @ 16 NONAME
+ _ZThn8_N9EapWizard13storeSettingsEv @ 17 NONAME
+ _ZThn8_N9EapWizard7summaryEN16WlanWizardPlugin7SummaryER7QStringS3_ @ 18 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/eapwizard.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,93 @@
+#
+# Copyright (c) 2010 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:
+# EAP Settings Wizard plugin for WLAN Wizard
+#
+
+TEMPLATE = lib
+TARGET = eapwizard
+
+DEFINES += BUILD_EAP_WIZARD_DLL
+
+VERSION = 0.0.1
+
+CONFIG += hb
+
+MOC_DIR = build
+RCC_DIR = build
+
+RESOURCES += resources/eapwizard_resource.qrc
+
+DOCML += \
+ resources/occ_eap_wizard_01_02_04.docml \
+ resources/occ_eap_wizard_03.docml \
+ resources/occ_eap_wizard_05_07.docml \
+ resources/occ_eap_wizard_06.docml \
+ resources/occ_eap_wizard_08.docml
+
+TRANSLATIONS = eapwizard.ts
+
+HEADERS += \
+ inc/eapwizard.h \
+ inc/eapwizard_p.h \
+ inc/eapwizardpage.h \
+ inc/eapwizardpagecertca.h \
+ inc/eapwizardpagecertuser.h \
+ inc/eapwizardpageidentity.h \
+ inc/eapwizardpageinnertype.h \
+ inc/eapwizardpagenewpacstore.h \
+ inc/eapwizardpageoutertype.h \
+ inc/eapwizardpagepacstorepasswordconfirm.h \
+ inc/eapwizardpageusernamepassword.h
+
+SOURCES += \
+ src/eapwizard.cpp \
+ src/eapwizard_p.cpp \
+ src/eapwizardpage.cpp \
+ src/eapwizardpagecertca.cpp \
+ src/eapwizardpagecertuser.cpp \
+ src/eapwizardpageidentity.cpp \
+ src/eapwizardpageinnertype.cpp \
+ src/eapwizardpagenewpacstore.cpp \
+ src/eapwizardpageoutertype.cpp \
+ src/eapwizardpagepacstorepasswordconfirm.cpp \
+ src/eapwizardpageusernamepassword.cpp
+
+LIBS += -leapqtconfiginterface -leapqtplugininfo
+
+INCLUDEPATH += \
+ inc \
+ ../inc
+
+symbian {
+ TARGET.UID3 = 0x2002C2FE
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.EPOCALLOWDLLDATA = 1
+
+ # Location of directories for def files
+ defFilePath = .
+
+ # OST trace system requires traces directory to be in USERINCLUDES
+ MMP_RULES += "USERINCLUDE traces"
+
+ BLD_INF_RULES.prj_exports += \
+ "rom/eapwizard.iby CORE_MW_LAYER_IBY_EXPORT_PATH(eapwizard.iby)"
+
+ BLD_INF_RULES.prj_exports += \
+ "rom/eapwizard_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(eapwizard_resources.iby)"
+
+ # interface of eapwizard
+ BLD_INF_RULES.prj_exports += "inc/eapwizard.h |../inc/eapwizard.h"
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizard.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard API
+ *
+ */
+
+#ifndef EAPWIZARD_H
+#define EAPWIZARD_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wlanwizardplugin.h"
+
+// Forward declarations
+class WlanWizardHelper;
+class EapWizardPrivate;
+class TestWlanWizardContext;
+
+// External data types
+
+// Constants
+#ifdef BUILD_EAP_WIZARD_DLL
+#define EAP_WIZARD_EXPORT Q_DECL_EXPORT
+#else
+#define EAP_WIZARD_EXPORT Q_DECL_IMPORT
+#endif
+
+/*!
+ * @addtogroup group_eap_wizard
+ * @{
+ */
+
+// Class declaration
+
+class EAP_WIZARD_EXPORT EapWizard : public QObject, public WlanWizardPlugin
+{
+ Q_OBJECT
+
+public:
+ explicit EapWizard(WlanWizardHelper *wizardHelper);
+ ~EapWizard();
+
+public: // From WlanWizardPlugin
+ virtual bool summary(WlanWizardPlugin::Summary sum, QString &item, QString &value);
+ virtual bool storeSettings();
+ virtual QString errorString(int errorCode);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizard)
+
+private slots:
+
+private: // data
+ QScopedPointer<EapWizardPrivate> d_ptr;
+
+ // Friend classes
+ friend class EapWizardPrivate;
+ friend class TestWlanWizardContext;
+};
+
+/*! @} */
+
+#endif /* EAPWIZARD_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizard_p.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,183 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard: Private implementation.
+ *
+ */
+
+#ifndef EAPWIZARD_P_H
+#define EAPWIZARD_P_H
+
+// System includes
+#include <QObject>
+#include <QHash>
+
+// User includes
+#include "wlanwizardplugin.h"
+
+// Forward declarations
+class HbTranslator;
+class HbStackedWidget;
+class HbWidget;
+class HbLabel;
+class HbView;
+class HbAction;
+class HbDocumentLoader;
+class WlanWizardHelper;
+class EapWizardPage;
+class EapQtConfigInterface;
+class EapQtPluginHandle;
+class EapQtConfig;
+class EapWizard;
+class TestWlanWizardContext;
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPrivate : public QObject
+{
+ Q_OBJECT
+public:
+ /*!
+ Enumerator for internal EAP configuration cache. This cache is used to
+ store user input and selections. see configurations() and
+ setConfigurations() for howto access the configurations.
+
+ Below is descripted which configuration can be used with a specific EAP
+ type.
+ EAP-TTLS & EAP-PEAP & EAP-TLS
+ - CertificateCa
+ - TunnelUsernameAutomatic
+ - TunnelUsername
+ - TunnelRealmAutomatic
+ - TunnelRealm
+
+ EAP-TTLS & EAP-PEAP & EAP-FAST
+ - InnerType
+
+ EAP-TLS
+ - CertificateUser
+
+ EAP-FAST
+ - PacStorePassword
+ - PacStoreState
+
+ LEAP, PAP, EAP-GTC, EAP/Plain-MSChapv2
+ - Username
+ - Password
+
+ PAP, EAP-GTC, EAP/Plain-MSChapv2
+ - OuterType
+
+ Remember to update trace.properties upon changes.
+ */
+ enum ConfigurationId
+ {
+ //! EapQtPluginHandle::Plugin (int), EAP outer type
+ OuterType = 0,
+ //! EapQtPluginHandle::Plugin (int), EAP inner type
+ InnerType = 1,
+ //! CertificateInformation, NULL: automatic, CA Certificate
+ CertificateCa = 2,
+ //! CertificateInformation, User Certificate
+ CertificateUser = 3,
+ //! bool, automatic username for EAP identify (outer type)
+ TunnelUsernameAutomatic = 4,
+ //! QString, username for EAP identify (outer type)
+ TunnelUsername = 5,
+ //! bool, automatic realm for EAP identify (outer type)
+ TunnelRealmAutomatic = 6,
+ //! QString, realm for EAP identify (outer type)
+ TunnelRealm = 7,
+ //! QString, username for inner methods or for LEAP
+ Username = 8,
+ //! QString, password for inner methods or for LEAP
+ Password = 9,
+ //! QString, PAC store password
+ PacStorePassword = 10,
+ //! EapQtPacStoreConfig::PacStoreState (int), PAC store state
+ PacStoreState = 11,
+ };
+
+public:
+ explicit EapWizardPrivate(WlanWizardHelper *wizardHelper);
+ ~EapWizardPrivate();
+
+public: // From WlanWizardPlugin
+ bool summary(WlanWizardPlugin::Summary sum, QString &item, QString &value);
+ bool storeSettings();
+ QString errorString(int errorCode);
+
+public:
+ QVariant configurations(ConfigurationId confId) const;
+ void setConfigurations(ConfigurationId confId, const QVariant &value);
+ EapQtConfigInterface* eapConfigurationInterface() const;
+ QString eapTypeToString(int id) const;
+ WlanWizardHelper *wizardHelper() const;
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPrivate)
+ void createPages();
+ bool hasInnerMethod() const;
+ void handleTlsMethodsSettings(
+ EapQtConfig &eapConf,
+ EapQtPluginHandle &outerType);
+
+ bool handleEapFastSettings(EapQtConfig &eapConf);
+
+ void handleEapAkaSimSettings(EapQtConfig &eapConf);
+
+ void handleLeapSettings(EapQtConfig &eapConf);
+
+ bool storeOuterTypeSettings(EapQtPluginHandle &outerType);
+
+ bool storeInnerTypeSettings(EapQtPluginHandle &outerType);
+
+private slots:
+
+private: // data
+ // NOT owned pointers
+ //! Wizard framework services (WLAN Wizard Plugin API)
+ WlanWizardHelper *mWizardHelper;
+
+ // Owned pointers
+ //! Translator
+ QScopedPointer<HbTranslator> mTranslator;
+ //! EAP configuration and services (EAP Qt Configuration Interface API)
+ QScopedPointer<EapQtConfigInterface> mEapConfIf;
+ //! Internal container for EAP specific settings
+ QHash<ConfigurationId, QVariant> mConfigurations;
+
+ // Friend classes
+ friend class TestWlanWizardContext;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpage.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,113 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard: API for EAP specific wizard pages.
+ *
+ */
+
+#ifndef EAPWIZARD_PAGE_H
+#define EAPWIZARD_PAGE_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wlanwizardpage.h"
+
+// Forward declarations
+class EapWizardPrivate;
+class HbDocumentLoader;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+
+ Interface for EAP specific wizard pages.
+ */
+
+// Class declaration
+
+class EapWizardPage : public QObject, public WlanWizardPage
+{
+ Q_OBJECT
+
+public:
+ /*!
+ Page IDs for EAP Wizard.
+ */
+ enum EapPageIds {
+ //! Outer Type selection
+ PageOuterType = WlanWizardPage::PageEapStart,
+ /*! Certificate Authority certificate selection for EAP-TTLS, EAP-TLS
+ and PEAP.
+ */
+ PageCertificateCa,
+ //! User Authority certificate selection for EAP-TLS
+ PageCertificateUser,
+ //! EAP Identity for TLS methods, EAP-TTLS, EAP-TLS, PEAP
+ PageIdentity,
+ //! EAP Inner type selection for PEAP
+ PageInnerTypePeap,
+ //! EAP Inner type selection for EAP-TTLS
+ PageInnerTypeEapTtls,
+ //! New PAC Store password for EAP-FAST
+ PageNewPacStorePassword,
+ //! PAC store confirmation for EAP-FAST
+ PagePromptPacStorePassword,
+ //! Username and password page
+ PageUsernamePassword,
+ };
+public:
+ explicit EapWizardPage(EapWizardPrivate* parent);
+ virtual ~EapWizardPage();
+
+public: // From WlanWizardPage
+ virtual HbWidget* initializePage() = 0;
+ virtual int nextId(bool &removeFromStack) const;
+ virtual int nextId() const = 0;
+
+signals:
+
+public slots:
+
+protected:
+ void loadDocmlSection(
+ HbDocumentLoader *loader,
+ Qt::Orientation orientation,
+ const QString &filename,
+ const QString &portraitSection,
+ const QString &landscapeSection) const;
+
+protected slots:
+
+protected: // data
+ //! Pointer to Eap Wizard private implementation
+ EapWizardPrivate* mWizard;
+
+private:
+ Q_DISABLE_COPY(EapWizardPage)
+
+private slots:
+
+private: // data
+
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpagecertca.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: Certificate Authority Selection.
+ *
+ */
+
+#ifndef EAPWIZARDPAGECERTCA_H
+#define EAPWIZARDPAGECERTCA_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbDocumentLoader;
+class HbLabel;
+class EapWizardPrivate;
+class EapQtCertificateInfo;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPageCertCa : public EapWizardPage
+{
+ Q_OBJECT
+public:
+ explicit EapWizardPageCertCa(EapWizardPrivate* parent);
+ ~EapWizardPageCertCa();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ static const int IndexForAutomatic = 0;
+ static const int AmountOfNonCertItems = 1;
+
+private:
+ Q_DISABLE_COPY(EapWizardPageCertCa)
+
+private slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+
+private: // data
+ // OWNED
+
+ //! docml document loader
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! System's CA certificates
+ QList<EapQtCertificateInfo> mCerts;
+
+ // NOT OWNED
+
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! Title text for "Select authority certificate"
+ HbLabel *mTitle;
+ //! visualization of CA certificate list
+ HbRadioButtonList *mCertList;
+
+};
+
+/*! @} */
+
+#endif /* EAPWIZARDPAGECERTCA_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpagecertuser.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: User Certificate Selection.
+ *
+ */
+
+#ifndef EAPWIZARDPAGECERTUSER_H
+#define EAPWIZARDPAGECERTUSER_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbDocumentLoader;
+class HbRadioButtonList;
+class HbLabel;
+class EapQtCertificateInfo;
+class EapWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPageCertUser : public EapWizardPage
+{
+ Q_OBJECT
+public:
+ explicit EapWizardPageCertUser(EapWizardPrivate* parent);
+ ~EapWizardPageCertUser();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+ bool showPage();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPageCertUser)
+ void createPages();
+ bool hasInnerMethod() const;
+
+private slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+ void itemSelected(int index);
+
+private: // data
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! Certificate list
+ HbRadioButtonList *mCertList;
+ //! Error text used when there are not any certificates
+ HbLabel *mErrorLabel;
+
+ // OWNED
+ //! docml document loader
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! Is page valid? it is when a certificate has been selected
+ bool mValid;
+ //! List of system's user certificates
+ QList<EapQtCertificateInfo> mCerts;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpageidentity.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: EAP Identity.
+ *
+ */
+
+#ifndef EAPWIZARDPAGEIDENTITY_H
+#define EAPWIZARDPAGEIDENTITY_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbLineEdit;
+class HbCheckBox;
+class HbLabel;
+class HbDocumentLoader;
+class EapQtValidator;
+class EapWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPageIdentity : public EapWizardPage
+{
+ Q_OBJECT
+public:
+ explicit EapWizardPageIdentity(EapWizardPrivate* parent);
+ ~EapWizardPageIdentity();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+ bool showPage();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPageIdentity)
+ bool validateGroup(
+ HbLineEdit *edit,
+ HbCheckBox *checkBox,
+ EapQtValidator* validator) const;
+
+private slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+ void textChanged(const QString &text);
+ void stateChanged(int state);
+
+private: // data
+ // OWNED
+ //! docml document loader
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! Content validator and configurator for line edit of realm
+ QScopedPointer<EapQtValidator> mValidatorRealm;
+ //! Content validator and configurator for line edit of username
+ QScopedPointer<EapQtValidator> mValidatorUsername;
+
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! Line editor for username
+ HbLineEdit *mEditUsername;
+ //! Line editor for realm
+ HbLineEdit *mEditRealm;
+ //! Checkbox for username
+ HbCheckBox *mCheckUsername;
+ //! Checkbox for realm
+ HbCheckBox *mCheckRealm;
+ //! Title text for realm
+ HbLabel *mLabelRealm;
+ //! Title text for username
+ HbLabel *mLabelUsername;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpageinnertype.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,100 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: Inner Type selection
+ *
+ */
+
+#ifndef EAPWIZARDPAGEINNERTYPE_H
+#define EAPWIZARDPAGEINNERTYPE_H
+
+// System includes
+#include <QObject>
+#include <eapqtpluginhandle.h>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbDocumentLoader;
+class HbLabel;
+class EapWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPageInnerType : public EapWizardPage
+{
+ Q_OBJECT
+public:
+ EapWizardPageInnerType(EapWizardPrivate* parent, int outerType);
+ ~EapWizardPageInnerType();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+ bool showPage();
+
+signals:
+
+public slots:
+ void itemSelected(int index);
+ void loadDocmlSection(Qt::Orientation orientation);
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPageInnerType)
+
+ void appendToList(
+ QStringList &items,
+ EapQtPluginHandle::Plugin innerType);
+
+private slots:
+
+private: // data
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! List of innertypes
+ HbRadioButtonList *mRadio;
+ //! Title for inner types
+ HbLabel *mTitle;
+
+ // OWNED
+ //! Document loader for docml
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! Page ID for this page
+ int mOuterType;
+ //! Is content of the page valid?
+ bool mValid;
+ //! Mapped from index (0..n) in radiobuttonlist to eap types
+ QList<int> mEapTypes;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpagenewpacstore.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: New PAC store password
+ *
+ */
+
+#ifndef EAPWIZARDPAGENEWPACSTORE_H
+#define EAPWIZARDPAGENEWPACSTORE_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbDocumentLoader;
+class HbLineEdit;
+class HbLabel;
+class EapQtValidator;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPageNewPacStore : public EapWizardPage
+{
+ Q_OBJECT
+public:
+ explicit EapWizardPageNewPacStore(EapWizardPrivate* parent);
+ ~EapWizardPageNewPacStore();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+ bool showPage();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPageNewPacStore)
+
+private slots:
+ void textChanged(const QString &text);
+ void loadDocmlSection(Qt::Orientation orientation);
+
+private: // data
+ // OWNED
+ //! Document loader for docml
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! Validator for PAC store password
+ QScopedPointer<EapQtValidator> mValidator;
+
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! Line editor for new password
+ HbLineEdit *mEditPasswordNew;
+ //! Line editor for new password confirmation
+ HbLineEdit *mEditPasswordConfirm;
+ //! Title for new password
+ HbLabel *mTitlePasswordNew;
+ //! Title for new password confirmation
+ HbLabel *mTitlePasswordConfirm;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpageoutertype.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: Outer type selection
+ *
+ */
+
+#ifndef EAPWIZARDPAGEOUTERTYPE_H
+#define EAPWIZARDPAGEOUTERTYPE_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbDocumentLoader;
+class HbLabel;
+class EapWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPageOuterType : public EapWizardPage
+{
+ Q_OBJECT
+public:
+ explicit EapWizardPageOuterType(EapWizardPrivate* parent);
+ ~EapWizardPageOuterType();
+
+public: // From WizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+ bool showPage();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPageOuterType)
+ void appendToList(
+ QStringList &items,
+ int pluginHandle );
+
+ int nextIdForEapFast() const;
+
+private slots:
+ void itemSelected(int index);
+ void loadDocmlSection(Qt::Orientation orientation);
+
+private: // data
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! List of outer types
+ HbRadioButtonList *mRadio;
+ //! Title for radio button list
+ HbLabel *mTitle;
+
+ // OWNED
+ //! Document loader for docml
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! Is page content valid?
+ bool mValid;
+ //! Mapped from index (0..n) in radiobuttonlist to eap types
+ QList<int> mEapTypes;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpagepacstorepasswordconfirm.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,94 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: PAC store password confirmation
+ *
+ */
+
+#ifndef EAPWIZARDPAGENPACSTOREPASSWORDCONFIRM_H
+#define EAPWIZARDPAGENPACSTOREPASSWORDCONFIRM_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbDocumentLoader;
+class HbLineEdit;
+class HbLabel;
+class EapQtValidator;
+class EapWizardPrivate;
+
+// External data types
+
+// Constants
+
+
+/*!
+ * @addtogroup group_eap_wizard
+ * @{
+ */
+
+// Class declaration
+
+class EapWizardPagePacStorePasswordConfirm: public EapWizardPage
+{
+ Q_OBJECT
+public:
+ explicit EapWizardPagePacStorePasswordConfirm(EapWizardPrivate* parent);
+ ~EapWizardPagePacStorePasswordConfirm();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+ bool showPage();
+
+signals:
+
+public slots:
+
+protected:
+ bool eventFilter(QObject *obj, QEvent *event);
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPagePacStorePasswordConfirm)
+ void createPages();
+ bool hasInnerMethod() const;
+
+private slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+
+private: // data
+ // OWNED
+ //! Document loader for docml
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! Validator for PAC store password
+ QScopedPointer<EapQtValidator> mValidator;
+
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! line editor for PAC store password confirmation
+ HbLineEdit *mEditPasswordConfirm;
+ //! Label for embadded error string
+ HbLabel *mLabelError;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizardpageusernamepassword.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: Common Username & password query.
+ *
+ */
+
+#ifndef EAPWIZARDPAGEUSERNAMEPASSWORD_H
+#define EAPWIZARDPAGEUSERNAMEPASSWORD_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "eapwizardpage.h"
+
+// Forward declarations
+class HbDocumentLoader;
+class HbLineEdit;
+class HbLabel;
+class EapWizardPrivate;
+class EapQtValidator;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+// Class declaration
+
+class EapWizardPageUsernamePassword : public EapWizardPage
+{
+ Q_OBJECT
+public:
+ explicit EapWizardPageUsernamePassword(EapWizardPrivate* parent);
+ ~EapWizardPageUsernamePassword();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId() const;
+ bool showPage();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(EapWizardPageUsernamePassword)
+ void createPages();
+ bool hasInnerMethod() const;
+
+private slots:
+ void textChanged(const QString &text);
+ void loadDocmlSection(Qt::Orientation orientation);
+
+private: // data
+ // OWNED
+ //! Document loader for docml
+ QScopedPointer<HbDocumentLoader> mDocumentLoader;
+ //! Validator for username
+ QScopedPointer<EapQtValidator> mValidatorUsername;
+ //! Validator for password
+ QScopedPointer<EapQtValidator> mValidatorPassword;
+
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! Line editor for username
+ HbLineEdit *mEditUsername;
+ //! Line editor for password
+ HbLineEdit *mEditPassword;
+ //! Title/label for username
+ HbLabel *mTitleUsername;
+ //! Title/label for password
+ HbLabel *mTitlePassword;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/inc/eapwizarduistrings.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP String definitions for UI
+ *
+ */
+
+#ifndef EAPWIZARDUISTRINGS_H
+#define EAPWIZARDUISTRINGS_H
+
+// System includes
+#include <QString>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_eap_wizard
+ @{
+ */
+
+//! Namespace for EAP UI String in the context of EapWizard
+namespace EapWizardUiStrings
+{
+ //! String for EAP-AKA
+ static const QString EapAka = "EAP-AKA";
+ //! String for EAP-FAST
+ static const QString EapFast = "EAP-FAST";
+ //! String for EAP-GTC
+ static const QString EapGtc = "EAP-GTC";
+ //! String for EAP-MSCHAPv2
+ static const QString EapMschapv2 = "EAP-MSCHAPv2";
+ //! String for EAP-SIM
+ static const QString EapSim = "EAP-SIM";
+ //! String for EAP-TLS
+ static const QString EapTls = "EAP-TLS";
+ //! String for EAP-TTLS
+ static const QString EapTtls = "EAP-TTLS";
+ //! String for LEAP
+ static const QString Leap = "LEAP";
+ //! String for Plain-MSCHAPv2
+ static const QString Mschapv2 = "MSCHAPv2";
+ //! String for PAP
+ static const QString Pap = "PAP";
+ //! String for PEAP
+ static const QString Peap = "PEAP";
+}
+
+/*! @} */
+
+#endif /* EAPWIZARDUISTRINGS_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/resources/eapwizard_resource.qrc Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,9 @@
+<RCC>
+ <qresource prefix="/docml" >
+ <file alias="occ_eap_wizard_01_02_04.docml">occ_eap_wizard_01_02_04.docml.bin</file>
+ <file alias="occ_eap_wizard_03.docml">occ_eap_wizard_03.docml.bin</file>
+ <file alias="occ_eap_wizard_05_07.docml">occ_eap_wizard_05_07.docml.bin</file>
+ <file alias="occ_eap_wizard_06.docml">occ_eap_wizard_06.docml.bin</file>
+ <file alias="occ_eap_wizard_08.docml">occ_eap_wizard_08.docml.bin</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/resources/occ_eap_wizard_01_02_04.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_eap_wizard_01" type="HbWidget">
+ <widget name="list" type="HbRadioButtonList"/>
+ <widget name="title" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignLeft|AlignTop|AlignLeading"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait_section">
+ <widget name="occ_eap_wizard_01" type="HbWidget">
+ <widget name="title" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="title" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="title" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="title" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="list" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="title" srcEdge="BOTTOM"/>
+ <anchoritem dst="list" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="occ_eap_wizard_01" type="HbWidget">
+ <widget name="title" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="title" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="title" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="list" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="title" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="TOP" spacing="0un" src="title" srcEdge="TOP"/>
+ <anchoritem dst="list" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/resources/occ_eap_wizard_03.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_eap_wizard_03" type="HbWidget">
+ <widget name="setlabel_53" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="setlabel_53_val" type="HbCheckBox">
+ <enums name="checkState" value="Checked"/>
+ <string locid="txt_occ_setlabel_user_name_val_generate_automatic" name="text" value="Generate automatically"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <widget name="lineEditUsername" type="HbLineEdit"/>
+ <widget name="setlabel_54" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <string locid="txt_occ_setlabel_eap_realm" name="plainText" value="Realm"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="setlabel_54_val" type="HbCheckBox">
+ <enums name="checkState" value="Checked"/>
+ <string locid="txt_occ_setlabel_eap_realm_val_generate_automatically" name="text" value="Generate automatically"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <widget name="lineEditRealm" type="HbLineEdit"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait_section">
+ <widget name="occ_eap_wizard_03" type="HbWidget">
+ <widget name="setlabel_53" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="setlabel_53" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_53" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="setlabel_53" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_53_val" dstEdge="LEFT" spacing="0un" src="setlabel_53" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_53_val" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="setlabel_53" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_53_val" dstEdge="RIGHT" spacing="0un" src="setlabel_53" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditUsername" dstEdge="LEFT" spacing="0un" src="setlabel_53" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditUsername" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="setlabel_53_val" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditUsername" dstEdge="RIGHT" spacing="0un" src="setlabel_53" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_54" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_54" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-popup) + var(hb-param-margin-gene-bottom))" src="lineEditUsername" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_54" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_54_val" dstEdge="LEFT" spacing="0un" src="setlabel_53" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_54_val" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="setlabel_54" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_54_val" dstEdge="RIGHT" spacing="0un" src="setlabel_53" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditRealm" dstEdge="LEFT" spacing="0un" src="setlabel_53" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditRealm" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="setlabel_54_val" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditRealm" dstEdge="RIGHT" spacing="0un" src="setlabel_53" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="setlabel_53" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint type="PREFERRED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <widget name="occ_eap_wizard_03" type="HbWidget">
+ <layout type="anchor">
+ <anchoritem dst="setlabel_53" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_53" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="setlabel_53" dstEdge="BOTTOM" spacing="0un" src="lineEditUsername" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_53_val" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="setlabel_53" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_53_val" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="setlabel_53_val" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditUsername" dstEdge="LEFT" spacing="0un" src="setlabel_53_val" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditUsername" dstEdge="TOP" spacing="0un" src="setlabel_53_val" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditUsername" dstEdge="RIGHT" spacing="0un" src="setlabel_53_val" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_54" dstEdge="LEFT" spacing="0un" src="setlabel_53" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_54" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="lineEditUsername" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_54" dstEdge="RIGHT" spacing="0un" src="setlabel_53" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_54" dstEdge="BOTTOM" spacing="0un" src="lineEditRealm" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_54_val" dstEdge="LEFT" spacing="0un" src="setlabel_53_val" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_54_val" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="lineEditUsername" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_54_val" dstEdge="RIGHT" spacing="0un" src="setlabel_53_val" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditRealm" dstEdge="LEFT" spacing="0un" src="setlabel_53_val" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditRealm" dstEdge="TOP" spacing="0un" src="setlabel_54_val" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditRealm" dstEdge="RIGHT" spacing="0un" src="setlabel_53_val" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/resources/occ_eap_wizard_05_07.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="view" type="HbWidget">
+ <widget name="setlabel_55" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <widget name="lineEditUsername" type="HbLineEdit"/>
+ <widget name="setlabel_56" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <widget name="lineEditPassword" type="HbLineEdit"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait_section">
+ <widget name="view" type="HbWidget">
+ <widget name="setlabel_55" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="setlabel_55" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_55" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="setlabel_55" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditUsername" dstEdge="LEFT" spacing="0un" src="setlabel_55" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditUsername" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="setlabel_55" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditUsername" dstEdge="RIGHT" spacing="0un" src="setlabel_55" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_56" dstEdge="LEFT" spacing="0un" src="setlabel_55" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_56" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="lineEditUsername" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_56" dstEdge="RIGHT" spacing="0un" src="setlabel_55" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditPassword" dstEdge="LEFT" spacing="0un" src="setlabel_55" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditPassword" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="setlabel_56" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditPassword" dstEdge="RIGHT" spacing="0un" src="setlabel_55" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="view" type="HbWidget">
+ <widget name="setlabel_55" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint type="PREFERRED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="setlabel_55" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_55" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="setlabel_55" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)" src="lineEditUsername" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditUsername" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="setlabel_55" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditUsername" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="lineEditUsername" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_56" dstEdge="LEFT" spacing="0un" src="setlabel_55" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_56" dstEdge="TOP" spacing="0un" src="setlabel_55" srcEdge="BOTTOM"/>
+ <anchoritem dst="setlabel_56" dstEdge="RIGHT" spacing="0un" src="setlabel_55" srcEdge="RIGHT"/>
+ <anchoritem dst="setlabel_56" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)" src="lineEditPassword" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditPassword" dstEdge="LEFT" spacing="0un" src="lineEditUsername" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditPassword" dstEdge="RIGHT" spacing="0un" src="lineEditUsername" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditPassword" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-bottom)+var(hb-param-margin-gene-popup))" src="lineEditUsername" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/resources/occ_eap_wizard_06.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_eap_wizard_06" type="HbWidget">
+ <widget name="title" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <string locid="txt_occ_title_select_user_certificate" name="plainText" value="Select user certificate"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <widget name="list" type="HbRadioButtonList"/>
+ <widget name="errorLabel" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignLeft|AlignTop|AlignLeading"/>
+ <string locid="txt_occ_dialog_no_certificates_installed_wizard_c" name="plainText" value="No certificates installed. Wizard cannot continue."/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait_section">
+ <widget name="occ_eap_wizard_06" type="HbWidget">
+ <widget name="title" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="title" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="title" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="title" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="list" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="title" srcEdge="BOTTOM"/>
+ <anchoritem dst="list" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="errorLabel" dstEdge="LEFT" spacing="0un" src="title" srcEdge="LEFT"/>
+ <anchoritem dst="errorLabel" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="title" srcEdge="BOTTOM"/>
+ <anchoritem dst="errorLabel" dstEdge="RIGHT" spacing="0un" src="title" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ <widget name="list" type="HbRadioButtonList">
+ <size height="230un" name="transformOriginPoint" width="0un"/>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="occ_eap_wizard_06" type="HbWidget">
+ <widget name="title" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="title" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="title" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="list" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="title" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="TOP" spacing="0un" src="title" srcEdge="TOP"/>
+ <anchoritem dst="list" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="errorLabel" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="title" srcEdge="RIGHT"/>
+ <anchoritem dst="errorLabel" dstEdge="TOP" spacing="0un" src="title" srcEdge="TOP"/>
+ <anchoritem dst="errorLabel" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="portrait" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/resources/occ_eap_wizard_08.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="view" type="HbWidget">
+ <widget name="setlabel_59" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <string locid="txt_occ_setlabel_eap_pac_store_password" name="plainText" value="PAC store password"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <widget name="lineEditPasswordConfirm" type="HbLineEdit"/>
+ <widget name="labelError" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="0"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait_section">
+ <widget name="view" type="HbWidget">
+ <widget name="setlabel_59" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="setlabel_59" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_59" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="setlabel_59" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditPasswordConfirm" dstEdge="LEFT" spacing="0un" src="setlabel_59" srcEdge="LEFT"/>
+ <anchoritem dst="lineEditPasswordConfirm" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="setlabel_59" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditPasswordConfirm" dstEdge="RIGHT" spacing="0un" src="setlabel_59" srcEdge="RIGHT"/>
+ <anchoritem dst="labelError" dstEdge="LEFT" spacing="0un" src="setlabel_59" srcEdge="LEFT"/>
+ <anchoritem dst="labelError" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="lineEditPasswordConfirm" srcEdge="BOTTOM"/>
+ <anchoritem dst="labelError" dstEdge="RIGHT" spacing="0un" src="setlabel_59" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="view" type="HbWidget">
+ <widget name="setlabel_59" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <sizehint type="PREFERRED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="setlabel_59" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="setlabel_59" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="setlabel_59" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)" src="lineEditPasswordConfirm" srcEdge="BOTTOM"/>
+ <anchoritem dst="lineEditPasswordConfirm" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="setlabel_59" srcEdge="RIGHT"/>
+ <anchoritem dst="lineEditPasswordConfirm" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="lineEditPasswordConfirm" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="labelError" dstEdge="LEFT" spacing="0un" src="setlabel_59" srcEdge="LEFT"/>
+ <anchoritem dst="labelError" dstEdge="TOP" spacing="var(hb-param-margin-gene-bottom)" src="lineEditPasswordConfirm" srcEdge="BOTTOM"/>
+ <anchoritem dst="labelError" dstEdge="RIGHT" spacing="0un" src="lineEditPasswordConfirm" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/rom/eapwizard.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 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:
+* EAP Wizard IBY
+*/
+
+#ifndef EAPWIZARD_IBY
+#define EAPWIZARD_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR/BUILD_DIR/eapwizard.dll SHARED_LIB_DIR/eapwizard.dll
+
+#endif // __PROTOCOL_WLAN
+
+#endif // EAPWIZARD_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/rom/eapwizard_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2010 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:
+* EAP Wizard resource iby.
+*/
+
+#ifndef EAPWIZARD_RESOURCES_IBY
+#define EAPWIZARD_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/eapwizard.qm QT_TRANSLATIONS_DIR/eapwizard.qm
+
+#endif // __PROTOCOL_WLAN
+
+#endif // EAPWIZARD_RESOURCES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizard.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,116 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard: API implementation.
+ */
+
+// System includes
+
+// User includes
+#include "eapwizard.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardTraces.h"
+#endif
+
+/*!
+ \class EapWizard
+ \brief EAP plugin for WLAN wizard.
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor of EAP Wizard.
+
+ @param [in] wizardHelper pointer to the helpper instance.
+ */
+EapWizard::EapWizard(WlanWizardHelper *wizardHelper) : d_ptr(NULL)
+{
+ OstTraceFunctionEntry0(EAPWIZARD_EAPWIZARD_ENTRY);
+
+ d_ptr.reset( new EapWizardPrivate(wizardHelper));
+
+ OstTraceFunctionExit0(EAPWIZARD_EAPWIZARD_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+EapWizard::~EapWizard()
+{
+ OstTraceFunctionEntry0(EAPWIZARD_DEAPWIZARD_ENTRY);
+ OstTraceFunctionExit0(EAPWIZARD_DEAPWIZARD_EXIT);
+}
+
+/*!
+ See WlanWizardPlugin::summary().
+
+ This method is used to query eap plugin specific summary items.
+
+ Both item and value are localized strings.
+
+ @param [in] sum Summary id to be queried
+ @param [in,out] item The item string is returned here
+ @param [in,out] value The value of item is returned here.
+
+ @return true if summary item is found, false otherwise.
+ */
+bool EapWizard::summary(WlanWizardPlugin::Summary sum, QString &item, QString &value)
+{
+ OstTraceFunctionEntry0(EAPWIZARD_SUMMARY_ENTRY);
+ bool ret = d_ptr->summary(sum, item, value);
+ OstTraceFunctionExit0(EAPWIZARD_SUMMARY_EXIT);
+ return ret;
+}
+
+/*!
+ See WlanWizardPlugin::storeSettings().
+
+ Stores EAP specific settings.
+ */
+bool EapWizard::storeSettings()
+{
+ OstTraceFunctionEntry0(EAPWIZARD_STORESETTINGS_ENTRY);
+
+ bool ret = d_ptr->storeSettings();
+
+ OstTraceFunctionExit0(EAPWIZARD_STORESETTINGS_EXIT);
+
+ return ret;
+}
+
+
+/*!
+ See WlanWizardPlugin::errorString().
+
+ Gets EAP Wizard specific error code. In case mapping cannot be done an empty
+ string is returned.
+ */
+QString EapWizard::errorString(int errorCode)
+{
+ OstTraceFunctionEntry0(EAPWIZARD_ERRORSTRING_ENTRY);
+
+ QString string = d_ptr->errorString(errorCode);
+
+ OstTraceFunctionExit0(EAPWIZARD_ERRORSTRING_EXIT);
+ return string;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizard_p.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,702 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard: Private implementation.
+ */
+
+// System includes
+#include <QDebug>
+#include <QDataStream>
+#include <HbTranslator>
+#include <HbParameterLengthLimiter>
+#include <eapqtconfiginterface.h>
+#include <eapqtplugininfo.h>
+#include <eapqtpluginhandle.h>
+#include <eapqtconfig.h>
+#include <eapqtpacstoreconfig.h>
+#include <eapqtcertificateinfo.h>
+#include <wlanerrorcodes.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "wlanwizardplugin.h"
+#include "eapwizard.h"
+#include "eapwizard_p.h"
+#include "eapwizarduistrings.h"
+#include "eapwizardpageoutertype.h"
+#include "eapwizardpagecertca.h"
+#include "eapwizardpagecertuser.h"
+#include "eapwizardpageidentity.h"
+#include "eapwizardpageinnertype.h"
+#include "eapwizardpageusernamepassword.h"
+#include "eapwizardpagenewpacstore.h"
+#include "eapwizardpagepacstorepasswordconfirm.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizard_pTraces.h"
+#endif
+
+/*!
+ \class EapWizardPrivate
+ \brief Implements the EAP wizard plugin for WLAN wizard.
+ */
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor of EAP Wizard.
+
+ @param [in] wizardHelper pointer to the helper instance.
+ */
+EapWizardPrivate::EapWizardPrivate(
+ WlanWizardHelper *wizardHelper) :
+ mWizardHelper(wizardHelper),
+ mTranslator(new HbTranslator("eapwizard")),
+ mEapConfIf(new EapQtConfigInterface(
+ EapQtConfigInterface::EapBearerTypeWlan,
+ EapQtConfigInterface::IapIdUndefined))
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_EAPWIZARDPRIVATE_ENTRY );
+ Q_ASSERT(wizardHelper);
+ createPages();
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_EAPWIZARDPRIVATE_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPrivate::~EapWizardPrivate()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPRIVATE_EAPWIZARDPRIVATE_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPRIVATE_EAPWIZARDPRIVATE_EXIT );
+}
+
+/*!
+ See EapWizard::summary().
+ */
+bool EapWizardPrivate::summary(
+ WlanWizardPlugin::Summary sum,
+ QString &item,
+ QString &value)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_SUMMARY_ENTRY );
+ bool ret = false;
+ int outerType = configurations(EapWizardPrivate::OuterType).toInt();
+
+ switch (sum) {
+ case WlanWizardPlugin::SummaryEapInnerType:
+ if (hasInnerMethod()) {
+ item = hbTrId("txt_occ_dblist_inner_eap");
+ value = eapTypeToString(configurations(EapWizardPrivate::InnerType).toInt());
+ ret = true;
+ }
+ break;
+
+ case WlanWizardPlugin::SummaryEapFastProvisioningMode:
+ if (outerType == EapQtPluginHandle::PluginEapFast) {
+ item = hbTrId("txt_occ_dblist_provisioning_mode_for_eapfast");
+ value = hbTrId("txt_occ_dblist_provisioning_mode_for_val_unauthent");
+ ret = true;
+ }
+ break;
+
+ default:
+ Q_ASSERT(sum == WlanWizardPlugin::SummaryEapOuterType);
+ item = hbTrId("txt_occ_dblist_outer_eap");
+ value = eapTypeToString(outerType);
+ ret = true;
+ break;
+
+ }
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_SUMMARY_EXIT );
+ return ret;
+}
+
+/*!
+ See EapWizard::storeSettings().
+
+ @return true - ok, false - failed
+ */
+bool EapWizardPrivate::storeSettings()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_STORESETTINGS_ENTRY );
+ bool ret = false;
+ EapQtPluginHandle outerType(static_cast<EapQtPluginHandle::Plugin>(
+ configurations(OuterType).toInt()));
+
+ int iapId = mWizardHelper->configuration(WlanWizardHelper::ConfIapId).toInt();
+
+ if (mEapConfIf->setConfigurationReference(iapId)
+ && storeOuterTypeSettings(outerType)
+ && storeInnerTypeSettings(outerType)) {
+ ret = true;
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_STORESETTINGS_EXIT );
+ return ret;
+}
+
+/*!
+ See WlanWizardPlugin::errorString().
+
+ Returns EAP spesific error string.
+ */
+QString EapWizardPrivate::errorString(int errorCode)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_ERRORSTRING_ENTRY );
+ char* textId = NULL;
+ int eapType = EapQtPluginHandle::PluginUndefined;
+
+ switch (errorCode){
+ case KErrWlanUserRejected:
+ textId = "txt_occ_dialog_1_auth_failed_user_cert_rej";
+ eapType = configurations(OuterType).toInt();
+ break;
+
+ case KErrWlanUserCertificateExpired:
+ textId = "txt_occ_dialog_1_auth_failed_user_cert_exp";
+ eapType = configurations(OuterType).toInt();
+ break;
+
+ case KErrWlanServerCertificateExpired:
+ textId = "txt_occ_dialog_1_authentication_failed_server_ce";
+ eapType = configurations(OuterType).toInt();
+ break;
+
+ case KErrWlanCerficateVerifyFailed:
+ textId = "txt_occ_dialog_1_authentication_failed_could_not";
+ eapType = configurations(OuterType).toInt();
+ break;
+
+ case KErrWlanNoCipherSuite:
+ textId = "txt_occ_dialog_1_authentication_failed_cipher_su";
+ eapType = configurations(OuterType).toInt();
+ break;
+
+ case KErrWlanSimNotInstalled:
+ textId = "txt_occ_dialog_1_authentication_failed_check_sim";
+ eapType = configurations(OuterType).toInt();
+ break;
+
+ case KErrWlanEapFastPacStoreCorrupted:
+ textId = "txt_occ_dialog_1_authentication_failed_reset_pac";
+ eapType = EapQtPluginHandle::PluginEapFast;
+ break;
+
+ case KErrWlanEapSimFailed:
+ case KErrWlanEapTlsFailed:
+ case KErrWlanEapPeapFailed:
+ case KErrWlanEapAkaFailed:
+ case KErrWlanEapTtlsFailed:
+ case KErrWlanLeapFailed:
+ case KErrWlanNoUserCertificate:
+ case KErrWlanEapFastTunnelCompromiseError:
+ case KErrWlanEapFastUnexpextedTlvExhanged:
+ case KErrWlanEapFastNoPacNorCertsToAuthenticateWithProvDisabled:
+ case KErrWlanEapFastNoMatchingPacForAid:
+ case KErrWlanEapFastAuthFailed:
+ textId = "txt_occ_dialog_1_authentication_failed";
+ eapType = configurations(OuterType).toInt();
+ break;
+
+ case KErrWlanEapMsChapv2:
+ case KErrWlanEapGtcFailed:
+ textId = "txt_occ_dialog_1_authentication_failed";
+ eapType = configurations(InnerType).toInt();
+ break;
+
+ case KErrWlanNotSubscribed:
+ case KErrWlanAccessBarred:
+ case KErrWlanPasswordExpired:
+ case KErrWlanNoDialinPermissions:
+ case KErrWlanAccountDisabled:
+ case KErrWlanRestrictedLogonHours:
+ textId = "txt_occ_dialog_1_authentication_failed";
+ if (hasInnerMethod()){
+ eapType = configurations(InnerType).toInt();
+ } else {
+ eapType = configurations(OuterType).toInt();
+ }
+ break;
+
+ default:
+ // Return empty string
+ break;
+ }
+
+ QString string;
+ if (textId) {
+ string = HbParameterLengthLimiter(textId).arg(eapTypeToString(eapType));
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_ERRORSTRING_EXIT );
+ return string;
+}
+
+/*!
+ Reader method for eap configurations.
+
+ See ConfigurationId for further details about the data types in QVariant.
+
+ @param [in] confId Defines what configuration is read.
+
+ @return configuration value.
+ */
+QVariant EapWizardPrivate::configurations(ConfigurationId confId) const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_CONFIGURATIONS_ENTRY );
+ Q_ASSERT(mConfigurations.contains(confId));
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString tmp;
+ QDebug tmpStream(&tmp );
+ tmpStream << mConfigurations[confId];
+ TPtrC16 string(tmp.utf16(), tmp.length() );
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ EAPWIZARDPRIVATE_CONFIGURATIONS,
+ "EapWizardPrivate::configurations;confId=%{ConfigurationId};string=%S",
+ (TUint)confId, string );
+#endif
+
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_CONFIGURATIONS_EXIT );
+ return mConfigurations[confId];
+}
+
+/*!
+ Sets EAP configuration value for given configuration identifier.
+ See ConfigurationId for further details about the data types in QVariant.
+
+ @param [in] confId Configuration Identifier do to be set
+ @param [in] value Value for configuration.
+ */
+void EapWizardPrivate::setConfigurations(
+ ConfigurationId confId, const QVariant &value)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_SETCONFIGURATIONS_ENTRY );
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString tmp;
+ QDebug tmpStream(&tmp );
+ tmpStream << value;
+ TPtrC16 string( tmp.utf16(), tmp.length() );
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ EAPWIZARDPRIVATE_SETCONFIGURATIONS,
+ "EapWizardPrivate::setConfigurations;confId=%{ConfigurationId};string=%S",
+ (TUint)confId, string );
+#endif
+
+ mConfigurations[confId] = value;
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_SETCONFIGURATIONS_EXIT );
+}
+
+/*!
+ @return pointer to EapQtConfigInterface.
+ */
+EapQtConfigInterface* EapWizardPrivate::eapConfigurationInterface() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_EAPCONFIGURATIONINTERFACE_ENTRY );
+ Q_ASSERT(mEapConfIf.data());
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_EAPCONFIGURATIONINTERFACE_EXIT );
+ return mEapConfIf.data();
+}
+
+/*!
+ Maps given EAP Qt Plugin handle into string.
+
+ @param [in] id EapQtPluginHandle::Handle, id to be mapped to string.
+
+ @return EAP String.
+ */
+QString EapWizardPrivate::eapTypeToString(int id) const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_EAPTYPETOSTRING_ENTRY );
+ QString locId;
+ switch (id) {
+ case EapQtPluginHandle::PluginEapAka:
+ locId = EapWizardUiStrings::EapAka;
+ break;
+
+ case EapQtPluginHandle::PluginEapFast:
+ locId = EapWizardUiStrings::EapFast;
+ break;
+
+ case EapQtPluginHandle::PluginLeap:
+ locId = EapWizardUiStrings::Leap;
+ break;
+
+ case EapQtPluginHandle::PluginPeap:
+ locId = EapWizardUiStrings::Peap;
+ break;
+
+ case EapQtPluginHandle::PluginEapSim:
+ locId = EapWizardUiStrings::EapSim;
+ break;
+
+ case EapQtPluginHandle::PluginEapTls:
+ locId = EapWizardUiStrings::EapTls;
+ break;
+
+ case EapQtPluginHandle::PluginEapTtls:
+ locId = EapWizardUiStrings::EapTtls;
+ break;
+
+ case EapQtPluginHandle::PluginEapMschapv2:
+ locId = EapWizardUiStrings::EapMschapv2;
+ break;
+
+ case EapQtPluginHandle::PluginEapGtc:
+ locId = EapWizardUiStrings::EapGtc;
+ break;
+
+ case EapQtPluginHandle::PluginPap:
+ locId = EapWizardUiStrings::Pap;
+ break;
+
+ default:
+ // Invalid enum
+ Q_ASSERT(EapQtPluginHandle::PluginPlainMschapv2 == id);
+ locId = EapWizardUiStrings::Mschapv2;
+ break;
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_EAPTYPETOSTRING_EXIT );
+ return locId;
+}
+
+/*!
+ Accessor to WLAN Wizard Helper objects.
+
+ @return a pointer to helper object.
+ */
+WlanWizardHelper *EapWizardPrivate::wizardHelper() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_WIZARDHELPER_ENTRY );
+ Q_ASSERT(mWizardHelper);
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_WIZARDHELPER_EXIT );
+ return mWizardHelper;
+}
+
+/*!
+ Creates EAP Wizard pages and add those to the wizard framework.
+ */
+void EapWizardPrivate::createPages()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_CREATEPAGES_ENTRY );
+ mWizardHelper->addPage(
+ EapWizardPage::PageOuterType,
+ new EapWizardPageOuterType(this));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PageCertificateCa,
+ new EapWizardPageCertCa(this));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PageCertificateUser,
+ new EapWizardPageCertUser(this));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PageIdentity,
+ new EapWizardPageIdentity(this));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PageInnerTypeEapTtls,
+ new EapWizardPageInnerType(
+ this,
+ EapQtPluginHandle::PluginEapTtls));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PageInnerTypePeap,
+ new EapWizardPageInnerType(
+ this,
+ EapQtPluginHandle::PluginPeap));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PageUsernamePassword,
+ new EapWizardPageUsernamePassword(this));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PageNewPacStorePassword,
+ new EapWizardPageNewPacStore(this));
+
+ mWizardHelper->addPage(
+ EapWizardPage::PagePromptPacStorePassword,
+ new EapWizardPagePacStorePasswordConfirm(this));
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_CREATEPAGES_EXIT );
+}
+
+/*!
+ Check whether selected outer type has inner method.
+
+ @return true if inner method exists, false otherwise.
+ */
+bool EapWizardPrivate::hasInnerMethod() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_HASINNERMETHOD_ENTRY );
+ int outerType = configurations(EapWizardPrivate::OuterType).toInt();
+ bool ret = false;
+
+ switch (outerType) {
+ case EapQtPluginHandle::PluginEapTtls:
+ case EapQtPluginHandle::PluginPeap:
+ case EapQtPluginHandle::PluginEapFast:
+ ret = true;
+ break;
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_HASINNERMETHOD_EXIT );
+ return ret;
+}
+
+
+/*
+ Handles TLS methods (PEAP, EAP-TLS and EAP-TTLS) settings.
+
+ Stores configurations to eapConf
+
+ @param [in,out] eapConf configuration is written to this object.
+ @param [in] outerType Outer EAP method
+ */
+void EapWizardPrivate::handleTlsMethodsSettings(
+ EapQtConfig &eapConf,
+ EapQtPluginHandle &outerType)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_HANDLETLSMETHODSSETTINGS_ENTRY );
+ // Common stuff for all tls methods
+ eapConf.setValue(EapQtConfig::UseIdentityPrivacy, false);
+ eapConf.setValue(EapQtConfig::VerifyServerRealm, false);
+ eapConf.setValue(EapQtConfig::ClientAuthenticationRequired, false);
+ eapConf.setValue(EapQtConfig::UsernameAutomatic, configurations(TunnelUsernameAutomatic));
+ eapConf.setValue(EapQtConfig::Username, configurations(TunnelUsername));
+ eapConf.setValue(EapQtConfig::RealmAutomatic, configurations(TunnelRealmAutomatic));
+ eapConf.setValue(EapQtConfig::Realm, configurations(TunnelRealm));
+
+ QVariant certVariant = configurations(CertificateCa);
+
+ if (certVariant.canConvert<EapQtCertificateInfo> ()) {
+ QList<QVariant> caCerts;
+ caCerts.append(certVariant);
+ eapConf.setValue(EapQtConfig::AuthorityCertificate, caCerts);
+ eapConf.setValue(EapQtConfig::AuthorityCertificateAutomatic, false);
+ } else {
+ eapConf.setValue(EapQtConfig::AuthorityCertificateAutomatic, true);
+ }
+
+ // type specific configurations
+ if (outerType == EapQtPluginHandle::PluginEapTls) {
+ QList<QVariant> userCerts;
+ userCerts.append(configurations(CertificateUser));
+ eapConf.setValue(EapQtConfig::ClientAuthenticationRequired, true);
+ eapConf.setValue(EapQtConfig::UserCertificate, userCerts);
+
+ } else if (outerType == EapQtPluginHandle::PluginPeap) {
+
+ switch (configurations(InnerType).toInt()) {
+ case EapQtPluginHandle::PluginEapMschapv2:
+ // EAP-MSCHAPv2: enable v0 only
+ eapConf.setValue(EapQtConfig::PeapVersion0Allowed, true);
+ eapConf.setValue(EapQtConfig::PeapVersion1Allowed, false);
+ break;
+
+ case EapQtPluginHandle::PluginEapGtc:
+ // EAP-GTC: enable v1 only
+ eapConf.setValue(EapQtConfig::PeapVersion0Allowed, false);
+ eapConf.setValue(EapQtConfig::PeapVersion1Allowed, true);
+ break;
+ }
+ eapConf.setValue(EapQtConfig::PeapVersion2Allowed, false);
+ }
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_HANDLETLSMETHODSSETTINGS_EXIT );
+}
+
+/*!
+ Handles configurations for EAP-FAST.
+
+ @param [in,out] eapConf EAP Configuration
+
+ @param false in case of failure.
+ */
+bool EapWizardPrivate::handleEapFastSettings(EapQtConfig &eapConf)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_HANDLEEAPFASTSETTINGS_ENTRY );
+ bool ret = true;
+ EapQtPacStoreConfig pacStoreConf;
+
+ eapConf.setValue(EapQtConfig::ProvisioningModeAuthenticated, false);
+ eapConf.setValue(EapQtConfig::ProvisioningModeUnauthenticated, true);
+ eapConf.setValue(EapQtConfig::VerifyServerRealm, false);
+ eapConf.setValue(EapQtConfig::UseIdentityPrivacy, false);
+
+ switch (configurations(PacStoreState).toInt()) {
+ case EapQtPacStoreConfig::PacStoreStateStoreNotExists:
+ case EapQtPacStoreConfig::PacStoreStatePasswordRequired:
+ pacStoreConf.setValue(
+ EapQtPacStoreConfig::PacStorePassword,
+ configurations(PacStorePassword));
+
+ pacStoreConf.setValue(
+ EapQtPacStoreConfig::PacStoreSavePassword,
+ true);
+
+ if (!mEapConfIf->savePacStoreConfiguration(pacStoreConf)) {
+ // no cleaning required
+ ret = false;
+ }
+ break;
+
+ default:
+ // Do nothing
+ break;
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_HANDLEEAPFASTSETTINGS_EXIT );
+ return ret;
+}
+
+/*!
+ Handles configurations for EAP-AKA and EAP-SIM.
+
+ @param [in,out] eapConf EAP Configuration
+ */
+void EapWizardPrivate::handleEapAkaSimSettings(EapQtConfig &eapConf)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_HANDLEEAPAKASIMSETTINGS_ENTRY );
+ eapConf.setValue(EapQtConfig::UsernameAutomatic, true);
+ eapConf.setValue(EapQtConfig::RealmAutomatic, true);
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_HANDLEEAPAKASIMSETTINGS_EXIT );
+}
+
+/*!
+ Handles configurations for LEAP.
+
+ @param [in,out] eapConf EAP Configuration
+ */
+void EapWizardPrivate::handleLeapSettings(EapQtConfig &eapConf)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_HANDLELEAPSETTINGS_ENTRY );
+ eapConf.setValue(EapQtConfig::UsernameAutomatic, false);
+ eapConf.setValue(EapQtConfig::Username, configurations(Username));
+ eapConf.setValue(EapQtConfig::PasswordPrompt, false);
+ eapConf.setValue(EapQtConfig::Password, configurations(Password));
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_HANDLELEAPSETTINGS_EXIT );
+}
+
+/*!
+ Store outer type settings.
+
+ @param outerType reference to outertype
+
+ @return false in case of failure.
+ */
+bool EapWizardPrivate::storeOuterTypeSettings(EapQtPluginHandle &outerType)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_STOREOUTERTYPESETTINGS_ENTRY );
+ EapQtConfig eapConf;
+
+ // 1. Store outer type settings
+ switch (outerType.pluginId()) {
+ case EapQtPluginHandle::PluginEapTtls:
+ case EapQtPluginHandle::PluginPeap:
+ case EapQtPluginHandle::PluginEapTls:
+ handleTlsMethodsSettings(eapConf, outerType);
+ break;
+
+ case EapQtPluginHandle::PluginEapFast:
+ if (!handleEapFastSettings(eapConf)) {
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_STOREOUTERTYPESETTINGS_EXIT );
+ return false;
+ }
+ break;
+
+ case EapQtPluginHandle::PluginEapAka:
+ case EapQtPluginHandle::PluginEapSim:
+ handleEapAkaSimSettings(eapConf);
+ break;
+
+ default:
+ Q_ASSERT(outerType == EapQtPluginHandle::PluginLeap);
+ handleLeapSettings(eapConf);
+ break;
+ }
+
+ if (hasInnerMethod()) {
+ EapQtPluginHandle inner = static_cast<EapQtPluginHandle::Plugin>(
+ configurations(InnerType).toInt());
+
+ QList<QVariant> innerType;
+ innerType.append(qVariantFromValue(inner));
+ eapConf.setValue(EapQtConfig::InnerType, innerType);
+ }
+
+ // store outer type configurations
+ if (!mEapConfIf->saveConfiguration(outerType, eapConf)){
+ mEapConfIf->deleteConfiguration();
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPRIVATE_STOREOUTERTYPESETTINGS_EXIT );
+ return false;
+ }
+
+ QList<EapQtPluginHandle> selectedOuterTypes;
+ selectedOuterTypes.append(outerType);
+ if (!mEapConfIf->setSelectedOuterTypes(selectedOuterTypes)){
+ mEapConfIf->deleteConfiguration();
+ OstTraceFunctionExit0( DUP2_EAPWIZARDPRIVATE_STOREOUTERTYPESETTINGS_EXIT );
+ return false;
+ }
+
+ OstTraceFunctionExit0( DUP3_EAPWIZARDPRIVATE_STOREOUTERTYPESETTINGS_EXIT );
+ return true;
+}
+
+
+/*!
+ Store inner type settings if exists.
+
+ @param outerType reference to outertype
+
+ @return false in case of failure.
+ */
+bool EapWizardPrivate::storeInnerTypeSettings(EapQtPluginHandle &outerType)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPRIVATE_STOREINNERTYPESETTINGS_ENTRY );
+ bool ret = true;
+
+ if (hasInnerMethod()) {
+ EapQtPluginHandle inner = static_cast<EapQtPluginHandle::Plugin>(
+ configurations(InnerType).toInt());
+
+ // All inner methods supported by wizard use password / username.
+ EapQtConfig eapConfInner;
+ eapConfInner.setValue(EapQtConfig::OuterType, qVariantFromValue(outerType));
+ eapConfInner.setValue(EapQtConfig::UsernameAutomatic, false);
+ eapConfInner.setValue(EapQtConfig::Username, configurations(Username));
+ eapConfInner.setValue(EapQtConfig::PasswordPrompt, false);
+ eapConfInner.setValue(EapQtConfig::Password, configurations(Password));
+
+ if (!mEapConfIf->saveConfiguration(inner, eapConfInner)){
+ mEapConfIf->deleteConfiguration();
+ ret = false;
+ }
+ }
+ OstTraceFunctionExit0( EAPWIZARDPRIVATE_STOREINNERTYPESETTINGS_EXIT );
+ return ret;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpage.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,120 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard: API for wizard pages.
+ *
+ */
+
+// System includes
+#include <HbWidget>
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+
+// User includes
+#include "eapwizardpage.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpageTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPage
+ \brief Defines the interface for EAP specific wizard pages.
+ */
+
+/*!
+ \fn HbWidget* EapWizardPage::initializePage()
+ See WlanWizardPage.
+ */
+
+/*!
+ \fn int EapWizardPage::nextId() const
+ See WlanWizardPage.
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+EapWizardPage::EapWizardPage(EapWizardPrivate* parent) :
+ QObject(parent),
+ mWizard(parent)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGE_EAPWIZARDPAGE_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGE_EAPWIZARDPAGE_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPage::~EapWizardPage()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGE_EAPWIZARDPAGE_ENTRY );
+ mWizard = NULL;
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGE_EAPWIZARDPAGE_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+int EapWizardPage::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGE_NEXTID_ENTRY );
+ removeFromStack = false;
+ OstTraceFunctionExit0( EAPWIZARDPAGE_NEXTID_EXIT );
+ return nextId();
+}
+
+/*!
+ Loads requested section from given docml file.
+
+ @param [in] loader Document loader for docml
+ @param [in] orientation Orientation to be loaded
+ @param [in] filename the name of docml filename
+ @param [in] portraitSection the name of section to be loaded in portrait mode
+ @param [in] landscapeSection the name of section to be loaded in landscape mode
+ */
+void EapWizardPage::loadDocmlSection(
+ HbDocumentLoader *loader,
+ Qt::Orientation orientation,
+ const QString &filename,
+ const QString &portraitSection,
+ const QString &landscapeSection) const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGE_LOADDOCMLSECTION_ENTRY );
+ bool ok;
+
+ // Then load the orientation specific section
+ if (orientation == Qt::Horizontal) {
+ loader->load(filename, landscapeSection, &ok);
+ Q_ASSERT(ok);
+ } else {
+ Q_ASSERT(orientation == Qt::Vertical);
+ loader->load(filename, portraitSection, &ok);
+ Q_ASSERT(ok);
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGE_LOADDOCMLSECTION_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpagecertca.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2010 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:
+* EAP Wizard Page: Certificate Authority Selection.
+*/
+
+// System includes
+
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLabel>
+
+#include <eapqtpluginhandle.h>
+#include <eapqtplugininfo.h>
+#include <eapqtconfiginterface.h>
+#include <eapqtcertificateinfo.h>
+
+// User includes
+
+#include "wlanwizardhelper.h"
+#include "eapwizard_p.h"
+#include "eapwizardpagecertca.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpagecertcaTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPageCertCa
+ \brief Implements EAP wizard page: Certificate Authority selection
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+EapWizardPageCertCa::EapWizardPageCertCa(EapWizardPrivate* parent) :
+ EapWizardPage(parent),
+ mDocumentLoader(NULL),
+ mWidget(NULL),
+ mTitle(NULL),
+ mCertList(NULL)
+{
+ OstTraceFunctionEntry0(EAPWIZARDPAGECERTCA_EAPWIZARDPAGECERTCA_ENTRY);
+ OstTraceFunctionExit0(EAPWIZARDPAGECERTCA_EAPWIZARDPAGECERTCA_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPageCertCa::~EapWizardPageCertCa()
+{
+ OstTraceFunctionEntry0(DUP1_EAPWIZARDPAGECERTCA_EAPWIZARDPAGECERTCA_ENTRY);
+ OstTraceFunctionExit0(DUP1_EAPWIZARDPAGECERTCA_EAPWIZARDPAGECERTCA_EXIT);
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPageCertCa::initializePage()
+{
+ OstTraceFunctionEntry0(EAPWIZARDPAGECERTCA_INITIALIZEPAGE_ENTRY);
+
+ if (!mWidget) {
+ mDocumentLoader.reset( new HbDocumentLoader(
+ mWizard->wizardHelper()->mainWindow()) );
+
+ bool ok;
+ mDocumentLoader->load(":/docml/occ_eap_wizard_01_02_04.docml", &ok);
+ Q_ASSERT(ok);
+
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (
+ mDocumentLoader->findWidget("occ_eap_wizard_01"));
+ Q_ASSERT(mWidget);
+
+ mCertList = qobject_cast<HbRadioButtonList*> (
+ mDocumentLoader->findWidget("list"));
+ Q_ASSERT(mCertList);
+
+ mTitle = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("title"));
+ Q_ASSERT(mTitle);
+
+ mTitle->setPlainText(
+ hbTrId("txt_occ_title_select_authority_certificate"));
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+ }
+
+ EapQtConfigInterface* confIf = mWizard->eapConfigurationInterface();
+ // ignore return value
+ confIf->updateCertificates();
+ mCerts = confIf->certificateAuthorityCertificates();
+
+ QStringList list;
+ list << hbTrId("txt_occ_setlabel_val_select_automatically");
+ for (int i = 0; i < mCerts.count(); ++i) {
+ list << mCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString();
+ }
+
+ // If certificate list has been changed update the content otherwise do not
+ // change it
+ if (list != mCertList->items()) {
+ mCertList->setItems(list);
+ // Automatic is selected by default
+ mCertList->setSelected(IndexForAutomatic);
+ }
+
+ OstTraceFunctionExit0(EAPWIZARDPAGECERTCA_INITIALIZEPAGE_EXIT);
+ return mWidget;
+}
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPageCertCa::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0(EAPWIZARDPAGECERTCA_LOADDOCMLSECTION_ENTRY);
+
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_01_02_04.docml",
+ "portrait_section",
+ "landscape_section");
+
+ OstTraceFunctionExit0(EAPWIZARDPAGECERTCA_LOADDOCMLSECTION_EXIT);
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page:
+ - EapWizardPage::PageCertificateUser: For EAP-TLS
+ - EapWizardPage::PageIdentity: For EAP-TTLS and PEAP
+ */
+int EapWizardPageCertCa::nextId() const
+{
+ OstTraceFunctionEntry0(EAPWIZARDPAGECERTCA_NEXTID_ENTRY);
+
+ int id = WlanWizardPage::PageNone;
+ bool ok;
+ int type = mWizard->configurations(EapWizardPrivate::OuterType).toInt(&ok);
+ Q_ASSERT(ok);
+
+ if (type == EapQtPluginHandle::PluginEapTls) {
+ id = EapWizardPage::PageCertificateUser;
+ } else {
+ Q_ASSERT(
+ type == EapQtPluginHandle::PluginEapTtls ||
+ type == EapQtPluginHandle::PluginPeap);
+ id = EapWizardPage::PageIdentity;
+ }
+
+ int selected = mCertList->selected();
+ if (selected == IndexForAutomatic) {
+ mWizard->setConfigurations(
+ EapWizardPrivate::CertificateCa,
+ QVariant());
+ } else {
+ mWizard->setConfigurations(
+ EapWizardPrivate::CertificateCa,
+ qVariantFromValue(mCerts.at(selected - AmountOfNonCertItems)));
+ }
+
+ OstTraceFunctionExit0(EAPWIZARDPAGECERTCA_NEXTID_EXIT);
+ return id;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpagecertuser.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,209 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: User Certificate Selection.
+ *
+ */
+
+// System includes
+#include <QGraphicsItem>
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLabel>
+#include <eapqtconfiginterface.h>
+#include <eapqtcertificateinfo.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "eapwizardpagecertuser.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpagecertuserTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPageCertUser
+ \brief Implements EAP wizard page: User Certificate selection
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+
+EapWizardPageCertUser::EapWizardPageCertUser(EapWizardPrivate* parent) :
+ EapWizardPage(parent),
+ mWidget(NULL),
+ mCertList(NULL),
+ mErrorLabel(NULL),
+ mDocumentLoader(NULL),
+ mValid(false)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGECERTUSER_EAPWIZARDPAGECERTUSER_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGECERTUSER_EAPWIZARDPAGECERTUSER_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPageCertUser::~EapWizardPageCertUser()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGECERTUSER_EAPWIZARDPAGECERTUSER_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGECERTUSER_EAPWIZARDPAGECERTUSER_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPageCertUser::initializePage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGECERTUSER_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok;
+ mDocumentLoader.reset(new HbDocumentLoader(mWizard->wizardHelper()->mainWindow()));
+ mDocumentLoader->load(":/docml/occ_eap_wizard_06.docml", &ok);
+ Q_ASSERT(ok);
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocumentLoader->findWidget("occ_eap_wizard_06"));
+ Q_ASSERT(mWidget);
+
+ mCertList = qobject_cast<HbRadioButtonList*> (mDocumentLoader->findWidget("list"));
+ Q_ASSERT(mCertList);
+
+ mErrorLabel = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("errorLabel"));
+ Q_ASSERT(mErrorLabel);
+
+ mErrorLabel->setPlainText(hbTrId("txt_occ_dialog_no_certificates_installed_wizard_c"));
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mCertList, SIGNAL(itemSelected(int)),
+ this, SLOT(itemSelected(int)));
+ Q_ASSERT(ok);
+ }
+
+ EapQtConfigInterface* confIf = mWizard->eapConfigurationInterface();
+ // ignore return value
+ confIf->updateCertificates();
+ mCerts = confIf->userCertificates();
+
+ QStringList list;
+ for (int i = 0; i < mCerts.count(); ++i) {
+ list << mCerts.at(i).value(EapQtCertificateInfo::CertificateLabel).toString();
+ }
+
+ if (list.isEmpty()) {
+ mErrorLabel->setVisible(true);
+ mCertList->setVisible(false);
+ mValid = false;
+ } else if (list != mCertList->items()){
+ // in case the user cert list has been changed, update UI
+ mCertList->setItems(list);
+ mErrorLabel->setVisible(false);
+ mCertList->setVisible(true);
+
+ if (list.count() == 1) {
+ mValid = true;
+ mCertList->setSelected(0);
+ } else {
+ mValid = false;
+ }
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGECERTUSER_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPageCertUser::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGECERTUSER_LOADDOCMLSECTION_ENTRY );
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_06.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( EAPWIZARDPAGECERTUSER_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page: EapWizardPage::PageIdentity
+ */
+int EapWizardPageCertUser::nextId() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGECERTUSER_NEXTID_ENTRY );
+ mWizard->setConfigurations(
+ EapWizardPrivate::CertificateUser,
+ qVariantFromValue(
+ mCerts.at(mCertList->selected())));
+
+ OstTraceFunctionExit0( EAPWIZARDPAGECERTUSER_NEXTID_EXIT );
+ return EapWizardPage::PageIdentity;
+}
+
+/*!
+ See WlanWizardPage.
+
+ Validates the content of the page.
+
+ @return true if content is valid.
+ */
+bool EapWizardPageCertUser::showPage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGECERTUSER_SHOWPAGE_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGECERTUSER_SHOWPAGE_EXIT );
+ return mValid;
+}
+
+/*!
+ Handler for itemsSelected() signal from HbRadioButtonList.
+
+ @param [in] index NOT USED
+ */
+void EapWizardPageCertUser::itemSelected(int index)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGECERTUSER_ITEMSELECTED_ENTRY );
+ Q_UNUSED(index);
+ mValid = true;
+ mWizard->wizardHelper()->enableNextButton(mValid);
+ OstTraceFunctionExit0( EAPWIZARDPAGECERTUSER_ITEMSELECTED_EXIT );
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpageidentity.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,315 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: EAP Identity.
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbCheckBox>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <HbEditorInterface>
+#include <HbParameterLengthLimiter>
+#include <eapqtexpandedeaptype.h>
+#include <eapqtpluginhandle.h>
+#include <eapqtplugininfo.h>
+#include <eapqtconfiginterface.h>
+#include <eapqtvalidator.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "eapwizardpageidentity.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpageidentityTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPageIdentity
+ \brief Implements EAP wizard page: Identify for outer EAP type
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+EapWizardPageIdentity::EapWizardPageIdentity(EapWizardPrivate* parent) :
+ EapWizardPage(parent),
+ mDocumentLoader(NULL),
+ mValidatorRealm(NULL),
+ mValidatorUsername(NULL),
+ mWidget(NULL),
+ mEditUsername(NULL),
+ mEditRealm(NULL),
+ mCheckUsername(NULL),
+ mCheckRealm(NULL),
+ mLabelRealm(NULL),
+ mLabelUsername(NULL)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_EAPWIZARDPAGEIDENTITY_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_EAPWIZARDPAGEIDENTITY_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPageIdentity::~EapWizardPageIdentity()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGEIDENTITY_EAPWIZARDPAGEIDENTITY_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGEIDENTITY_EAPWIZARDPAGEIDENTITY_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPageIdentity::initializePage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok = true;
+ mDocumentLoader.reset(
+ new HbDocumentLoader(mWizard->wizardHelper()->mainWindow()));
+ mDocumentLoader->load(":/docml/occ_eap_wizard_03.docml", &ok);
+ Q_ASSERT(ok);
+
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocumentLoader->findWidget("occ_eap_wizard_03"));
+ Q_ASSERT(mWidget);
+
+ mEditUsername = qobject_cast<HbLineEdit*> (mDocumentLoader->findWidget("lineEditUsername"));
+ Q_ASSERT(mEditUsername);
+
+ mEditRealm = qobject_cast<HbLineEdit*> (mDocumentLoader->findWidget("lineEditRealm"));
+ Q_ASSERT(mEditRealm);
+
+ mCheckUsername = qobject_cast<HbCheckBox*> (mDocumentLoader->findWidget("setlabel_53_val"));
+ Q_ASSERT(mCheckUsername);
+
+ mCheckRealm = qobject_cast<HbCheckBox*> (mDocumentLoader->findWidget("setlabel_54_val"));
+ Q_ASSERT(mCheckRealm);
+
+ mLabelUsername = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("setlabel_53"));
+ Q_ASSERT(mLabelUsername);
+
+ mLabelRealm = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("setlabel_54"));
+ Q_ASSERT(mLabelRealm);
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mEditUsername, SIGNAL(textChanged(const QString &)),
+ this, SLOT(textChanged(const QString &)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mEditRealm, SIGNAL(textChanged(const QString &)),
+ this, SLOT(textChanged(const QString &)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mCheckUsername, SIGNAL(stateChanged(int)),
+ this, SLOT(stateChanged(int)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mCheckRealm, SIGNAL(stateChanged(int)),
+ this, SLOT(stateChanged(int)));
+ Q_ASSERT(ok);
+ // by default both checkboxes are checked
+ }
+ EapQtPluginHandle plugin((EapQtPluginHandle::Plugin)
+ mWizard->configurations(EapWizardPrivate::OuterType).toInt() );
+
+ mLabelUsername->setPlainText(
+ HbParameterLengthLimiter("txt_occ_setlabel_user_name_for_1").arg(
+ mWizard->eapTypeToString(plugin.pluginId())));
+
+ // Configure editors properties
+ mValidatorUsername.reset(
+ mWizard->eapConfigurationInterface()->validatorEap(
+ plugin.type(),
+ EapQtConfig::Username) );
+ Q_ASSERT(mValidatorUsername.data());
+ mValidatorUsername->updateEditor(mEditUsername);
+
+ mValidatorRealm.reset(
+ mWizard->eapConfigurationInterface()->validatorEap(
+ plugin.type(),
+ EapQtConfig::Realm) );
+ Q_ASSERT(mValidatorRealm.data());
+ mValidatorRealm->updateEditor(mEditRealm);
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPageIdentity::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_LOADDOCMLSECTION_ENTRY );
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_03.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page:
+ - WlanWizardPage::PageProcessSettings: For EAP-TLS
+ - EapWizardPage::PageInnerTypeEapTtls: For EAP-TTLS
+ - EapWizardPage::PageInnerTypePeap: For PEAP
+ */
+int EapWizardPageIdentity::nextId() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_NEXTID_ENTRY );
+ int id = WlanWizardPage::PageNone;
+ bool ok;
+ int type = mWizard->configurations(EapWizardPrivate::OuterType).toInt(&ok);
+ Q_ASSERT(ok);
+
+ switch (type) {
+ case EapQtPluginHandle::PluginEapTls:
+ id = WlanWizardPage::PageProcessSettings;
+ break;
+
+ case EapQtPluginHandle::PluginEapTtls:
+ id = EapWizardPage::PageInnerTypeEapTtls;
+ break;
+
+ case EapQtPluginHandle::PluginPeap:
+ id = EapWizardPage::PageInnerTypePeap;
+ break;
+ }
+
+ mWizard->setConfigurations(EapWizardPrivate::TunnelUsernameAutomatic,
+ mCheckUsername->isChecked());
+
+ mWizard->setConfigurations(
+ EapWizardPrivate::TunnelUsername, mEditUsername->text());
+
+ mWizard->setConfigurations(
+ EapWizardPrivate::TunnelRealmAutomatic, mCheckRealm->isChecked());
+
+ mWizard->setConfigurations(EapWizardPrivate::TunnelRealm, mEditRealm->text());
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_NEXTID_EXIT );
+ return id;
+}
+
+/*!
+ See WlanWizardPage.
+
+ Validates the content of the page.
+
+ @return true if content is valid.
+ */
+bool EapWizardPageIdentity::showPage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_SHOWPAGE_ENTRY );
+ bool valid = false;
+
+ if (validateGroup(mEditUsername, mCheckUsername, mValidatorUsername.data()) &&
+ validateGroup(mEditRealm, mCheckRealm, mValidatorRealm.data())) {
+ valid = true;
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_SHOWPAGE_EXIT );
+ return valid;
+}
+
+/*!
+ Slot for textChanged() signal from HbLineEdit.
+
+ @param [in] text NOT USED.
+ */
+void EapWizardPageIdentity::textChanged(const QString & text)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_TEXTCHANGED_ENTRY );
+ Q_UNUSED(text);
+ mWizard->wizardHelper()->enableNextButton(showPage());
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_TEXTCHANGED_EXIT );
+}
+
+/*!
+ Slot for stateChanged() signal from HbCheckBox.
+
+ @param [in] state NOT USED.
+ */
+void EapWizardPageIdentity::stateChanged(int state )
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_STATECHANGED_ENTRY );
+ Q_UNUSED(state);
+ mEditUsername->setEnabled(!mCheckUsername->isChecked());
+ mEditRealm->setEnabled(!mCheckRealm->isChecked());
+ mWizard->wizardHelper()->enableNextButton(showPage());
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_STATECHANGED_EXIT );
+}
+
+/*!
+ Validates the settings group, that is line edit and checkbox using
+ given validator.
+
+ @param [in] edit pointer to line edit to which content must be validated
+ @param [in] checkBox pointer to checkbox
+ @param [in] validator pointer to validator which is used to validate the content
+ of the line editor.
+
+ @return true if validation is ok, false otherwise.
+ */
+bool EapWizardPageIdentity::validateGroup(
+ HbLineEdit *edit,
+ HbCheckBox *checkBox,
+ EapQtValidator *validator) const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEIDENTITY_VALIDATEGROUP_ENTRY );
+ bool status = false;
+ if (checkBox->isChecked() ||
+ checkBox->isChecked() == false &&
+ EapQtValidator::StatusOk == validator->validate(edit->text())) {
+ status = true;
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGEIDENTITY_VALIDATEGROUP_EXIT );
+ return status;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpageinnertype.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,222 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: Inner Type selection
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLabel>
+#include <HbParameterLengthLimiter>
+#include <eapqtpluginhandle.h>
+#include <eapqtplugininfo.h>
+#include <eapqtconfiginterface.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "eapwizardpageinnertype.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpageinnertypeTraces.h"
+#endif
+
+
+
+/*!
+ \class EapWizardPageInnerType
+ \brief Implements EAP wizard page: Inner EAP type selection.
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ @param [in] outerType Identifies the outer type: Peap or EapTtls
+ */
+EapWizardPageInnerType::EapWizardPageInnerType(
+ EapWizardPrivate* parent, int outerType) :
+ EapWizardPage(parent),
+ mWidget(NULL),
+ mRadio(NULL),
+ mTitle(NULL),
+ mDocumentLoader(NULL),
+ mOuterType(outerType),
+ mValid(false)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEINNERTYPE_EAPWIZARDPAGEINNERTYPE_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGEINNERTYPE_EAPWIZARDPAGEINNERTYPE_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPageInnerType::~EapWizardPageInnerType()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGEINNERTYPE_EAPWIZARDPAGEINNERTYPE_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGEINNERTYPE_EAPWIZARDPAGEINNERTYPE_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPageInnerType::initializePage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEINNERTYPE_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok;
+ mDocumentLoader.reset(
+ new HbDocumentLoader(mWizard->wizardHelper()->mainWindow()));
+ mDocumentLoader->load(":/docml/occ_eap_wizard_01_02_04.docml", &ok);
+ Q_ASSERT(ok);
+
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocumentLoader->findWidget("occ_eap_wizard_01"));
+ Q_ASSERT(mWidget);
+
+ mTitle = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("title"));
+ Q_ASSERT(mTitle);
+
+ mRadio = qobject_cast<HbRadioButtonList*> (mDocumentLoader->findWidget("list"));
+ Q_ASSERT(mRadio);
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ QStringList list;
+ switch (mOuterType){
+ case EapQtPluginHandle::PluginPeap:
+ appendToList(list, EapQtPluginHandle::PluginEapMschapv2);
+ break;
+
+ default:
+ Q_ASSERT(mOuterType == EapQtPluginHandle::PluginEapTtls);
+ appendToList(list, EapQtPluginHandle::PluginPlainMschapv2);
+ appendToList(list, EapQtPluginHandle::PluginPap);
+ break;
+ }
+ appendToList(list, EapQtPluginHandle::PluginEapGtc);
+ mRadio->setItems(list);
+
+ ok = connect(mRadio, SIGNAL(itemSelected(int)), this, SLOT(itemSelected(int)));
+ Q_ASSERT(ok);
+ }
+
+ mTitle->setPlainText(
+ HbParameterLengthLimiter("txt_occ_title_select_innear_eap_type_for_1").arg(
+ mWizard->eapTypeToString(
+ mWizard->configurations(
+ EapWizardPrivate::OuterType).toInt())));
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEINNERTYPE_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPageInnerType::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEINNERTYPE_LOADDOCMLSECTION_ENTRY );
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_01_02_04.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( EAPWIZARDPAGEINNERTYPE_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page: EapWizardPage::PageUsernamePassword
+ */
+int EapWizardPageInnerType::nextId() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEINNERTYPE_NEXTID_ENTRY );
+ mWizard->setConfigurations(
+ EapWizardPrivate::InnerType,
+ mEapTypes.at(mRadio->selected()));
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEINNERTYPE_NEXTID_EXIT );
+ return EapWizardPage::PageUsernamePassword;
+}
+
+/*!
+ See WlanWizardPage.
+
+ Validates the content of the page.
+
+ @return true if content is valid.
+ */
+bool EapWizardPageInnerType::showPage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEINNERTYPE_SHOWPAGE_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGEINNERTYPE_SHOWPAGE_EXIT );
+ return mValid;
+}
+
+/*!
+ Handler for itemsSelected() signal from HbRadioButtonList.
+
+ @param [in] index NOT USED
+ */
+void EapWizardPageInnerType::itemSelected(int index )
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEINNERTYPE_ITEMSELECTED_ENTRY );
+ Q_UNUSED(index);
+ mValid = true;
+ mWizard->wizardHelper()->enableNextButton(mValid);
+ OstTraceFunctionExit0( EAPWIZARDPAGEINNERTYPE_ITEMSELECTED_EXIT );
+}
+
+/*!
+ Appends given method to radiobutton list if plugin (method) is supported
+
+ @param [in,out] items the content of radiobutton list
+ @param [in] pluginHandle EAP Type plugin handle to be added.
+ */
+void EapWizardPageInnerType::appendToList(
+ QStringList &items,
+ EapQtPluginHandle::Plugin innerType)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEINNERTYPE_APPENDTOLIST_ENTRY );
+ if (mWizard->eapConfigurationInterface()->isSupportedInnerType(
+ static_cast<EapQtPluginHandle::Plugin>(mOuterType), innerType)) {
+ items << mWizard->eapTypeToString(innerType);
+ mEapTypes.append(innerType);
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGEINNERTYPE_APPENDTOLIST_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpagenewpacstore.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: New PAC store password
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <eapqtexpandedeaptype.h>
+#include <eapqtconfiginterface.h>
+#include <eapqtconfig.h>
+#include <eapqtvalidator.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "eapwizardpagenewpacstore.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpagenewpacstoreTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPageNewPacStore
+ \brief Implements EAP wizard page: New PAC store password
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+EapWizardPageNewPacStore::EapWizardPageNewPacStore(
+ EapWizardPrivate* parent) :
+ EapWizardPage(parent),
+ mDocumentLoader(NULL),
+ mValidator(NULL),
+ mWidget(NULL),
+ mEditPasswordNew(NULL),
+ mEditPasswordConfirm(NULL),
+ mTitlePasswordNew(NULL),
+ mTitlePasswordConfirm(NULL)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGENEWPACSTORE_EAPWIZARDPAGENEWPACSTORE_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGENEWPACSTORE_EAPWIZARDPAGENEWPACSTORE_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPageNewPacStore::~EapWizardPageNewPacStore()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGENEWPACSTORE_EAPWIZARDPAGENEWPACSTORE_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGENEWPACSTORE_EAPWIZARDPAGENEWPACSTORE_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPageNewPacStore::initializePage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGENEWPACSTORE_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok;
+ mDocumentLoader.reset(
+ new HbDocumentLoader(mWizard->wizardHelper()->mainWindow()));
+ mDocumentLoader->load(":/docml/occ_eap_wizard_05_07.docml", &ok);
+ Q_ASSERT(ok);
+
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocumentLoader->findWidget("view"));
+ Q_ASSERT(mWidget);
+
+ mTitlePasswordNew = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("setlabel_55"));
+ Q_ASSERT(mTitlePasswordNew);
+
+ mTitlePasswordConfirm = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("setlabel_56"));
+ Q_ASSERT(mTitlePasswordConfirm);
+
+ mEditPasswordNew = qobject_cast<HbLineEdit*> (mDocumentLoader->findWidget("lineEditUsername"));
+ Q_ASSERT(mEditPasswordNew);
+
+ mEditPasswordConfirm = qobject_cast<HbLineEdit*> (mDocumentLoader->findWidget("lineEditPassword"));
+ Q_ASSERT(mEditPasswordConfirm);
+
+ mValidator.reset(
+ mWizard->eapConfigurationInterface()->validatorPacStore(
+ EapQtPacStoreConfig::PacStorePassword));
+ Q_ASSERT(mValidator.data());
+
+ mTitlePasswordNew->setPlainText(hbTrId("txt_occ_setlabel_new_pac_store_password"));
+ mTitlePasswordConfirm->setPlainText(hbTrId("txt_occ_setlabel_confirm_password"));
+
+ // Configure editors properties
+ mValidator->updateEditor(mEditPasswordNew);
+ mValidator->updateEditor(mEditPasswordConfirm);
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mEditPasswordNew, SIGNAL(textChanged(const QString &)),
+ this, SLOT(textChanged(const QString &)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mEditPasswordConfirm, SIGNAL(textChanged(const QString &)),
+ this, SLOT(textChanged(const QString &)));
+ Q_ASSERT(ok);
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGENEWPACSTORE_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPageNewPacStore::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGENEWPACSTORE_LOADDOCMLSECTION_ENTRY );
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_05_07.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( EAPWIZARDPAGENEWPACSTORE_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+
+ Validates the content of the page.
+
+ @return true if content is valid.
+ */
+bool EapWizardPageNewPacStore::showPage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGENEWPACSTORE_SHOWPAGE_ENTRY );
+ bool valid = false;
+ if (mValidator->validate(mEditPasswordNew->text()) == EapQtValidator::StatusOk &&
+ mEditPasswordNew->text() == mEditPasswordConfirm->text()) {
+ valid = true;
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGENEWPACSTORE_SHOWPAGE_EXIT );
+ return valid;
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page: EapWizardPage::PageUsernamePassword
+ */
+int EapWizardPageNewPacStore::nextId() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGENEWPACSTORE_NEXTID_ENTRY );
+ mWizard->setConfigurations(EapWizardPrivate::PacStorePassword, mEditPasswordNew->text());
+ OstTraceFunctionExit0( EAPWIZARDPAGENEWPACSTORE_NEXTID_EXIT );
+ return EapWizardPage::PageUsernamePassword;
+}
+
+/*!
+ Slot for textChanged() signal from HbLineEdit.
+
+ @param [in] text NOT USED.
+ */
+void EapWizardPageNewPacStore::textChanged(const QString &text)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGENEWPACSTORE_TEXTCHANGED_ENTRY );
+ Q_UNUSED(text);
+ mWizard->wizardHelper()->enableNextButton(showPage());
+ OstTraceFunctionExit0( EAPWIZARDPAGENEWPACSTORE_TEXTCHANGED_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpageoutertype.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,283 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: Outer type selection
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLabel>
+#include <eapqtpluginhandle.h>
+#include <eapqtplugininfo.h>
+#include <eapqtconfiginterface.h>
+#include <eapqtconfig.h>
+#include <eapqtpacstoreconfig.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "eapwizard_p.h"
+#include "eapwizardpageoutertype.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpageoutertypeTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPageOuterType
+ \brief Implements EAP wizard page: Outer EAP type selection
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+EapWizardPageOuterType::EapWizardPageOuterType(EapWizardPrivate* parent) :
+ EapWizardPage(parent),
+ mWidget(NULL),
+ mRadio(NULL),
+ mTitle(NULL),
+ mDocumentLoader(NULL),
+ mValid(false)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_EAPWIZARDPAGEOUTERTYPE_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_EAPWIZARDPAGEOUTERTYPE_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPageOuterType::~EapWizardPageOuterType()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGEOUTERTYPE_EAPWIZARDPAGEOUTERTYPE_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGEOUTERTYPE_EAPWIZARDPAGEOUTERTYPE_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPageOuterType::initializePage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok;
+ mDocumentLoader.reset(
+ new HbDocumentLoader(mWizard->wizardHelper()->mainWindow()));
+ mDocumentLoader->load(":/docml/occ_eap_wizard_01_02_04.docml", &ok);
+ Q_ASSERT(ok);
+
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocumentLoader->findWidget("occ_eap_wizard_01"));
+ Q_ASSERT(mWidget);
+
+ mRadio = qobject_cast<HbRadioButtonList*> (mDocumentLoader->findWidget("list"));
+ Q_ASSERT(mRadio);
+
+ mTitle = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("title"));
+ Q_ASSERT(mTitle);
+
+ mTitle->setPlainText(hbTrId("txt_occ_title_select_eap_type"));
+
+ QStringList items;
+ appendToList(items, EapQtPluginHandle::PluginPeap);
+ appendToList(items, EapQtPluginHandle::PluginEapTtls);
+ appendToList(items, EapQtPluginHandle::PluginEapTls);
+ appendToList(items, EapQtPluginHandle::PluginEapFast);
+ appendToList(items, EapQtPluginHandle::PluginLeap);
+ appendToList(items, EapQtPluginHandle::PluginEapAka);
+ appendToList(items, EapQtPluginHandle::PluginEapSim);
+ mRadio->setItems(items);
+
+ ok = connect(
+ mRadio, SIGNAL(itemSelected(int)),
+ this, SLOT(itemSelected(int)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPageOuterType::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_LOADDOCMLSECTION_ENTRY );
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_01_02_04.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page:
+ - WlanWizardPage::PageProcessSettings: For EAP-AKA and EAP-SIM
+ - EapWizardPage::PageCertificateCa: For PEAP, EAP-TLS and EAP-TTLS
+ - EapWizardPage::PageUsernamePassword: For LEAP and EAP-FAST (pac confirmed)
+ - EapWizardPage::PageNewPacStorePassword: For EAP-FAST (no pac store)
+ - EapWizardPage::PagePromptPacStorePassword: For EAP-FAST (confirm pac store)
+ */
+int EapWizardPageOuterType::nextId() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_NEXTID_ENTRY );
+ int id = WlanWizardPage::PageNone;
+ EapQtPluginHandle::Plugin handle =
+ static_cast<EapQtPluginHandle::Plugin>(mEapTypes.at(mRadio->selected()));
+ switch (handle) {
+ case EapQtPluginHandle::PluginPeap:
+ case EapQtPluginHandle::PluginEapTtls:
+ case EapQtPluginHandle::PluginEapTls:
+ id = EapWizardPage::PageCertificateCa;
+ break;
+
+ case EapQtPluginHandle::PluginEapFast:
+ id = nextIdForEapFast();
+ break;
+
+ case EapQtPluginHandle::PluginLeap:
+ id = EapWizardPage::PageUsernamePassword;
+ break;
+
+ default:
+ Q_ASSERT(EapQtPluginHandle::PluginEapAka == handle ||
+ EapQtPluginHandle::PluginEapSim == handle);
+ id = WlanWizardPage::PageProcessSettings;
+ break;
+ }
+
+ mWizard->setConfigurations(EapWizardPrivate::OuterType, handle);
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_NEXTID_EXIT );
+ return id;
+}
+
+/*!
+ See WlanWizardPage.
+
+ Validates the content of the page.
+
+ @return true if content is valid.
+ */
+bool EapWizardPageOuterType::showPage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_SHOWPAGE_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_SHOWPAGE_EXIT );
+ return mValid;
+}
+
+/*!
+ Slot for itemSelected() signal from HbRadioButtonList.
+
+ @param [in] index NOT USED.
+ */
+void EapWizardPageOuterType::itemSelected(int index)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_ITEMSELECTED_ENTRY );
+ Q_UNUSED(index);
+ mValid = true;
+ mWizard->wizardHelper()->enableNextButton(mValid);
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_ITEMSELECTED_EXIT );
+}
+
+/*!
+ Appends given method to radiobutton list if plugin (method) is supported
+
+ @param [in,out] items the content of radiobutton list
+ @param [in] pluginHandle EAP Type plugin handle to be added.
+ */
+void EapWizardPageOuterType::appendToList(
+ QStringList &items, int pluginHandle)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_APPENDTOLIST_ENTRY );
+ if (mWizard->eapConfigurationInterface()->isSupportedOuterType(
+ (EapQtPluginHandle::Plugin)pluginHandle)) {
+ items << mWizard->eapTypeToString(pluginHandle);
+ mEapTypes.append(pluginHandle);
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_APPENDTOLIST_EXIT );
+}
+
+/*
+ Getter for next page id when outer eap type is EAP-FAST.
+
+ @return Page ID.
+ */
+int EapWizardPageOuterType::nextIdForEapFast() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEOUTERTYPE_NEXTIDFOREAPFAST_ENTRY );
+ int pageId;
+
+ mWizard->setConfigurations(EapWizardPrivate::InnerType,
+ EapQtPluginHandle::PluginEapMschapv2);
+
+ EapQtPacStoreConfig pacStoreConf;
+ int pacStoreState = EapQtPacStoreConfig::PacStoreStateStoreNotExists;
+
+ if (mWizard->eapConfigurationInterface()->readPacStoreConfiguration(pacStoreConf)) {
+ pacStoreState = pacStoreConf.value(EapQtPacStoreConfig::PacStoreState).toInt();
+ } else {
+ pacStoreConf.clear();
+ pacStoreConf.setValue(EapQtPacStoreConfig::PacStoreReset, true);
+ mWizard->eapConfigurationInterface()->savePacStoreConfiguration(pacStoreConf);
+ }
+
+ mWizard->setConfigurations(EapWizardPrivate::PacStoreState, pacStoreState);
+
+ switch (pacStoreState) {
+ case EapQtPacStoreConfig::PacStoreStateStoreNotExists:
+ pageId = EapWizardPage::PageNewPacStorePassword;
+ break;
+
+ case EapQtPacStoreConfig::PacStoreStatePasswordRequired:
+ pageId = EapWizardPage::PagePromptPacStorePassword;
+ break;
+
+ default:
+ Q_ASSERT(pacStoreState == EapQtPacStoreConfig::PacStoreStatePasswordStored);
+ pageId = EapWizardPage::PageUsernamePassword;
+ break;
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEOUTERTYPE_NEXTIDFOREAPFAST_EXIT );
+ return pageId;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpagepacstorepasswordconfirm.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,206 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: New PAC store password
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <eapqtexpandedeaptype.h>
+#include <eapqtconfiginterface.h>
+#include <eapqtconfig.h>
+#include <eapqtvalidator.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "eapwizardpagepacstorepasswordconfirm.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpagepacstorepasswordconfirmTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPagePacStorePasswordConfirm
+ \brief Implements EAP wizard page: Confirm PAC store password
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+EapWizardPagePacStorePasswordConfirm::EapWizardPagePacStorePasswordConfirm(
+ EapWizardPrivate* parent) :
+ EapWizardPage(parent),
+ mDocumentLoader(NULL),
+ mValidator(NULL),
+ mWidget(NULL),
+ mEditPasswordConfirm(NULL),
+ mLabelError(NULL)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPagePacStorePasswordConfirm::~EapWizardPagePacStorePasswordConfirm()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPagePacStorePasswordConfirm::initializePage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok;
+ mDocumentLoader.reset(
+ new HbDocumentLoader(mWizard->wizardHelper()->mainWindow()));
+ mDocumentLoader->load(":/docml/occ_eap_wizard_08.docml", &ok);
+ Q_ASSERT(ok);
+
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocumentLoader->findWidget("view"));
+ Q_ASSERT(mWidget);
+
+ mEditPasswordConfirm = qobject_cast<HbLineEdit*> (mDocumentLoader->findWidget(
+ "lineEditPasswordConfirm"));
+ Q_ASSERT(mEditPasswordConfirm);
+
+ mLabelError = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("labelError"));
+ Q_ASSERT(mLabelError);
+
+ mValidator.reset(
+ mWizard->eapConfigurationInterface()->validatorPacStore(
+ EapQtPacStoreConfig::PacStorePasswordConfirmation));
+ Q_ASSERT(mValidator.data());
+
+ mLabelError->setPlainText("");
+ // Configurate editor properties and configurations
+ mValidator->updateEditor(mEditPasswordConfirm);
+
+ mEditPasswordConfirm->installEventFilter(this);
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPagePacStorePasswordConfirm::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_LOADDOCMLSECTION_ENTRY );
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_08.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page:
+ - EapWizardPage::PageUsernamePassword: When password is ok
+ - WlanWizardPage::PageNone: When password is not ok
+ */
+int EapWizardPagePacStorePasswordConfirm::nextId() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_NEXTID_ENTRY );
+ int id;
+ if (mValidator->validate(mEditPasswordConfirm->text()) ==
+ EapQtValidator::StatusOk) {
+
+ mWizard->setConfigurations(
+ EapWizardPrivate::PacStorePassword,
+ mEditPasswordConfirm->text());
+
+ id = EapWizardPage::PageUsernamePassword;
+ } else {
+ id = WlanWizardPage::PageNone;
+ mLabelError->setPlainText(hbTrId("txt_occ_info_incorrect_password"));
+ }
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_NEXTID_EXIT );
+ return id;
+}
+
+/*!
+ See WlanWizardPage::showPage().
+
+ Sets the focus to line editor, opens virtual keyboard.
+
+ @return true, content is valid always.
+ */
+bool EapWizardPagePacStorePasswordConfirm::showPage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_SHOWPAGE_ENTRY );
+ mEditPasswordConfirm->setFocus();
+ OstTraceFunctionExit0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_SHOWPAGE_EXIT );
+ return true;
+}
+
+/*!
+ Event filter for HbLineEdit. When editor gets focus a possible error text
+ is cleared.
+
+ @param [in] obj Pointer to object to where the event is sent
+ @param [in] event Event
+ */
+bool EapWizardPagePacStorePasswordConfirm::eventFilter(
+ QObject *obj, QEvent *event)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EVENTFILTER_ENTRY );
+ if (obj == mEditPasswordConfirm && event->type() == QEvent::FocusIn) {
+ mLabelError->setPlainText("");
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGEPACSTOREPASSWORDCONFIRM_EVENTFILTER_EXIT );
+ return false;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/src/eapwizardpageusernamepassword.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,228 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP Wizard Page: Common Username & password query.
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <HbEditorInterface>
+#include <HbParameterLengthLimiter>
+#include <eapqtexpandedeaptype.h>
+#include <eapqtpluginhandle.h>
+#include <eapqtconfiginterface.h>
+#include <eapqtvalidator.h>
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "eapwizardpageusernamepassword.h"
+#include "eapwizard_p.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "eapwizardpageusernamepasswordTraces.h"
+#endif
+
+
+/*!
+ \class EapWizardPageUsernamePassword
+ \brief Implements EAP wizard page: Generic Username & Password page
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent Pointer to EAP Wizard private implementation.
+ */
+EapWizardPageUsernamePassword::EapWizardPageUsernamePassword(
+ EapWizardPrivate* parent) :
+ EapWizardPage(parent),
+ mDocumentLoader(NULL),
+ mValidatorUsername(NULL),
+ mValidatorPassword(NULL),
+ mWidget(NULL),
+ mEditUsername(NULL),
+ mEditPassword(NULL),
+ mTitleUsername(NULL),
+ mTitlePassword(NULL)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEUSERNAMEPASSWORD_EAPWIZARDPAGEUSERNAMEPASSWORD_ENTRY );
+ OstTraceFunctionExit0( EAPWIZARDPAGEUSERNAMEPASSWORD_EAPWIZARDPAGEUSERNAMEPASSWORD_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+EapWizardPageUsernamePassword::~EapWizardPageUsernamePassword()
+{
+ OstTraceFunctionEntry0( DUP1_EAPWIZARDPAGEUSERNAMEPASSWORD_EAPWIZARDPAGEUSERNAMEPASSWORD_ENTRY );
+ OstTraceFunctionExit0( DUP1_EAPWIZARDPAGEUSERNAMEPASSWORD_EAPWIZARDPAGEUSERNAMEPASSWORD_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+ */
+HbWidget* EapWizardPageUsernamePassword::initializePage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEUSERNAMEPASSWORD_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok = true;
+ mDocumentLoader.reset(
+ new HbDocumentLoader(mWizard->wizardHelper()->mainWindow()));
+ mDocumentLoader->load(":/docml/occ_eap_wizard_05_07.docml", &ok);
+ Q_ASSERT(ok);
+ loadDocmlSection(mWizard->wizardHelper()->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocumentLoader->findWidget("view"));
+ Q_ASSERT(mWidget);
+
+ mTitleUsername = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("setlabel_55"));
+ Q_ASSERT(mTitleUsername);
+
+ mTitlePassword = qobject_cast<HbLabel*> (mDocumentLoader->findWidget("setlabel_56"));
+ Q_ASSERT(mTitlePassword);
+
+ mEditUsername = qobject_cast<HbLineEdit*> (mDocumentLoader->findWidget("lineEditUsername"));
+ Q_ASSERT(mEditUsername);
+
+ mEditPassword = qobject_cast<HbLineEdit*> (mDocumentLoader->findWidget("lineEditPassword"));
+ Q_ASSERT(mEditPassword);
+
+ mTitlePassword->setPlainText(hbTrId("txt_occ_setlabel_eap_password"));
+
+ ok = connect(
+ mWizard->wizardHelper()->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mEditUsername, SIGNAL(textChanged(const QString &)),
+ this, SLOT(textChanged(const QString &)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mEditPassword, SIGNAL(textChanged(const QString &)),
+ this, SLOT(textChanged(const QString &)));
+ Q_ASSERT(ok);
+ }
+
+ int eapType = mWizard->configurations(EapWizardPrivate::OuterType).toInt();
+
+ if (eapType != EapQtPluginHandle::PluginLeap) {
+ eapType = mWizard->configurations(EapWizardPrivate::InnerType).toInt();
+ }
+
+ EapQtPluginHandle plugin(static_cast<EapQtPluginHandle::Plugin>(eapType));
+
+ mValidatorUsername.reset(
+ mWizard->eapConfigurationInterface()->validatorEap(
+ plugin.type(),
+ EapQtConfig::Username));
+ Q_ASSERT(mValidatorUsername.data());
+ mValidatorUsername->updateEditor(mEditUsername);
+
+ mValidatorPassword.reset(
+ mWizard->eapConfigurationInterface()->validatorEap(
+ plugin.type(),
+ EapQtConfig::Password));
+ Q_ASSERT(mValidatorPassword.data());
+ mValidatorPassword->updateEditor(mEditPassword);
+
+ mTitleUsername->setPlainText(
+ HbParameterLengthLimiter("txt_occ_setlabel_user_name_for_1").arg(
+ mWizard->eapTypeToString(eapType)));
+
+ OstTraceFunctionExit0( EAPWIZARDPAGEUSERNAMEPASSWORD_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ Loads the required orientation of docml.
+
+ @param [in] orientation Orientation to be loaded.
+ */
+void EapWizardPageUsernamePassword::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEUSERNAMEPASSWORD_LOADDOCMLSECTION_ENTRY );
+ EapWizardPage::loadDocmlSection(
+ mDocumentLoader.data(),
+ orientation,
+ ":/docml/occ_eap_wizard_05_07.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( EAPWIZARDPAGEUSERNAMEPASSWORD_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage.
+
+ Validates the content of the page.
+
+ @return true if content is valid.
+ */
+bool EapWizardPageUsernamePassword::showPage()
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEUSERNAMEPASSWORD_SHOWPAGE_ENTRY );
+ bool valid = false;
+ if (mValidatorUsername->validate(mEditUsername->text()) ==
+ EapQtValidator::StatusOk &&
+ mValidatorPassword->validate(mEditPassword->text()) ==
+ EapQtValidator::StatusOk) {
+ valid = true;
+ }
+ OstTraceFunctionExit0( EAPWIZARDPAGEUSERNAMEPASSWORD_SHOWPAGE_EXIT );
+ return valid;
+}
+
+/*!
+ See WlanWizardPage.
+
+ @return next wizard page: EapWizardPage::PageProcessSettings
+ */
+int EapWizardPageUsernamePassword::nextId() const
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEUSERNAMEPASSWORD_NEXTID_ENTRY );
+ mWizard->setConfigurations(EapWizardPrivate::Username, mEditUsername->text());
+ mWizard->setConfigurations(EapWizardPrivate::Password, mEditPassword->text());
+ OstTraceFunctionExit0( EAPWIZARDPAGEUSERNAMEPASSWORD_NEXTID_EXIT );
+ return EapWizardPage::PageProcessSettings;
+}
+
+/*!
+ Slot for textChanged() signal from HbLineEdit.
+
+ @param [in] text NOT USED.
+ */
+void EapWizardPageUsernamePassword::textChanged(const QString & text )
+{
+ OstTraceFunctionEntry0( EAPWIZARDPAGEUSERNAMEPASSWORD_TEXTCHANGED_ENTRY );
+ Q_UNUSED(text);
+ mWizard->wizardHelper()->enableNextButton(showPage());
+ OstTraceFunctionExit0( EAPWIZARDPAGEUSERNAMEPASSWORD_TEXTCHANGED_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2010 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:
+ * Trace definition file for wlanwizard
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/eapwizard/traces/trace.properties Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<trace_properties>
+ <enum name="ConfigurationId">
+ <value id="0">OuterType</value>
+ <value id="1">InnerType</value>
+ <value id="2">CertificateCa</value>
+ <value id="3">CertificateUser</value>
+ <value id="4">TunnelUsernameAutomatic</value>
+ <value id="5">TunnelUsername</value>
+ <value id="6">TunnelRealmAutomatic</value>
+ <value id="7">TunnelRealm</value>
+ <value id="8">Username</value>
+ <value id="9">Password</value>
+ <value id="10">PacStorePassword</value>
+ <value id="11">PacStoreState</value>
+ </enum>
+</trace_properties>
--- a/wlanutilities/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2001-2009 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: Build information for wlanutilities
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-#include "../wlanplugin/group/bld.inf"
-#include "../wlansettingsui/group/bld.inf"
-#include "../wlansniffer/group/bld.inf"
-#include "../wlanindicatorplugin/group/bld.inf"
-
-
-PRJ_TESTMMPFILES
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/inc/FirstView.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test Application for wizards
+ *
+ */
+
+#ifndef FIRSTVIEW_H_
+#define FIRSTVIEW_H_
+
+#include <HbView.h>
+
+class HbComboBox;
+class HbLineEdit;
+class HbCheckBox;
+class WlanWizard;
+class HbLabel;
+
+/*!
+ * @addtogroup group_test_eap_wizard
+ * @{
+ */
+
+class FirstView : public HbView
+{
+Q_OBJECT
+
+public:
+ FirstView();
+ virtual ~FirstView();
+
+
+private slots:
+ void start(bool);
+ void finished(int iapId, bool connected);
+ void cancelled();
+
+private:
+ void deleteWizard();
+
+private:
+ WlanWizard *mWizard;
+
+ HbCheckBox *mUseConf;
+ HbLineEdit *mSsid;
+ HbComboBox *mNetworkMode;
+ HbComboBox *mSecurityMode;
+ HbCheckBox *mHidden;
+ HbCheckBox *mUseWpaPsk;
+ HbCheckBox *mUseWps;
+ HbLabel *mStatus;
+
+};
+
+/*! @} */
+
+#endif /* FIRSTVIEW_H_ */
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/inc/MyAppEngine.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test Application for wizards
+ *
+ */
+
+#ifndef MYAPPENGINE_H_
+#define MYAPPENGINE_H_
+
+#include <QObject>
+
+/*!
+ * @addtogroup group_test_eap_wizard
+ * @{
+ */
+
+class MyAppEngine : public QObject
+ {
+ Q_OBJECT
+
+public:
+ MyAppEngine(QObject *parent = 0);
+ virtual ~MyAppEngine();
+
+signals:
+ void toFirstView();
+ void toSecondView();
+
+ };
+
+/*! @} */
+
+#endif /* MYAPPENGINE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/inc/MyAppMainWindow.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,54 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test Application for wizards
+ *
+ */
+
+#ifndef MYAPPMAINWINDOW_H_
+#define MYAPPMAINWINDOW_H_
+
+#include <qobject>
+#include <hbmainwindow.h>
+
+// Forward declarations
+class FirstView;
+
+class HbDocumentLoader;
+
+/*!
+ * @addtogroup group_test_eap_wizard
+ * @{
+ */
+class MyAppMainWindow : public HbMainWindow
+ {
+
+public:
+ MyAppMainWindow();
+ virtual ~MyAppMainWindow();
+
+public slots:
+ void toFirstView();
+
+private:
+ void addFirstView();
+
+private:
+ FirstView *mFirstView;
+
+ };
+
+/*! @} */
+
+#endif /* MYAPPMAINWINDOW_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/inc/MyApplication.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,47 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test Application for wizards
+ *
+ */
+
+#ifndef MYAPPLICATION_H_
+#define MYAPPLICATION_H_
+
+#include <QSharedPointer>
+#include <HbApplication.h>
+
+// forward declarations
+class MyAppEngine;
+class MyAppMainWindow;
+
+/*!
+ * @addtogroup group_test_eap_wizard
+ * @{
+ */
+
+class MyApplication : public HbApplication
+ {
+public:
+ MyApplication(int argc, char* argv[]);
+ virtual ~MyApplication();
+
+private:
+ QSharedPointer<MyAppEngine> engine; // owned
+ QSharedPointer<MyAppMainWindow> mainWindow; // owned
+ };
+
+/*! @} */
+
+#endif /* MYAPPLICATION_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/resources/mainview.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<hbdocument version="1.0">
+ <widget name="view" type="HbView">
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <widget name="container" type="HbWidget">
+ <widget name="startWizard" type="HbPushButton">
+ <string name="text" value="Start wizard"/>
+ <real name="z" value="1"/>
+ </widget>
+ <widget name="useConf" type="HbCheckBox">
+ <string name="text" value="Use configurations"/>
+ <real name="z" value="2"/>
+ </widget>
+ <widget name="networkMode" type="HbComboBox">
+ <contentsmargins bottom="0un" left="5un" right="0un" top="0un"/>
+ <container name="items" type="stringlist">
+ <string value="Ad-hoc"/>
+ <string value="Public"/>
+ <string value="Invalid"/>
+ </container>
+ </widget>
+ <widget name="securityMode" type="HbComboBox">
+ <contentsmargins bottom="0un" left="5un" right="0un" top="0un"/>
+ <container name="items" type="stringlist">
+ <string value="Open"/>
+ <string value="WEP"/>
+ <string value="802.1x"/>
+ <string value="WPA"/>
+ <string value="WPA2"/>
+ <string value="WAPI"/>
+ <string value="Invalid"/>
+ </container>
+ </widget>
+ <widget name="useWps" type="HbCheckBox">
+ <string name="text" value="Wireless Protected Setup"/>
+ <contentsmargins bottom="0un" left="5un" right="0un" top="0un"/>
+ </widget>
+ <widget name="label_1" type="HbLabel">
+ <string name="plainText" value="Wizard status:"/>
+ </widget>
+ <widget name="labelWizardStatus" type="HbLabel">
+ <contentsmargins bottom="0un" left="5un" right="0un" top="0un"/>
+ <string name="plainText" value="NA"/>
+ </widget>
+ <widget name="useWpaPsk" type="HbCheckBox">
+ <string name="text" value="WPA PSK"/>
+ <contentsmargins bottom="0un" left="5un" right="0un" top="0un"/>
+ </widget>
+ <widget name="label" type="HbLabel">
+ <contentsmargins bottom="0un" left="5un" right="0un" top="0un"/>
+ <string name="plainText" value="SSID"/>
+ </widget>
+ <widget name="ssid" type="HbLineEdit">
+ <string name="text"/>
+ <contentsmargins bottom="0un" left="5un" right="0un" top="0un"/>
+ </widget>
+ <sizehint height="86.41791un" type="PREFERRED" width="53.73134un"/>
+ <real name="z" value="0"/>
+ <layout orientation="Vertical" type="linear">
+ <linearitem itemname="startWizard"/>
+ <linearitem itemname="useConf"/>
+ <linearitem itemname="label"/>
+ <linearitem itemname="ssid"/>
+ <linearitem itemname="networkMode"/>
+ <linearitem itemname="securityMode"/>
+ <linearitem itemname="useWpaPsk"/>
+ <linearitem itemname="useWps"/>
+ <stretchitem stretchfactor="1"/>
+ <linearitem itemname="label_1"/>
+ <linearitem itemname="labelWizardStatus"/>
+ </layout>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="container" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="container" dstEdge="TOP" spacing="-0.29851un" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <string name="title" value="View"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/resources/resource.qrc Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,5 @@
+<RCC>
+ <qresource prefix="/docml" >
+ <file alias="mainview.docml">mainview.docml.bin</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/rom/testwizard.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,32 @@
+/*
+* Copyright (c) 2010 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:
+* Test wizard application for WLAN wizard
+*/
+
+#ifndef TESTWIZARD_IBY
+#define TESTWIZARD_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR\BUILD_DIR\testwizard.exe SHARED_LIB_DIR\testwizard.exe
+data=/epoc32/data/z/private/10003a3f/import/Apps/testwizard_reg.rsc /private/10003a3f/import/apps/testwizard_reg.rsc
+data=/epoc32/data/z/resource/apps/testwizard.rsc /resource/apps/testwizard.rsc
+
+#endif // __PROTOCOL_WLAN
+
+#endif // TESTWIZARD_IBY
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/src/FirstView.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,124 @@
+/*
+* Copyright (c) 2010 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:
+* Test application for wizards.
+*/
+
+#include <qgraphicswidget>
+#include <hbpushbutton.h>
+#include <hbdocumentloader.h>
+#include <hbcombobox.h>
+#include <hbcheckbox.h>
+#include <hblineedit.h>
+#include <hblabel.h>
+
+#include <qdebug.h>
+
+#include "firstview.h"
+#include "wlanwizard.h"
+
+FirstView::FirstView() :
+ mWizard(NULL)
+{
+ qDebug("FirstView::FirstView()");
+ bool ok = false;
+ HbDocumentLoader loader;
+ loader.load(":/docml/mainview.docml", &ok);
+ Q_ASSERT_X(ok, "EAP Wizard EXE", "Invalid docml file");
+
+ QGraphicsWidget *widget = loader.findWidget("view");
+ Q_ASSERT_X(widget != 0, "TestEapWizard", "View not found");
+
+ HbPushButton *action = qobject_cast<HbPushButton *> (loader.findObject("startWizard"));
+ Q_ASSERT_X(action != 0, "TestEapWizard", "startWizard not found");
+ connect(action, SIGNAL(clicked(bool)), this, SLOT(start(bool)));
+
+ mUseConf = qobject_cast<HbCheckBox *> (loader.findWidget("useConf"));
+ Q_ASSERT_X(mUseConf != 0, "TestEapWizard", "useConf not found");
+
+ mSsid = qobject_cast<HbLineEdit *> (loader.findWidget("ssid"));
+ Q_ASSERT_X(mSsid != 0, "TestEapWizard", "ssid not found");
+
+ mNetworkMode = qobject_cast<HbComboBox *> (loader.findWidget("networkMode"));
+ Q_ASSERT_X(mNetworkMode != 0, "TestEapWizard", "networkMode not found");
+
+ mSecurityMode = qobject_cast<HbComboBox *> (loader.findWidget("securityMode"));
+ Q_ASSERT_X(mSecurityMode != 0, "TestEapWizard", "securityMode not found");
+
+ mUseWpaPsk = qobject_cast<HbCheckBox *> (loader.findWidget("useWpaPsk"));
+ Q_ASSERT_X(mUseWpaPsk != 0, "TestEapWizard", "useWpaPsk not found");
+
+ mUseWps = qobject_cast<HbCheckBox *> (loader.findWidget("useWps"));
+ Q_ASSERT_X(mUseConf != 0, "TestEapWizard", "useWps not found");
+
+ mStatus = qobject_cast<HbLabel *> (loader.findWidget("labelWizardStatus"));
+ Q_ASSERT_X(mStatus != 0, "TestEapWizard", "labelWizardStatus not found");
+
+ setWidget(widget);
+ qDebug("FirstView::FirstView() - done %d", action);
+}
+
+FirstView::~FirstView()
+{
+ delete mWizard;
+}
+
+void FirstView::start(bool)
+{
+ qDebug("FirstView::Start");
+ if (!mWizard) {
+ mWizard = new WlanWizard(mainWindow());
+
+ connect(mWizard, SIGNAL(finished(int, bool)), this, SLOT(finished(int, bool)));
+ connect(mWizard, SIGNAL(cancelled()), this, SLOT(cancelled()));
+ }
+
+ if (mUseConf->isChecked()) {
+ mWizard->setParameters(
+ mSsid->text(),
+ mNetworkMode->currentIndex(),
+ 1 << mSecurityMode->currentIndex(),
+ mUseWpaPsk->isChecked(),
+ mUseWps->isChecked());
+ }
+
+ mWizard->show();
+}
+
+void FirstView::deleteWizard()
+{
+ qDebug("FirstView::deleteWizard");
+
+ Q_ASSERT(mWizard);
+ mWizard->deleteLater();
+ mWizard = NULL;
+
+}
+
+void FirstView::finished(int iapId, bool connected)
+{
+ qDebug("FirstView::complete(), iap id: %d, connected: %d", iapId, connected);
+ QString text;
+ text.setNum(iapId);
+ text.prepend("Finished, IAP ID: ");
+ mStatus->setPlainText(text);
+ deleteWizard();
+}
+
+void FirstView::cancelled()
+{
+ qDebug("FirstView::cancelled()");
+ mStatus->setPlainText("Cancelled");
+ deleteWizard();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/src/MyAppEngine.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test application for wizards.
+ *
+ */
+
+#include "MyAppEngine.h"
+
+MyAppEngine::MyAppEngine(QObject *parent)
+ : QObject(parent)
+{
+
+}
+
+MyAppEngine::~MyAppEngine()
+{
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/src/MyAppMainWindow.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,52 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test application for wizards.
+ *
+ */
+
+#include "myappmainwindow.h"
+#include "myappengine.h"
+#include "firstview.h"
+
+// ViewManager Constructor
+MyAppMainWindow::MyAppMainWindow()
+{
+
+ // Add the views to the main window
+ addFirstView();
+ // show the main window (which will display the last view that was added)
+ toFirstView();
+ show();
+}
+
+// Destructor
+MyAppMainWindow::~MyAppMainWindow()
+{
+}
+
+// Methods to add views to the main window
+void MyAppMainWindow::addFirstView()
+{
+ mFirstView = new FirstView();
+ addView(mFirstView);
+}
+
+
+// Slots to handle view change
+void MyAppMainWindow::toFirstView()
+{
+ setCurrentView(mFirstView);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/src/MyApplication.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test application for wizards.
+ *
+ */
+
+#include "myapplication.h"
+#include "myappmainwindow.h"
+#include "myappengine.h"
+
+MyApplication::MyApplication(int argc, char* argv[]) :
+ HbApplication(argc, argv),
+ engine(new MyAppEngine),
+ mainWindow(new MyAppMainWindow())
+{
+}
+
+MyApplication::~MyApplication()
+{
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/src/main.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,25 @@
+/*
+ * Copyright (c) 2010 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:
+ * Test application for wizards.
+ *
+ */
+
+#include "myapplication.h"
+
+int main(int argc, char *argv[])
+{
+ MyApplication app(argc, argv);
+ return app.exec();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/testwizard/testwizard.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,58 @@
+#
+# Copyright (c) 2010 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:
+# Test application for wizards
+#
+
+
+TEMPLATE = app
+TARGET = testwizard
+CONFIG += hb
+
+MOC_DIR = build
+RCC_DIR = build
+
+DEPENDPATH += .
+INCLUDEPATH += . \
+ ../inc
+
+HEADERS = inc/MyApplication.h \
+ inc/MyAppMainWindow.h \
+ inc/FirstView.h \
+ inc/MyAppEngine.h
+
+SOURCES += src/MyAppEngine.cpp \
+ src/MyApplication.cpp \
+ src/MyAppMainWindow.cpp \
+ src/FirstView.cpp \
+ src/main.cpp
+
+RESOURCES = resources/resource.qrc
+
+DOCML += resources/mainview.docml
+
+symbian {
+ # TODO: gain UID
+ TARGET.UID3 = 0xE5C15256
+ TARGET.CAPABILITY = ALL -TCB
+}
+
+LIBS += -lwlanwizard
+
+myDependencies.sources = wlanwizard.dll eapwizard.dll wpswizard.dll wlanqtutilities.dll
+DEPLOYMENT += myDependencies
+
+BLD_INF_RULES.prj_exports += \
+ "rom/testwizard.iby CORE_MW_LAYER_IBY_EXPORT_PATH(testwizard.iby)"
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/inc/cpwlanentryitemdata.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2009 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:
+* WLAN Entry plugin item data implementation.
+*/
+
+#ifndef CPWLANENTRYITEMDATA_H
+#define CPWLANENTRYITEMDATA_H
+
+// System includes
+
+#include "cpsettingformentryitemdata.h"
+
+// User includes
+
+// Forward declarations
+
+class WlanStatusInfo;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanEntryItemData : public CpSettingFormEntryItemData
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit CpWlanEntryItemData(CpItemDataHelper &itemDataHelper);
+
+ virtual ~CpWlanEntryItemData();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(CpWlanEntryItemData)
+
+ virtual CpBaseSettingView *createSettingView() const;
+
+private slots:
+
+ void statusUpdate();
+
+private: // data
+
+ WlanStatusInfo *mWlanStatusInfo; //!< WLAN status info handler
+
+ // Friend classes
+
+};
+
+#endif // CPWLANENTRYITEMDATA_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/inc/cpwlanentryplugin.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2009 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:
+* WLAN Entry plugin implementation.
+*/
+
+#ifndef CPWLANENTRYPLUGIN_H
+#define CPWLANENTRYPLUGIN_H
+
+// System includes
+
+#include <QObject>
+#include <QSharedPointer>
+#include <cpplugininterface.h>
+
+// User includes
+
+// Forward declarations
+
+class HbTranslator;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanEntryPlugin : public QObject, public CpPluginInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(CpPluginInterface)
+
+public:
+
+ // Data types
+
+ CpWlanEntryPlugin();
+
+ virtual ~CpWlanEntryPlugin();
+
+ virtual QList<CpSettingFormItemData *> createSettingFormItemData(
+ CpItemDataHelper &itemDataHelper) const;
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(CpWlanEntryPlugin)
+
+private slots:
+
+private: // data
+
+ //! WLAN dynamic ON/OFF configuration
+ bool mWlanSupported;
+ //! Translator for text ID's used in this plugin
+ QSharedPointer<HbTranslator> mTranslator;
+
+ // Friend classes
+};
+
+#endif // CPWLANENTRYPLUGIN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/inc/wlanstatusinfo.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2009 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:
+* WLAN Status Info wrapper for WLAN entry plugin.
+*/
+
+#ifndef WLANSTATUSINFO_H
+#define WLANSTATUSINFO_H
+
+// System includes
+
+#include <QObject>
+
+// User includes
+
+// Forward declarations
+
+class WlanQtUtils;
+class XQSettingsManager;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanStatusInfo : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ /*!
+ * WLAN Status value.
+ */
+ enum {
+ //! WLAN is configured OFF.
+ WlanStatusOff = 0,
+ //! No WLAN connections.
+ WlanStatusIdle,
+ //! WLAN IAP is connected.
+ WlanStatusConnected,
+ };
+
+ explicit WlanStatusInfo(QObject *parent = 0);
+
+ ~WlanStatusInfo();
+
+ int status() const;
+
+ QString statusText() const;
+
+signals:
+
+ /**
+ * Signal that informs that the WLAN status has changed.
+ */
+ void statusUpdated();
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanStatusInfo)
+
+ bool isWlanOn() const;
+
+private slots:
+
+ void updateStatus();
+
+private: // data
+
+ //! WlanQtUtils instance.
+ WlanQtUtils *mWlanQtUtils;
+
+ //! Settings manager for platform settings reading, writing & status changes.
+ XQSettingsManager *mSettingsManager;
+
+ //! WLAN status text.
+ QString mStatusText;
+
+ //! WLAN status value WlanStatus*.
+ int mStatus;
+
+ // Friend classes
+};
+
+#endif // WLANSTATUSINFO_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/rom/wlanentryplugin.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 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:
+* WLAN Entry Plugin iby file.
+*/
+
+#ifndef WLANENTRYPLUGIN_IBY
+#define WLANENTRYPLUGIN_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR/BUILD_DIR/cpwlanentryplugin.dll SHARED_LIB_DIR/cpwlanentryplugin.dll
+data=/epoc32/data/c/resource/qt/plugins/controlpanel/cpwlanentryplugin.qtplugin resource/qt/plugins/controlpanel/cpwlanentryplugin.qtplugin
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANENTRYPLUGIN_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/rom/wlanentryplugin_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 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:
+* WLAN Entry Plugin resource iby file.
+*/
+
+#ifndef WLANENTRYPLUGIN_RESOURCES_IBY
+#define WLANENTRYPLUGIN_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlanentryplugin.qm QT_TRANSLATIONS_DIR/wlanentryplugin.qm
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANENTRYPLUGIN_RESOURCES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/src/cpwlanentryitemdata.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,181 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Entry plugin item data implementation.
+*/
+
+// System includes
+
+#include <HbApplication>
+#include <HbLabel>
+#include <HbDataForm>
+
+#ifdef WLANENTRYPLUGIN_SERVICETRACES
+#include <xqservicelog.h>
+#endif
+#include <xqappmgr.h>
+#include <xqaiwdecl.h>
+#include <xqaiwdeclplat.h>
+
+// This workaround can be removed when XQOP_WLAN_SNIFFER is correctly
+// defined without the "void" parameter restriction:
+#undef XQOP_WLAN_SNIFFER
+#define XQOP_WLAN_SNIFFER QLatin1String("listView()")
+
+#include <cpitemdatahelper.h>
+#include <cpbasesettingview.h>
+
+// User includes
+
+#include "wlanstatusinfo.h"
+#include "cpwlanentryitemdata.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlanentryitemdataTraces.h"
+#endif
+
+/*!
+ \class CpWlanEntryItemData
+ \brief Implementation of WLAN Status Plugin entry item data.
+
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param[in,out] itemDataHelper Control Panel item data helper object.
+*/
+
+CpWlanEntryItemData::CpWlanEntryItemData(CpItemDataHelper &itemDataHelper) :
+ CpSettingFormEntryItemData(itemDataHelper, hbTrId("txt_occ_dblist_wireless_lan")),
+ mWlanStatusInfo(new WlanStatusInfo(this))
+{
+ OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY);
+
+ // Listen for WLAN status updates
+ bool connectStatus = connect(
+ mWlanStatusInfo,
+ SIGNAL(statusUpdated()),
+ this,
+ SLOT(statusUpdate()));
+ Q_ASSERT(connectStatus);
+
+ // Update to show initial WLAN status.
+ statusUpdate();
+
+ OstTraceFunctionExit0(CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+
+CpWlanEntryItemData::~CpWlanEntryItemData()
+{
+ OstTraceFunctionEntry0(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY);
+ OstTraceFunctionExit0(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_EXIT);
+}
+
+/*!
+ Function for handling the entry item click.
+*/
+
+CpBaseSettingView *CpWlanEntryItemData::createSettingView() const
+{
+ OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_ENTRY);
+
+#ifdef WLANENTRYPLUGIN_SERVICETRACES
+ qInstallMsgHandler(XQSERVICEMESSAGEHANDLER);
+ XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView requesting listView()");
+#endif
+
+ // Execute synchronous WLAN Sniffer list view
+ XQApplicationManager aiwMgr;
+ XQAiwRequest *request = aiwMgr.create(
+ "wlansniffer",
+ XQI_WLAN_SNIFFER,
+ XQOP_WLAN_SNIFFER,
+ true);
+
+ // The WLAN Sniffer service must always exist
+ Q_ASSERT(request);
+
+ // The service is synchronous & embedded
+ request->setSynchronous(true);
+
+ // Window title needs to be set to "Control Panel"
+ XQRequestInfo reqInfo;
+ reqInfo.setInfo(XQINFO_KEY_WINDOW_TITLE, hbTrId("txt_cp_title_control_panel"));
+ request->setInfo(reqInfo);
+
+ bool status = request->send();
+#ifdef WLANENTRYPLUGIN_SERVICETRACES
+ XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView listView() service request completed");
+#endif
+ Q_ASSERT(status);
+ delete request;
+
+ OstTraceFunctionExit0(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_EXIT);
+ return 0;
+}
+
+/*!
+ Slot for updating the status shown by the plugin.
+ Updates both the text and icon.
+ */
+void CpWlanEntryItemData::statusUpdate()
+{
+ OstTraceFunctionEntry0(CPWLANENTRYITEMDATA_STATUSUPDATE_ENTRY);
+
+ // Build icon with (possible) badge
+ HbIcon wlanIcon;
+ switch (mWlanStatusInfo->status()) {
+ case WlanStatusInfo::WlanStatusIdle:
+ wlanIcon = HbIcon("qtg_large_wlan");
+ break;
+
+ case WlanStatusInfo::WlanStatusOff:
+ wlanIcon = HbIcon("qtg_large_wlan_off");
+ break;
+
+ case WlanStatusInfo::WlanStatusConnected:
+ wlanIcon = HbIcon("qtg_large_wlan");
+ wlanIcon.addBadge(
+ Qt::AlignBottom | Qt::AlignRight,
+ HbIcon("qtg_small_connection"));
+ break;
+
+#ifndef QT_NO_DEBUG
+ default:
+ // Unsupported status type detected
+ Q_ASSERT(0);
+ break;
+#endif
+ }
+
+ // Set the updated WLAN status
+ this->setEntryItemIcon(wlanIcon);
+ this->setDescription(mWlanStatusInfo->statusText());
+
+ OstTraceFunctionExit0(CPWLANENTRYITEMDATA_STATUSUPDATE_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/src/cpwlanentryplugin.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2009 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:
+* WLAN Entry plugin implementation.
+*/
+
+// System includes
+
+#include <QApplication>
+#include <HbTranslator>
+#include "qsysteminfo.h"
+
+// User includes
+
+#include "cpwlanentryitemdata.h"
+#include "cpwlanentryplugin.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlanentrypluginTraces.h"
+#endif
+
+using namespace QtMobility;
+
+/*!
+ \class CpWlanEntryPlugin
+ \brief CpWlanEntryPlugin implements the WLAN Status Control Panel Plugin
+ that shows the current WLAN status.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+CpWlanEntryPlugin::CpWlanEntryPlugin() :
+ QObject(),
+ mWlanSupported(false),
+ mTranslator()
+{
+ OstTraceFunctionEntry0(CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_ENTRY);
+
+ // Check & store WLAN dynamic configuration
+ QtMobility::QSystemInfo sysinfo;
+ mWlanSupported = sysinfo.hasFeatureSupported(QSystemInfo::WlanFeature);
+
+ if (mWlanSupported) {
+ // Install localization
+ mTranslator = QSharedPointer<HbTranslator>(
+ new HbTranslator("wlanentryplugin"));
+ }
+
+ OstTraceFunctionExit0(CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+
+CpWlanEntryPlugin::~CpWlanEntryPlugin()
+{
+ OstTraceFunctionEntry0(DUP1_CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_ENTRY);
+ OstTraceFunctionExit0(DUP1_CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_EXIT);
+}
+
+/*!
+ Plugin function for creating the entry plugin form item data.
+
+ @param [in,out] itemDataHelper Control Panel item data helper.
+*/
+
+QList<CpSettingFormItemData *> CpWlanEntryPlugin::createSettingFormItemData(
+ CpItemDataHelper &itemDataHelper) const
+{
+ OstTraceFunctionEntry0(CPWLANENTRYPLUGIN_CREATESETTINGFORMITEMDATA_ENTRY);
+
+ QList<CpSettingFormItemData *> settingFormData;
+
+ // The plugin is disabled if WLAN is not supported by the product.
+ if (mWlanSupported) {
+ settingFormData.append(new CpWlanEntryItemData(itemDataHelper));
+ }
+
+ OstTraceFunctionExit0(CPWLANENTRYPLUGIN_CREATESETTINGFORMITEMDATA_EXIT);
+ return settingFormData;
+}
+
+Q_EXPORT_PLUGIN2(cpwlanentryplugin, CpWlanEntryPlugin);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/src/wlanstatusinfo.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,195 @@
+/*
+* Copyright (c) 2009 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:
+* WLAN Status Info wrapper for WLAN entry plugin.
+*/
+
+// System includes
+
+#include <HbGlobal>
+#include <xqsettingsmanager.h>
+#include <wlandevicesettingsinternalcrkeys.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+
+#include "wlanstatusinfo.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanstatusinfoTraces.h"
+#endif
+
+/*!
+ \class WlanStatusInfo
+ \brief Class for maintaining and updating the WLAN status for the WLAN
+ Status Control Panel Plugin.
+*/
+
+// External function prototypes
+
+// Local constants
+
+//! Master WLAN ON/OFF setting key
+static const XQSettingsKey masterWlanKey(
+ XQSettingsKey::TargetCentralRepository,
+ KCRUidWlanDeviceSettingsRegistryId.iUid,
+ KWlanOnOff);
+
+//! WLAN forced OFF setting key
+static const XQSettingsKey wlanForceKey(
+ XQSettingsKey::TargetCentralRepository,
+ KCRUidWlanDeviceSettingsRegistryId.iUid,
+ KWlanForceDisable);
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanStatusInfo::WlanStatusInfo(QObject *parent) :
+ QObject(parent),
+ mWlanQtUtils(new WlanQtUtils()),
+ mSettingsManager(new XQSettingsManager(this)),
+ mStatusText(""),
+ mStatus(WlanStatusOff)
+{
+ OstTraceFunctionEntry0(WLANSTATUSINFO_WLANSTATUSINFO_ENTRY);
+
+ // Listen for WLAN ON/OFF switching
+ bool connectStatus = connect(
+ mSettingsManager,
+ SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+ this,
+ SLOT(updateStatus()));
+ Q_ASSERT(connectStatus);
+ mSettingsManager->startMonitoring(masterWlanKey);
+ mSettingsManager->startMonitoring(wlanForceKey);
+
+ // Listen for WLAN connection statuses
+ connectStatus = connect(
+ mWlanQtUtils,
+ SIGNAL(wlanNetworkOpened(int)),
+ this,
+ SLOT(updateStatus()));
+ Q_ASSERT(connectStatus == true);
+ connectStatus = connect(
+ mWlanQtUtils,
+ SIGNAL(wlanNetworkClosed(int, int)),
+ this,
+ SLOT(updateStatus()));
+ Q_ASSERT(connectStatus == true);
+
+ // Set initial status
+ updateStatus();
+
+ OstTraceFunctionExit0(WLANSTATUSINFO_WLANSTATUSINFO_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+
+WlanStatusInfo::~WlanStatusInfo()
+{
+ OstTraceFunctionEntry0(DUP1_WLANSTATUSINFO_WLANSTATUSINFO_ENTRY);
+
+ delete mWlanQtUtils;
+
+ OstTraceFunctionExit0(DUP1_WLANSTATUSINFO_WLANSTATUSINFO_EXIT);
+}
+
+/*!
+ Function for getting current WLAN status value (WlanStatusInfo::WlanStatus*).
+*/
+
+int WlanStatusInfo::status() const
+{
+ OstTraceFunctionEntry0(WLANSTATUSINFO_STATUS_ENTRY);
+ OstTraceFunctionExit0(WLANSTATUSINFO_STATUS_EXIT);
+ return mStatus;
+}
+
+/*!
+ Returns the current WLAN status text.
+*/
+
+QString WlanStatusInfo::statusText() const
+{
+ OstTraceFunctionEntry0(WLANSTATUSINFO_STATUSTEXT_ENTRY);
+ OstTraceFunctionExit0(WLANSTATUSINFO_STATUSTEXT_EXIT);
+ return mStatusText;
+}
+
+/*!
+ Function for checking if WLAN is ON.
+ WLAN is enabled if the WLAN OnOff key is true and the force disable
+ wlan key is false.
+
+ @return Returns true if WLAN is ON.
+*/
+
+bool WlanStatusInfo::isWlanOn() const
+{
+ OstTraceFunctionEntry0(WLANSTATUSINFO_ISWLANON_ENTRY);
+
+ bool wlanOn = mSettingsManager->readItemValue(masterWlanKey).toBool();
+ bool forcedOff = mSettingsManager->readItemValue(wlanForceKey).toBool();
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANSTATUSINFO_ISWLANON,
+ "WlanStatusInfo::isWlanOn;wlanOn=%hhu;forcedOff=%hhu",
+ wlanOn,
+ forcedOff);
+
+ OstTraceFunctionExit0(WLANSTATUSINFO_ISWLANON_EXIT);
+ return wlanOn && !forcedOff;
+}
+
+/*!
+ Slot used for updating the WLAN status.
+*/
+
+void WlanStatusInfo::updateStatus()
+{
+ OstTraceFunctionEntry0(WLANSTATUSINFO_UPDATESTATUS_ENTRY);
+
+ // Backup old status to detect changes
+ QString oldStatusText = mStatusText;
+
+ // Figure out current WLAN status
+ if (!isWlanOn()) {
+ // WLAN is switched OFF.
+ mStatus = WlanStatusOff;
+ mStatusText = hbTrId("txt_occ_dblist_wireless_lan_val_off");
+ } else if (mWlanQtUtils->connectionStatus() == WlanQtUtils::ConnStatusConnected) {
+ mStatus = WlanStatusConnected;
+ mStatusText = mWlanQtUtils->iapName(mWlanQtUtils->activeIap());
+ } else {
+ mStatus = WlanStatusIdle;
+ mStatusText = hbTrId("txt_occ_dblist_wireless_lan_val_wlan_is_on");
+ }
+
+ // Inform about update if the status really changed.
+ if (oldStatusText != mStatusText) {
+ emit statusUpdated();
+ }
+
+ OstTraceFunctionExit0(WLANSTATUSINFO_UPDATESTATUS_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009 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:
+* OST trace definition header.
+*/
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/wlanentryplugin.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,72 @@
+#
+# Copyright (c) 2009 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:
+# WLAN Entry Plugin Qt project file.
+#
+
+TEMPLATE = lib
+TARGET = cpwlanentryplugin
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += traces
+# wlanutilities Private API
+INCLUDEPATH += ../inc
+CONFIG += hb plugin
+LIBS += -lwlanqtutilities -lcpframework -lxqservice -lxqserviceutil -lqtsysteminfo -lxqsettingsmanager
+
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+symbian: {
+ MMP_RULES += "USERINCLUDE traces"
+}
+
+#Store generated files to their own directory
+MOC_DIR = build
+RCC_DIR = build
+
+# Sources
+HEADERS += \
+ inc/cpwlanentryplugin.h \
+ inc/cpwlanentryitemdata.h \
+ inc/wlanstatusinfo.h \
+ traces/OstTraceDefinitions.h
+SOURCES += \
+ src/cpwlanentryplugin.cpp \
+ src/cpwlanentryitemdata.cpp \
+ src/wlanstatusinfo.cpp
+
+TRANSLATIONS = wlanentryplugin.ts
+
+symbian: {
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.UID3 = 0x2002BCE0
+ SYMBIAN_PLATFORMS = WINSCW ARMV5
+ BLD_INF_RULES.prj_exports += "rom/wlanentryplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanentryplugin.iby)"
+ BLD_INF_RULES.prj_exports += "rom/wlanentryplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlanentryplugin_resources.iby)"
+
+ # Enable for QtHighway tracing
+ # DEFINES += WLANENTRYPLUGIN_SERVICETRACES
+}
+symbian {
+ deploy.path = C:
+ qtplugins.path = /resource/qt/plugins/controlpanel
+ qtplugins.sources += qmakepluginstubs/cpwlanentryplugin.qtplugin
+
+ # This is for new exporting system coming in garden
+ for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+TARGET.CAPABILITY = CAP_GENERAL_DLL
+plugin.sources = cpwlanentryplugin.dll xqservice.dll
+plugin.path = /resource/qt/plugins/controlpanel
+DEPLOYMENT += plugin
--- a/wlanutilities/wlanindicatorplugin/data/2001247E.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 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: This file contains all the resources to launch WLAN indicator plugin
-*
-*/
-
-
-#include <registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x2001247E;
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10275092;
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x2001247E;
- version_no = 1;
- display_name = "";
- default_data = "Default";
- opaque_data = "";
- }
- };
- }
- };
- }
-
-// End of file
--- a/wlanutilities/wlanindicatorplugin/data/wlanindicator.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 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: Resource definitions for project wlanindicatorplugin
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME WLIN
-
-#include <eikon.rh>
-#include <wlanindicatorplugin.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE TBUF r_qtn_uni_ind_wlan_avail_unknown
- {
- buf = qtn_uni_ind_wlan_avail_unknown;
- }
-
-RESOURCE TBUF r_qtn_uni_ind_wlan_avail_unknown_many
- {
- buf = qtn_uni_ind_wlan_avail_unknown_many;
- }
-
-RESOURCE TBUF r_qtn_uni_ind_wlan_avail_known
- {
- buf = qtn_uni_ind_wlan_avail_known;
- }
-
-RESOURCE TBUF r_qtn_uni_ind_wlan_conn
- {
- buf = qtn_uni_ind_wlan_conn;
- }
-
--- a/wlanutilities/wlanindicatorplugin/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ b/wlanutilities/wlanindicatorplugin/group/bld.inf Tue Aug 31 16:18:40 2010 +0300
@@ -22,9 +22,7 @@
DEFAULT
PRJ_EXPORTS
-../rom/wlanindicatorplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanindicatorplugin.iby)
-../rom/wlanindicatorpluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wlanindicatorpluginresources.iby)
-../loc/wlanindicatorplugin.loc MW_LAYER_LOC_EXPORT_PATH(wlanindicatorplugin.loc)
+
PRJ_MMPFILES
-wlanindicatorplugin.mmp
+
--- a/wlanutilities/wlanindicatorplugin/group/wlanindicatorplugin.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 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: Project definition file for project wlanindicatorplugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// Build target
-TARGET wlanindicatorplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x2001247E
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-
-// Source files location
-SOURCEPATH ../src
-SOURCE dllmain.cpp
-SOURCE wlanindicatorpluginimplementation.cpp
-
-// Resources
-START RESOURCE ../data/2001247E.rss
-TARGET wlanindicatorplugin.rsc
-TARGETPATH ECOM_RESOURCE_DIR
-END
-
-START RESOURCE ../data/wlanindicator.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE /epoc32/include/ecom
-
-LIBRARY ecom.lib
-LIBRARY avkon.lib
-LIBRARY euser.lib
-LIBRARY eikcore.lib
-LIBRARY apgrfx.lib
-LIBRARY cone.lib
-LIBRARY commonengine.lib
-LIBRARY charconv.lib
-LIBRARY connmon.lib
-LIBRARY cmmanager.lib
-LIBRARY bafl.lib
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/inc/wlanindicatorplugin.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2009 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:
+ *
+ */
+
+#ifndef WLANINDICATORPLUGIN_H
+#define WLANINDICATORPLUGIN_H
+
+#include <QtCore/QVariant>
+#include <QtCore/QProcess>
+#include <hbindicatorplugininterface.h>
+#include <hbindicatorinterface.h>
+#include <QSharedPointer>
+
+// Forward declarations
+class HbTranslator;
+
+const int wlanNotConnected = 0;
+const int wlanConnected = 1;
+
+class WlanIndicatorPlugin : public HbIndicatorInterface, public HbIndicatorPluginInterface
+{
+ Q_OBJECT
+ Q_INTERFACES(HbIndicatorPluginInterface)
+
+#ifdef WLANINDICATOR_UT
+ friend class WlanIndicatorUtCases;
+#endif
+
+public:
+ WlanIndicatorPlugin();
+ ~WlanIndicatorPlugin();
+
+public:
+ //from HbIndicatorPluginInterface
+ QStringList indicatorTypes() const;
+ bool accessAllowed(const QString &indicatorType,
+ const QVariantMap &securityInfo ) const;
+ HbIndicatorInterface* createIndicator(const QString &indicatorType);
+ int error() const;
+public:
+ //from HbIndicatorInterface
+ bool handleClientRequest (RequestType type, const QVariant ¶meter);
+ bool handleInteraction (InteractionType type);
+ QVariant indicatorData(int role) const;
+
+private:
+
+ Q_DISABLE_COPY(WlanIndicatorPlugin)
+ QStringList mIndicatorTypes; // Type of indicator
+ int mError; // Indicator error
+ QVariant mParameter; // Used to contain the status of wlan
+ QProcess process; // Process to start external programs
+ QSharedPointer<HbTranslator> mTranslator; // Translator for the localisation Text Id's
+};
+#endif //WLANINDICATORPLUGIN_H
--- a/wlanutilities/wlanindicatorplugin/inc/wlanindicatorpluginimplementation.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 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: Defines the CWlanIndicatorPluginImplementation class
-*
-*/
-
-
-
-#ifndef CWLANINDICATORPLUGINIMPLEMENTATION_H
-#define CWLANINDICATORPLUGINIMPLEMENTATION_H
-
-// INCLUDES
-#include <AknIndicatorPlugin.h> // CAknIndicatorPlugin
-#include <rconnmon.h>
-
-// FORWARD DECLARATIONS
-class CCoeEnv;
-
-/**
-* WLAN Indicator Plug-in implementation
-*
-* @since 5.0
-*/
-class CWlanIndicatorPluginImplementation : public CAknIndicatorPlugin
-
- {
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor.
- */
- static CWlanIndicatorPluginImplementation* NewL();
-
- /**
- * Destructor.
- */
- ~CWlanIndicatorPluginImplementation();
-
-
- private: // From CAknIndicatorPlugin
-
- /**
- * @see CAknIndicatorPlugin
- */
- void HandleIndicatorTapL( const TInt aUid );
-
- /**
- * @see CAknIndicatorPlugin
- */
- HBufC* TextL( const TInt aUid, TInt& aTextType );
-
-
- private:
-
- /**
- * C++ default constructor.
- */
- CWlanIndicatorPluginImplementation();
-
- /**
- * By default Symbian 2nd phase constructor is private.
- */
- void ConstructL();
-
-
- private: // new functions
-
- /**
- * Creates text for the case "wlan networks available"
- * @return Descriptor for the "wlan available" case
- */
- HBufC* CreateWlanNetworksFoundTextL();
-
- /**
- * Creates text for the "connected" case (open or secure).
- * @return Descriptor containing the "'myNetwork' connected" text
- */
- HBufC* CreateWlanConnectedTextL();
-
- /**
- * Finds the WLAN connection name.
- * @return Descriptor containing the name of the connected WLAN nw.
- */
- HBufC* ConnectionNameL();
-
- /** Finds the WLAN connection id
- * @return WLAN connection id
- */
- TUint FindWlanBearerConnectedL();
-
- /** Checks if the given connection is WLAN
- * @param Id of the active connection
- */
- TBool CheckIfWlan( TUint aConnectionId );
-
- /**
- * Launches WlanSniffer application.
- */
- void LaunchWlanSnifferL();
-
-
- private: // data
-
- /**
- * Ref
- */
- CCoeEnv* iCoeEnv;
-
- /**
- * Resource file offset in CoeEnv's resource file list
- */
- TInt iResource;
-
- /**
- * Owned. Used for getting connection info
- */
- RConnectionMonitor iConnMonitor;
-
- };
-
-#endif // CWLANINDICATORPLUGINIMPLEMENTATION_H
-
-// End of File
--- a/wlanutilities/wlanindicatorplugin/loc/wlanindicatorplugin.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 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: Localization strings for project wlanindicatorplugin
-*
-*/
-
-
-
-// d:One unknown network found.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_avail_unknown "WLAN network found"
-
-// d:Multiple unknown networks found.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_avail_unknown_many "WLAN networks found"
-
-// d:One or more known networks found.
-// d: %U is the IAP of the network, or in case more than one found,
-// d: %U is the first network in alphabetical order.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_avail_known "'%U' found"
-
-// d:WLAN connection exists.
-// d: %U is the name of the WLAN IAP, or the SSID of the WLAN network in case
-// d: connection was created using "Search for WLAN" functionality.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_conn "'%U' connected"
-
-
-
--- a/wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin.iby Thu Aug 19 10:59:40 2010 +0300
+++ b/wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin.iby Tue Aug 31 16:18:40 2010 +0300
@@ -1,27 +1,19 @@
/*
-* Copyright (c) 2009 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: Image description file for WlanIndicatorPlugin
-*
-*/
+ * Copyright (c) 2009 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:
+ *
+ */
-#ifndef __WLANINDICATORPLUGIN_IBY__
-#define __WLANINDICATORPLUGIN_IBY__
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-ECOM_PLUGIN( wlanindicatorplugin.dll, wlanindicatorplugin.rsc )
-
-#endif // __WLANINDICATORPLUGIN_IBY__
-
+file=ABI_DIR\BUILD_DIR\wlanindicatorplugin.dll SHARED_LIB_DIR\wlanindicatorplugin.dll
+data=\epoc32\data\z\resource\plugins\indicators\WlanIndicatorPlugin.qtplugin RESOURCE_FILES_DIR\plugins\indicators\wlanindicatorplugin.qtplugin
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2009 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:
+ *
+ */
+
+#ifndef WLANINDICATORPLUGIN_RESOURCES_IBY
+#define WLANINDICATORPLUGIN_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlanindicatorplugin.qm QT_TRANSLATIONS_DIR/wlanindicatorplugin.qm
+
+#endif // WLANINDICATORPLUGIN_RESOURCES_IBY
--- a/wlanutilities/wlanindicatorplugin/rom/wlanindicatorpluginresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 2009 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: Image description file for WlanIndicatorPlugin
-*
-*/
-#ifndef __WLAN_INDICATORPLUGIN_RESOURCES_IBY__
-#define __WLAN_INDICATORPLUGIN_RESOURCES_IBY__
-
-data=DATAZ_\RESOURCE_FILES_DIR\wlanindicator.rsc RESOURCE_FILES_DIR\wlanindicator.rsc
-
-#endif // __WLAN_INDICATORPLUGIN_RESOURCES_IBY__
--- a/wlanutilities/wlanindicatorplugin/src/dllmain.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 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: Implementation for DllMain.
-*
-*/
-
-
-#include "wlanindicatorpluginimplementation.h"
-
-#include <implementationproxy.h>
-
-// Define the interface UIDs
-// Map the interface implementation UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY( 0x2001247E,
- CWlanIndicatorPluginImplementation::NewL )
- };
-
-// Exported proxy for instantiation method resolution.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy
- (TInt& aTableCount)
- {
- aTableCount = sizeof(ImplementationTable) / sizeof(ImplementationTable[0]);
- return ImplementationTable;
- }
-
-// End of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/src/wlanindicatorplugin.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2009 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:
+ *
+ */
+
+#include <HbTranslator>
+#include <QLocale>
+#include <QtCore/qplugin.h>
+#include <QtCore/QString>
+#include <QtCore/QVariant>
+#include <QtCore/QMetaType>
+
+#include <HbLabel>
+#include <hbglobal.h>
+#include <hbapplication.h>
+#include <hbindicatorplugininterface.h>
+#include <hbindicatorinterface.h>
+#include "wlanindicatorplugin.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanindicatorpluginTraces.h"
+#endif
+
+Q_EXPORT_PLUGIN(WlanIndicatorPlugin)
+
+const static char IndicatorType[] = "com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0";
+
+
+/*!
+ WlanIndicatorPlugin constructor.
+*/
+WlanIndicatorPlugin::WlanIndicatorPlugin() :
+ HbIndicatorInterface(IndicatorType, SettingCategory, InteractionActivated),
+ mError(0)
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_ENTRY, this);
+ mIndicatorTypes << "com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0";
+ OstTraceFunctionExit1(WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_ENTRY_EXIT, this);
+}
+
+/*!
+ WlanIndicatorPlugin destructor.
+*/
+WlanIndicatorPlugin::~WlanIndicatorPlugin()
+{
+ OstTraceFunctionEntry1(DUP1_WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_ENTRY, this);
+ OstTraceFunctionExit1(DUP1_WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_EXIT, this);
+}
+
+/*!
+ The indicatorTypes returns type of indicator. In this case it is wlanindicatorplugin.
+*/
+QStringList WlanIndicatorPlugin::indicatorTypes() const
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_INDICATORTYPES_ENTRY, this);
+ OstTraceFunctionExit1(WLANINDICATORPLUGIN_INDICATORTYPES_EXIT, this);
+
+ return mIndicatorTypes;
+}
+
+/*!
+ The handleClientRequest handles client request to change indicators parameters.
+*/
+bool WlanIndicatorPlugin::accessAllowed(const QString &indicatorType,
+ const QVariantMap &securityInfo) const
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_ACCESSALLOWED_ENTRY, this);
+
+ Q_UNUSED(indicatorType)
+ Q_UNUSED(securityInfo)
+
+ OstTraceFunctionExit1(WLANINDICATORPLUGIN_ACCESSALLOWED_EXIT, this);
+
+ return true;
+}
+
+/*!
+ The createIndicator creates indicator plugin instance.
+*/
+HbIndicatorInterface* WlanIndicatorPlugin::createIndicator(
+ const QString &indicatorType)
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_CREATEINDICATOR_ENTRY, this);
+ Q_UNUSED(indicatorType)
+
+ // Install localization
+ mTranslator = QSharedPointer<HbTranslator>(new HbTranslator("wlanindicatorplugin"));
+
+ OstTraceFunctionExit1(WLANINDICATORPLUGIN_CREATEINDICATOR_EXIT, this);
+ return this;
+}
+
+/*!
+ The error returns indicator error to HbIndicatorPluginInterface.
+*/
+int WlanIndicatorPlugin::error() const
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_ERROR_ENTRY, this);
+ OstTrace1( WLANINDICATORPLUGIN_ERR,ERROR,"WlanIndicatorPlugin error %u", mError);
+ OstTraceFunctionExit1(WLANINDICATORPLUGIN_ERROR_EXIT, this);
+ return mError;
+}
+
+/*!
+ The handleInteraction is used launch WLAN list view.
+*/
+bool WlanIndicatorPlugin::handleInteraction(InteractionType type)
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_HANDLEINTERACTION_ENTRY, this);
+
+ bool handled = false;
+ QVariantMap data;
+ switch (type) {
+ case InteractionActivated:
+ // Emit a signal that will inform the client to start the wlan list view
+ emit userActivated(data);
+ handled = true;
+ break;
+ default:
+ break;
+ }
+
+ OstTraceFunctionExit1(WLANINDICATORPLUGIN_HANDLEINTERACTION_EXIT, this);
+
+ return handled;
+}
+
+/*!
+ The handleClientRequest handles client request to change indicators paramters.
+*/
+bool WlanIndicatorPlugin::handleClientRequest(RequestType type, const QVariant ¶meter)
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_CLIENTREQUEST_ENTRY, this);
+
+ Q_UNUSED(parameter)
+ bool handled(false);
+ switch (type) {
+ case RequestActivate:
+ if (mParameter != parameter) {
+ mParameter = parameter;
+ emit dataChanged();
+ }
+ handled = true;
+ break;
+ default:
+ mParameter.clear();
+ }
+
+ OstTraceFunctionExit1(WLANINDICATORPLUGIN_CLIENTREQUEST_EXIT, this);
+ return handled;
+}
+
+/*!
+ The indicatorData takes care of showing indicator's data.
+*/
+QVariant WlanIndicatorPlugin::indicatorData(int role) const
+{
+ OstTraceFunctionEntry1(WLANINDICATORPLUGIN_INDICATORDATA_ENTRY, this);
+
+ QVariant qvariant("");
+ QList<QVariant> indicatorText;
+ bool validParameters = false;
+
+ switch (role) {
+ case PrimaryTextRole:
+ qvariant = QString(hbTrId("txt_occ_dblist_indi_menu_wireless_lan"));
+ break;
+ case SecondaryTextRole:
+ if (mParameter.isValid() && mParameter.type() == QVariant::List) {
+
+ indicatorText = mParameter.toList();
+ validParameters = true;
+ }
+ if (validParameters && (indicatorText.size() > 0)) {
+
+ if (indicatorText[0] == wlanNotConnected){
+ qvariant = QString(hbTrId("txt_occ_dblist_wireless_lan_val_not_connected"));
+ }
+
+ else if (indicatorText[0] == wlanConnected){
+ qvariant = indicatorText[1].toString();
+ }
+ }
+ else
+ {
+ OstTrace0( WLANINDICATORPLUGIN_ERR,INVALID_PARAMS,"Invalid indicator parameters");
+ }
+ break;
+ // this is the statusbar icon, which is shown only when a connection is active
+ case MonoDecorationNameRole:
+ OstTraceFunctionExit1(DUP1_WLANINDICATORPLUGIN_INDICATORDATA_EXIT, this);
+
+ if (mParameter.isValid() && mParameter.type() == QVariant::List) {
+ indicatorText = mParameter.toList();
+ if ((indicatorText.size() > 0) && (indicatorText[0] == wlanConnected)) {
+ qvariant = QString("qtg_status_wlan");
+ }
+ }
+ break;
+ // this is the icon in the indicator
+ case DecorationNameRole:
+ OstTraceFunctionExit1(DUP2_WLANINDICATORPLUGIN_INDICATORDATA_EXIT, this);
+ qvariant = QString("qtg_small_wlan");
+ break;
+ default:
+ OstTraceFunctionExit1(DUP3_WLANINDICATORPLUGIN_INDICATORDATA_EXIT, this);
+ break;
+ }
+ return qvariant;
+}
+
--- a/wlanutilities/wlanindicatorplugin/src/wlanindicatorpluginimplementation.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,359 +0,0 @@
-/*
-* Copyright (c) 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: wlanindicatorplugin implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <apgcli.h>
-#include <apgtask.h>
-#include <coemain.h>
-#include <bautils.h>
-#include <data_caging_path_literals.hrh>
-#include <StringLoader.h>
-#include <rconnmon.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <cmpluginwlandef.h>
-#include <utf.h>
-#include <wlanindicator.rsg>
-#include "wlanindicatorpluginimplementation.h"
-
-
-// CONSTANTS
-const TUid KSnifferAppUid = { 0x10281CAA };
-_LIT( KDriveZ, "z:" );
-_LIT( KWlanIndicatorResourceFile, "wlanindicator.rsc" );
-
-using namespace CMManager;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CWlanIndicatorPluginImplementation
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-CWlanIndicatorPluginImplementation::CWlanIndicatorPluginImplementation()
- : iCoeEnv( CCoeEnv::Static() )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CWlanIndicatorPluginImplementation::ConstructL()
- {
- TFileName fileName;
-
- fileName.Append( KDriveZ );
- fileName.Append( KDC_RESOURCE_FILES_DIR );
- fileName.Append( KWlanIndicatorResourceFile );
-
- BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), fileName );
- iResource = iCoeEnv->AddResourceFileL( fileName );
-
- iConnMonitor.ConnectL();
-
- }
-
-// -----------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CWlanIndicatorPluginImplementation* CWlanIndicatorPluginImplementation::NewL()
- {
- CWlanIndicatorPluginImplementation* self =
- new( ELeave ) CWlanIndicatorPluginImplementation;
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// -----------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::~CWlanIndicatorPluginImplementation
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CWlanIndicatorPluginImplementation::~CWlanIndicatorPluginImplementation()
- {
- iCoeEnv->DeleteResourceFile( iResource );
-
- iConnMonitor.Close();
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::HandleIndicatorTapL
-// ---------------------------------------------------------------------------
-//
-void CWlanIndicatorPluginImplementation::HandleIndicatorTapL( const TInt aUid )
- {
-
- switch ( aUid )
- {
- case EAknIndicatorWlanAvailable:
- case EAknIndicatorWlanActive:
- case EAknIndicatorWlanActiveSecure:
- {
-
- LaunchWlanSnifferL();
-
- break;
- }
-
- default:
-
- break;
-
- }
-
-
- }
-
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::TextL( const TInt aUid, TInt& aTextType )
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::TextL( const TInt aUid,
- TInt& aTextType )
- {
-
- HBufC* textBuf = NULL;
-
- switch ( aUid )
- {
- case EAknIndicatorWlanAvailable:
- {
- textBuf = CreateWlanNetworksFoundTextL();
- aTextType = EAknIndicatorPluginLinkText;
-
- break;
- }
-
- case EAknIndicatorWlanActive:
- case EAknIndicatorWlanActiveSecure:
- {
- textBuf = CreateWlanConnectedTextL();
- aTextType = EAknIndicatorPluginLinkText;
-
- break;
- }
-
- default:
-
- break;
-
- }
-
-
- return textBuf;
-
- }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CreateWlanNetworksFoundTextL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::CreateWlanNetworksFoundTextL()
- {
-
- HBufC* dynText = NULL;
-
- // "qtn_uni_ind_wlan_avail_unknown_many WLAN networks found"
- dynText = StringLoader::LoadL (
- R_QTN_UNI_IND_WLAN_AVAIL_UNKNOWN_MANY, iCoeEnv );
-
- return dynText;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CreateWlanConnectedTextL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::CreateWlanConnectedTextL()
- {
-
- HBufC* dynText = NULL;
- HBufC* connectedNetworkName = NULL;
-
- connectedNetworkName = ConnectionNameL( );
-
- CleanupStack::PushL( connectedNetworkName );
-
- if ( connectedNetworkName )
- {
- // "qtn_uni_ind_wlan_conn '%U' connected"
- dynText = StringLoader::LoadL (
- R_QTN_UNI_IND_WLAN_CONN, *connectedNetworkName, iCoeEnv );
- }
-
- CleanupStack::PopAndDestroy( connectedNetworkName );
-
- return dynText;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::ConnectionNameL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::ConnectionNameL( )
- {
- HBufC* connName = NULL;
-
- // get the connection ID
- TUint connectionId = FindWlanBearerConnectedL();
-
- TUint connectedIapId(0);
- TRequestStatus status;
-
- // get the IAP ID
- iConnMonitor.GetUintAttribute( connectionId, 0, KIAPId,
- connectedIapId, status );
- User::WaitForRequest( status );
-
- // get the connection method from cmmanager
- RCmManager cmManager;
- cmManager.OpenLC();
-
- RCmConnectionMethod connMethod = cmManager.ConnectionMethodL( connectedIapId );
- CleanupClosePushL( connMethod );
-
- TUint32 easyWLANIapId = cmManager.EasyWlanIdL();
- if ( easyWLANIapId != connectedIapId )
- {
- connName = connMethod.GetStringAttributeL( ECmName );
- }
- else
- {
- connName = connMethod.GetStringAttributeL( EWlanUsedSSID );
- }
-
- CleanupStack::PopAndDestroy( 2, &cmManager ); //cmManager and connMethod
-
- return connName;
- }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::FindWlanBearerConnectedL()
-// ---------------------------------------------------------------------------
-//
-TUint CWlanIndicatorPluginImplementation::FindWlanBearerConnectedL( )
- {
- TUint connectionId( 0 );
-
- TUint connCount( 0 );
- TUint subConnectionCount( 0 );
- TRequestStatus status;
-
- iConnMonitor.GetConnectionCount( connCount, status );
- User::WaitForRequest( status );
-
- if ( status.Int() == KErrNone )
- {
- for ( TUint i = 1; i <= connCount; ++i )
- {
- User::LeaveIfError( iConnMonitor.GetConnectionInfo( i, connectionId,
- subConnectionCount ) );
- if ( CheckIfWlan( connectionId ) )
- {
- break;
- }
- }
- }
-
- return connectionId;
- }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CheckIfWlan()
-// ---------------------------------------------------------------------------
-//
-TBool CWlanIndicatorPluginImplementation::CheckIfWlan( TUint aConnectionId )
- {
- TConnMonBearerType bearerType( EBearerUnknown );
-
- TBool foundWlanBearer( EFalse );
-
- TRequestStatus status;
-
- // Add only connections with valid id
- if ( aConnectionId > 0 )
- {
- iConnMonitor.GetIntAttribute( aConnectionId, 0, KBearer, (TInt&)bearerType,
- status );
- User::WaitForRequest( status );
-
- if ( status.Int() == KErrNone )
- {
- if ( bearerType == EBearerWLAN )
- {
- foundWlanBearer = ETrue;
- }
- }
-
- }
-
- return foundWlanBearer;
-
- }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::LaunchWlanSnifferL()
-// ---------------------------------------------------------------------------
-//
-void CWlanIndicatorPluginImplementation::LaunchWlanSnifferL()
- {
-
- RApaLsSession appArcSession;
-
- User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
- CleanupClosePushL( appArcSession );
-
- // check if the app is already running
- TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
- TApaTask task = taskList.FindApp( KSnifferAppUid );
-
- if ( task.Exists() )
- {
- task.BringToForeground();
- }
- else
- {
- TThreadId threadId;
- User::LeaveIfError( appArcSession.StartDocument( KNullDesC,
- KSnifferAppUid, threadId ) );
-
- }
-
- CleanupStack::PopAndDestroy(); // appArcSession
-
- }
-
-// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2009 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:
+ *
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/wlanindicatorplugin.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2009 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:
+#
+
+TEMPLATE = lib
+CONFIG += plugin
+CONFIG += hb
+
+# directories
+DEPENDPATH += .
+INCLUDEPATH += ./inc
+
+HEADERS += inc/wlanindicatorplugin.h \
+ traces/OstTraceDefinitions.h
+
+SOURCES += src/wlanindicatorplugin.cpp
+
+TRANSLATIONS = wlanindicatorplugin.ts
+
+symbian*::LIBS += -HbCore -HbWidgets
+
+symbian*: {
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.UID3 = 0x2002C39F
+ SYMBIAN_PLATFORMS = WINSCW ARMV5
+ BLD_INF_RULES.prj_exports += "rom/wlanindicatorplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanindicatorplugin.iby)"
+ BLD_INF_RULES.prj_exports += "rom/wlanindicatorplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlanindicatorplugin_resources.iby)"
+ pluginstub.sources = wlanIndicatorplugin.dll
+ pluginstub.path = /resource/plugins/indicators
+ DEPLOYMENT += pluginstub
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/bwins/ictsqtwrapperu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,20 @@
+EXPORTS
+ ?trUtf8@IctsWrapper@@SA?AVQString@@PBD0H@Z @ 1 NONAME ; class QString IctsWrapper::trUtf8(char const *, char const *, int)
+ ?isPolling@IctsWrapper@@QBE_NXZ @ 2 NONAME ; bool IctsWrapper::isPolling(void) const
+ ??_EIctsWrapper@@UAE@I@Z @ 3 NONAME ; IctsWrapper::~IctsWrapper(unsigned int)
+ ?emitConnectivityTestResult@IctsWrapper@@QAEXW4ConnectivityTestResult@1@VQUrl@@@Z @ 4 NONAME ; void IctsWrapper::emitConnectivityTestResult(enum IctsWrapper::ConnectivityTestResult, class QUrl)
+ ?stopPolling@IctsWrapper@@QAEXXZ @ 5 NONAME ; void IctsWrapper::stopPolling(void)
+ ?connectivityTestResult@IctsWrapper@@IAEXW4ConnectivityTestResult@1@VQUrl@@@Z @ 6 NONAME ; void IctsWrapper::connectivityTestResult(enum IctsWrapper::ConnectivityTestResult, class QUrl)
+ ?tr@IctsWrapper@@SA?AVQString@@PBD0@Z @ 7 NONAME ; class QString IctsWrapper::tr(char const *, char const *)
+ ?trUtf8@IctsWrapper@@SA?AVQString@@PBD0@Z @ 8 NONAME ; class QString IctsWrapper::trUtf8(char const *, char const *)
+ ??0IctsWrapper@@QAE@HHPAVQObject@@@Z @ 9 NONAME ; IctsWrapper::IctsWrapper(int, int, class QObject *)
+ ?getStaticMetaObject@IctsWrapper@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & IctsWrapper::getStaticMetaObject(void)
+ ?startPolling@IctsWrapper@@QAEXHH@Z @ 11 NONAME ; void IctsWrapper::startPolling(int, int)
+ ??1IctsWrapper@@UAE@XZ @ 12 NONAME ; IctsWrapper::~IctsWrapper(void)
+ ?metaObject@IctsWrapper@@UBEPBUQMetaObject@@XZ @ 13 NONAME ; struct QMetaObject const * IctsWrapper::metaObject(void) const
+ ?qt_metacall@IctsWrapper@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 14 NONAME ; int IctsWrapper::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?qt_metacast@IctsWrapper@@UAEPAXPBD@Z @ 15 NONAME ; void * IctsWrapper::qt_metacast(char const *)
+ ?staticMetaObject@IctsWrapper@@2UQMetaObject@@B @ 16 NONAME ; struct QMetaObject const IctsWrapper::staticMetaObject
+ ?tr@IctsWrapper@@SA?AVQString@@PBD0H@Z @ 17 NONAME ; class QString IctsWrapper::tr(char const *, char const *, int)
+ ?startConnectivityTest@IctsWrapper@@QAEXXZ @ 18 NONAME ; void IctsWrapper::startConnectivityTest(void)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/eabi/ictsqtwrapperu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,20 @@
+EXPORTS
+ _ZN11IctsWrapper11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+ _ZN11IctsWrapper11qt_metacastEPKc @ 2 NONAME
+ _ZN11IctsWrapper11stopPollingEv @ 3 NONAME
+ _ZN11IctsWrapper12startPollingEii @ 4 NONAME
+ _ZN11IctsWrapper16staticMetaObjectE @ 5 NONAME DATA 16
+ _ZN11IctsWrapper19getStaticMetaObjectEv @ 6 NONAME
+ _ZN11IctsWrapper21startConnectivityTestEv @ 7 NONAME
+ _ZN11IctsWrapper22connectivityTestResultENS_22ConnectivityTestResultE4QUrl @ 8 NONAME
+ _ZN11IctsWrapper26emitConnectivityTestResultENS_22ConnectivityTestResultE4QUrl @ 9 NONAME
+ _ZN11IctsWrapperC1EiiP7QObject @ 10 NONAME
+ _ZN11IctsWrapperC2EiiP7QObject @ 11 NONAME
+ _ZN11IctsWrapperD0Ev @ 12 NONAME
+ _ZN11IctsWrapperD1Ev @ 13 NONAME
+ _ZN11IctsWrapperD2Ev @ 14 NONAME
+ _ZNK11IctsWrapper10metaObjectEv @ 15 NONAME
+ _ZNK11IctsWrapper9isPollingEv @ 16 NONAME
+ _ZTI11IctsWrapper @ 17 NONAME
+ _ZTV11IctsWrapper @ 18 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/ictsqtwrapper.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2010 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: Project file for ictsqtwrapper.dll
+#
+
+TEMPLATE = lib
+TARGET = ictsqtwrapper
+TARGET.CAPABILITY = CAP_GENERAL_DLL
+
+#BUILD_DLL macro is used to define export macro
+DEFINES += BUILD_ICTSQTWRAPPER_DLL
+DEPENDPATH += .
+
+#Store generated .moc files to their own directory
+MOC_DIR = build
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+ inc \
+ traces
+
+HEADERS += inc/ictsqtwrapper.h \
+ traces/OstTraceDefinitions.h
+
+SOURCES += src/ictsqtwrapper.cpp
+
+defFilePath = .
+
+symbian: {
+ LIBS += -lictsclientinterface
+ HEADERS += inc/ictsqtwrapper_symbian.h
+ SOURCES += src/ictsqtwrapper_symbian.cpp
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.UID3 = 0x2002E6F7
+ MMP_RULES += "USERINCLUDE traces"
+ BLD_INF_RULES.prj_exports += "rom/ictsqtwrapper.iby CORE_MW_LAYER_IBY_EXPORT_PATH(ictsqtwrapper.iby)"
+ BLD_INF_RULES.prj_exports += "inc/ictsqtwrapper.h |../../inc/ictsqtwrapper.h"
+}
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/inc/ictsqtwrapper.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2010 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 IctsWrapper class
+*
+*/
+
+#ifndef ICTSQTWRAPPER_H
+#define ICTSQTWRAPPER_H
+
+// System includes
+#include <QObject>
+#include <QUrl>
+
+// User includes
+
+// Forward declarations
+class IctsWrapperPrivate;
+
+// External data types
+// Constants
+
+// Library's export macro definitions
+#ifdef BUILD_ICTSQTWRAPPER_DLL
+#define ICTSQTWRAPPERDLL_EXPORT Q_DECL_EXPORT
+#else
+#define ICTSQTWRAPPERDLL_EXPORT Q_DECL_IMPORT
+#endif
+
+// Class declaration
+class ICTSQTWRAPPERDLL_EXPORT IctsWrapper: public QObject
+{
+ Q_OBJECT
+
+public:
+
+ /*!
+ Internet connectivity test result type
+ */
+ enum ConnectivityTestResult {
+ ConnectionOk, //!< Test passed
+ HttpAuthenticationNeeded, //!< HTTP authentication needed i.e. hotspot AP
+ ConnectionNotOk, //!< Connection failure
+ Timeout, //!< Timeout for HTTP request
+ UnspecifiedError //!< Unspecified error
+ };
+
+ IctsWrapper(int iap, int netId, QObject *parent = 0);
+
+ ~IctsWrapper();
+
+ void startConnectivityTest();
+
+ void startPolling(int pollingTime, int pollingInterval);
+
+ void stopPolling();
+
+ void emitConnectivityTestResult(IctsWrapper::ConnectivityTestResult result, QUrl redirectUrl);
+
+ bool isPolling() const;
+
+signals:
+
+ void connectivityTestResult(IctsWrapper::ConnectivityTestResult, QUrl result);
+
+private:
+
+ bool mIsPolling; //!< variable to store whether ICTS polling is ongoing
+
+ QScopedPointer<IctsWrapperPrivate> d_ptr; //!< Pointer to Symbian private implementation
+};
+
+#endif // ICTSQTWRAPPER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/inc/ictsqtwrapper_symbian.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,57 @@
+/*
+* Copyright (c) 2010 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: Private symbian implementation of ICTS client interface wrapper
+*
+*/
+
+#ifndef ICTSQTWRAPPERSYMBIAN_H
+#define ICTSQTWRAPPERSYMBIAN_H
+
+// System includes
+#include <ictsclientinterface.h>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+class IctsWrapperPrivate: public MIctsObserver
+{
+
+public:
+
+ IctsWrapperPrivate(int aIapId, int aNetId, IctsWrapper *aWrapper);
+
+ ~IctsWrapperPrivate();
+
+ void ConnectivityObserver( TIctsTestResult aResult, const TDesC& aString );
+
+ void startConnectivityTest();
+
+ void startPolling(int pollingTime, int pollingInterval);
+
+ void stopPolling();
+
+private:
+
+ IctsWrapper *q_ptr; //!< Pointer to public implementation
+
+ CIctsClientInterface* iIct; //!< Pointer to ICTS client interface
+};
+
+#endif // ICTSQTWRAPPERSYMBIAN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/rom/ictsqtwrapper.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+#ifndef ICTSQTWRAPPER_IBY
+#define ICTSQTWRAPPER_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+file=ABI_DIR/BUILD_DIR/ictsqtwrapper.dll SHARED_LIB_DIR/ictsqtwrapper.dll
+#endif // __PROTOCOL_WLAN
+
+#endif //ICTSQTWRAPPER_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/src/ictsqtwrapper.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,147 @@
+/*
+* Copyright (c) 2010 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:
+* Implementation of IctsWrapper class
+*
+*/
+
+// System includes
+
+// User includes
+
+#include "ictsqtwrapper.h"
+#include "ictsqtwrapper_symbian.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "ictsqtwrapperTraces.h"
+#endif
+
+/*!
+ \class IctsWrapper
+ \brief This is a wrapper implementation for symbian side ICTS client interface
+*/
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor
+
+ */
+IctsWrapper::IctsWrapper(int iap, int netId, QObject *parent) :
+ QObject(parent),
+ mIsPolling(false),
+ d_ptr(new IctsWrapperPrivate(iap, netId, this))
+{
+ OstTraceFunctionEntry0( ICTSWRAPPER_ICTSWRAPPER_ENTRY );
+
+ OstTraceFunctionExit0( ICTSWRAPPER_ICTSWRAPPER_EXIT );
+}
+
+/*!
+ Destructor
+
+ */
+IctsWrapper::~IctsWrapper()
+{
+ OstTraceFunctionEntry0( ICTSWRAPPER_DESTRUCTOR_ENTRY );
+
+ OstTraceFunctionExit0( ICTSWRAPPER_DESTRUCTOR_EXIT );
+}
+
+/*!
+ This function emits connectivityTestResult signal
+ @param [in] result result of internet connectivity test
+ @param [in] redirectUrl Possible redirection URL that was received
+ */
+void IctsWrapper::emitConnectivityTestResult(IctsWrapper::ConnectivityTestResult result, QUrl redirectUrl)
+{
+ OstTraceFunctionEntry0( ICTSWRAPPER_EMITCONNECTIVITYTESTRESULT_ENTRY );
+
+ OstTrace1( TRACE_NORMAL, ICTSWRAPPER_EMITCONNECTIVITYTESTRESULT_RESULT_TRACE, "IctsWrapper::emitConnectivityTestResult;result=%d", result );
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString url = redirectUrl.toString();
+ TPtrC tmp(url.utf16(),url.length() );
+
+ OstTraceExt1( TRACE_NORMAL, ICTSWRAPPER_EMITCONNECTIVITYTESTRESULT_URL_TRACE,
+ "IctsWrapper::emitConnectivityTestResult;redirectUrl=%S", tmp );
+#endif
+
+ emit connectivityTestResult(result, redirectUrl);
+ mIsPolling = false;
+
+ OstTraceFunctionExit0( ICTSWRAPPER_EMITCONNECTIVITYTESTRESULT_EXIT );
+}
+
+/*!
+ This function starts connectivity test
+ */
+
+void IctsWrapper::startConnectivityTest()
+{
+ OstTraceFunctionEntry0( ICTSWRAPPER_STARTCONNECTIVITYTEST_ENTRY );
+
+ d_ptr->startConnectivityTest();
+
+ OstTraceFunctionExit0( ICTSWRAPPER_STARTCONNECTIVITYTEST_EXIT );
+}
+
+/*!
+ This function starts connectivity test in polling mode
+
+ @param [in] pollingTime Total polling time
+ @param [in] pollingInterval Interval between polls
+ */
+void IctsWrapper::startPolling(int pollingTime, int pollingInterval)
+{
+ OstTraceFunctionEntry0( ICTSWRAPPER_STARTPOLLING_ENTRY );
+
+ d_ptr->startPolling(pollingTime, pollingInterval);
+ mIsPolling = true;
+
+ OstTraceFunctionExit0( ICTSWRAPPER_STARTPOLLING_EXIT );
+}
+
+/*!
+ This function stops polling mode
+ */
+void IctsWrapper::stopPolling()
+{
+ OstTraceFunctionEntry0( ICTSWRAPPER_STOPPOLLING_ENTRY );
+
+ d_ptr->stopPolling();
+
+ OstTraceFunctionExit0( ICTSWRAPPER_STOPPOLLING_EXIT );
+}
+
+/*!
+ This function returns whether we are polling or not
+ */
+bool IctsWrapper::isPolling() const
+{
+ OstTraceFunctionEntry0( ICTSWRAPPER_ISPOLLING_ENTRY );
+
+ OstTraceFunctionExit0( ICTSWRAPPER_ISPOLLING_EXIT );
+
+ return mIsPolling;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/src/ictsqtwrapper_symbian.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,162 @@
+/*
+* Copyright (c) 2009 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: Private Symbian implementation of ICTS client wrapper
+*
+*/
+
+// System includes
+#include <QString>
+#include <QUrl>
+
+
+// User includes
+#include "ictsqtwrapper.h"
+#include "ictsqtwrapper_symbian.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "ictsqtwrapper_symbianTraces.h"
+#endif
+
+/*!
+ \class IctsWrapper
+ \brief This is a wrapper implementation for symbian side ICTS client interface
+*/
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor
+
+ */
+IctsWrapperPrivate::IctsWrapperPrivate(int aIapId, int aNetId, IctsWrapper *aWrapper) :
+ q_ptr(aWrapper),
+ iIct(NULL)
+{
+ OstTraceFunctionEntry0(ICTSWRAPPERPRIVATE_ICTSWRAPPERPRIVATE_ENTRY);
+
+ TRAPD(error,iIct = CIctsClientInterface::NewL(aIapId, aNetId, *this));
+ qt_symbian_throwIfError(error);
+
+ OstTraceFunctionExit0(ICTSWRAPPERPRIVATE_ICTSWRAPPERPRIVATE_EXIT);
+}
+
+/*!
+ Destructor
+
+ */
+IctsWrapperPrivate::~IctsWrapperPrivate()
+{
+ OstTraceFunctionEntry0(ICTSWRAPPERPRIVATE_DESTRUCTOR_ENTRY);
+
+ delete iIct;
+
+ OstTraceFunctionExit0(ICTSWRAPPERPRIVATE_DESTRUCTOR_EXIT);
+}
+
+/*!
+ This function is called when connectivity test is ready. This is from MICTSObserver.
+
+ @param [in] aResult result of internet connectivity test
+ @param [in] aString Possible redirection URL that was received.
+ Valid only when result is EHttpAuthenticationNeeded
+ */
+
+void IctsWrapperPrivate::ConnectivityObserver(TIctsTestResult aResult, const TDesC& aString)
+{
+ OstTraceFunctionEntry0(ICTSWRAPPERPRIVATE_CONNECTIVITYOBSERVER_ENTRY);
+
+ QUrl redirectUrl;
+
+ switch (aResult)
+ {
+ case EConnectionOk:
+ q_ptr->emitConnectivityTestResult(IctsWrapper::ConnectionOk, QUrl(""));
+ break;
+
+ case EHttpAuthenticationNeeded :
+ //Convert descriptor to QString
+ redirectUrl = QString::fromUtf16(aString.Ptr(), aString.Length());
+ q_ptr->emitConnectivityTestResult(IctsWrapper::HttpAuthenticationNeeded, redirectUrl);
+ break;
+
+ case EConnectionNotOk :
+ q_ptr->emitConnectivityTestResult(IctsWrapper::ConnectionNotOk, QUrl(""));
+ break;
+
+ case ETimeout :
+ q_ptr->emitConnectivityTestResult(IctsWrapper::Timeout, QUrl(""));
+ break;
+
+ default:
+ q_ptr->emitConnectivityTestResult(IctsWrapper::UnspecifiedError, QUrl(""));
+ break;
+ }
+
+ OstTraceFunctionExit0(ICTSWRAPPERPRIVATE_CONNECTIVITYOBSERVER_EXIT);
+}
+
+/*!
+ This non leaving function starts internet connectivity test
+
+ */
+void IctsWrapperPrivate::startConnectivityTest()
+{
+ OstTraceFunctionEntry0(ICTSWRAPPERPRIVATE_STARTCONNECTIVITYTEST_ENTRY);
+
+ TRAPD(err, iIct->StartL());
+
+ // Check if startConnectivityTestL() leaved.
+ if (KErrNone != err)
+ {
+ q_ptr->emitConnectivityTestResult(IctsWrapper::UnspecifiedError, QUrl(""));
+ }
+
+ OstTraceFunctionExit0(ICTSWRAPPERPRIVATE_STARTCONNECTIVITYTEST_EXIT);
+}
+
+/*!
+ This function starts connectivity test in polling mode
+
+ @param [in] pollingTime Polling time in microseconds
+ @param [in] pollingInterval Polling interval in microseconds
+ */
+void IctsWrapperPrivate::startPolling(int pollingTime, int pollingInterval)
+{
+ OstTraceFunctionEntry0(ICTSWRAPPERPRIVATE_STARTPOLLING_ENTRY);
+
+ iIct->StartPolling(pollingTime, pollingInterval);
+
+ OstTraceFunctionExit0( ICTSWRAPPERPRIVATE_STARTPOLLING_EXIT );
+}
+
+/*!
+ This function stops connectivity test polling mode
+ */
+void IctsWrapperPrivate::stopPolling()
+{
+ OstTraceFunctionEntry0(ICTSWRAPPERPRIVATE_STOPPOLLING_ENTRY);
+
+ iIct->StopPolling();
+
+ OstTraceFunctionExit0(ICTSWRAPPERPRIVATE_STOPPOLLING_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictsqtwrapper/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2010 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 OST traces
+*
+*/
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictswlanlogininterface/bwins/ictswlanlogininterfaceu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,22 @@
+EXPORTS
+ ?stop@IctsWlanLoginInterface@@QAEXXZ @ 1 NONAME ; void IctsWlanLoginInterface::stop(void)
+ ?ictsResult@IctsWlanLoginInterface@@IAEXH@Z @ 2 NONAME ; void IctsWlanLoginInterface::ictsResult(int)
+ ?qt_metacall@IctsWlanLoginInterface@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 3 NONAME ; int IctsWlanLoginInterface::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?hotspotCase@IctsWlanLoginInterface@@IAEXXZ @ 4 NONAME ; void IctsWlanLoginInterface::hotspotCase(void)
+ ??1IctsWlanLoginInterface@@UAE@XZ @ 5 NONAME ; IctsWlanLoginInterface::~IctsWlanLoginInterface(void)
+ ?handleConnectivityTestResult@IctsWlanLoginInterface@@QAEXW4ConnectivityTestResult@IctsWrapper@@VQUrl@@@Z @ 6 NONAME ; void IctsWlanLoginInterface::handleConnectivityTestResult(enum IctsWrapper::ConnectivityTestResult, class QUrl)
+ ?trUtf8@IctsWlanLoginInterface@@SA?AVQString@@PBD0H@Z @ 7 NONAME ; class QString IctsWlanLoginInterface::trUtf8(char const *, char const *, int)
+ ??_EIctsWlanLoginInterface@@UAE@I@Z @ 8 NONAME ; IctsWlanLoginInterface::~IctsWlanLoginInterface(unsigned int)
+ ?handleOk@IctsWlanLoginInterface@@AAEXABVQVariant@@@Z @ 9 NONAME ; void IctsWlanLoginInterface::handleOk(class QVariant const &)
+ ?staticMetaObject@IctsWlanLoginInterface@@2UQMetaObject@@B @ 10 NONAME ; struct QMetaObject const IctsWlanLoginInterface::staticMetaObject
+ ??0IctsWlanLoginInterface@@QAE@PAVQObject@@@Z @ 11 NONAME ; IctsWlanLoginInterface::IctsWlanLoginInterface(class QObject *)
+ ?handleError@IctsWlanLoginInterface@@AAEXH@Z @ 12 NONAME ; void IctsWlanLoginInterface::handleError(int)
+ ?tr@IctsWlanLoginInterface@@SA?AVQString@@PBD0@Z @ 13 NONAME ; class QString IctsWlanLoginInterface::tr(char const *, char const *)
+ ?getStaticMetaObject@IctsWlanLoginInterface@@SAABUQMetaObject@@XZ @ 14 NONAME ; struct QMetaObject const & IctsWlanLoginInterface::getStaticMetaObject(void)
+ ?start@IctsWlanLoginInterface@@QAEXHH@Z @ 15 NONAME ; void IctsWlanLoginInterface::start(int, int)
+ ?metaObject@IctsWlanLoginInterface@@UBEPBUQMetaObject@@XZ @ 16 NONAME ; struct QMetaObject const * IctsWlanLoginInterface::metaObject(void) const
+ ?tr@IctsWlanLoginInterface@@SA?AVQString@@PBD0H@Z @ 17 NONAME ; class QString IctsWlanLoginInterface::tr(char const *, char const *, int)
+ ?qt_metacast@IctsWlanLoginInterface@@UAEPAXPBD@Z @ 18 NONAME ; void * IctsWlanLoginInterface::qt_metacast(char const *)
+ ?wlanLoginAppStart@IctsWlanLoginInterface@@AAEXHHVQUrl@@@Z @ 19 NONAME ; void IctsWlanLoginInterface::wlanLoginAppStart(int, int, class QUrl)
+ ?trUtf8@IctsWlanLoginInterface@@SA?AVQString@@PBD0@Z @ 20 NONAME ; class QString IctsWlanLoginInterface::trUtf8(char const *, char const *)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictswlanlogininterface/eabi/ictswlanlogininterfaceu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,22 @@
+EXPORTS
+ _ZN22IctsWlanLoginInterface10ictsResultEi @ 1 NONAME
+ _ZN22IctsWlanLoginInterface11handleErrorEi @ 2 NONAME
+ _ZN22IctsWlanLoginInterface11hotspotCaseEv @ 3 NONAME
+ _ZN22IctsWlanLoginInterface11qt_metacallEN11QMetaObject4CallEiPPv @ 4 NONAME
+ _ZN22IctsWlanLoginInterface11qt_metacastEPKc @ 5 NONAME
+ _ZN22IctsWlanLoginInterface16staticMetaObjectE @ 6 NONAME DATA 16
+ _ZN22IctsWlanLoginInterface17wlanLoginAppStartEii4QUrl @ 7 NONAME
+ _ZN22IctsWlanLoginInterface19getStaticMetaObjectEv @ 8 NONAME
+ _ZN22IctsWlanLoginInterface28handleConnectivityTestResultEN11IctsWrapper22ConnectivityTestResultE4QUrl @ 9 NONAME
+ _ZN22IctsWlanLoginInterface4stopEv @ 10 NONAME
+ _ZN22IctsWlanLoginInterface5startEii @ 11 NONAME
+ _ZN22IctsWlanLoginInterface8handleOkERK8QVariant @ 12 NONAME
+ _ZN22IctsWlanLoginInterfaceC1EP7QObject @ 13 NONAME
+ _ZN22IctsWlanLoginInterfaceC2EP7QObject @ 14 NONAME
+ _ZN22IctsWlanLoginInterfaceD0Ev @ 15 NONAME
+ _ZN22IctsWlanLoginInterfaceD1Ev @ 16 NONAME
+ _ZN22IctsWlanLoginInterfaceD2Ev @ 17 NONAME
+ _ZNK22IctsWlanLoginInterface10metaObjectEv @ 18 NONAME
+ _ZTI22IctsWlanLoginInterface @ 19 NONAME
+ _ZTV22IctsWlanLoginInterface @ 20 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictswlanlogininterface/ictswlanlogininterface.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,54 @@
+#
+# Copyright (c) 2010 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:
+# Project file of the ictswlanlogininterface.
+#
+
+TEMPLATE = lib
+TARGET = ictswlanlogininterface
+
+# BUILD_DLL macro is used to define import/export macro
+DEFINES += BUILD_ICTSWLANLOGININTERFACE_DLL
+DEPENDPATH += .
+CONFIG += hb
+LIBS += -lxqservice -lictsqtwrapper -lxqserviceutil
+
+#Store generated files to their own directory
+MOC_DIR = build
+
+INCLUDEPATH += \
+ inc \
+ traces\
+ ../inc \
+ ../../inc \
+ ../wlanloginapp/inc
+
+HEADERS += \
+ inc/ictswlanlogininterface.h \
+ traces/OstTraceDefinitions.h
+
+SOURCES += \
+ src/ictswlanlogininterface.cpp
+
+defFilePath = .
+
+symbian: {
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.UID3 = 0x2002EA66
+ MMP_RULES += "USERINCLUDE traces"
+ BLD_INF_RULES.prj_exports += "rom/ictswlanlogininterface.iby CORE_MW_LAYER_IBY_EXPORT_PATH(ictswlanlogininterface.iby)"
+ BLD_INF_RULES.prj_exports += "inc/ictswlanlogininterface.h |../../inc/ictswlanlogininterface.h"
+ LIBS += -lictsclientinterface -lflogger
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictswlanlogininterface/inc/ictswlanlogininterface.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2010 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:
+* Entry library for launching Wlan Login application.
+*/
+
+#ifndef ICTSWLANLOGININTERFACE_H
+#define ICTSWLANLOGININTERFACE_H
+
+// System includes
+#include <QObject>
+#include <QUrl>
+#include <xqappmgr.h>
+
+
+// User includes
+#include "ictsqtwrapper.h"
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Library's export macro definitions
+#ifdef BUILD_ICTSWLANLOGININTERFACE_DLL
+#define ICTSWLANLOGININTERFACEDLL_EXPORT Q_DECL_EXPORT
+#else
+#define ICTSWLANLOGININTERFACEDLL_EXPORT Q_DECL_IMPORT
+#endif
+
+// Class declaration
+class ICTSWLANLOGININTERFACEDLL_EXPORT IctsWlanLoginInterface: public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ /*!
+ Internet connectivity test result type
+ */
+ enum ictsResultType {
+ IctsPassed = 0, //!< Internet connectivity test passed
+ IctsHotspotPassed, //!< Internet connectivity test passed against hotspot access point
+ IctsCanceled, //!< Internet connectivity test was cancelled due to user action
+ IctsFailed //!< internet connectivity test failed
+ };
+
+ IctsWlanLoginInterface(QObject *parent);
+
+ ~IctsWlanLoginInterface();
+
+public:
+
+ void start(int iapId, int netId);
+
+ void stop();
+
+public slots:
+
+ void handleConnectivityTestResult(IctsWrapper::ConnectivityTestResult result, QUrl redirectUrl);
+
+signals:
+
+ /*!
+ Signal that informs about ICTS result.
+
+ @param [in] ictsResult ICTS result (IctsWlanLoginInterface::ictsResultType).
+ */
+ void ictsResult(int ictsResult);
+
+ void hotspotCase();
+
+private slots:
+
+ void handleOk(const QVariant &result);
+
+ void handleError(int errorCode);
+
+private: // functions
+
+ void wlanLoginAppStart(int iapId, int netId, QUrl url);
+
+private: // data
+
+ IctsWrapper* mIctsWrapper; //!< Icts wrapper instance
+ XQApplicationManager* mAiwMgr; //!< Application interworking manager
+ XQAiwRequest* mAsyncRequest; //!< Pointer to async AIW Request
+ int mIapId; //!< IAP identifier
+ int mNetId; //!< Network identifier
+
+ // Friend classes
+};
+
+#endif // ICTSWLANLOGININTERFACE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictswlanlogininterface/rom/ictswlanlogininterface.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 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:
+* ictswlanlogininterface.dll IBY file for ROM image.
+*
+*/
+
+#ifndef ICTSWLANLOGININTERFACE_IBY
+#define ICTSWLANLOGININTERFACE_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+file=ABI_DIR/BUILD_DIR/ictswlanlogininterface.dll SHARED_LIB_DIR/ictswlanlogininterface.dll
+#endif // __PROTOCOL_WLAN
+
+#endif //ICTSWLANLOGININTERFACE_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictswlanlogininterface/src/ictswlanlogininterface.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,328 @@
+/*
+* Copyright (c) 2010 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:
+* Entry library for launching Wlan Login application.
+*/
+
+// System includes
+
+#include <xqservicerequest.h>
+#include <xqappmgr.h>
+
+// User includes
+
+#include "ictswlanlogininterface.h"
+#include "wlanloginservice.h"
+#include "ictsqtwrapper.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "ictswlanlogininterfaceTraces.h"
+#endif
+
+/*!
+ \class IctsWlanLoginInterface
+ \brief This class provides a Qt API for running Internet connectivity test
+ against WLAN accesspoint. If authentication is needed this component
+ launches WLAN Login application through Qt Highway to render
+ authentication Web page.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+IctsWlanLoginInterface::IctsWlanLoginInterface(QObject *parent) :
+ QObject(parent),
+ mIctsWrapper(NULL),
+ mAiwMgr(NULL),
+ mAsyncRequest(NULL),
+ mIapId(0),
+ mNetId(0)
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_CONSTRUCTOR_ENTRY);
+
+ mAiwMgr = new XQApplicationManager();
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_CONSTRUCTOR_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+IctsWlanLoginInterface::~IctsWlanLoginInterface()
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_DESTRUCTOR_ENTRY);
+
+ if (mAsyncRequest){
+ delete mAsyncRequest;
+ }
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_DESTRUCTOR_EXIT);
+}
+
+/*!
+ Function for launching Wlan login application.
+
+ @param [in] iapId Internet accesspoint id to be tested
+ @param [in] netId network identifier of the connection to be used
+*/
+void IctsWlanLoginInterface::start(int iapId, int netId)
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_START_ENTRY);
+
+ // Create ICTS instance as we know needed parameters now
+ mIctsWrapper = new IctsWrapper(iapId, netId, this);
+
+ // Store identifiers for later use
+ mIapId = iapId;
+ mNetId = netId;
+
+ bool connectStatus = connect(
+ mIctsWrapper,
+ SIGNAL(connectivityTestResult(IctsWrapper::ConnectivityTestResult, QUrl)),
+ this,
+ SLOT(handleConnectivityTestResult(IctsWrapper::ConnectivityTestResult, QUrl)));
+ Q_ASSERT(connectStatus);
+
+ mIctsWrapper->startConnectivityTest();
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_START_EXIT);
+}
+
+/*!
+ Function for launching Wlan login application.
+
+ @param [in] iapId Internet accesspoint id to be used
+ @param [in] netId network id of the connection to be used
+ @param [in] url Redirection URL to be loaded
+
+*/
+void IctsWlanLoginInterface::wlanLoginAppStart(int iapId, int netId, QUrl url)
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_WLANLOGINAPPSTART_ENTRY);
+
+ // Execution of asynchronous and embedded Wlan Login start
+ mAsyncRequest = mAiwMgr->create(
+ "wlanlogin",
+ "com.nokia.symbian.IWlanLogin",
+ "start(int,int,QUrl)",
+ false);
+
+ // The Wlan Login service must always exist
+ Q_ASSERT(mAsyncRequest);
+
+ // Connect result handling signal
+ bool connectStatus = connect(
+ mAsyncRequest,
+ SIGNAL(requestOk(const QVariant&)),
+ this,
+ SLOT(handleOk(const QVariant&)));
+ Q_ASSERT(connectStatus == true);
+
+ // Connect error handling signal or apply lastError function instead.
+ connectStatus = connect(
+ mAsyncRequest,
+ SIGNAL(requestError(int,const QString&)),
+ this,
+ SLOT(handleError(int))); // Error string is ignored.
+ Q_ASSERT(connectStatus == true);
+
+ // Set function parameters
+ QList<QVariant> args;
+ args << iapId;
+ args << netId;
+ args << url;
+
+ mAsyncRequest->setArguments(args);
+
+ // The service is set asynchronous
+ mAsyncRequest->setSynchronous(false);
+
+ // Send the request
+ bool status = mAsyncRequest->send();
+ Q_ASSERT(status);
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_WLANLOGINAPPSTART_EXIT);
+}
+
+/*!
+ Function for handling request's response from QtHighway framework
+ when transaction is OK. This is used only with asynchronous requests.
+
+ @param [in] result Status received from WLAN Login application
+*/
+void IctsWlanLoginInterface::handleOk(const QVariant& result)
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_HANDLEOK_ENTRY);
+
+ ictsResultType ictsRes = IctsFailed;
+
+ // Handling of result received from service.
+ int i = result.toInt();
+ WlanLoginService::WlanLoginStatus status =
+ static_cast<WlanLoginService::WlanLoginStatus>(i);
+
+ switch (status) {
+ case WlanLoginService::WlanLoginStatusConnectionDropped:
+ case WlanLoginService::WlanLoginStatusCancel:
+ OstTrace0(
+ TRACE_NORMAL,
+ ICTSWLANLOGININTERFACE_HANDLEOK_CANCEL_TRACE,
+ "WlanLoginStatusCancel or WlanLoginStatusConnectionDropped received ");
+ // User has canceled Wlan Login and it has to be stopped
+ stop();
+ ictsRes = IctsCanceled;
+ break;
+
+ case WlanLoginService::WlanLoginStatusNext:
+ OstTrace0(
+ TRACE_NORMAL,
+ ICTSWLANLOGININTERFACE_HANDLEOK_NEXT_TRACE,
+ "WlanLoginStatusNext received");
+ ictsRes = IctsHotspotPassed;
+ break;
+
+ case WlanLoginService::WlanLoginStatusFailed:
+ OstTrace0( TRACE_NORMAL,
+ ICTSWLANLOGININTERFACE_HANDLEOK_FAILED_TRACE,
+ "WlanLoginStatusFailed received ");
+ stop();
+ ictsRes = IctsFailed;
+ break;
+
+ default:
+ OstTrace0(
+ TRACE_NORMAL,
+ ICTSWLANLOGININTERFACE_HANDLEOK_UNEXPECTED_STATUS_TRACE,
+ "Unexpected WlanLoginStatus received");
+ break;
+
+ }
+ emit ictsResult(ictsRes);
+
+ delete mAsyncRequest;
+ mAsyncRequest = NULL;
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_HANDLEOK_EXIT);
+}
+
+/*!
+ Function for handling request's response from QtHighway framework
+ when errors occured. This is used only with asynchronous requests.
+
+ @param [in] errorCode Error code that was received
+*/
+void IctsWlanLoginInterface::handleError(int errorCode)
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_HANDLEERROR_ENTRY);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ ICTSWLANLOGININTERFACE_ERRORCODE_TRACE,
+ "errorCode=%d",
+ errorCode);
+
+ delete mAsyncRequest;
+ mAsyncRequest = NULL;
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_HANDLEERROR_EXIT);
+}
+
+/*!
+ Function for stopping launched Wlan login application.
+*/
+void IctsWlanLoginInterface::stop()
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_STOP_ENTRY);
+
+ // Execution of synchronous and embedded Wlan Login stop
+ QScopedPointer<XQAiwRequest> syncRequest(mAiwMgr->create(
+ "wlanlogin",
+ "com.nokia.symbian.IWlanLogin",
+ "stop()",
+ false));
+
+ // The Wlan Login service must always exist
+ Q_ASSERT(syncRequest);
+
+ // The service is set synchronous
+ syncRequest->setSynchronous(true);
+
+ // Send the request
+ bool status = syncRequest->send();
+ Q_ASSERT(status);
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_STOP_EXIT);
+}
+
+/*!
+ Function for handling connectivityTestResult signal
+
+ @param [in] result Internet connectivity test result
+ @param [in] redirectUrl Possible redirection URL. Valid only when HttpAuthenticationNeeded result received.
+*/
+void IctsWlanLoginInterface::handleConnectivityTestResult(IctsWrapper::ConnectivityTestResult result, QUrl redirectUrl)
+{
+ OstTraceFunctionEntry0(ICTSWLANLOGININTERFACE_HANDLECONNECTIVITYTESTRESULT_ENTRY);
+
+ OstTrace1(TRACE_NORMAL,
+ ICTSWLANLOGININTERFACE_HANDLECONNECTIVITYRESULT_RESULT_TRACE,
+ "ConnectivityTestResult=%d",
+ result);
+
+ switch (result)
+ {
+ case IctsWrapper::ConnectionOk:
+
+ OstTrace1(
+ TRACE_BORDER,
+ ICTSWLANLOGININTERFACE_HANDLECONNECTIVITYTESTRESULT_EMIT_ICTSRESULT_PASSED,
+ "IctsWlanLoginInterface::handleConnectivityTestResult emit ictsResult;result=%d",
+ IctsPassed);
+
+ emit ictsResult(IctsPassed);
+ break;
+
+ case IctsWrapper::HttpAuthenticationNeeded:
+ // Inform client that Hotspot authentication is needed.
+ OstTrace0(
+ TRACE_BORDER,
+ ICTSWLANLOGININTERFACE_HANDLECONNECTIVITYTESTRESULT_EMIT_HOTSPOTCASE,
+ "IctsWlanLoginInterface::handleConnectivityTestResult emit hotspotCase");
+
+ emit hotspotCase();
+ wlanLoginAppStart(mIapId, mNetId, redirectUrl);
+ break;
+
+ default:
+ OstTrace1(
+ TRACE_BORDER,
+ ICTSWLANLOGININTERFACE_HANDLECONNECTIVITYTESTRESULT_EMIT_ICTS_RESULT_FAILED,
+ "IctsWlanLoginInterface::handleConnectivityTestResult emit ictsResult;result=%d",
+ IctsFailed);
+ emit ictsResult(IctsFailed);
+ break;
+
+ }
+
+ OstTraceFunctionExit0(ICTSWLANLOGININTERFACE_HANDLECONNECTIVITYTESTRESULT_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/ictswlanlogininterface/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,4 @@
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanlogin.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,24 @@
+#
+# Copyright (c) 2010 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: Project file for WLAN Login related components
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS += ictsqtwrapper \
+ wlanloginapp \
+ ictswlanlogininterface
+
+CONFIG += ordered
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginapplication.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010 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 WlanLoginApplication class
+*
+*/
+
+#ifndef WLANLOGINAPPLICATION_H
+#define WLANLOGINAPPLICATION_H
+
+// System includes
+#include <HbApplication>
+
+//User includes
+
+// forward declarations
+class WlanLoginService;
+class WlanLoginEngine;
+class WlanLoginMainWindow;
+class HbTranslator;
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanLoginApplication : public HbApplication
+ {
+public:
+ WlanLoginApplication(int argc, char* argv[]);
+ ~WlanLoginApplication();
+
+ WlanLoginService* service() const;
+ WlanLoginEngine* engine() const;
+ QSharedPointer <WlanLoginMainWindow> mainWindow();
+
+
+private: // data
+
+ // Not owned data
+
+ // Owned data
+ WlanLoginService* mService; //!< Pointer to Qt Highway service provider
+ QSharedPointer <HbTranslator> mTranslator; //!< Pointer to HB translator
+ WlanLoginEngine* mEngine; //!< Pointer to WLAN login engine
+ QSharedPointer <WlanLoginMainWindow> mMainWindow; //!< Pointer to WLAN login application main window
+ };
+
+#endif // WLANLOGINAPPLICATION_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanlogindocumentloader.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2010 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: Document loader of WLAN Login application
+*
+*/
+
+#ifndef WLANLOGINDOCUMENTLOADER_H
+#define WLANLOGINDOCUMENTLOADER_H
+
+// System includes
+#include <QObject>
+#include <HbDocumentLoader>
+
+// User includes
+
+// Forward declarations
+class HbMainWindow;
+class QString;
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanLoginDocumentLoader : public HbDocumentLoader
+{
+public:
+ WlanLoginDocumentLoader(const HbMainWindow *window);
+ ~WlanLoginDocumentLoader();
+protected:
+ QObject *createObject(const QString& type, const QString &name);
+
+};
+
+#endif // WLANLOGINDOCUMENTLOADER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginengine.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2010 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:
+ * Engine of Wlan Login application.
+ */
+
+#ifndef WLANLOGINENGINE_H
+#define WLANLOGINENGINE_H
+
+// System includes
+#include <QObject>
+#include <HbAction>
+
+// User includes
+#include "qnetworkconfigmanager.h"
+#include "qnetworkconfiguration.h"
+#include "qnetworksession.h"
+#include "wlanloginservice.h"
+#include "ictsqtwrapper.h"
+#include "wlanloginnetworkaccessmanager.h"
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+/*!
+ Total polling time for ICTS in microseconds
+*/
+const int totalPollingTime = 20000000;
+
+/*!
+ Polling interval time for ICTS in microseconds
+*/
+const int pollingInterval = 4000000;
+
+/*!
+ Message box time out value in milliseconds
+*/
+const int messageBoxTimeout = 3000;
+
+
+QTM_USE_NAMESPACE
+
+// Class declaration
+class WlanLoginEngine : public QObject
+ {
+ Q_OBJECT
+
+public:
+
+ /*!
+ Enumeration type for storing current engine state
+ */
+ enum EngineState {
+ WaitingForStart = 0, //!< Engine waiting start from Qt Highway
+ UpdatingNetworkConfigurations, //!< Engine is updating netowk configuration states
+ OpeningNetworkSession, //!< Engine is opening network session
+ NetworkSessionOpened, //!< Network session is opened by engine
+ RunningIcts, //!< Internet connectivity test ongoing
+ IctsFailed, //!< Internet connectivity test has failed
+ IctsOk, //!< Internet connectivity test has been ran successfully
+ WaitingForStopRequest, //!< Waiting for stop service request
+ };
+
+ explicit WlanLoginEngine(QObject *parent = 0);
+ ~WlanLoginEngine();
+
+ void openSession();
+ void stopIcts();
+ void showConnectionDroppedMessageBox();
+ void emitCompleteServiceRequest(WlanLoginService::WlanLoginStatus status);
+ WlanLoginNetworkAccessManager* networkAccessManager() const;
+ EngineState engineState();
+ void setEngineState(EngineState newState);
+
+signals:
+ void completeServiceRequest(int status);
+ void connectionReady(QUrl url);
+ void ictsOk();
+
+private slots:
+ void handleStartLogin(int iapId, int netId, QUrl redirectionUrl);
+ void handleStopLogin();
+ void handleUpdateCompleted();
+ void handleSessionOpened();
+
+ void handleSessionStateChanged(QNetworkSession::State newState);
+ void handleSessionError(QNetworkSession::SessionError error);
+ void connectionDroppedMessageBoxClosed(HbAction* action);
+
+ void handleStartIcts();
+ void handleConnectivityTestResult(IctsWrapper::ConnectivityTestResult result, QUrl redirectUrl);
+ void handleCancelTriggered();
+ void handleNextTriggered();
+
+private: // Data
+
+ // Not owned data
+
+ // Owned data
+ EngineState mEngineState; //!< current state of the Engine
+ bool mStartRequestCompleted; //!< Variable for storing service request state
+ QNetworkConfigurationManager* mNetConfigurationManager; //!< pointer to network configuration manager
+ WlanLoginNetworkAccessManager* mNetworkAccessManager; //!< pointer to network access manager
+ QNetworkSession* mNetworkSession; //!< pointer to network session
+ IctsWrapper* mIctsWrapper; //!< pointer to ICTS client wrapper
+ bool mIctsFirstRun; //!< Flag to check if we are running ICTS first time
+ int mIap; //!< IAP that was provided in startup
+ int mNetId; //!< network ID that was provided in startup
+ QUrl mRedirectionUrl; //!< redirection URL that was provided in startup
+ };
+
+#endif // WLANLOGINENGINE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginmainwindow.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2010 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:
+ *
+ */
+
+#ifndef WLANLOGINMAINWINDOW_H
+#define WLANLOGINMAINWINDOW_H
+
+// System includes
+#include <HbMainWindow>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Forward declarations
+class WlanLoginView;
+class WlanLoginApplication;
+
+// Class declaration
+class WlanLoginMainWindow : public HbMainWindow
+ {
+ Q_OBJECT
+
+public:
+ explicit WlanLoginMainWindow(WlanLoginApplication* appRef);
+ ~WlanLoginMainWindow();
+
+ WlanLoginView* loginView() const;
+ WlanLoginApplication* application() const;
+
+private:
+ void addLoginView();
+
+
+private: //Data
+
+ // Not owned data
+
+ // Owned data
+ WlanLoginApplication* mAppRef; //!< pointer to application instance
+ WlanLoginView* mLoginView; //!< pointer to login view
+
+ };
+
+#endif // WLANLOGINMAINWINDOW_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginnetworkaccessmanager.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2010 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:
+* Engine of Wlan Login application.
+*/
+
+#ifndef WLANLOGINNETWORKACCESSMANAGER_H
+#define WLANLOGINNETWORKACCESSMANAGER_H
+
+// System includes
+#include <QNetworkAccessManager>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanLoginNetworkAccessManager : public QNetworkAccessManager
+{
+ Q_OBJECT
+
+public:
+ explicit WlanLoginNetworkAccessManager(QObject *parent = 0);
+ ~WlanLoginNetworkAccessManager();
+
+private slots:
+ void handleSslErrors(QNetworkReply *reply, const QList<QSslError> &errors);
+ void handleNetworkRequestFinished(QNetworkReply* reply);
+};
+
+#endif // WLANLOGINNETWORKACCESSMANAGER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginservice.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2010 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:
+* Wlan login QtHighway Service.
+*/
+
+#ifndef WLANLOGINSERVICE_H
+#define WLANLOGINSERVICE_H
+
+// System includes
+#include <xqserviceprovider.h>
+#include <QUrl>
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanLoginService: public XQServiceProvider
+{
+ Q_OBJECT
+
+public:
+ // Data types
+
+ /*!
+ Enumeration for WLAN Login application service request return values
+ */
+ enum WlanLoginStatus {
+ WlanLoginStatusNone = 0, //!< No status
+ WlanLoginStatusCancel, //!< User cancel
+ WlanLoginStatusNext, //!< Proceed to next phase
+ WlanLoginStatusConnectionDropped, //!< WLAN connection dropped during login
+ WlanLoginStatusFailed //!< Login process failed
+ };
+
+ explicit WlanLoginService(QObject *parent = 0);
+ ~WlanLoginService();
+
+signals:
+
+ void startLogin(int iapId, int netId, QUrl url);
+ void stopLogin();
+
+public slots:
+
+ void start(int iapId, int netId, QUrl url);
+ void stop();
+ void completeServiceRequest(int status);
+
+private:
+
+ QVariant mReturnValue; //!< Return value deliverd to back to entry
+ int mAsyncRequestIndex; //!< Service request ID
+};
+
+#endif //WLANLOGINSERVICE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginview.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef WLANLOGINVIEW_H
+#define WLANLOGINVIEW_H
+
+// System includes
+#include <QUrl>
+#include <HbView>
+#include <HbScrollArea>
+#include <QGraphicsLinearLayout>
+
+// User includes
+#include "wlanloginapplication.h"
+#include "wlanloginwebpage.h"
+#include "ictsqtwrapper.h"
+
+// Forward declarations
+class HbDocumentLoader;
+class HbProgressBar;
+class WlanLoginWebView;
+class QNetworkAccessManager;
+class HbWidget;
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanLoginView : public HbView
+ {
+ Q_OBJECT
+
+public:
+ WlanLoginView(WlanLoginMainWindow* mainWindow);
+ virtual ~WlanLoginView();
+
+ /*!
+ Enumeration type for current toolbar action in use
+ */
+ enum ActionType {
+ Cancel, //!< "Cancel" button
+ Next //!< "Next" button
+ };
+
+private:
+ void loadDocml();
+
+private slots:
+
+ void handleConnectionReady(QUrl url);
+ void handleOrientationChanged(Qt::Orientation orientation);
+ void adjustViewSize();
+
+ void handleUrlChanged(const QUrl& newUrl);
+ void handleLoadStarted();
+ void handleLoadProgress(int progressValue);
+ void handleLoadFinished(bool status );
+ void handleFormSubmitted();
+ void handleCancelAction();
+ void handleNextAction();
+ void handleIctsOk();
+
+signals:
+ void cancelTriggered();
+ void nextTriggered();
+
+ void startIcts();
+
+private: // Data
+
+ // Not owned data
+ WlanLoginMainWindow* mMainWindow; //!< pointer to main window instance
+
+ // Owned data
+
+ QScopedPointer<HbDocumentLoader> mDocLoader; //! Document loader for list view
+
+ HbProgressBar* mProgressBar; //!< pointer to HB progressbar
+ HbWidget* mScrollAreaContent; //!< pointer to scroll are content
+ WlanLoginWebView* mWebView; //!< pointer to web view
+ HbAction* mCancelAction; //!< pointer to "cancel" action
+ HbAction* mNextAction; //!< pointer to "next" action
+ bool mFirstIctsOkResult; //!< Variable for controlling automatic background sending
+
+ };
+
+#endif // WLANLOGINWEBVIEW_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginwebpage.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,48 @@
+/*
+ * Copyright (c) 2009 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: Wlan Login web page class definition
+ *
+ */
+
+#ifndef WLANLOGINWEBPAGE_H
+#define WLANLOGINWEBPAGE_H
+
+// System includes
+#include <QWebPage>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanLoginWebPage : public QWebPage
+ {
+ Q_OBJECT
+
+public:
+ explicit WlanLoginWebPage(QObject* parent=0);
+ ~WlanLoginWebPage();
+
+protected:
+ bool acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, NavigationType type);
+
+signals:
+ void formSubmitted();
+ };
+
+#endif // WLANLOGINWEBPAGE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/inc/wlanloginwebview.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,54 @@
+/*
+* Copyright (c) 2010 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: Wlan Login web view class definition
+*
+*/
+
+#ifndef WLANLOGINWEBVIEW_H
+#define WLANLOGINWEBVIEW_H
+
+// System includes
+#include <QGraphicsWebView>
+
+// User includes
+
+// Forward declarations
+class WlanLoginWebPage;
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanLoginWebView: public QGraphicsWebView
+{
+ Q_OBJECT
+
+public:
+ WlanLoginWebView();
+ ~WlanLoginWebView();
+
+protected:
+ bool eventFilter(QObject *, QEvent *event);
+
+private: // Data
+
+ // Not owned data
+
+ // Owned data
+ WlanLoginWebPage* mWebPage; //!< Pointer to subclassed QWebPage
+ bool mMousePressed; //!< Variable to hold whether mouse(finger) is pressed down
+};
+
+#endif //WLANLOGINWEBVIEW_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/res/service_conf.xml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+ <name>wlanlogin</name>
+ <filepath>No path</filepath>
+ <description>WLAN Login</description>
+ <interface>
+ <name>com.nokia.symbian.IWlanLogin</name>
+ <version>1.0</version>
+ <description>WLAN login start</description>
+ </interface>
+</service>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/res/wlanlogin.qrc Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,8 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource prefix="/docml" >
+ <file alias="wlanloginview.docml">wlanloginview.docml.bin</file>
+ </qresource>
+</RCC>
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/res/wlanloginview.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <object name="cancelAction" type="HbAction">
+ <icon iconName="qtg_mono_exit" name="icon"/>
+ </object>
+ <object name="nextAction" type="HbAction">
+ <bool name="enabled" value="FALSE"/>
+ <icon iconName="qtg_mono_arrow_right" name="icon"/>
+ </object>
+ <widget name="wlanLoginView" type="HbView">
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <widget name="scrollArea" type="HbScrollArea">
+ <widget name="scrollAreaContent" role="HbScrollArea:contents" type="HbWidget">
+ <widget name="webView" type="WlanLoginWebView">
+ <real name="z" value="0"/>
+ <bool name="visible" value="TRUE"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout orientation="Vertical" type="linear">
+ <linearitem itemname="webView" spacing="0un"/>
+ </layout>
+ </widget>
+ <enums name="scrollingStyle" value="PanWithFollowOn"/>
+ <enums name="verticalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="horizontalScrollBarPolicy" value="ScrollBarAlwaysOff"/>
+ <enums name="scrollDirections" value="Horizontal|Vertical"/>
+ <real name="z" value="0"/>
+ <enums name="clampingStyle" value="StrictClamping"/>
+ </widget>
+ <widget name="progressBar" type="HbProgressBar">
+ <integer name="progressValue" value="0"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <sizehint height="5un" type="PREFERRED" width="15un"/>
+ <enums name="orientation" value="Horizontal"/>
+ <bool name="visible" value="FALSE"/>
+ <integer name="sliderValue" value="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="scrollArea" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="scrollArea" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="scrollArea" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="scrollArea" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="progressBar" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="progressBar" dstEdge="TOP" spacing="expr(var(hb-param-margin-gene-middle-vertical) )" src="" srcEdge="TOP"/>
+ <anchoritem dst="progressBar" dstEdge="RIGHT" spacing="expr(var(hb-param-margin-view-right) -var(hb-param-margin-gene-middle-vertical))" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ <widget name="toolBar" role="HbView:toolBar" type="HbToolBar">
+ <ref object="cancelAction" role="HbWidget:addAction"/>
+ <ref object="nextAction" role="HbWidget:addAction"/>
+ </widget>
+ <string name="title"/>
+ <enums name="titleBarFlags" value="TitleBarFlagNone"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/rom/wlanlogin.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Login application IBY file.
+*/
+
+#ifndef WLANLOGIN_IBY
+#define WLANLOGIN_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+#define UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_/PRIVATE/10003A3F/IMPORT/APPS/ ## NAME ## _reg.rsc Private/10003a3f/import/apps/ ## NAME ## _reg.rsc
+
+S60_APP_EXE(wlanlogin)
+S60_APP_RESOURCE(wlanlogin)
+UPGRADABLE_APP_REG_RSC(wlanlogin)
+
+#endif //__PROTOCOL_WLAN
+
+#endif // WLANLOGIN_IBY
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/rom/wlanlogin_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,28 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN login application resource IBY file.
+*/
+
+#ifndef WLANLOGIN_RESOURCES_IBY
+#define WLANLOGIN_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __PROTOCOL_WLAN
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlanlogin.qm QT_TRANSLATIONS_DIR/wlanlogin.qm
+#endif //__PROTOCOL_WLAN
+
+#endif // WLANLOGIN_RESOURCES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/main.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,31 @@
+/*
+ * Copyright (c) 2009 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:
+ *
+ */
+
+#include "wlanloginapplication.h"
+#include <qsysteminfo.h>
+
+int main(int argc, char *argv[])
+{
+ // Check WLAN dynamic configuration & exit if WLAN is not enabled
+ QtMobility::QSystemInfo sysinfo;
+ if (!sysinfo.hasFeatureSupported(QtMobility::QSystemInfo::WlanFeature)) {
+ return -1;
+ }
+
+ WlanLoginApplication app(argc, argv);
+ return app.exec();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginapplication.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2010 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:
+* Wlan Login application class implementation.
+*
+*/
+
+
+// System includes
+#include <QObject>
+#include <QStringList>
+#include <QString>
+#include <QUrl>
+#include <HbTranslator>
+
+//User includes
+#include "wlanloginapplication.h"
+#include "wlanloginservice.h"
+#include "wlanloginmainwindow.h"
+#include "wlanloginengine.h"
+#include "wlanloginview.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginapplicationTraces.h"
+#endif
+
+/*!
+ \class WlanLoginApplication
+ \brief WLAN Login application class implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] argc Parameter count.
+ @param [in] argv Parameters.
+ */
+WlanLoginApplication::WlanLoginApplication(int argc, char* argv[]) :
+ HbApplication( argc, argv ),
+ mService(new WlanLoginService(this)),
+ mTranslator(new HbTranslator()),
+ mEngine(new WlanLoginEngine(this)),
+ mMainWindow(new WlanLoginMainWindow(this))
+{
+ OstTraceFunctionEntry0(WLANLOGINAPPLICATION_WLANLOGINAPPLICATION_ENTRY);
+
+ bool connectStatus = connect(
+ mService,
+ SIGNAL(startLogin(int,int,QUrl)),
+ mEngine,
+ SLOT(handleStartLogin(int,int,QUrl)));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mService,
+ SIGNAL(stopLogin()),
+ mEngine,
+ SLOT(handleStopLogin()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mEngine,
+ SIGNAL(completeServiceRequest(int)),
+ mService,
+ SLOT(completeServiceRequest(int)));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mEngine,
+ SIGNAL(connectionReady(QUrl)),
+ mMainWindow->loginView(),
+ SLOT(handleConnectionReady(QUrl)));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mMainWindow->loginView(),
+ SIGNAL(startIcts()),
+ mEngine,
+ SLOT(handleStartIcts()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mEngine,
+ SIGNAL(ictsOk()),
+ mMainWindow->loginView(),
+ SLOT(handleIctsOk()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mMainWindow->loginView(),
+ SIGNAL(cancelTriggered()),
+ mEngine,
+ SLOT(handleCancelTriggered()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mMainWindow->loginView(),
+ SIGNAL(nextTriggered()),
+ mEngine,
+ SLOT(handleNextTriggered()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mMainWindow.data(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ mMainWindow->loginView(),
+ SLOT(handleOrientationChanged(Qt::Orientation)));
+ Q_ASSERT(connectStatus == true);
+
+ OstTraceFunctionExit0(WLANLOGINAPPLICATION_WLANLOGINAPPLICATION_EXIT);
+}
+
+
+/*!
+ Destructor.
+ */
+WlanLoginApplication::~WlanLoginApplication()
+{
+ OstTraceFunctionEntry0(WLANLOGINAPPLICATION_DESTRUCTOR_ENTRY);
+
+ OstTraceFunctionExit0(WLANLOGINAPPLICATION_DESTRUCTOR_EXIT);
+}
+
+
+/*!
+ Function that returns pointer to Qt Highway service instance.
+
+ @return Pointer to XQServiceProvider
+ */
+WlanLoginService* WlanLoginApplication::service() const
+{
+ OstTraceFunctionEntry0(WLANLOGINAPPLICATION_SERVICE_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINAPPLICATION_SERVICE_EXIT);
+
+ return mService;
+}
+
+
+/*!
+ Function that returns pointer to WLAN login engine
+
+ @return Pointer to engine
+ */
+WlanLoginEngine* WlanLoginApplication::engine() const
+{
+ OstTraceFunctionEntry0(WLANLOGINAPPLICATION_ENGINE_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINAPPLICATION_ENGINE_EXIT);
+
+ return mEngine;
+}
+
+
+/*!
+ Function that returns pointer to WLAN login application main window
+
+ @return Pointer to application main window
+ */
+QSharedPointer<WlanLoginMainWindow> WlanLoginApplication::mainWindow()
+{
+ OstTraceFunctionEntry0(WLANLOGINAPPLICATION_MAINWINDOW_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINAPPLICATION_MAINWINDOW_EXIT);
+
+ return mMainWindow;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanlogindocumentloader.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2010 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: Wlan Login document loader implementation
+*
+*/
+
+// System includes
+#include <HbMainWindow>
+
+//User includes
+#include "wlanloginwebview.h"
+#include "wlanlogindocumentloader.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanlogindocumentloaderTraces.h"
+#endif
+
+/*!
+ \class WlanLoginDocumentLoader
+ \brief WLAN Login document loader implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor
+*/
+WlanLoginDocumentLoader::WlanLoginDocumentLoader(const HbMainWindow *window) : HbDocumentLoader(window)
+{
+ OstTraceFunctionEntry0(WLANLOGINDOCUMENTLOADER_WLANLOGINDOCUMENTLOADER_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINDOCUMENTLOADER_WLANLOGINDOCUMENTLOADER_EXIT);
+}
+
+/*!
+ Destructor
+*/
+WlanLoginDocumentLoader::~WlanLoginDocumentLoader()
+{
+ OstTraceFunctionEntry0(WLANLOGINDOCUMENTLOADER_DESTRUCTOR_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINDOCUMENTLOADER_DESTRUCTOR_EXIT);
+}
+
+/*!
+ This function returns WLAN Login UI specific objects from DocML
+*/
+QObject* WlanLoginDocumentLoader::createObject(const QString& type, const QString &name)
+{
+ OstTraceFunctionEntry0(WLANLOGINDOCUMENTLOADER_CREATEOBJECT_ENTRY);
+
+ QObject *res(NULL);
+ if( type == WlanLoginWebView::staticMetaObject.className() ) {
+ res = new WlanLoginWebView();
+ res->setObjectName(name);
+ }
+
+ if (!res) {
+ res = HbDocumentLoader::createObject(type, name);
+ }
+ OstTraceFunctionEntry0(WLANLOGINDOCUMENTLOADER_CREATEOBJECT_EXIT);
+ return res;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginengine.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,576 @@
+/*
+* Copyright (c) 2010 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:
+* Wlan Login engine class implementation
+*
+*/
+
+// System includes
+#include <QObject>
+#include <QString>
+#include <QUrl>
+#include <HbMessagebox>
+#include <HbAction>
+#include <qnetworkconfigmanager.h>
+#include <qnetworkconfiguration.h>
+#include <qnetworksession.h>
+
+//User includes
+#include "wlanloginengine.h"
+#include "wlanloginapplication.h"
+#include "wlanloginmainwindow.h"
+#include "ictsqtwrapper.h"
+#include "wlanloginnetworkaccessmanager.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginengineTraces.h"
+#endif
+
+/*!
+ \class WlanLoginEngine
+ \brief WLAN Login engine class implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+const QString iapIdentifierPrefix = "I_";
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+ */
+WlanLoginEngine::WlanLoginEngine(QObject *parent):
+ QObject(parent),
+ mEngineState(WaitingForStart),
+ mStartRequestCompleted(false),
+ mNetConfigurationManager(new QNetworkConfigurationManager(this)),
+ mNetworkAccessManager(new WlanLoginNetworkAccessManager(this)),
+ mNetworkSession(NULL),
+ mIctsWrapper(NULL),
+ mIctsFirstRun(true),
+ mIap(0),
+ mNetId(0),
+ mRedirectionUrl(QUrl(""))
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_WLANLOGINENGINE_ENTRY);
+
+ bool connectStatus = connect(
+ mNetConfigurationManager,
+ SIGNAL(updateCompleted()),
+ this,
+ SLOT(handleUpdateCompleted()));
+ Q_ASSERT(connectStatus == true);
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_WLANLOGINENGINE_EXIT);
+}
+
+
+/*!
+ Destructor.
+ */
+WlanLoginEngine::~WlanLoginEngine()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_DESTRUCTOR_ENTRY);
+
+ if (mNetworkSession) {
+ mNetworkSession->close();
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_DESTRUCTOR_EXIT);
+}
+
+
+/*!
+ Function that returns pointer to network access manager.
+
+ @return Pointer to WlanLoginNetworkAccessManager
+ */
+WlanLoginNetworkAccessManager* WlanLoginEngine::networkAccessManager() const
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_NETWORKACCESSMANAGER_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINENGINE_NETWORKACCESSMANAGER_EXIT);
+
+ return mNetworkAccessManager;
+
+}
+
+
+/*!
+ Function that returns current state of the engine.
+
+ @return engine state
+ */
+WlanLoginEngine::EngineState WlanLoginEngine::engineState()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_ENGINESTATE_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINENGINE_ENGINESTATE_EXIT);
+
+ return mEngineState;
+}
+
+
+/*!
+ Function that sets the current state of the engine.
+
+ @param [in] newState New state of the engine to be set
+ */
+void WlanLoginEngine::setEngineState(WlanLoginEngine::EngineState newState)
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_SETENGINESTATE_ENTRY);
+
+ mEngineState = newState;
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_SETENGINESTATE_STATE_TRACE,
+ "WlanLoginEngine::setEngineState;mEngineState=%d",
+ mEngineState);
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_SETENGINESTATE_EXIT);
+}
+
+
+/*!
+ This slot handles startLogin signal from Qt Highway service provider
+
+ @param [in] iapId Internet access point ID for a connection that we should attach to'
+ @param [in] netId Network Id for the connection to be used
+ @param [in] redirectionUrl The URL that we were redirected to by the first internet connectivity test
+
+ */
+void WlanLoginEngine::handleStartLogin(int iapId, int netId, QUrl redirectionUrl)
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLESTARTLOGIN_ENTRY);
+
+ mIap = iapId;
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_HANDLESTARTLOGIN_IAP_TRACE,
+ "WlanLoginEngine::handleStartLogin;mIap=%d",
+ mIap);
+
+ mNetId = netId;
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_HANDLESTARTLOGIN_NETID_TRACE,
+ "WlanLoginEngine::handleStartLogin;mNetId=%d",
+ mNetId);
+
+ mRedirectionUrl = redirectionUrl;
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString url = mRedirectionUrl.toString();
+ TPtrC tmp(url.utf16(),url.length() );
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_HANDLESTARTLOGIN_URL_TRACE,
+ "WlanLoginEngine::handleStartLogin;mRedirectionUrl=%S",
+ tmp);
+#endif
+
+ //Create ICTS instance as we know needed parameters now
+ mIctsWrapper = new IctsWrapper(mIap, mNetId, this);
+
+ bool connectStatus = connect(
+ mIctsWrapper,
+ SIGNAL(connectivityTestResult(IctsWrapper::ConnectivityTestResult, QUrl)),
+ this,
+ SLOT(handleConnectivityTestResult(IctsWrapper::ConnectivityTestResult, QUrl)));
+ Q_ASSERT(connectStatus == true);
+
+ //Update network configurations as only states of the cellular IAP's are reliable
+ //after creating network configuration manager
+
+ setEngineState(UpdatingNetworkConfigurations);
+ mNetConfigurationManager->updateConfigurations();
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLESTARTLOGIN_EXIT);
+}
+
+/*!
+ This slot handles stopLogin signal from Qt Highway service provider
+
+ */
+void WlanLoginEngine::handleStopLogin()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLESTOPLOGIN_ENTRY);
+
+ // Exit application
+ qApp->quit();
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLESTOPLOGIN_EXIT);
+}
+
+
+/*!
+ This slot handles updateCompleted signal from QNetworkConfigManager
+
+ */
+void WlanLoginEngine::handleUpdateCompleted()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLEUPDATECOMPLETED_ENTRY);
+
+ //States of the available configurations are now updated and
+ //we can open the network session to provided IAP
+
+ //Check that cancel has not been pressed
+ if (engineState() != WaitingForStopRequest) {
+ openSession();
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLEUPDATECOMPLETED_EXIT);
+}
+
+/*!
+ This function handles opening of the network session to the specified IAP.
+ If IAP is not already in connected state, function completes service request
+ with connection dropped status and show a message box to user.
+
+ */
+void WlanLoginEngine::openSession()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_OPENSESSION_ENTRY);
+
+ setEngineState(WlanLoginEngine::OpeningNetworkSession);
+
+ //Get configuration that matches the provided IAP
+ //Note that identifier must be given in format I_ + IAP ID
+ QNetworkConfiguration netConfiguration = mNetConfigurationManager->configurationFromIdentifier(iapIdentifierPrefix + QString::number(mIap));
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_OPENSESSION_CONFIGURATION_IDENTIFIER_TRACE,
+ "WlanLoginEngine::openSession;netConfiguration identifier=%d",
+ netConfiguration.identifier().toInt());
+
+ OstTrace1(TRACE_NORMAL,
+ WLANLOGINENGINE_OPENSESSION_CONFIGURATION_STATE_TRACE,
+ "WlanLoginEngine::openSession;netConfiguration state=%d",
+ netConfiguration.state());
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString string = netConfiguration.name();
+ TPtrC tmp(string.utf16(),string.length() );
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_OPENSESSION_CONFIGURATION_NAME_TRACE,
+ "WlanLoginEngine::openSession;netConfiguration name=%S",
+ tmp );
+
+ string = netConfiguration.bearerName();
+ tmp.Set(string.utf16(),string.length());
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_OPENSESSION_CONFIGURATION_BEARER_NAME_TRACE,
+ "WlanLoginEngine::openSession;netConfiguration bearerName=%S",
+ tmp );
+#endif
+
+ //Check that configuration state is active before opening session
+ //Otherwise show disconnected message box
+
+ if (netConfiguration.state() == QNetworkConfiguration::Active)
+ {
+ //Create network session to IAP that was provided in startup
+ mNetworkSession = new QNetworkSession(netConfiguration, this);
+
+ bool connectStatus = connect(
+ mNetworkSession,
+ SIGNAL(opened()),
+ this,
+ SLOT(handleSessionOpened()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mNetworkSession,
+ SIGNAL(stateChanged(QNetworkSession::State)),
+ this,
+ SLOT(handleSessionStateChanged(QNetworkSession::State)));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mNetworkSession,
+ SIGNAL(error(QNetworkSession::SessionError)),
+ this,
+ SLOT(handleSessionError(QNetworkSession::SessionError)));
+ Q_ASSERT(connectStatus == true);
+
+ mNetworkSession->open();
+ } else {
+ showConnectionDroppedMessageBox();
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_OPENSESSION_EXIT);
+}
+
+
+/*!
+ This function handles sessionOpened signal from QNetworkSession. It informs view that
+ connection is ready to be used.
+
+ */
+void WlanLoginEngine::handleSessionOpened()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLESESSIONOPENED_ENTRY);
+
+ //Check that cancel has not been pressed
+ if (engineState() != WaitingForStopRequest) {
+ setEngineState(NetworkSessionOpened);
+ //Send indication to view that connection is ready
+ emit connectionReady(mRedirectionUrl);
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLESESSIONOPENED_EXIT);
+}
+
+
+/*!
+ This function handles sessionStateChanged signal from QNetworkSession.
+ @param [in] newState New state of the session
+ */
+void WlanLoginEngine::handleSessionStateChanged(QNetworkSession::State newState)
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLESESSIONSTATECHANGED_ENTRY);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_HANDLESESSIONSTATECHANGED_STATE_TRACE,
+ "WlanLoginEngine::handleSessionStateChanged;newState=%d",
+ newState );
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLESESSIONSTATECHANGED_EXIT);
+}
+
+
+/*!
+ This function handles sessionError signal from QNetworkSession
+ @param [in] error session error
+ */
+void WlanLoginEngine::handleSessionError(QNetworkSession::SessionError error)
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLESESSIONERROR_ENTRY);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANLOGINENGINE_SESSION_ERROR_TRACE,
+ "WlanLoginEngine::handleSessionError;error=%d",
+ error);
+
+ switch (engineState()) {
+ case OpeningNetworkSession:
+ showConnectionDroppedMessageBox();
+ break;
+
+ case NetworkSessionOpened:
+ case IctsOk:
+ case IctsFailed:
+ if (error == QNetworkSession::SessionAbortedError ) {
+ showConnectionDroppedMessageBox();
+ }
+ break;
+
+ case RunningIcts:
+ if (error == QNetworkSession::SessionAbortedError ) {
+ stopIcts();
+ showConnectionDroppedMessageBox();
+ }
+ break;
+
+ default:
+ break;
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLESESSIONERROR_EXIT);
+}
+
+/*!
+ This function handles startIcts signal and starts connectivity test in polling mode
+
+ */
+void WlanLoginEngine::handleStartIcts()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLESTARTICTS_ENTRY);
+
+ if (!mIctsWrapper->isPolling()) {
+ setEngineState(RunningIcts);
+ mIctsWrapper->startPolling(totalPollingTime, pollingInterval);
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLESTARTICTS_EXIT);
+}
+
+/*!
+ This function stops internet connectivity test
+
+ */
+void WlanLoginEngine::stopIcts()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_STOPICTS_ENTRY);
+
+ if (mIctsWrapper->isPolling()) {
+ mIctsWrapper->stopPolling();
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_STOPICTS_EXIT);
+}
+
+/*!
+ This slot handles connectivityTestResult signal from ICTS wrapper
+ @param [in] result Result of the internet connectivity test
+ @param [in] redirectionUrl The URL that we are being redirected, valid only if result is HttpAuthenticationNeeded
+ */
+
+void WlanLoginEngine::handleConnectivityTestResult(IctsWrapper::ConnectivityTestResult result, QUrl redirectUrl)
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLECONNECTIVITYTESTRESULT_ENTRY);
+
+ Q_UNUSED(redirectUrl);
+
+ mIctsFirstRun = false;
+
+ if (result == IctsWrapper::ConnectionOk){
+ setEngineState(IctsOk);
+ emit ictsOk();
+ } else {
+ setEngineState(IctsFailed);
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLECONNECTIVITYTESTRESULT_EXIT);
+}
+
+/*!
+ This slot handles cancelTriggered signal from the view
+
+ */
+void WlanLoginEngine::handleCancelTriggered()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLECANCELTRIGGERED_ENTRY);
+
+ //Check if Qt Highway request is completed
+ if (mStartRequestCompleted == false){
+
+ switch (engineState()) {
+
+ case UpdatingNetworkConfigurations:
+ case OpeningNetworkSession:
+ case NetworkSessionOpened:
+ setEngineState(WaitingForStopRequest);
+ emitCompleteServiceRequest(WlanLoginService::WlanLoginStatusCancel);
+ break;
+
+ case RunningIcts:
+ stopIcts();
+ setEngineState(WaitingForStopRequest);
+ if (mIctsFirstRun) {
+ emitCompleteServiceRequest(WlanLoginService::WlanLoginStatusCancel);
+ } else {
+ emitCompleteServiceRequest(WlanLoginService::WlanLoginStatusFailed);
+ }
+ break;
+
+ case IctsFailed:
+ setEngineState(WaitingForStopRequest);
+ emitCompleteServiceRequest(WlanLoginService::WlanLoginStatusFailed);
+ break;
+
+ default:
+ break;
+ }
+ } else {
+ //Check race condition
+ if(engineState() != WaitingForStopRequest) {
+ qApp->exit();
+ }
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLECANCELTRIGGERED_EXIT);
+}
+
+/*!
+ This slot handles nextTriggered signal from the view
+
+ */
+void WlanLoginEngine::handleNextTriggered()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLENEXTTRIGGERED_ENTRY);
+
+ if (mStartRequestCompleted == false ) {
+ emitCompleteServiceRequest(WlanLoginService::WlanLoginStatusNext);
+ }
+
+ //put application to background:
+ WlanLoginApplication* app = static_cast<WlanLoginApplication *>(this->parent());
+ app->mainWindow()->lower();
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLENEXTTRIGGERED_EXIT);
+}
+
+/*!
+ This function shows connection dropped message box to the user
+
+ */
+void WlanLoginEngine::showConnectionDroppedMessageBox()
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_SHOWCONNECTIONDROPPEDMESSAGEBOX_ENTRY);
+
+ HbMessageBox *messageBox = new HbMessageBox(hbTrId("txt_occ_info_wlan_connection_closed_login_applica"));
+ messageBox->setAttribute(Qt::WA_DeleteOnClose);
+ messageBox->setTimeout(messageBoxTimeout);
+ messageBox->open(this,SLOT(connectionDroppedMessageBoxClosed(HbAction*)));
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_SHOWCONNECTIONDROPPEDMESSAGEBOX_EXIT);
+}
+
+void WlanLoginEngine::connectionDroppedMessageBoxClosed(HbAction* action)
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_HANDLEMESSAGEBOXCLOSED_ENTRY);
+
+ Q_UNUSED(action);
+
+ if (mStartRequestCompleted == false ) {
+ emitCompleteServiceRequest(WlanLoginService::WlanLoginStatusConnectionDropped);
+
+ } else {
+ //If Qt Highway service request is already completed when connection drops, we have to make exit by our own
+ qApp->exit();
+ }
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_HANDLEMESSAGEBOXCLOSED_EXIT);
+}
+
+/*!
+ This function completes Qt Highway service request
+ @param [in] status completeing status of the service request
+ */
+void WlanLoginEngine::emitCompleteServiceRequest(WlanLoginService::WlanLoginStatus status )
+{
+ OstTraceFunctionEntry0(WLANLOGINENGINE_EMITCOMPLETESERVICEREQUEST_ENTRY);
+
+ mStartRequestCompleted = true;
+ OstTrace1(
+ TRACE_BORDER,
+ WLANLOGINENGINE_EMITCOMPLETESERVICEREQUEST_EMIT_TRACE,
+ "WlanLoginEngine::emitCompleteServiceRequest with status:;status=%d",
+ status);
+ emit completeServiceRequest(status);
+
+ OstTraceFunctionExit0(WLANLOGINENGINE_EMITCOMPLETESERVICEREQUEST_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginmainwindow.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2010 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:
+* Wlan Login main window class implementation
+*
+*/
+
+// System includes
+
+//User includes
+
+#include "wlanloginmainwindow.h"
+#include "wlanloginengine.h"
+#include "wlanloginview.h"
+#include "wlanloginapplication.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginmainwindowTraces.h"
+#endif
+
+/*!
+ \class WlanLoginMainWindow
+ \brief WLAN Login main window class implementation.
+*/
+
+/*!
+ Constructor.
+ */
+WlanLoginMainWindow::WlanLoginMainWindow(WlanLoginApplication* appRef) :
+ mAppRef(appRef),
+ mLoginView(NULL)
+{
+ OstTraceFunctionEntry0(WLANLOGINMAINWINDOW_WLANLOGINMAINWINDOW_ENTRY);
+
+ addLoginView();
+ setCurrentView(mLoginView);
+ show();
+
+ OstTraceFunctionExit0(WLANLOGINMAINWINDOW_WLANLOGINMAINWINDOW_EXIT);
+}
+
+
+/*!
+ Destructor.
+ */
+WlanLoginMainWindow::~WlanLoginMainWindow()
+{
+ OstTraceFunctionEntry0(WLANLOGINMAINWINDOW_DESTRUCTOR_ENTRY);
+
+ OstTraceFunctionExit0(WLANLOGINMAINWINDOW_DESTRUCTOR_EXIT);
+}
+
+
+/*!
+ This function creates login view
+ */
+void WlanLoginMainWindow::addLoginView()
+{
+ OstTraceFunctionEntry0(WLANLOGINMAINWINDOW_ADDLOGINVIEW_ENTRY);
+
+ mLoginView = new WlanLoginView(this);
+ addView(mLoginView);
+
+ OstTraceFunctionExit0(WLANLOGINMAINWINDOW_ADDLOGINVIEW_EXIT);
+}
+
+
+/*!
+ This function returns pointer to login view
+ */
+WlanLoginView* WlanLoginMainWindow::loginView() const
+{
+ OstTraceFunctionEntry0(WLANLOGINMAINWINDOW_LOGINVIEW_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINMAINWINDOW_LOGINVIEW_EXIT);
+
+ return mLoginView;
+}
+
+/*!
+ This function returns pointer to application instance
+ */
+WlanLoginApplication* WlanLoginMainWindow::application() const
+{
+ OstTraceFunctionEntry0(WLANLOGINMAINWINDOW_APPLICATION_ENTRY);
+ OstTraceFunctionExit0(WLANLOGINMAINWINDOW_APPLICATION_EXIT);
+
+ return mAppRef;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginnetworkaccessmanager.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,139 @@
+/*
+* Copyright (c) 2009 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:
+* Wlan Login network access manager class implementation
+*
+*/
+
+
+// System includes
+#include <QObject>
+#include <QSslConfiguration>
+#include <QSslSocket>
+#include <QNetworkReply>
+
+//User includes
+#include "wlanloginnetworkaccessmanager.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginnetworkaccessmanagerTraces.h"
+#endif
+
+/*!
+ \class WlanLoginNetworkAccessManager
+ \brief WLAN Login network access manager class implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+WlanLoginNetworkAccessManager::WlanLoginNetworkAccessManager(QObject *parent):
+ QNetworkAccessManager(parent)
+{
+ OstTraceFunctionEntry0(WLANLOGINNETWORKACCESSMANAGER_WLANLOGINNETWORKACCESSMANAGER_ENTRY);
+
+ QSslConfiguration sslConfig = QSslConfiguration::defaultConfiguration();
+ sslConfig.setPeerVerifyMode(QSslSocket::VerifyNone);
+ QSslConfiguration::setDefaultConfiguration(sslConfig);
+
+ bool connectStatus = connect(
+ this,
+ SIGNAL(sslErrors(QNetworkReply*, const QList<QSslError>&)),
+ SLOT(handleSslErrors(QNetworkReply*, const QList<QSslError>&))
+ );
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ this,
+ SIGNAL(finished(QNetworkReply*)),
+ this,
+ SLOT(handleNetworkRequestFinished(QNetworkReply*))
+ );
+ Q_ASSERT(connectStatus == true);
+
+ OstTraceFunctionExit0(WLANLOGINNETWORKACCESSMANAGER_WLANLOGINNETWORKACCESSMANAGER_EXIT);
+
+}
+
+WlanLoginNetworkAccessManager::~WlanLoginNetworkAccessManager()
+{
+ OstTraceFunctionEntry0( WLANLOGINNETWORKACCESSMANAGER_DESTRUCTOR_ENTRY );
+
+ OstTraceFunctionExit0( WLANLOGINNETWORKACCESSMANAGER_DESTRUCTOR_EXIT );
+}
+
+/*!
+ This function handles sslError signal from QNetworkAccessManager
+
+ */
+void WlanLoginNetworkAccessManager::handleSslErrors(QNetworkReply *reply, const QList<QSslError> &errors)
+{
+ OstTraceFunctionEntry0(WLANLOGINNETWORKACCESSMANAGER_HANDLESSLERRORS_ENTRY);
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ for (int i=0; i<errors.count(); i++) {
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANLOGINNETWORKACCESSMANAGER_HANDLESSLERRORS_ERROR_CODE_TRACE,
+ "WlanLoginView::handleSslErrors;SSL error code=%d",
+ errors[i].error()
+ );
+
+ QString string = errors[i].errorString();
+ TPtrC tmp(string.utf16(),string.length() );
+
+ OstTraceExt1(TRACE_NORMAL,
+ WLANLOGINNETWORKACCESSMANAGER_HANDLESSLERRORS_ERROR_STRING_TRACE,
+ "WlanLoginNetworkAccessManager::handleSslErrors;SSL error string=%S",
+ tmp
+ );
+ }
+#endif //OST_TRACE_COMPILER_IN_USE
+
+ reply->ignoreSslErrors();
+
+ OstTraceFunctionExit0( WLANLOGINNETWORKACCESSMANAGER_HANDLESSLERRORS_EXIT );
+}
+
+/*!
+ This function handles finished signal from QNetworkAccessManager
+
+ */
+void WlanLoginNetworkAccessManager::handleNetworkRequestFinished(QNetworkReply* reply)
+{
+ OstTraceFunctionEntry0(WLANLOGINNETWORKACCESSMANAGER_HANDLENETWORKREQUESTFINISHED_ENTRY);
+
+ OstTrace1(
+ TRACE_NORMAL, WLANLOGINNETWORKACCESSMANAGER_HANDLENETWORKREQUESTFINISHED_ERROR_CODE_TRACE,
+ "WlanLoginNetworkAccessManager::handleNetworkRequestFinished;QNetworkReply error code=%d",
+ reply->error()
+ );
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString string = reply->errorString();
+ TPtrC tmp(string.utf16(),string.length() );
+
+ OstTraceExt1( TRACE_NORMAL, WLANLOGINNETWORKACCESSMANAGER_HANDLENETWORKREQUESTFINISHED_ERROR_STRING_TRACE,
+ "WlanLoginNetworkAccessManager::handleNetworkRequestFinished;QNetworkReply error string=%S", tmp );
+#endif //OST_TRACE_COMPILER_IN_USE
+
+ OstTraceFunctionExit0( WLANLOGINNETWORKACCESSMANAGER_HANDLENETWORKREQUESTFINISHED_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginservice.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2010 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:
+* Wlan Login QtHighway Service.
+*/
+
+// System includes
+#include <QUrl>
+
+// User includes
+#include "wlanloginservice.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginserviceTraces.h"
+#endif
+
+/*!
+ \class WlanLoginService
+ \brief Wlan Login QtHighway service implementation.
+
+ This class implements a QtHighway service that is used to launch
+ Wlan login application.
+*/
+
+/*!
+ Constructor.
+
+ @param[in] parent Object parent.
+ */
+WlanLoginService::WlanLoginService(QObject* parent)
+ : XQServiceProvider(QLatin1String("wlanlogin.com.nokia.symbian.IWlanLogin"), parent),
+ mReturnValue(WlanLoginStatusNone)
+{
+ OstTraceFunctionEntry0(WLANLOGINSERVICE_WLANLOGINSERVICE_ENTRY);
+
+ publishAll();
+
+ OstTraceFunctionExit0(WLANLOGINSERVICE_WLANLOGINSERVICE_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+WlanLoginService::~WlanLoginService()
+{
+ OstTraceFunctionEntry0(WLANLOGINSERVICE_DESTRUCTOR_ENTRY);
+
+ OstTraceFunctionExit0(WLANLOGINSERVICE_DESTRUCTOR_EXIT);
+}
+
+/*!
+ Completes the current service.
+
+ @param [in] status completeing status of the service request
+ */
+void WlanLoginService::completeServiceRequest(int status)
+{
+ OstTraceFunctionEntry0(WLANLOGINSERVICE_COMPLETESERVICEREQUEST_ENTRY);
+
+ mReturnValue.setValue(status);
+ bool ret = completeRequest(mAsyncRequestIndex, mReturnValue);
+ Q_ASSERT(ret);
+
+ OstTraceFunctionExit0(WLANLOGINSERVICE_COMPLETESERVICEREQUEST_EXIT);
+}
+
+/*!
+ Launches Wlan Login application giving needed information.
+
+ @param [in] iapId of the connection that we need to attach to
+ @param [in] netId of the connection that we need to attach to
+ @param [in] url redirection URL of the login page to be loaded
+
+ */
+void WlanLoginService::start(int iapId, int netId, QUrl url)
+{
+ OstTraceFunctionEntry0( WLANLOGINSERVICE_START_ENTRY );
+
+ mAsyncRequestIndex = setCurrentRequestAsync();
+ emit startLogin(iapId, netId, url);
+
+ OstTraceFunctionExit0(WLANLOGINSERVICE_START_EXIT);
+}
+
+/*!
+ Stop launched Wlan Login application.
+ */
+void WlanLoginService::stop()
+{
+ OstTraceFunctionEntry0(WLANLOGINSERVICE_STOP_ENTRY);
+
+ mAsyncRequestIndex = setCurrentRequestAsync();
+ emit stopLogin();
+
+ OstTraceFunctionExit0(WLANLOGINSERVICE_STOP_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginview.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,407 @@
+/*
+* Copyright (c) 2010 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:
+* Main view for the WLAN Login application
+*
+*/
+
+
+#include <QGraphicsLinearLayout>
+#include <QWebFrame>
+
+// System includes
+#include <HbToolbar>
+#include <HbAction>
+#include <HbProgressBar>
+#include <HbScrollBar>
+#include <HbScrollArea>
+#include <HbWidget>
+#include <HbMainWindow>
+
+// User includes
+#include "wlanlogindocumentloader.h"
+#include "wlanloginview.h"
+#include "wlanloginwebview.h"
+#include "wlanloginwebpage.h"
+#include "wlanloginmainwindow.h"
+#include "wlanloginengine.h"
+#include "ictsqtwrapper.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginviewTraces.h"
+#endif
+
+/*!
+ \class WlanLoginView
+ \brief Main view for the WLAN Login application
+*/
+
+// External function prototypes
+
+// Local constants
+//! WLAN Login view docml file
+static const QString wlanLoginViewDocml(":/docml/wlanloginview.docml");
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor
+ */
+WlanLoginView::WlanLoginView(WlanLoginMainWindow* mainWindow):
+ mMainWindow(mainWindow),
+ mDocLoader(new WlanLoginDocumentLoader(mainWindow)),
+ mProgressBar(NULL),
+ mScrollAreaContent(NULL),
+ mWebView(NULL),
+ mNextAction(NULL),
+ mFirstIctsOkResult(true)
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_WLANLOGINVIEW_ENTRY);
+
+ loadDocml();
+
+ setTitleBarVisible(false);
+ setStatusBarVisible(false);
+
+ // Set white background to content widget
+ QPixmap pixmap(10,10);
+ pixmap.fill(Qt::white);
+ QGraphicsPixmapItem *pixmapItem = new QGraphicsPixmapItem(pixmap);
+ mScrollAreaContent->setBackgroundItem(pixmapItem);
+
+ mWebView->page()->setNetworkAccessManager(mMainWindow->application()->engine()->networkAccessManager());
+
+ bool connectStatus = connect(
+ mWebView,
+ SIGNAL(loadStarted()),
+ this,
+ SLOT(handleLoadStarted()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mWebView,
+ SIGNAL(loadProgress(int)),
+ this,
+ SLOT(handleLoadProgress(int)));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mWebView,
+ SIGNAL(loadFinished(bool)),
+ this,
+ SLOT(handleLoadFinished(bool)));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mWebView,
+ SIGNAL(urlChanged(const QUrl&)),
+ this,
+ SLOT(handleUrlChanged(const QUrl&)));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mWebView->page(),
+ SIGNAL(formSubmitted()),
+ this,
+ SLOT(handleFormSubmitted()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mCancelAction,
+ SIGNAL(triggered()),
+ this,
+ SLOT(handleCancelAction()));
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mNextAction,
+ SIGNAL(triggered()),
+ this,
+ SLOT(handleNextAction()));
+ Q_ASSERT(connectStatus == true);
+
+ show();
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_WLANLOGINVIEW_EXIT);
+}
+
+/*!
+ Loads widgets and objects from the docml file.
+ */
+void WlanLoginView::loadDocml()
+{
+ OstTraceFunctionEntry0( WLANLOGINVIEW_LOADDOCML_ENTRY );
+
+ setObjectName(QString("wlanLoginView"));
+ QObjectList objectList;
+ objectList.append(this);
+ mDocLoader->setObjectTree(objectList);
+
+ bool ok = false;
+
+ mDocLoader->load(wlanLoginViewDocml, &ok);
+ Q_ASSERT(ok);
+
+ //Fetch pointer for progress bar
+ mProgressBar = reinterpret_cast<HbProgressBar *>(
+ mDocLoader->findObject("progressBar"));
+ Q_ASSERT(mProgressBar);
+
+ //Fetch pointer for scroll area content
+ mScrollAreaContent = reinterpret_cast<HbWidget *>(
+ mDocLoader->findObject("scrollAreaContent"));
+ Q_ASSERT(mScrollAreaContent);
+
+ //Fetch pointer for Web View
+ mWebView = reinterpret_cast<WlanLoginWebView *>(
+ mDocLoader->findObject("webView"));
+ Q_ASSERT(mWebView);
+
+ //Fetch pointer for cancel action
+ mCancelAction = qobject_cast<HbAction*> (
+ mDocLoader->findObject("cancelAction"));
+ Q_ASSERT(mCancelAction != NULL);
+
+ //Fetch pointer for next action
+ mNextAction = qobject_cast<HbAction*> (
+ mDocLoader->findObject("nextAction"));
+ Q_ASSERT(mNextAction != NULL);
+
+ OstTraceFunctionExit0( WLANLOGINVIEW_LOADDOCML_EXIT );
+}
+
+/*!
+ Destructor
+ */
+WlanLoginView::~WlanLoginView()
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_DESTRUCTOR_ENTRY);
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_DESTRUCTOR_EXIT);
+}
+
+
+/*!
+ This function handles connectionReady signal from engine and starts loading of
+ provided web page
+
+ @param [in] url URL to be loaded
+ */
+void WlanLoginView::handleConnectionReady(QUrl url)
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLECONNECTIONREADY_ENTRY);
+
+ mWebView->load(url);
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLECONNECTIONREADY_EXIT);
+}
+
+
+/*!
+ This function handles orientationChanged signal
+
+ @param [in] orientation New Orientation of the screen
+ */
+void WlanLoginView::handleOrientationChanged(Qt::Orientation orientation)
+{
+ Q_UNUSED(orientation);
+ OstTraceFunctionEntry0( WLANLOGINVIEW_ORIENTATIONCHANGED_ENTRY );
+
+ adjustViewSize();
+
+ OstTraceFunctionEntry0( WLANLOGINVIEW_ORIENTATIONCHANGED_EXIT );
+}
+
+void WlanLoginView::adjustViewSize()
+{
+ OstTraceFunctionEntry0( WLANLOGINVIEW_ADJUSTVIEWSIZE_ENTRY );
+
+ //Store current screen size
+ QSizeF screenSize = mMainWindow->layoutRect().size();
+
+ //Store current content size
+ QSize contentSize = mWebView->page()->mainFrame()->contentsSize();
+
+ //Set viewPortSize to biggest values of content size or current screen size
+ QSize newViewPortSize;
+ if (screenSize.toSize().width() > contentSize.width()) {
+ newViewPortSize.setWidth(screenSize.toSize().width());
+ } else {
+ newViewPortSize.setWidth(contentSize.width());
+ }
+
+ if (screenSize.toSize().height() > contentSize.height()) {
+ newViewPortSize.setHeight(screenSize.toSize().height());
+ } else {
+ newViewPortSize.setHeight(contentSize.height());
+ }
+ mWebView->page()->setViewportSize(newViewPortSize);
+
+
+ //Set Web View size to same size as viewport
+ mWebView->setMinimumWidth((qreal)newViewPortSize.width());
+ mWebView->setMaximumWidth((qreal)newViewPortSize.width());
+ mWebView->setPreferredWidth((qreal)newViewPortSize.width());
+
+ mWebView->setMinimumHeight((qreal)newViewPortSize.height());
+ mWebView->setMaximumHeight((qreal)newViewPortSize.height());
+ mWebView->setPreferredHeight((qreal)newViewPortSize.height());
+
+
+ //Set preferred content size to current screen size
+ mWebView->page()->setPreferredContentsSize(mMainWindow->layoutRect().size().toSize());
+
+ OstTraceFunctionEntry0( WLANLOGINVIEW_ADJUSTVIEWSIZE_EXIT );
+}
+
+
+/*!
+ This function handles urlChanged signal from QGraphicsWebView
+
+ @param [in] newUrl New URL
+ */
+void WlanLoginView::handleUrlChanged(const QUrl& newUrl )
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLEURLCHANGED_ENTRY);
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString url = newUrl.toString();
+ TPtrC tmp(url.utf16(),url.length() );
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANLOGINVIEW_HANDLEURLCHANGED_URL_TRACE,
+ "WlanLoginEngine::handleUrlChanged;newUrl=%S",
+ tmp);
+#endif
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLEURLCHANGED_EXIT);
+}
+
+
+/*!
+ This function handles loadStarted signal from QGraphicsWebView
+ */
+void WlanLoginView::handleLoadStarted()
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLELOADSTARTED_ENTRY);
+
+ mProgressBar->setVisible(true);
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLELOADSTARTED_EXIT);
+}
+
+
+/*!
+ This function handles loadProgress signal from QGraphicsWebView
+
+ @param [in] progressValue Indicates page loading progress: 0..100
+ */
+void WlanLoginView::handleLoadProgress(int progressValue)
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLELOADPROGRESS_ENTRY);
+
+ mProgressBar->setProgressValue(progressValue);
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLELOADPROGRESS_EXIT);
+}
+
+
+/*!
+ This function handles loadfinished signal from QGraphicsWebView
+
+ @param [in] status Success status
+ */
+void WlanLoginView::handleLoadFinished(bool status)
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLELOADFINISHED_ENTRY);
+
+ if(status)
+ {
+ adjustViewSize();
+ }
+
+ mProgressBar->setVisible(false);
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLELOADFINISHED_EXIT);
+}
+
+
+/*!
+ This function handles formSumitted signal from WlanLoginWebPage
+
+ */
+void WlanLoginView::handleFormSubmitted()
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLEFORMSUBMITTED_ENTRY);
+
+ //User has submitted credentials, let's start internet connectivity test
+ emit startIcts();
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLEFORMSUBMITTED_EXIT);
+}
+
+
+/*!
+ This function handles triggered signal from "cancel" button
+
+ */
+void WlanLoginView::handleCancelAction()
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLECANCELACTION_ENTRY);
+
+ mWebView->stop();
+ emit cancelTriggered();
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLECANCELACTION_EXIT);
+}
+
+
+/*!
+ This function handles triggered signal from "next" button
+
+ */
+void WlanLoginView::handleNextAction()
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLENEXTACTION_ENTRY);
+
+ emit nextTriggered();
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLENEXTACTION_EXIT);
+}
+
+
+/*!
+ This function handles ictsOk signal from engine
+
+ */
+void WlanLoginView::handleIctsOk()
+{
+ OstTraceFunctionEntry0(WLANLOGINVIEW_HANDLEICTSRESULT_ENTRY);
+
+ mNextAction->setEnabled(true);
+
+ //Send application to background automatically only in first successfull login
+ //as in other cases WLAN Wizard won't exist in the underneath
+ if (mFirstIctsOkResult) {
+ mFirstIctsOkResult = false;
+ emit nextTriggered();
+ }
+
+ OstTraceFunctionExit0(WLANLOGINVIEW_HANDLEICTSRESULT_EXIT);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginwebpage.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2009 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:
+ *
+ */
+
+// System includes
+#include <QWebPage>
+#include <QWebFrame>
+#include <QNetworkRequest>
+
+// User includes
+#include "wlanloginwebpage.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginwebpageTraces.h"
+#endif
+
+/*!
+ \class WlanLoginWebPage
+ \brief WLAN Login web page class implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+ */
+WlanLoginWebPage::WlanLoginWebPage(QObject *parent): QWebPage(parent)
+{
+ OstTraceFunctionEntry0( WLANLOGINWEBPAGE_WLANLOGINWEBPAGE_ENTRY );
+
+ //Hide scrollbars
+ mainFrame()->setScrollBarPolicy(Qt::Horizontal, Qt::ScrollBarAlwaysOff );
+ mainFrame()->setScrollBarPolicy(Qt::Vertical, Qt::ScrollBarAlwaysOff );
+
+ setContentEditable(false);
+
+ OstTraceFunctionExit0( WLANLOGINWEBPAGE_WLANLOGINWEBPAGE_EXIT );
+}
+
+
+WlanLoginWebPage::~WlanLoginWebPage()
+{
+ OstTraceFunctionEntry0( WLANLOGINWEBPAGE_DESTRUCTOR_ENTRY );
+
+ OstTraceFunctionExit0( WLANLOGINWEBPAGE_DESTRUCTOR_EXIT );
+}
+
+
+/*!
+ This function checks navigation events. This was rewritten as we needed
+ indication to login view when user has submitted the password and user name. That
+ corresponds to value QWebPage::NavigationTypeFormSubmitted. This triggers starting of
+ internet connectivity test.
+
+ @param [in] frame
+ @param [in] request
+ @param [in] type
+ */
+bool WlanLoginWebPage::acceptNavigationRequest(QWebFrame *frame, const QNetworkRequest &request, QWebPage::NavigationType type)
+{
+ OstTraceFunctionEntry0( WLANLOGINWEBPAGE_ACCEPTNAVIGATIONREQUEST_ENTRY );
+
+ if (type== QWebPage::NavigationTypeFormSubmitted) {
+
+ OstTrace0(
+ TRACE_BORDER,
+ WLANLOGINWEBPAGE_ACCEPTNAVIGATIONREQUEST_EMITTING_TRACE,
+ "WlanLoginWebPage::acceptNavigationRequest emitting formSubmitted() signal");
+
+ emit formSubmitted();
+ }
+
+ OstTraceFunctionExit0( WLANLOGINWEBPAGE_ACCEPTNAVIGATIONREQUEST_EXIT );
+
+ return QWebPage::acceptNavigationRequest(frame,request,type);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/src/wlanloginwebview.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,99 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+// System includes
+#include <QGraphicsWebView>
+
+// User includes
+#include "wlanloginwebview.h"
+#include "wlanloginwebpage.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanloginwebviewTraces.h"
+#endif
+
+/*!
+ \class WlanLoginWebView
+ \brief WLAN Login web view class implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor
+ */
+WlanLoginWebView::WlanLoginWebView():
+ QGraphicsWebView(),
+ mWebPage(NULL),
+ mMousePressed(false)
+{
+ OstTraceFunctionEntry0( WLANLOGINWEBVIEW_WLANLOGINWEBVIEW_ENTRY );
+
+ installEventFilter(this); //Event filter for preventing text selection when scrolling
+
+ mWebPage = new WlanLoginWebPage(this);
+ setPage(mWebPage);
+ setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+
+ OstTraceFunctionExit0( WLANLOGINWEBVIEW_WLANLOGINWEBVIEW_EXIT );
+}
+
+
+/*!
+ Destructor
+
+ */
+WlanLoginWebView::~WlanLoginWebView()
+{
+ OstTraceFunctionEntry0( WLANLOGINWEBVIEW_DESTRUCTOR_ENTRY );
+ OstTraceFunctionExit0( WLANLOGINWEBVIEW_DESTRUCTOR_EXIT );
+}
+
+/*!
+ This eventfilter filters QEvent::GraphicsSceneMouseMove events from Web View while
+ mouse (finger) is pressed down. If filtering is not done it causes text selection on
+ the web page when page is scrolled with finger.
+
+ @param [in] event Pointer to received event
+
+ */
+bool WlanLoginWebView::eventFilter(QObject *, QEvent *event)
+{
+ switch (event->type()) {
+ case QEvent::GraphicsSceneMousePress:
+ mMousePressed = true;
+ break;
+ case QEvent::GraphicsSceneMouseRelease:
+ mMousePressed = false;
+ break;
+ case QEvent::GraphicsSceneMouseMove:
+ if (mMousePressed)
+ return true;
+ break;
+ default:
+ break;
+ }
+ return false;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2010 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 OST traces
+*
+*/
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanlogin/wlanloginapp/wlanloginapp.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,83 @@
+#
+# Copyright (c) 2010 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:
+# Project file for WLAN Login application.
+#
+
+TEMPLATE = app
+TARGET = wlanlogin
+DEPENDPATH += .
+INCLUDEPATH += \
+ . \
+ /epoc32/include/mw \
+ ../inc \
+ ../../inc
+
+LIBS += -lxqservice -lxqserviceutil -lictsqtwrapper -lqtsysteminfo
+
+CONFIG += hb service mobility no_icon
+MOBILITY += bearer
+
+QT += \
+ core \
+ network \
+ webkit
+
+#Store generated .moc files to their own directory
+MOC_DIR = build
+
+# Input
+SOURCES += \
+ src/main.cpp \
+ src/wlanloginapplication.cpp \
+ src/wlanloginengine.cpp \
+ src/wlanlogindocumentloader.cpp \
+ src/wlanloginmainwindow.cpp \
+ src/wlanloginnetworkaccessmanager.cpp \
+ src/wlanloginservice.cpp \
+ src/wlanloginview.cpp \
+ src/wlanloginwebpage.cpp \
+ src/wlanloginwebview.cpp
+
+HEADERS += \
+ inc/wlanloginapplication.h \
+ inc/wlanloginengine.h \
+ inc/wlanlogindocumentloader.h \
+ inc/wlanloginmainwindow.h \
+ inc/wlanloginnetworkaccessmanager.h \
+ inc/wlanloginservice.h \
+ inc/wlanloginview.h \
+ inc/wlanloginwebpage.h \
+ inc/wlanloginwebview.h \
+ traces/OstTraceDefinitions.h
+
+DOCML += res/wlanloginview.docml
+
+RESOURCES = res/wlanlogin.qrc
+
+TRANSLATIONS = wlanlogin.ts
+
+SERVICE.FILE = res/service_conf.xml
+
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+MMP_RULES += "USERINCLUDE traces"
+
+symbian*: {
+ LIBS += -lictsclientinterface
+ TARGET.UID3 = 0x2002E6D0
+ TARGET.CAPABILITY = CAP_APPLICATION NetworkControl
+ BLD_INF_RULES.prj_exports += "rom/wlanlogin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanlogin.iby)"
+ BLD_INF_RULES.prj_exports += "rom/wlanlogin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlanlogin_resources.iby)"
+}
--- a/wlanutilities/wlanplugin/data/10281BCB.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* 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:
-* ECOM plugin resource file for WLAN Settings plugin.
-*
-*
-*/
-
-#include <ecom/registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
- {
- dll_uid = 0x10281BCB; // Plugin dll UID
- interfaces =
- {
- INTERFACE_INFO
- {
- interface_uid = 0x10207236; // UID for CGSPluginInterface - do not change.
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid = 0x10281BCA; // Plugin UID
- version_no = 1;
- display_name = "WLAN Plugin"; // debug name
- default_data = "0x10207250"; // Parent UID (Connection View)
- opaque_data = "20"; // Order number
- }
- };
- }
- };
- }
-
--- a/wlanutilities/wlanplugin/data/wlanpluginrsc.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* 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:
-* Resource file for WlanPlugin
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME PWLB // 4 letter ID
-
-// INCLUDES
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <avkon.hrh>
-
-#include <wlanplugin.loc>
-
-// CONSTANTS
-
-// RESOURCE DEFINITIONS
-
-//----------------------------------------------------
-//
-//
-// Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {
- }
-
-//----------------------------------------------------
-//
-// r_qtn_set_folder_conn_wlan
-// Caption for Plugin.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_set_folder_conn_wlan { buf = qtn_set_folder_conn_wlan; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_no_nw_available { buf = qtn_cp_detail_wlan_no_nw_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_scan_off { buf = qtn_cp_detail_wlan_scan_off; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_known_nw_available { buf = qtn_cp_detail_wlan_known_nw_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_network_available { buf = qtn_cp_detail_wlan_network_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_networks_available { buf = qtn_cp_detail_wlan_networks_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_connected { buf = qtn_cp_detail_wlan_connected; }
-
-RESOURCE TBUF r_qtn_err_os_general { buf = qtn_err_os_general ; }
-
-//End of File
--- a/wlanutilities/wlanplugin/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2005 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: Build information for the WLAN Settings Plug-in
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// export iby files
-../rom/wlanplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanplugin.iby)
-../rom/wlanpluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wlanpluginresources.iby)
-
-// export localised loc file
-../loc/wlanplugin.loc MW_LAYER_LOC_EXPORT_PATH(wlanplugin.loc)
-
-PRJ_MMPFILES
-./wlanplugin.mmp
-
-// gnumakefile wlanpluginicons.mk
-
-PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wlanplugin.mif
-OPTION HEADERFILE wlanplugin.mbg
-OPTION SOURCES -c16,8 qgn_prop_set_conn_wlan \
- -c16,8 qgn_prop_set_conn_wlan_conn \
- -c16,8 qgn_prop_set_conn_wlan_off \
- -c8,8 qgn_indi_wlan_signal_low_add \
- -c8,8 qgn_indi_wlan_signal_med_add \
- -c8,8 qgn_indi_wlan_signal_good_add
-END
-
-// End of File
--- a/wlanutilities/wlanplugin/group/wlanplugin.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* 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:
-* This is project specification file for the wlanplugin.
-*
-*
-*/
-
-#include <data_caging_paths.hrh> //this is needed for RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-CAPABILITY CAP_ECOM_PLUGIN
-TARGET wlanplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D 0x10281BCB
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE wlanplugin.cpp
-SOURCE wlanpluginimplementationtable.cpp
-SOURCE wlanpluginwlanstate.cpp
-SOURCE wlanplugindbobserver.cpp
-SOURCE wlanplugintimeshifter.cpp
-
-USERINCLUDE ../data
-
-// Component specific internal headers
-USERINCLUDE ../inc
-SYSTEMINCLUDE ../../inc
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../data
-
-//ECOM resource definition
-START RESOURCE 10281BCB.rss
-TARGET wlanplugin.rsc
-END // ECOM resource definition
-
-//WlanSettingsPlugin resources
-START RESOURCE wlanpluginrsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END//WlanPlugin resources
-
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY avkon.lib
-LIBRARY FeatMgr.lib
-LIBRARY bafl.lib
-LIBRARY cone.lib
-LIBRARY eikcore.lib
-LIBRARY commonengine.lib // RConeResourceLoader
-LIBRARY aknskins.lib // AknsUtils.h
-LIBRARY egul.lib
-LIBRARY GSEcomPlugin.lib
-LIBRARY apgrfx.lib
-LIBRARY apparc.lib
-LIBRARY ws32.lib
-LIBRARY wsfwlaninfo.lib
-LIBRARY wsfmodel.lib
-LIBRARY wsfwlaninfosorting.lib
-LIBRARY commonui.lib
-LIBRARY aknnotify.lib
-LIBRARY eiksrv.lib
-LIBRARY COMMSDAT.lib
-LIBRARY cmmanagerdatabase.lib
-DEBUGLIBRARY flogger.lib
-
--- a/wlanutilities/wlanplugin/group/wlanpluginicons.mk Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# 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: Makefile for icons of WlanSettingsPlugin
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\wlanplugin.mif
-
-HEADERDIR=\epoc32\include
-HEADERFILENAME=$(HEADERDIR)\wlanplugin.mbg
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
- /c16,8 qgn_prop_set_conn_wlan.svg \
- /c16,8 qgn_prop_set_conn_wlan_conn.svg \
- /c16,8 qgn_prop_set_conn_wlan_off.svg \
- /c8,8 qgn_indi_wlan_signal_low_add.svg \
- /c8,8 qgn_indi_wlan_signal_med_add.svg \
- /c8,8 qgn_indi_wlan_signal_good_add.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(HEADERFILENAME)&& \
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/wlanutilities/wlanplugin/inc/wlanplugin.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* 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 CWlanPlugin class.
-*
-*/
-
-#ifndef __C_WLANPLUGIN_H__
-#define __C_WLANPLUGIN_H__
-
-// System includes
-#include <gsplugininterface.h>
-#include <ConeResLoader.h>
-#include <AknServerApp.h>
-
-//forward declarations
-class CAknNavigationDecorator;
-class CAknViewAppUi;
-class CAknNullService;
-class CGSParentPlugin;
-class CWlanPluginWlanState;
-
-/**
-* WLAN plugin's UID
-*/
-const TUid KWlanPluginUid = { 0x10281BCA };
-
-/**
-* WlanSniffer applicatoin's UID
-*/
-const TUid KSnifferAppUid = { 0x10281CAA };
-
-/**
-* WLAN plugin class.
-*/
-class CWlanPlugin : public CGSPluginInterface,
- public MAknServerAppExitObserver
- {
- public://Constructors & destructors
-
- /**
- * First phase constructor
- * Creates new instance of CWlanPlugin
- * @param aInitParams Initialising parameters
- * @return a plugin instance
- */
- static CWlanPlugin* NewL( TAny* aInitParams );
-
- /**
- * Destructor
- */
- ~CWlanPlugin();
-
- public: // Functions from base class
-
- /**
- * From CAknView
- */
-
- /**
- * Returns the Plugin's UID
- * @return UID of the plugin
- */
- TUid Id() const;
-
- /*
- * Funtion called when This is activated.
- * @param aPrevViewId The previous View Id
- * @param aCustomMessageId Id of a custom message
- * @param aCustomMessage Content of the custom message
- */
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /*
- * Funtion called when this is deactivated.
- */
- void DoDeactivate();
-
- public:
-
- /**
- * from CGSPluginInterface
- */
-
- /*
- * Called by the CP framework. This returns the
- * caption of the plugin, the first line of the listbox
- * element of it, shown in the Control Panel UI.
- * @param aCaption The caption is copied here
- */
- void GetCaptionL( TDes& aCaption ) const;
-
- /*
- * Returns if it has bitmap.
- * @return The logical value of having birmap
- */
- TBool HasBitmap() const;
-
- /*
- * Returns a bitmap.
- * @param aBitmap the returned bitmap
- * @param aMask the returned mask of the bitmap
- */
- void GetBitmapL( CFbsBitmap* aBitmap, CFbsBitmap* aMask ) const;
-
-
- /*
- * Returns a the plugin provider's cathegory
- * @return The id of the cathegory
- */
- TInt PluginProviderCategory() const;
-
- /*
- * This function is called, when the plugin is selected.
- * In this case it starts sniffer application
- * @param aSelectionType The type of the selection
- */
- void HandleSelection( const TGSSelectionTypes aSelectionType );
-
- /*
- * Returns the type of the item.
- * @return The type of the item
- */
- TGSListboxItemTypes ItemType();
-
- /*
- * Creates the asked type icon (main icon or D column icon)
- * and returns a pointer to it.
- * @param aIconType Type of the icon
- * @return the asked icon
- */
- CGulIcon* CreateIconL( const TUid aIconType );
-
- /**
- * Method for checking, if plugin should be visible and used in GS FW.
- * (for example shown in listbox of the parent view).
- *
- * On default plugin is visible. Overwrite this function to enable or
- * disable your plugin dynamically.
- *
- * @return ETrue if plugin should be visible in GS.
- * @return EFalse if plugin should not be visible in GS.
- */
- virtual TBool Visible() const;
-
- /*
- * The aKey identified value is given back by it. Actually
- * the the second line of the listbox element of this plugin
- * is given by this function.
- * @param aKey The id of the asked value.
- * @param aValue The returned value.
- */
- void GetValue( const TGSPluginValueKeys aKey,
- TDes& aValue );
-
-
- void HandleServerAppExit(TInt aReason);
-
-
- protected:
-
- /**
- * Constructor
- */
- CWlanPlugin();
-
- private:
-
- /**
- * Second phase constructor
- */
- TAny ConstructL();
-
- /**
- * Opens the localized resource file
- */
- void OpenLocalizedResourceFileL();
-
- /**
- * Launches Sniffer application
- */
- void LaunchSnifferAppL();
-
- /**
- * Queries if wlan is supported
- * @return if the wlan is supported
- */
- TBool GetWlanSupported() const;
-
- /**
- * Shows an error note in case of error.
- * @param aErrorCode The error code.
- */
- void ShowErrorNote(TInt aErrorCode);
-
- /**
- * Shows the error note and resolves the error.
- * @param aErrorCode The error code.
- */
- TBool ShowErrorNoteL(TInt aErrorCode);
-
- /**
- * Shows a general error note
- */
- void ShowGeneralErrorNoteL();
-
- private: //data
-
- /*
- * @var resource loader
- */
- RConeResourceLoader iResources;
-
- /*
- * @var null service
- */
- CAknNullService* iNullService;
-
- /*
- * @var stores the present status line
- */
- HBufC* iStatusLine;
-
- /*
- * @var wlan state handler/observer
- */
- CWlanPluginWlanState* iWlanState;
-
- };
-
-#endif //__C_WLANPLUGIN_H__
-
-//End of file
\ No newline at end of file
--- a/wlanutilities/wlanplugin/inc/wlanplugindbobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* 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 CWlanPluginDbObserver class.
-*
-*/
-
-
-#ifndef C_WLAN_PLUGIN_DB_OBSERVER
-#define C_WLAN_PLUGIN_DB_OBSERVER
-
-// System includes
-#include <e32base.h>
-#include <wlancontainer.h>
-#include <d32dbms.h>
-#include <WlanCdbCols.h>
-#include <commsdat.h>
-
-//forward declaration
-class CWlanPluginWlanState;
-
-/**
-* Database observer class.
-*/
-NONSHARABLE_CLASS( CWlanPluginDbObserver ) : public CActive
- {
- public:
- /**
- * The Constructor.
- * @param aState Pointer to the WLAN State object.
- */
- CWlanPluginDbObserver( CWlanPluginWlanState* aState );
-
- /**
- * First phase of two phased construction.
- * @param aState Pointer to the WLAN State object.
- */
- static CWlanPluginDbObserver* NewL( CWlanPluginWlanState* aState );
-
- /**
- * This function activates this object as an active object.
- */
- void ActivateItL();
-
- /**
- * Destructor.
- */
- virtual ~CWlanPluginDbObserver();
-
- protected:
- /**
- * When the WLAN device settings table is accessed this function
- * is called. Handle of the active object.
- */
- void RunL();
-
- /**
- * Whan waiting for a database access is stopped this function
- * is called.
- */
- void DoCancel();
-
- private:
- /**
- * Second phase of two phase construction.
- */
- void ConstructL();
-
- private:
- /**
- * @var Pointer to the WLAN state object to ask and set scanning
- * state.
- */
- CWlanPluginWlanState * iWlanState;
-
- /**
- * A CommsDat session fod database access.
- */
- CMDBSession* iSession;
-
- /**
- * A class representing a recor of WLAN Devive Settings table.
- */
- CCDWlanDeviceSettingsRecord* iRecord;
-
- /**
- * The value of it shows the scan state of the WLAN availablity
- */
- TBool iOuterScanState;
-
- };
-
-
-#endif //C_WLAN_PLUGIN_DB_OBSERVER
\ No newline at end of file
--- a/wlanutilities/wlanplugin/inc/wlanpluginlogger.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* 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: Functions and macros for debugging
-*
-*
-*/
-
-
-#ifndef WLANPLUGINLOGGER_H_INCLUDED
-#define WLANPLUGINLOGGER_H_INCLUDED
-
-// ========== INCLUDE FILES ================================
-
-#include <eikenv.h>
-#include <flogger.h>
-
-#ifdef _DEBUG
-
-// Format string: enter function.
-_LIT( KCCDLGLogEnterFn, "-> %S" );
-// Format string: leave function.
-_LIT( KCCDLGLogLeaveFn, "<- %S" );
-// Format string: time.
-_LIT( KCCDLGLogTimeFormatString, "%H:%T:%S:%*C2" );
-
-// Logging directory.
-_LIT( KCCDLGLogDir, "wlanplugin" );
-// Log file name.
-_LIT( KCCDLGLogFile, "wlanplugin.txt" );
-_LIT( KCCDLGLogBanner, "****************\n\nWlanPlugin\n\n****************" );
-_LIT( KCCDLGLogExit, "WlanPlugin : Exit" );
-
-#define CLOG_CREATE {FCreate();}
-#define CLOG_DELETE {RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogExit);}
-#define CLOG_ENTERFN(a) {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogEnterFn, &temp);}
-#define CLOG_LEAVEFN(a) {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogLeaveFn, &temp);}
-#define CLOG_WRITE(a) {_LIT(temp, a); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, temp);}
-#define CLOG_WRITE_TIMESTAMP(a) {_LIT(temp, a); TTime time; time.HomeTime(); TBuf<256> buffer; time.FormatL( buffer, KCCDLGLogTimeFormatString ); buffer.Insert(0, temp); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, buffer); }
-#define CLOG_WRITEF FPrint
-
-
-inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
- {
- VA_LIST list;
- VA_START(list,aFmt);
- RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aFmt, list);
- }
-
-inline void FPrint(const TDesC& aDes)
- {
- RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aDes);
- }
-
-inline void FHex(const TUint8* aPtr, TInt aLen)
- {
- RFileLogger::HexDump(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, 0, 0, aPtr, aLen);
- }
-
-inline void FHex(const TDesC8& aDes)
- {
- FHex(aDes.Ptr(), aDes.Length());
- }
-
-inline void FCreate()
- {
- TFileName path( _L( "c:\\logs\\" ) );
- path.Append( KCCDLGLogDir );
- path.Append( _L( "\\" ) );
- RFs& fs = CEikonEnv::Static()->FsSession();
- fs.MkDirAll( path );
- RFileLogger::WriteFormat( KCCDLGLogDir, KCCDLGLogFile,
- EFileLoggingModeAppend, KCCDLGLogBanner );
- }
-
-#else // ! _DEBUG
-
-inline void FPrint(const TRefByValue<const TDesC> /*aFmt*/, ...) { };
-
-#define CLOG_CREATE
-#define CLOG_DELETE
-#define CLOG_ENTERFN(a)
-#define CLOG_LEAVEFN(a)
-#define CLOG_WRITE(a)
-#define CLOG_WRITEF 1 ? ((void)0) : FPrint
-#define CLOG_WRITE_TIMESTAMP(a)
-
-#endif // _DEBUG
-
-
-#endif // WLANPLUGINLOGGER_H_INCLUDED
--- a/wlanutilities/wlanplugin/inc/wlanplugintimeshifter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 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:
-* Header file for CWlanPluginTimeShifter class.
-*
-*/
-
-
-#ifndef C_WLAN_PLUGIN_TIME_SHIFTER
-#define C_WLAN_PLUGIN_TIME_SHIFTER
-
-#include <e32base.h>
-
-
-class CWlanPluginWlanState;
-
-
-NONSHARABLE_CLASS( CWlanPluginTimeShifter ) : public CActive
- {
-
- public:
- /*
- * First phase of two phase construction
- */
- static CWlanPluginTimeShifter* NewLC(
- CWlanPluginWlanState* aWlanState );
-
- /*
- * First phase of two phase construction
- */
- static CWlanPluginTimeShifter* NewL(
- CWlanPluginWlanState* aState );
-
- /*
- * Destructor
- */
- virtual ~CWlanPluginTimeShifter();
-
- /*
- *
- */
- void ActivateIt();
-
-
- protected:
-
- /**
- *
- *
- */
- void RunL();
-
- /**
- *
- *
- */
- void DoCancel();
-
- /**
- * Constructor
- */
- CWlanPluginTimeShifter( CWlanPluginWlanState* aWlanState );
-
-
- private:
-
- /*
- * Second phase of 2 phase construction
- */
- void ConstructL();
-
- private:
-
- /**
- * @var Pointer to the WLAN state object to ask and set scanning
- * state.
- */
- CWlanPluginWlanState * iWlanState;
-
-
-
-
- };
-
-#endif //C_WLAN_PLUGIN_TIME_SHIFTER
\ No newline at end of file
--- a/wlanutilities/wlanplugin/inc/wlanpluginwlanstate.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,345 +0,0 @@
-/*
-* 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 WlanPluginWlanState class.
-*
-*/
-
-
-#ifndef __C_WLANPLUGINWLANSTATE_H__
-#define __C_WLANPLUGINWLANSTATE_H__
-
-// System includes
-#include <e32base.h>
-#include <wsfstatechangeobserver.h>
-#include <wsfwlaninfo.h>
-#include <AknsItemID.h>
-
-//forward declarations
-class CWsfModel;
-class CWsfWlanInfoArray;
-class CCoeEnv;
-class CGSParentPlugin;
-class CGulIcon;
-class CWlanPluginDbObserver;
-class CWsfWlanInfoArrayVisitor;
-class CWlanPluginTimeShifter;
-
-/**
-* WLAN state class.
-*/
-class CWlanPluginWlanState : public CBase,
- public MWsfStateChangeObserver
- {
-
- public:
-
- /*
- * Default constructor
- * @param aParent The the parent plugin of it in.
- * the Control Panel
- */
- CWlanPluginWlanState( CGSParentPlugin *aParent );
-
- /*
- * Destructor
- */
- virtual ~CWlanPluginWlanState();
-
- /*
- * First phase of 2 phase constructor.
- * @param aParent pointer to parent plugin.
- * @return An instance.
- */
- static CWlanPluginWlanState* NewLC( CGSParentPlugin *aParent );
-
- /*
- * First phase of 2 phase constructor
- * @param aParent Pointer to parent plugin.
- * @return An instance.
- */
- static CWlanPluginWlanState* NewL( CGSParentPlugin *aParent );
-
- /*
- * Gives back the wlan state descriptor into aDes.
- * @param aDes Reference to the destination descriptor.
- */
- void GetStateStringL( TDes& aDes );
-
- /*
- * Gives back the wlan state main icon. The result is
- * ETrue if there is valid id.
- * @param aPic The id of the icon.
- * @param aPicMask The id of the mask.
- */
- TBool GetMainIconL( TInt& aPic,
- TInt& aPicMask,
- TAknsItemID& aItemID );
-
- /*
- * Gives back the signal strength. The result is
- * ETrue if there is valid strength, and the state
- * is connected.
- * @param aPic The id of the icon.
- * @param aPicMask The id of the mask.
- * @return If D column icon is needed.
- */
- TBool GetStrengthIconL( TInt& aPic,
- TInt& aPicMask,
- TAknsItemID& aItemId );
-
- /**
- * Returns if the observed scanning is on
- * @return If the scanning is on.
- */
- TBool IsScanning();
-
- /**
- * Sets the scanning value, and manage effects, caused
- * by it. It is used by the dbobserver class to manage
- * setting scanning value caused by the "Wlan availability".
- * @param aScanning The set value.
- */
- void SetScanningL( TBool aScanning );
-
- /**
- *
- */
- void DirectlyScanL();
-
- /**
- *
- */
- void DeleteTimeShifter();
-
- public: //from MWlanSnifferStateChangeObserver
- /*
- * The current wlan data has changed
- * and it is ready to be retrieved.
- */
- virtual void WlanListChangedL();
-
- /*
- * Engine error occured
- * @param aError System wide error to describe what has happened.
- */
- virtual void NotifyEngineError( TInt aError );
-
- /*
- * The network scanning has been disabled.
- */
- virtual void ScanDisabledL();
-
- /*
- * The network scanning has been enabled.
- */
- virtual void ScanEnabledL();
-
- /*
- * Wlan bearer opened using accesspoint
- */
- virtual void WlanConnectionActivatedL();
-
- /*
- * wlan bearer has been closed
- */
- virtual void WlanConnectionClosedL();
-
- /**
- * Connection creation process finished
- * @param aError System wide error code
- */
- virtual void ConnectionCreationProcessFinishedL( TInt aError );
-
- protected:
- /*
- * Makes the wlan state descriptor according to
- * the given info array.
- * @param aArray the given info array.
- * @param aDes the result is written here.
- */
- void MakeStateStringL( CWsfWlanInfoArray* aArray, HBufC*& aBuf );
-
-
- /*
- * Gives the connected wlan status string.
- * @param aItem Ref to the result descriptor.
- */
- void FormatConnectedL( HBufC*& aBuf );
-
- /*
- * Gives the offline wlan status string.
- * @param aItem Ref to the result descriptor.
- */
- void FormatStatusOffL( HBufC*& aBuf );
-
- /*
- * Decides if there is one interesting wlan or
- * more and writes out wlan state string.
- * @param aArray input array of wlans.
- * @param aItem ref to the result descriptor.
- */
- void CheckWlansL( CWsfWlanInfoArray* aArray, HBufC*& aBuf );
-
- /*
- * Decides if the wlan given is connected, or known
- * and writes out the suitable text to aItem according
- * to it.
- * @param aWlan Input wlan info.
- * @param aItem Ref to the result descriptor.
- */
- void FormatWlanSingleLineL( TWsfWlanInfo& aWlan, HBufC*& aBuf );
-
- /*
- * Decides if there is one unknown or more
- * networks and writes solution according to it.
- * @param aMultipleUnknownWlans If
- * there is more network available.
- * @param aItem Ref to the result descriptor.
- */
- void FormatUnknownWlansSingleLineL(
- const TBool aMultipleUnknownWlans,
- HBufC*& aBuf );
-
- /*
- * Gives the descripto meaning there are no
- * wlans found.
- * @param aItem Ref to output descriptor.
- */
- void FormatNoWlansAvailableL( HBufC*& aBuf );
-
- /*
- * Checks if the wlan state is different from
- * the one iPresentString represent. The
- * result is ETrue if the state changed.
- * @return If the state is changed.
- */
- TBool IsStateChangedL();
-
- /*
- * Gets the present signal strength. It is a normal
- * strength if the wlan state is connected, otherwise it is
- * ENoSignal.
- * @return The signal strength
- */
- TWsfWlanSignalStrengthLevel GetSignalStrength();
-
- /**
- * Updates the parent plugin in Control Panel
- */
- void UpdateParentViewL();
-
- private:
-
- /*
- * Second phase of two phase construction
- */
- void ConstructL();
-
- /**
- * Updates the wlan list
- */
- void UpdateWlanListL();
-
- protected:
-
- /*
- * @var pointer to a sniffer model
- */
- CWsfModel* iEngine;
-
- /*
- * @var present wlan info list
- */
- CWsfWlanInfoArray* iInfoArray;
-
- /*
- * @var if wlan is scanning
- */
- TBool iScanning;
-
- /*
- * @var if there is wlan connection
- */
- TInt iConnected;
-
- /*
- * @var true if the plugin explicitely started wlan scanning
- */
- TInt iExplicitScanning;
-
- /*
- * @var pointer to coeEnv
- */
- CCoeEnv* iCoeEnv;
-
- /*
- * @var pointer to parent plugin
- */
- CGSParentPlugin* iParent;
-
- /*
- * @var the present written out status string
- */
- HBufC* iPresentString;
-
- /*
- * @var the present signal strength
- */
- TWsfWlanSignalStrengthLevel iSignalStrength;
-
- /**
- * @var The Database observer class
- */
- CWlanPluginDbObserver* iDbObserver;
-
- /**
- * @var A bool representing if calling an update for parent
- * plugin is enabled. True if the parent do not have be updated.
- */
- TBool iSupressParentUpdate;
-
- /**
- * @var A bool false, if wlan list update is valid to call
- */
- TBool iSupressUpdateWlan;
-
- /**
- * @var object needed filtering out wlans
- */
- CWsfWlanInfoArrayVisitor* iWlanInfoBranding;
-
- /*
- * @var the second line data reachable is valid
- */
- TBool iValidSecondLine;
-
- /*
- * @var tThe wlan info of the connected network
- */
- TWsfWlanInfo iConnectedWlanInfo;
-
- /*
- * @var Time shifter
- */
- CWlanPluginTimeShifter* iTimeShifter;
-
- /*
- * @var Time shifter supressing
- */
- TBool iSupressTimeShifter;
-
- };
-
-#endif //__C_WLANPLUGINWLANSTATE_H__
--- a/wlanutilities/wlanplugin/loc/wlanplugin.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* 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:
-* Localization strings for Plugin
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-//d:Text of a list item in Connection view's list
-//d:Item opens WLAN view
-//l:list_double_large_graphic_pane_t1
-//r:5.0
-#define qtn_set_folder_conn_wlan "WLAN"
-
-// d:Text to indicate that the wlan scanning is off.
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_scan_off "WLAN scanning off"
-
-// d:Text indicate that wlan scan did not find any wlan in the range
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_no_nw_available "No networks available"
-
-// d:Text used to tell that a preconfigured wlan accesspoint is found.
-// d:%U stands for wlan ssid( max 50 digits )
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_known_nw_available "'%U' available"
-
-// d:Text use to indicate that a non-configured wlan is in the range
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_network_available "Network available"
-
-// d:Text use to indicate that multiple non-configured wlans is in the range
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_networks_available "Networks available"
-
-// d:Text used the show connected wlan
-// d: %U wlan ssid ( max 50 digits )
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_connected "Connected to '%U'"
-
-//d: In case of error, the error code is passed to error resolver
-//d: and the error note is displayed accordingly. If error resolver
-//d: cannot resolve the error, an error note "System error" is displayed.
-//l: popup_note_window/opt2
-//w:
-//r:5.0
-//
-#define qtn_err_os_general "System error"
-
-// End of File
--- a/wlanutilities/wlanplugin/rom/wlanplugin.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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: Image description file for project WlanSettingsPlugin
-*
-*/
-
-
-#ifndef __WLANPLUGIN_IBY__
-#define __WLANPLUGIN_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-ECOM_PLUGIN(wlanplugin.DLL,10281BCB.rsc)
-
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,wlanplugin)
-
-#endif //__PROTOCOL_WLAN
-
-#endif __WLANPLUGIN_IBY__
\ No newline at end of file
--- a/wlanutilities/wlanplugin/rom/wlanpluginresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* 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: Image description file for project WlanSettingsPlugin
-*
-*/
-
-
-#ifndef __WLANPLUGIN_RESOURCES_IBY__
-#define __WLANPLUGIN_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-data=DATAZ_\RESOURCE_FILES_DIR\wlanpluginrsc.rsc RESOURCE_FILES_DIR\wlanpluginrsc.rsc
-
-#endif //__PROTOCOL_WLAN
-
-#endif __WLANPLUGIN_RESOURCES_IBY__
\ No newline at end of file
--- a/wlanutilities/wlanplugin/src/wlanplugin.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,493 +0,0 @@
-/*
-* 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: WlanPlugin class.
-*
-*/
-
-
-// INCLUDE FILES
-
-// User includes
-#include "wlanplugin.h"
-#include "wlanpluginwlanstate.h"
-#include "wlanpluginlogger.h"
-
-// System includes
-#include <wlanpluginrsc.rsg>
-#include <gsparentplugin.h>
-#include <gsfwviewuids.h>
-#include <AknNullService.h>
-#include <bautils.h>
-#include <StringLoader.h>
-#include <featmgr.h>
-#include <AknGlobalNote.h>
-#include <ErrorUI.h>
-
-
-// Resource file location
-_LIT( KWlanPluginResourceFileName, "z:wlanpluginrsc.rsc" );
-
-// ROM folder
-_LIT( KDriveZ, "z:" );
-
-// Name of the MBM file containing icons
-_LIT( KFileIcons, "wlanplugin.mif");
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanPlugin::NewL
-// First phase constructor
-// ---------------------------------------------------------
-CWlanPlugin* CWlanPlugin::NewL( TAny* /*aInitParams*/ )
- {
- CWlanPlugin* self = new ( ELeave ) CWlanPlugin();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-CWlanPlugin::~CWlanPlugin()
- {
- CLOG_ENTERFN( "CWlanPlugin::~CWlanPlugin()" );
-
- iResources.Close();
-
- if( iNullService )
- {
- delete iNullService;
- }
- if ( iWlanState )
- {
- delete iWlanState;
- }
-
- CLOG_ENTERFN( "CWlanPlugin::~CWlanPlugin()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ConstructL
-// ---------------------------------------------------------
-TAny CWlanPlugin::ConstructL()
- {
- CLOG_CREATE;
-
- CLOG_ENTERFN( "CWlanPlugin::ConstructL()" );
-
- BaseConstructL();
-
- OpenLocalizedResourceFileL();
-
- // Check Wlan support in construction phase to
- // avoid creating of plugin when it is not necessary.
- if( GetWlanSupported() )
- {
- // This is the parent plugin
- CGSParentPlugin* parent = static_cast<CGSParentPlugin*>(
- AppUi()->View( KGSConPluginUid ) );
-
- iWlanState = CWlanPluginWlanState::NewL( parent );
- }
- else
- {
- User::Leave( KErrNotSupported );
- }
-
- CLOG_LEAVEFN( "CWlanPlugin::ConstructL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::Id
-// ---------------------------------------------------------
-TUid CWlanPlugin::Id() const
- {
- CLOG_ENTERFN( "CWlanPlugin::Id()" );
-
- CLOG_LEAVEFN( "CWlanPlugin::Id()" );
-
- return KWlanPluginUid;
-
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::DoActivateL
-// ---------------------------------------------------------
-void CWlanPlugin::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/,
- const TDesC8& /*aCustomMessage*/ )
- {
- CLOG_ENTERFN( "CWlanPlugin::DoActivateL()" );
- //no implementation required
- CLOG_LEAVEFN( "CWlanPlugin::DoActivateL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::DoDeactivate
-// ---------------------------------------------------------
-void CWlanPlugin::DoDeactivate()
- {
- CLOG_ENTERFN( "CWlanPlugin::DoDeactivate()" );
- //no implementation required
- CLOG_LEAVEFN( "CWlanPlugin::DoDeactivate()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::GetCaptionL
-// ---------------------------------------------------------
-void CWlanPlugin::GetCaptionL( TDes& aCaption ) const
- {
- CLOG_ENTERFN( "CWlanPlugin::GetCaptionL()" );
-
- StringLoader::Load( aCaption, R_QTN_SET_FOLDER_CONN_WLAN );
-
- CLOG_LEAVEFN( "CWlanPlugin::GetCaptionL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::HasBitmap
-// ---------------------------------------------------------
-TBool CWlanPlugin::HasBitmap() const
- {
- CLOG_ENTERFN( "CWlanPlugin::HasBitmap()" );
-
- CLOG_LEAVEFN( "CWlanPlugin::HasBitmap()" );
-
- return EFalse;
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::GetBitmapL
-// ---------------------------------------------------------
-void CWlanPlugin::GetBitmapL( CFbsBitmap* /*aBitmap*/,
- CFbsBitmap* /*aMask*/ ) const
- {
-
- CLOG_ENTERFN( "CWlanPlugin::GetBitmapL()" );
- CLOG_LEAVEFN( "CWlanPlugin::GetBitmapL()" );
- //no bitmap
- User::Leave( KErrNotFound );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::PluginProviderCategory
-// ---------------------------------------------------------
-TInt CWlanPlugin::PluginProviderCategory() const
- {
-
- CLOG_ENTERFN( "CWlanPlugin::PluginProviderCategory()" );
- CLOG_LEAVEFN( "CWlanPlugin::PluginProviderCategory()" );
-
- return EGSPluginProviderOEM;
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::HandleSelection
-// ---------------------------------------------------------
-void CWlanPlugin::HandleSelection(
- const TGSSelectionTypes /*aSelectionType*/ )
- {
- CLOG_ENTERFN( "CWlanPlugin::HandleSelection()" );
-
- TRAPD( error, LaunchSnifferAppL() );
- if( error != KErrNone &&
- error != KErrNotFound &&
- error != KErrServerTerminated )
- {
- ShowErrorNote( error );
- }
-
- CLOG_LEAVEFN( "CWlanPlugin::HandleSelection()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ItemType
-// ---------------------------------------------------------
-TGSListboxItemTypes CWlanPlugin::ItemType()
- {
-
- CLOG_ENTERFN( "CWlanPlugin::ItemType()" );
- CLOG_LEAVEFN( "CWlanPlugin::ItemType()" );
-
- return EGSItemTypeSettingDialog;
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::CreateIconL
-// ---------------------------------------------------------
-CGulIcon* CWlanPlugin::CreateIconL( const TUid aIconType )
- {
-
- CLOG_ENTERFN( "CWlanPlugin::CreateIconL()" );
-
- TFileName iconsFileName;
-
- iconsFileName.Append( KDriveZ );
- iconsFileName.Append( KDC_APP_BITMAP_DIR );
- iconsFileName.Append( KFileIcons );
-
- CGulIcon* icon;
-
- TInt pic, picmask;
- TAknsItemID itemid;
- //if the main icon is asked
- if ( aIconType == KGSIconTypeLbxItem )
- {
- if ( iWlanState->GetMainIconL( pic, picmask, itemid ) )
- {
- icon = AknsUtils::CreateGulIconL( AknsUtils::SkinInstance(),
- itemid,
- iconsFileName,
- pic,
- picmask );
- }
- else
- {
- icon = CGSPluginInterface::CreateIconL( aIconType );
- }
- }
- //if the secondary icon is asked
- else if ( aIconType == KGSIconTypeDColumn )
- {
- //if there should be icon
- if ( iWlanState->GetStrengthIconL( pic, picmask, itemid ) )
- {
- icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
- AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
- itemid,
- KAknsIIDQsnIconColors,
- EAknsCIQsnIconColorsCG13,
- bitmap,
- mask,
- iconsFileName,
- pic,
- picmask,
- KRgbBlack );
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- CleanupStack::Pop( icon );
- }
- //if there should be no icons
- else
- {
- icon = CGSPluginInterface::CreateIconL( aIconType );
- }
- }
- //in other case of icons
- else
- {
- icon = CGSPluginInterface::CreateIconL( aIconType );
- }
-
- CLOG_LEAVEFN( "CWlanPlugin::CreateIconL()" );
-
- return icon;
- }
-
-// ---------------------------------------------------------
-// CVWlanPlugin::Visible
-// ---------------------------------------------------------
-TBool CWlanPlugin::Visible() const
- {
-
- CLOG_ENTERFN( "CWlanPlugin::Visible()" );
- CLOG_LEAVEFN( "CWlanPlugin::Visible()" );
-
- return GetWlanSupported();
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::CWlanPlugin
-// ---------------------------------------------------------
-CWlanPlugin::CWlanPlugin():
- iResources( *CCoeEnv::Static() ),
- iNullService( NULL )
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::GetValue
-// ---------------------------------------------------------
-void CWlanPlugin::GetValue( const TGSPluginValueKeys aKey,
- TDes& aValue )
- {
- CLOG_ENTERFN( "CWlanPlugin::GetValue()" );
-
- //if the second line of the listbox is asked
- if( aKey == EGSPluginKeySettingsItemValueString )
- {
- TRAP_IGNORE( iWlanState->GetStateStringL( aValue ) );
- }
-
- CLOG_LEAVEFN( "CWlanPlugin::GetValue()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::OpenLocalizedResourceFileL
-// ---------------------------------------------------------
-void CWlanPlugin::OpenLocalizedResourceFileL()
- {
- CLOG_ENTERFN( "CWlanPlugin::OpenLocalizedResourceFileL()" );
-
-
- RFs fsSession;
- User::LeaveIfError( fsSession.Connect() );
-
- // Find the resource file:
- TParse parse;
- parse.Set( KWlanPluginResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( parse.FullName() );
-
- // Get language of resource file:
- BaflUtils::NearestLanguageFile( fsSession, fileName );
-
- // Open resource file:
- iResources.OpenL( fileName );
-
- // If leave occurs before this, close is called automatically when the
- // thread exits.
- fsSession.Close();
-
- CLOG_LEAVEFN( "CWlanPlugin::OpenLocalizedResourceFileL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::LaunchSnifferAppL
-// ---------------------------------------------------------
-void CWlanPlugin::LaunchSnifferAppL()
- {
- CLOG_ENTERFN( "CWlanPlugin::LaunchSnifferAppL()" );
-
- // Launch app
- if ( iNullService )
- {
- delete iNullService;
- iNullService = NULL;
- }
- iNullService = CAknNullService::NewL( KSnifferAppUid, this );
-
- CLOG_LEAVEFN( "CWlanPlugin::LaunchSnifferAppL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::GetWlanSupported
-// ---------------------------------------------------------
-TBool CWlanPlugin::GetWlanSupported() const
- {
- CLOG_ENTERFN( "CWlanPlugin::GetWlanSupported()" );
-
- TBool isWlanSupported = EFalse;
-
- TRAPD( error, FeatureManager::InitializeLibL() );
-
- if( !error )
- {
- isWlanSupported =
- FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-
- FeatureManager::UnInitializeLib();
- }
-
- CLOG_LEAVEFN( "CWlanPlugin::GetWlanSupported()" );
-
- return isWlanSupported;
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowErrorNote
-// ---------------------------------------------------------
-//
-void CWlanPlugin::ShowErrorNote(TInt aErrorCode)
- {
- CLOG_ENTERFN( "CWlanPlugin::ShowErrorNote()" );
-
-
- TBool errorNoteShowed = EFalse;
-
- TRAPD(error, errorNoteShowed = ShowErrorNoteL(aErrorCode));
-
- if(error || !errorNoteShowed)
- {
- TRAP_IGNORE( ShowGeneralErrorNoteL() );
- }
-
- CLOG_LEAVEFN( "CWlanPlugin::ShowErrorNote()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowErrorNoteL
-// ---------------------------------------------------------
-//
-TBool CWlanPlugin::ShowErrorNoteL(TInt aErrorCode)
- {
- CLOG_ENTERFN( "CWlanPlugin::ShowErrorNoteL()" );
-
- CErrorUI* errorUi = CErrorUI::NewLC();
-
- TBool errorNoteShowed = errorUi->ShowGlobalErrorNoteL( aErrorCode );
-
- CleanupStack::PopAndDestroy( errorUi );
-
- CLOG_LEAVEFN( "CWlanPlugin::ShowErrorNoteL()" );
-
- return errorNoteShowed;
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowGeneralErrorNoteL
-// ---------------------------------------------------------
-//
-void CWlanPlugin::ShowGeneralErrorNoteL()
- {
- CLOG_ENTERFN( "CWlanPlugin::ShowGeneralErrorNoteL()" );
-
- HBufC *msg = StringLoader::LoadLC( R_QTN_ERR_OS_GENERAL );
-
- CAknGlobalNote *note = CAknGlobalNote::NewLC();
-
- note->ShowNoteL( EAknGlobalErrorNote, *msg );
-
- CleanupStack::PopAndDestroy( note );
- CleanupStack::PopAndDestroy( msg );
-
- CLOG_LEAVEFN( "CWlanPlugin::ShowGeneralErrorNoteL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPlugin::HandleServerAppExit
-// ---------------------------------------------------------
-//
-void CWlanPlugin::HandleServerAppExit(TInt aReason)
- {
- CLOG_ENTERFN( "CWlanPlugin::HandleServerAppExit()" );
- //MAknServerAppExitObserver::HandleServerAppExit( aReason );
- if( aReason == EAknCmdExit )
- {
- iAvkonViewAppUi->Exit();
- }
-
- CLOG_LEAVEFN( "CWlanPlugin::HandleServerAppExit()" );
- }
-
-
-//End of file
--- a/wlanutilities/wlanplugin/src/wlanplugindbobserver.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* 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:
-* Implementation of utilities functions.
-*
-*
-*/
-
-
-//User includes
-#include "wlanplugindbobserver.h"
-#include "wlanpluginwlanstate.h"
-#include "wlanpluginlogger.h"
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::CWlanPluginDbObserver
-// Constructor
-// ---------------------------------------------------------
-CWlanPluginDbObserver::CWlanPluginDbObserver( CWlanPluginWlanState* aState )
-: CActive( EPriorityNormal ),
- iWlanState( aState )
- {
- }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::NewL
-// ---------------------------------------------------------
-CWlanPluginDbObserver* CWlanPluginDbObserver::NewL(
- CWlanPluginWlanState* aState )
- {
- CWlanPluginDbObserver* self = new ( ELeave )
- CWlanPluginDbObserver( aState );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::ConstructL
-// ---------------------------------------------------------
-void CWlanPluginDbObserver::ConstructL()
- {
- CLOG_ENTERFN( "CWlanPluginDbObserver::ConstructL()" );
-
- CActiveScheduler::Add(this);
-
- CLOG_LEAVEFN( "CWlanPluginDbObserver::ConstructL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::~CWlanPluginDbObserver
-// Destructor
-// ---------------------------------------------------------
-CWlanPluginDbObserver::~CWlanPluginDbObserver()
- {
- CLOG_ENTERFN( "CWlanPluginDbObserver::~CWlanPluginDbObserver()" );
-
- Cancel();
-
- delete iRecord;
-
- delete iSession;
-
- CLOG_LEAVEFN( "CWlanPluginDbObserver::~CWlanPluginDbObserver()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::RunL
-// ---------------------------------------------------------
-void CWlanPluginDbObserver::RunL()
- {
- CLOG_ENTERFN( "CWlanPluginDbObserver::RunL()" );
-
- iRecord->RefreshL( *iSession );
-
- //if scanning state changed start or stop the server
- if ( iRecord->iBgScanInterval == 0 && iOuterScanState )
- {
- CLOG_WRITE( "Scan disabled" );
- iWlanState->SetScanningL( EFalse );
- iOuterScanState = EFalse;
- }
- else if(iRecord->iBgScanInterval != 0 && !iOuterScanState )
- {
- CLOG_WRITE( "Scan enabled" );
- iWlanState->SetScanningL( ETrue );
- iOuterScanState = ETrue;
- }
-
- SetActive();
-
- iRecord->RequestNotification(*iSession,iStatus);
-
- CLOG_LEAVEFN( "CWlanPluginDbObserver::RunL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::DoCancel
-// ---------------------------------------------------------
-void CWlanPluginDbObserver::DoCancel()
- {
- CLOG_ENTERFN( "CWlanPluginDbObserver::DoCancel()" );
-
- iRecord->CancelNotification( *iSession, iStatus );
-
- CLOG_LEAVEFN( "CWlanPluginDbObserver::DoCancel()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::ActivateIt
-// ---------------------------------------------------------
-void CWlanPluginDbObserver::ActivateItL()
- {
- CLOG_ENTERFN( "CWlanPluginDbObserver::ActivateItL()" );
-
- iSession = CMDBSession::NewL( KCDLatestVersion );
-
- TMDBElementId tableId = 0;
-
- tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-
- iRecord = new( ELeave )
- CCDWlanDeviceSettingsRecord( tableId );
-
- iRecord->iWlanDeviceSettingsType = KWlanUserSettings;
-
-
- if(iRecord->FindL( *iSession ))
- {
- iRecord->LoadL( *iSession );
- }
-
-
- iRecord->RequestNotification(*iSession,iStatus);
-
- SetActive();
-
- if ( iRecord->iBgScanInterval != 0 )
- {
- iWlanState->SetScanningL( ETrue );
- iOuterScanState = ETrue;
- }
-
- CLOG_LEAVEFN( "CWlanPluginDbObserver::ActivateItL()" );
- }
--- a/wlanutilities/wlanplugin/src/wlanpluginimplementationtable.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* 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:
-* ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "wlanplugin.h"
-
-// Constants
-const TImplementationProxy KWlanSettingsPluginImplementationTable[] =
- {
- IMPLEMENTATION_PROXY_ENTRY(0x10281BCA, CWlanPlugin::NewL)
- };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
- TInt& aTableCount )
- {
- aTableCount = sizeof( KWlanSettingsPluginImplementationTable ) /
- sizeof( TImplementationProxy );
-
- return KWlanSettingsPluginImplementationTable;
- }
--- a/wlanutilities/wlanplugin/src/wlanplugintimeshifter.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 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:
-* Implementation of time shifting
-*
-*
-*/
-
-
-//User includes
-#include "wlanplugintimeshifter.h"
-#include "wlanpluginwlanstate.h"
-#include "wlanpluginlogger.h"
-
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::NewLC
-// ---------------------------------------------------------
-CWlanPluginTimeShifter* CWlanPluginTimeShifter::NewLC(
- CWlanPluginWlanState* aWlanState )
- {
- CWlanPluginTimeShifter* self = new( ELeave )
- CWlanPluginTimeShifter(
- aWlanState );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::NewL
-// ---------------------------------------------------------
-CWlanPluginTimeShifter* CWlanPluginTimeShifter::NewL(
- CWlanPluginWlanState* aWlanState )
- {
- CWlanPluginTimeShifter* self = CWlanPluginTimeShifter::NewLC(
- aWlanState );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::~CWlanPluginTimeShifter
-// ---------------------------------------------------------
-CWlanPluginTimeShifter::~CWlanPluginTimeShifter()
- {
- Cancel();
- }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::CWlanPluginTimeShifter
-// ---------------------------------------------------------
-CWlanPluginTimeShifter::CWlanPluginTimeShifter(
- CWlanPluginWlanState* aWlanState )
- : CActive( EPriorityNormal ),
- iWlanState( aWlanState )
- {
-
- }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// ---------------------------------------------------------
-void CWlanPluginTimeShifter::ConstructL()
- {
- CLOG_ENTERFN( "CWlanPluginTimeShifter::ConstructL" );
-
- CActiveScheduler::Add(this);
- CLOG_LEAVEFN( "CWlanPluginTimeShifter::ConstructL" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// ---------------------------------------------------------
-void CWlanPluginTimeShifter::RunL()
- {
- CLOG_ENTERFN( "CWlanPluginTimeShifter::RunL" );
-
- iWlanState->DirectlyScanL();
- iWlanState->DeleteTimeShifter();
-
- CLOG_LEAVEFN( "CWlanPluginTimeShifter::RunL" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// ---------------------------------------------------------
-void CWlanPluginTimeShifter::DoCancel()
- {
- CLOG_ENTERFN( "CWlanPluginTimeShifter::DoCancel" );
- CLOG_LEAVEFN( "CWlanPluginTimeShifter::DoCancel" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// ---------------------------------------------------------
-void CWlanPluginTimeShifter::ActivateIt()
- {
- CLOG_ENTERFN( "CWlanPluginTimeShifter::ActivateIt" );
-
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- SetActive();
-
- CLOG_LEAVEFN( "CWlanPluginTimeShifter::ActivateIt" );
- }
--- a/wlanutilities/wlanplugin/src/wlanpluginwlanstate.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,779 +0,0 @@
-/*
-* 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:
-* Implementation of utilities functions.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-//User includes
-#include "wlanpluginwlanstate.h"
-#include "wlanplugindbobserver.h"
-#include "wlanpluginlogger.h"
-#include "wlanplugintimeshifter.h"
-
-//System includes
-#include <wsfmodel.h>
-#include <wsfwlaninfoarray.h>
-#include <wlanpluginrsc.rsg>
-#include <StringLoader.h>
-#include <gsparentplugin.h>
-#include <wlanplugin.mbg>
-#include <wsfwlaninfoarrayvisitor.h>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::CWlanPluginWlanState
-// Constructor
-// ---------------------------------------------------------
-CWlanPluginWlanState::CWlanPluginWlanState( CGSParentPlugin *aParent )
-: iScanning( EFalse ),
- iConnected( EFalse ),
- iExplicitScanning( 0 ),
- iCoeEnv( CCoeEnv::Static() ),
- iParent( aParent ),
- iSignalStrength(ENoSignal),
- iSupressParentUpdate( EFalse ),
- iSupressUpdateWlan( EFalse ),
- iValidSecondLine( ETrue ),
- iSupressTimeShifter( EFalse )
- {
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::~CWlanPluginWlanState
-// Descructor
-// ---------------------------------------------------------
-CWlanPluginWlanState::~CWlanPluginWlanState()
- {
-
- CLOG_ENTERFN( "CWlanPluginWlanState::~CWlanPluginWlanState()" );
-
- if ( iEngine )
- {
- iEngine->CancelNotifyEvents();
- }
-
- if( iExplicitScanning )
- {
- TRAP_IGNORE( SetScanningL( EFalse ) );
- }
- if( iTimeShifter )
- {
- delete iTimeShifter;
- }
-
- delete iDbObserver;
-
- delete iWlanInfoBranding;
-
- //remove self from further notifications from the
- //sniffer server
- delete iEngine;
- delete iPresentString;
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::~CWlanPluginWlanState()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::NewLC
-// ---------------------------------------------------------
-CWlanPluginWlanState* CWlanPluginWlanState::NewLC( CGSParentPlugin *aParent )
- {
- CWlanPluginWlanState* self= new ( ELeave )
- CWlanPluginWlanState( aParent );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::NewL
-// ---------------------------------------------------------
-CWlanPluginWlanState* CWlanPluginWlanState::NewL( CGSParentPlugin *aParent )
- {
- CWlanPluginWlanState* self = CWlanPluginWlanState::NewLC( aParent );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::ConstructL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::ConstructL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::ConstructL()" );
-
- iSupressParentUpdate = ETrue;
-
- iEngine = CWsfModel::NewL( *this, EFalse );
-
- iWlanInfoBranding = CWsfWlanInfoArrayVisitor::NewL( ETrue );
- iWlanInfoBranding->LoadFilterDefinitionsL();
-
- if( iEngine->IsScanEnabledL() )
- {
- iScanning = ETrue;
- UpdateWlanListL();
- }
-
- if( iEngine->IsConnectedL() )
- {
- iEngine->GetConnectedWlanDetailsL( iConnectedWlanInfo );
- iConnected = iConnectedWlanInfo.Connected();
- }
-
- iDbObserver = CWlanPluginDbObserver::NewL( this );
- iDbObserver->ActivateItL();
-
- if( !iConnected && !iScanning && iExplicitScanning )
- {
- iValidSecondLine = EFalse;
- }
-
- iSupressParentUpdate = EFalse;
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::ConstructL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::WlanListChangedL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::WlanListChangedL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::WlanListChangedL()" );
-
- iValidSecondLine = ETrue;
- //if there is modification
- UpdateWlanListL();
-
- UpdateParentViewL();
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::WlanListChangedL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::NotifyEngineError
-// ---------------------------------------------------------
-void CWlanPluginWlanState::NotifyEngineError( TInt /*aError*/ )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::NotifyEngineError()" );
- CLOG_LEAVEFN( "CWlanPluginWlanState::NotifyEngineError()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::ScanDisabledL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::ScanDisabledL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::ScanDisabledL()" );
-
- iScanning = EFalse;
- UpdateParentViewL();
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::ScanDisabledL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::ScanEnabledL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::ScanEnabledL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::ScanEnabledL()" );
-
- // plugin has enabled scanning - background scan is on
- if ( iExplicitScanning )
- {
- CLOG_WRITE( "Refresh scan results" );
- iEngine->RefreshScanL();
- }
-
- iScanning = ETrue;
- UpdateWlanListL();
- UpdateParentViewL();
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::ScanEnabledL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::WlanConnectionActivatedL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::WlanConnectionActivatedL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::WlanConnectionActivatedL()" );
-
- iEngine->GetConnectedWlanDetailsL( iConnectedWlanInfo );
- iConnected = iConnectedWlanInfo.Connected();
- UpdateParentViewL();
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::WlanConnectionActivatedL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::WlanConnectionClosedL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::WlanConnectionClosedL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::WlanConnectionClosedL()" );
-
- iConnected = EFalse;
- if( iScanning )
- {
- UpdateWlanListL();
- }
-
- UpdateParentViewL();
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::WlanConnectionClosedL()" );
- }
-
-// ---------------------------------------------------------------------------
-// CWlanPluginWlanState::ConnectionCreationProcessFinishedL
-// ---------------------------------------------------------------------------
-//
-void CWlanPluginWlanState::ConnectionCreationProcessFinishedL( TInt /*aResult*/ )
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetStateStringL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::GetStateStringL( TDes& aDes )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::GetStateStringL()" );
-
- if( !iValidSecondLine )
- {
- return;
- }
-
- //make the string according to it
- HBufC* statestring = NULL;
- MakeStateStringL( iInfoArray, statestring );
- aDes.Copy( statestring->Des() );
-
- //keep it to decide later if it changed
- delete iPresentString;
- iPresentString = statestring;
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::GetStateStringL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::MakeStateStringL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::MakeStateStringL(
- CWsfWlanInfoArray* aArray, HBufC*& aBuf )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::MakeStateStringL()" );
-
- if( iConnected )
- {
- CLOG_ENTERFN( "Connected format needed" );
- FormatConnectedL( aBuf );
- }
- else if ( !iScanning )
- {
- CLOG_ENTERFN( "Offline format needed" );
- FormatStatusOffL( aBuf );
- }
- // if there's wlans avail
- else if ( aArray && aArray->Count() )
- {
- CLOG_ENTERFN( "wlans/wlan format needed" );
- CheckWlansL( aArray, aBuf );
- }
- else
- {
- // no wlans available
- CLOG_ENTERFN( "No wlan format needed" );
- FormatNoWlansAvailableL( aBuf );
- }
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::MakeStateStringL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatConnectedL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::FormatConnectedL( HBufC*& aBuf )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::FormatConnectedL()" );
-
- //Ssid as primary text
- HBufC* ssid( NULL );
-
- if ( iConnectedWlanInfo.iNetworkName.Length() ) // If there is IAP
- {
- ssid = iConnectedWlanInfo.GetIapNameAsUnicodeLC();
- }
- else // If there no IAP
- {
- ssid = iConnectedWlanInfo.GetSsidAsUnicodeLC();
- }
-
- aBuf = StringLoader::LoadL( R_QTN_CP_DETAIL_WLAN_CONNECTED,
- *ssid );
-
- CleanupStack::PopAndDestroy( ssid );
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::FormatConnectedL()" );
- }
-
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatStatusOffL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::FormatStatusOffL( HBufC*& aBuf )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::FormatStatusOffL()" );
-
- aBuf = StringLoader::LoadL( R_QTN_CP_DETAIL_WLAN_SCAN_OFF );
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::FormatStatusOffL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatNoWlansAvailableL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::FormatNoWlansAvailableL( HBufC*& aBuf )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::FormatNoWlansAvailableL()" );
-
- aBuf = StringLoader::LoadL( R_QTN_CP_DETAIL_WLAN_NO_NW_AVAILABLE );
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::FormatNoWlansAvailableL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::CheckWlansL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::CheckWlansL( CWsfWlanInfoArray* aArray,
- HBufC*& aBuf )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::CheckWlansL()" );
-
- if ( aArray->At( 0 )->Known() )
- {
- FormatWlanSingleLineL( *aArray->At( 0 ), aBuf );
- return;
- }
- TBool multipleUnknownWlans = ( aArray->Count() > 1 );
- FormatUnknownWlansSingleLineL( multipleUnknownWlans, aBuf );
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::CheckWlansL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatWlanSingleLineL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::FormatWlanSingleLineL(
- TWsfWlanInfo& aWlan, HBufC*& aBuf )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::FormatWlanSingleLineL()" );
-
- //Ssid as primary text
- HBufC* ssid( NULL );
-
- if ( aWlan.iNetworkName.Length() ) // If there is IAP
- {
- ssid = aWlan.GetIapNameAsUnicodeLC();
- }
- else // If there no IAP
- {
- ssid = aWlan.GetSsidAsUnicodeLC();
- }
-
- TInt formatResource = R_QTN_CP_DETAIL_WLAN_KNOWN_NW_AVAILABLE;
-
- aBuf = StringLoader::LoadL ( formatResource, *ssid );
-
- CleanupStack::PopAndDestroy( ssid );
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::FormatWlanSingleLineL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatUnknownWlansSingleLineL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::FormatUnknownWlansSingleLineL(
- const TBool aMultipleUnknownWlans, HBufC*& aBuf )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::FormatUnknownWlansSingleLineL()" );
-
- TInt unknownItemResource = aMultipleUnknownWlans ?
- R_QTN_CP_DETAIL_WLAN_NETWORKS_AVAILABLE :
- R_QTN_CP_DETAIL_WLAN_NETWORK_AVAILABLE;
-
- aBuf = StringLoader::LoadL( unknownItemResource );
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::FormatUnknownWlansSingleLineL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetMainIconL
-// ---------------------------------------------------------
-TBool CWlanPluginWlanState::GetMainIconL( TInt& aPic,
- TInt& aPicMask,
- TAknsItemID& aItemId )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::GetMainIconL()" );
-
- if( !iValidSecondLine )
- {
- aPic = EMbmWlanpluginQgn_prop_set_conn_wlan;
- aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_mask;
- aItemId = KAknsIIDQgnPropSetConnWlanConn;
- CLOG_LEAVEFN( "CWlanPluginWlanState::GetMainIconL()" );
- return ETrue;
- }
-
- if( !iSupressTimeShifter)
- {
- iSupressTimeShifter = EFalse;
- CLOG_WRITE(" Time shifter start not supressed ");
- if( !iTimeShifter )
- {
- CLOG_WRITE(" Time shifter started ");
- iSupressTimeShifter = ETrue;
- iTimeShifter = CWlanPluginTimeShifter::NewL( this );
- iTimeShifter->ActivateIt();
- }
- }
- else
- {
- CLOG_WRITE(" Time shifter start supressed ");
- iSupressTimeShifter = EFalse;
- }
- if( iConnected )
- {
- //CONNECTED
- aPic = EMbmWlanpluginQgn_prop_set_conn_wlan_conn;
- aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_conn_mask;
- aItemId = KAknsIIDQgnPropSetConnWlanConn;
- }
- else if( iScanning )
- {
- //SCANNING BUT NOT CONNECTED
- aPic = EMbmWlanpluginQgn_prop_set_conn_wlan;
- aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_mask;
- aItemId = KAknsIIDQgnPropSetConnWlanConn;
- }
- else
- {
- //SCANNING DISABLED
- aPic = EMbmWlanpluginQgn_prop_set_conn_wlan_off;
- aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_off_mask;
- aItemId = KAknsIIDQgnPropSetConnWlanOff;
- }
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::GetMainIconL()" );
- return ETrue;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetStrengthIconL
-// ---------------------------------------------------------
-TBool CWlanPluginWlanState::GetStrengthIconL( TInt& aPic,
- TInt& aPicMask,
- TAknsItemID& aItemId)
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::GetStrengthIconL()" );
-
- if( !iValidSecondLine )
- {
- return EFalse;
- }
- if ( iConnected )
- {
- switch( iConnectedWlanInfo.SignalStrength() )
- {
- case EPoor:
- aPic = EMbmWlanpluginQgn_indi_wlan_signal_low_add;
- aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_low_add_mask;
- aItemId = KAknsIIDQgnIndiWlanSignalLowAdd;
- break;
- case EAverage:
- aPic = EMbmWlanpluginQgn_indi_wlan_signal_med_add;
- aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_med_add_mask;
- aItemId = KAknsIIDQgnIndiWlanSignalMedAdd;
- break;
- case EExcelent:
- aPic = EMbmWlanpluginQgn_indi_wlan_signal_good_add;
- aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_good_add_mask;
- aItemId = KAknsIIDQgnIndiWlanSignalGoodAdd;
- break;
- default:
- aPic = EMbmWlanpluginQgn_indi_wlan_signal_low_add;
- aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_low_add_mask;
- aItemId = KAknsIIDQgnIndiWlanSignalLowAdd;
- }
- iSignalStrength = iConnectedWlanInfo.SignalStrength();
- CLOG_LEAVEFN( "CWlanPluginWlanState::GetStrengthIconL()" );
- return ETrue;
- }
- iSignalStrength = ENoSignal;
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::GetStrengthIconL()" );
-
- return EFalse;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::IsStateChangedL
-// ---------------------------------------------------------
-TBool CWlanPluginWlanState::IsStateChangedL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::IsStateChangedL()" );
-
- if ( !iPresentString )
- {
- CLOG_LEAVEFN( "CWlanPluginWlanState::IsStateChangedL()" );
- return ETrue;
- }
- //alloc a buf
- CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - there is presentstring" );
- HBufC* buf = NULL;
-
- CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - wlan list get" );
- //make the string that would be written out
- MakeStateStringL( iInfoArray, buf );
-
- CleanupStack::PushL( buf );
-
- CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - state string made" );
-
- //decide if the string is the same as it was written before
- //and the connection state is the same
- TBool ret =
- ( buf->Des().Compare( iPresentString->Des() ) ||
- iSignalStrength != GetSignalStrength() )
- ? ETrue : EFalse;
-
- CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - ret get" );
-
- CleanupStack::PopAndDestroy( buf );
-
- if( ret )
- {
- CLOG_WRITE( "State Changed" );
- }
- else
- {
- CLOG_WRITE( "State NOT Changed" );
- }
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::IsStateChangedL()" );
-
- //just to have ETrue in all true cases
- return ret;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetSignalStrength
-// ---------------------------------------------------------
-TWsfWlanSignalStrengthLevel CWlanPluginWlanState::GetSignalStrength()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::GetSignalStrength()" );
-
- if ( iConnected )
- {
- CLOG_LEAVEFN( "CWlanPluginWlanState::GetSignalStrength()" );
- return iConnectedWlanInfo.SignalStrength();
- }
- else
- {
- CLOG_LEAVEFN( "CWlanPluginWlanState::GetSignalStrength()" );
- return ENoSignal;
- }
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::IsScanning
-// ---------------------------------------------------------
-TBool CWlanPluginWlanState::IsScanning()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::IsScanning()" );
- CLOG_LEAVEFN( "CWlanPluginWlanState::IsScanning()" );
- return iScanning;
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::SetScanning
-// ---------------------------------------------------------
-void CWlanPluginWlanState::SetScanningL( TBool aScanning )
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::SetScanningL()" );
-
- if( aScanning )
- {
- iExplicitScanning++;
- if( iExplicitScanning == 1 && iEngine )
- {
- iEngine->EnableScanL();
- }
- }
- else
- {
- iExplicitScanning--;
- if( iExplicitScanning == 0 && iEngine )
- {
- iEngine->DisableScanL();
- }
- }
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::SetScanningL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::UpdateParentViewL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::UpdateParentViewL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::UpdateParentViewL()" );
-
-
- if( iSupressParentUpdate )
- {
- CLOG_WRITE( "Parent update suppressed" );
- CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateParentViewL()" );
- return;
- }
-
- iSupressParentUpdate = ETrue;
-
- if ( IsStateChangedL() )
- {
- iSupressTimeShifter = ETrue;
- iParent->UpdateView();
- }
- else
- {
- iSupressTimeShifter = EFalse;
- }
-
- iSupressParentUpdate = EFalse;
-
- CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateParentViewL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::UpdateWlanListL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::UpdateWlanListL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::UpdateWlanListL()" );
- if( iSupressUpdateWlan )
- {
- CLOG_WRITE( "Update WLAN List supressed" );
- CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateWlanListL()" );
- return;
- }
-
- iSupressUpdateWlan = ETrue;
-
- TRAPD( error,
- iInfoArray = iEngine->GetWlanListL();
-
- if( iConnected )
- {
- iEngine->GetConnectedWlanDetailsL( iConnectedWlanInfo );
- iConnected = iConnectedWlanInfo.Connected();
- }
-
- iWlanInfoBranding->LoadFilterDefinitionsL();
-
- iInfoArray->SortArrayL( *iWlanInfoBranding );
- );
-
- if ( error != KErrNone )
- {
- CLOG_WRITE( "Fetching wlan data leaved" );
- // Reset the temporary flag so that wlan list
- // updates are not completely suppressed
- iSupressUpdateWlan = EFalse;
- User::Leave( error );
- }
-
-#ifdef _DEBUG
- if( iInfoArray )
- {
- if( iInfoArray->Count() <=0 )
- {
- CLOG_WRITE( "EMPTY ARRAY" );
- }
- for(TInt i = 0; i< iInfoArray->Count(); i++)
- {
-
- CLOG_WRITE( "----AP----" );
- HBufC* buf = iInfoArray->At( i )->GetSsidAsUnicodeLC();
- CLOG_WRITEF(_L("AP: %S"), ( buf ) );
- CleanupStack::PopAndDestroy( buf );
- if( iInfoArray->At( i )->Connected() )
- {
- CLOG_WRITE( "--Connected--" );
- }
- else
- {
- CLOG_WRITE( "--NOT Connected--" );
- }
- if( iInfoArray->At( i )->Known() )
- {
- CLOG_WRITE( "--Known--" );
- }
- else
- {
- CLOG_WRITE( "--NOT Known--" );
- }
- }
- }
- else
- {
- CLOG_ENTERFN( "NO ARRAY" );
- }
-#endif
-
- iSupressUpdateWlan = EFalse;
- CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateWlanListL()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::DirectlyScan
-// ---------------------------------------------------------
-void CWlanPluginWlanState::DirectlyScanL()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::DirectlyScan()" );
- if ( iExplicitScanning && iParent->IsForeground())
- {
- iEngine->RefreshScanL();
- }
- CLOG_LEAVEFN( "CWlanPluginWlanState::DirectlyScan()" );
- }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::DeleteTimeShifter
-// ---------------------------------------------------------
-void CWlanPluginWlanState::DeleteTimeShifter()
- {
- CLOG_ENTERFN( "CWlanPluginWlanState::DeleteTimeShifter()" );
- delete iTimeShifter;
- iTimeShifter = NULL;
- CLOG_LEAVEFN( "CWlanPluginWlanState::DeleteTimeShifter()" );
- }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutils.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,209 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities interface.
+*/
+
+#ifndef WLANQTUTILS_H
+#define WLANQTUTILS_H
+
+// System includes
+
+#include <QObject>
+#include <QScopedPointer>
+#include <QSharedPointer>
+
+// User includes
+
+// Forward declarations
+
+class WlanQtUtilsIap;
+class WlanQtUtilsAp;
+class WlanQtUtilsPrivate;
+
+// External data types
+
+// Constants
+
+//! Library interface export macro
+#ifdef BUILD_WLANQTUTILITIES_DLL
+#define WLANQTUTILS_EXPORT Q_DECL_EXPORT
+#else
+#define WLANQTUTILS_EXPORT Q_DECL_IMPORT
+#endif
+
+// Class declaration
+
+class WLANQTUTILS_EXPORT WlanQtUtils : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ //! "None" IAP ID value (e.g. for "not found" cases)
+ static const int IapIdNone = -1;
+
+ /*!
+ WLAN connection status.
+ Remember to update traces/trace.properties when modifying this enum.
+ */
+ enum ConnStatus {
+ ConnStatusNone = 0, //!< Reserved.
+ ConnStatusConnecting, //!< Connecting.
+ ConnStatusConnected, //!< Connected.
+ ConnStatusDisconnected //!< Disconnected.
+ };
+
+ /*!
+ WLAN scan status
+ Remember to update traces/trace.properties when modifying this enum.
+ */
+ enum ScanStatus {
+ ScanStatusOk = 0, //!< Scan succeeded.
+ ScanStatusCancelled, //!< Scan was cancelled.
+ ScanStatusError //!< Scan failed.
+ };
+
+ /*!
+ Internet Connectivity Test status.
+ Remember to update traces/trace.properties when modifying this enum.
+ */
+ enum IctStatus {
+ IctPassed = 0, //!< Normal ICT passed.
+ IctHotspotPassed, //!< Hotspot ICT passed.
+ IctCancelled, //!< ICT was cancelled.
+ IctFailed //!< ICT failed.
+ };
+
+ WlanQtUtils();
+
+ ~WlanQtUtils();
+
+ void scanWlans();
+
+ void scanWlanAps();
+
+ void scanWlanDirect(const QString &ssid);
+
+ void stopWlanScan();
+
+ void availableWlans(
+ QList< QSharedPointer<WlanQtUtilsIap> > &wlanIapList,
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const;
+
+ void availableWlanAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const;
+
+ int createIap(const WlanQtUtilsAp *wlanAp);
+
+ bool updateIap(int iapId, const WlanQtUtilsAp *wlanAp);
+
+ void deleteIap(int iapId);
+
+ void connectIap(int iapId, bool runIct = false);
+
+ void disconnectIap(int iapId);
+
+ ConnStatus connectionStatus() const;
+
+ int activeIap() const;
+
+ QString iapName(int iapId) const;
+
+signals:
+
+ /*!
+ Signal indicating that WLAN scan is complete when scanning
+ is requested with scanWlans() method.
+
+ @param [in] status Scan status code (ScanStatus).
+ */
+ void wlanScanReady(int status);
+
+ /*!
+ Signal indicating that WLAN scan is complete when scanning
+ is requested with scanWlanAps() method.
+
+ @param [in] status Scan status code (ScanStatus).
+ */
+ void wlanScanApReady(int status);
+
+ /*!
+ Signal indicating that WLAN scan is complete when scanning
+ is requested with scanWlanDirect() method.
+
+ @param [in] status Scan status code (ScanStatus).
+ */
+ void wlanScanDirectReady(int status);
+
+ /*!
+ Signal indicating that new WLAN network has been opened.
+
+ @param [in] iapId ID of the opened IAP.
+ */
+ void wlanNetworkOpened(int iapId);
+
+ /*!
+ Signal indicating that a WLAN network has been closed.
+
+ @param [in] iapId ID of the closed IAP.
+ @param [in] reason RConnection::Start() error code.
+ This is the reason of the closure if user requested
+ connection creation and it failed.
+ Otherwise KErrNone.
+ */
+ void wlanNetworkClosed(int iapId, int reason);
+
+ /*!
+ Signal indicating result of finished ICT run.
+
+ @param [in] iapId ID of IAP ICT was run for.
+ @param [in] result IctPassed: Normal ICT passed,
+ IctHotspotPassed: Hotspot ICT passed,
+ IctCancelled: ICT was cancelled,
+ IctFailed: ICT failed
+ */
+ void ictResult(int iapId, int result);
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanQtUtils)
+
+private slots:
+
+private: // data
+
+ //! Pointer to private implementation
+ QScopedPointer<WlanQtUtilsPrivate> d_ptr;
+
+ // Friend classes
+
+ // This is defined as a friend class in order to be able to emit public
+ // signals directly from private implementation code.
+ friend class WlanQtUtilsPrivate;
+
+ // This is defined as a friend class in order to be able to
+ // call event handlers of wrappers from test code.
+ friend class TestWlanQtUtils;
+};
+
+#endif // WLANQTUTILS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutils_p.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,193 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities private implementation interface.
+*/
+
+#ifndef WLANQTUTILS_P_H
+#define WLANQTUTILS_P_H
+
+// System includes
+
+#include <QObject>
+#include <QSharedPointer>
+#include <QList>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "ictswlanlogininterface.h"
+
+// Forward declarations
+
+class WlanQtUtils;
+class WlanQtUtilsIap;
+class WlanQtUtilsAp;
+class WlanQtUtilsConnection;
+class WlanQtUtilsIapSettings;
+class WlanQtUtilsConMonWrapper;
+class WlanQtUtilsEsockWrapper;
+class WlanQtUtilsScan;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsPrivate : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit WlanQtUtilsPrivate(WlanQtUtils *q_ptr);
+
+ virtual ~WlanQtUtilsPrivate();
+
+ void scanWlans();
+
+ void scanWlanAps();
+
+ void scanWlanDirect(const QString &ssid);
+
+ void stopWlanScan();
+
+ void availableWlans(
+ QList< QSharedPointer<WlanQtUtilsIap> > &wlanIapList,
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const;
+
+ void availableWlanAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const;
+
+ int createIap(const WlanQtUtilsAp *wlanAp);
+
+ bool updateIap(int iapId, const WlanQtUtilsAp *wlanAp);
+
+ void deleteIap(int iapId);
+
+ void connectIap(int iapId, bool runIct);
+
+ void disconnectIap(int iapId);
+
+ WlanQtUtils::ConnStatus connectionStatus() const;
+
+ int activeIap() const;
+
+ QString iapName(int iapId) const;
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanQtUtilsPrivate)
+
+ bool wlanIapExists(
+ const QList< QSharedPointer<WlanQtUtilsIap> > list,
+ const WlanQtUtilsAp *ap) const;
+
+ void traceIapsAndAps(
+ const QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ const QList< QSharedPointer<WlanQtUtilsAp> > &aps) const;
+
+private slots:
+
+ void updateAvailableWlanIaps(
+ QList< QSharedPointer<WlanQtUtilsIap> > &availableIaps);
+
+ void updateAvailableWlanAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &availableWlans);
+
+ void reportScanResult(int status);
+
+ void updateConnectionStatus(bool isOpened);
+
+ void addActiveConnection(uint connectionId);
+
+ void removeActiveConnection(uint connectionId);
+
+ void updateActiveConnection(
+ uint connectionId,
+ WlanQtUtils::ConnStatus connectionStatus);
+
+ void updateIctResult(int ictsResult);
+
+ void updateIctHotspotCase();
+
+private: // data
+
+ //! Current scan mode
+ enum ScanMode {
+ ScanModeNone = 0, //!< No scan active
+ ScanModeAvailableWlans, //!< Available AP's & IAPS
+ ScanModeAvailableWlanAps, //!< Available AP's
+ ScanModeDirect //!< Direct SSID scan
+ };
+
+ // Not owned data
+
+ //! Pointer to public implementation.
+ WlanQtUtils *q_ptr;
+
+ // Owned data
+
+ //! Iap settings handler.
+ WlanQtUtilsIapSettings *mSettings;
+
+ //! Wrapper object for Connection Monitor and other parts of connmon library.
+ WlanQtUtilsConMonWrapper *mConMonWrapper;
+
+ //! Wrapper object for WLAN scanning.
+ WlanQtUtilsScan *mScanWrapper;
+
+ //! Wrapper object for esock library.
+ WlanQtUtilsEsockWrapper *mEsockWrapper;
+
+ //! Instance of Icts Wlan Login Interface.
+ QSharedPointer<IctsWlanLoginInterface> mIctService;
+
+ //! Current WLAN scan mode.
+ ScanMode mScanMode;
+
+ //! List of available WLAN IAPs according to the latest scan.
+ QList< QSharedPointer<WlanQtUtilsIap> > mIapScanList;
+
+ //! List of available WLAN APs according to the latest scan.
+ QList< QSharedPointer<WlanQtUtilsAp> > mWlanScanList;
+
+ //! ID of IAP requiring ICT running, IapIdNone if not valid.
+ int mToBeTestedIapId;
+
+ //! ID of IAP being connected by us (requested by UI), IapIdNone if not valid.
+ int mConnectingIapId;
+
+ //! Information of possible active connection.
+ QSharedPointer<WlanQtUtilsConnection> mConnection;
+
+ // Friend classes
+
+ // This is defined as a friend class in order to be able to
+ // call event handlers of wrappers from test code.
+ friend class TestWlanQtUtils;
+};
+
+#endif // WLANQTUTILS_P_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilsap.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,178 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN AP (Access Point, unknown network) class.
+*/
+
+#ifndef WLANQTUTILSAP_H
+#define WLANQTUTILSAP_H
+
+// System includes
+
+#include <QObject>
+#include <QMetaType>
+#include <QVariant>
+#include <QScopedPointer>
+
+// User includes
+
+// Forward declarations
+
+class WlanQtUtilsApPrivate;
+
+// External data types
+
+// Constants
+
+//! Library interface export macro
+#ifdef BUILD_WLANQTUTILITIES_DLL
+#define WLANQTUTILSAP_EXPORT Q_DECL_EXPORT
+#else
+#define WLANQTUTILSAP_EXPORT Q_DECL_IMPORT
+#endif
+
+// Class declaration
+
+class WLANQTUTILSAP_EXPORT WlanQtUtilsAp
+{
+
+public:
+
+ // Data types
+
+ /*!
+ Configuration IDs that can be read and set in this class.
+
+ ConfID's available for scan results:
+ - ConfIdSsid
+ - ConfIdBssid
+ - ConfIdSignalStrength
+ - ConfIdConnectionMode
+ - ConfIdSecurityMode
+ - ConfIdWpaPskUse
+ - ConfIdWpsSupported
+
+ ConfID's for IAP creation and updates, these are
+ mandatory for all security modes:
+ - ConfIdSsid
+ - ConfIdConnectionMode
+ - ConfIdSecurityMode
+ - ConfIdWepKey1 (Empty if not used)
+ - ConfIdWepKey2 (Empty if not used)
+ - ConfIdWepKey3 (Empty if not used)
+ - ConfIdWepKey4 (Empty if not used)
+ - ConfIdWepDefaultIndex
+ - ConfIdWpaPskUse
+ - ConfIdWpaPsk (Empty if not used)
+ - ConfIdHidden
+ - ConfIdWlanScanSSID
+ */
+ enum ConfId {
+ //! QString: WLAN Network Name (SSID)
+ ConfIdSsid = 0,
+ //! QByteArray: Basic Service Set Identifier
+ ConfIdBssid = 1,
+ //! int: signal strength in RSSI (dBm)
+ ConfIdSignalStrength = 2,
+ //! int: (CMManagerShim::WlanNetMode)
+ ConfIdConnectionMode = 3,
+ //! int: (CMManagerShim::WlanSecMode)
+ ConfIdSecurityMode = 4,
+ //! bool: true - WPA PSK, false - WPA EAP
+ ConfIdWpaPskUse = 5,
+ //! QString: Pre-Shared Key for WPA
+ //! Length: 8-63 - Ascii key
+ //! Length: 64 - Hex key
+ ConfIdWpaPsk = 6,
+ //! QString: WEP Key for index 1:
+ //! HEX:
+ //! - 64 bit: allowed key length = 10
+ //! - 128 bit: allowed key length = 26
+ //!
+ //! ASCII:
+ //! - 64 bit: allowed key length = 5
+ //! - 128 bit: allowed key length = 13
+ ConfIdWepKey1 = 7,
+ //! QString: WEP Key for index 2
+ ConfIdWepKey2 = 8,
+ //! QString: WEP Key for index 3
+ ConfIdWepKey3 = 9,
+ //! QString: WEP Key for index 4
+ ConfIdWepKey4 = 10,
+ //! int: (CMManagerShim::WlanWepKeyIndex): Default WEP Key index
+ ConfIdWepDefaultIndex = 11,
+ //! bool: Is WLAN hidden (CMManagerShim::CmHidden).
+ ConfIdHidden = 12,
+ //! bool: Does WLAN AP need explicit scanning (CMManagerShim::WlanScanSSID)
+ ConfIdWlanScanSSID = 13,
+ //! bool: true - Wifi Protected setup is supported, false - not
+ ConfIdWpsSupported = 14
+ };
+
+ /*!
+ Function pointer type for string comparison operation customization.
+ Used for AP comparison in \a compare.
+
+ @param [in] string1 String #1 to compare.
+ @param [in] string2 String #2 to compare.
+
+ @return Zero (0), if strings are considered to be same,
+ Positive (>0) if string1 is considered to be "greater than" string2.
+ Negative (<0) if string1 is considered to be "less than" string2.
+ */
+ typedef int (*StringComparator)(
+ const QString &string1,
+ const QString &string2);
+
+ WlanQtUtilsAp();
+
+ WlanQtUtilsAp(const WlanQtUtilsAp &ref);
+
+ virtual ~WlanQtUtilsAp();
+
+ QVariant value(int identifier) const;
+
+ void setValue(int identifier, QVariant value);
+
+ static int compare(
+ const WlanQtUtilsAp *ap1,
+ const WlanQtUtilsAp *ap2,
+ StringComparator comparator = 0);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ // Disabling implicit assignment operator
+ WlanQtUtilsAp &operator=(const WlanQtUtilsAp &);
+
+private slots:
+
+private: // data
+
+ QScopedPointer<WlanQtUtilsApPrivate> d_ptr; //!< Private implementation
+
+ // Friend classes
+};
+
+// Metatype support is needed since we use this class with QVariant
+Q_DECLARE_METATYPE(WlanQtUtilsAp)
+
+#endif // WLANQTUTILSAP_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilsconnection.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities WLAN connection status handler.
+*/
+
+#ifndef WLANQTUTILSCONNECTION_H
+#define WLANQTUTILSCONNECTION_H
+
+// System includes
+
+#include <QObject>
+
+// User includes
+
+#include "wlanqtutils.h"
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsConnection
+{
+
+public:
+
+ // Data types
+
+ WlanQtUtilsConnection();
+
+ virtual ~WlanQtUtilsConnection();
+
+ uint connectionId() const;
+
+ void setConnectionId(uint connectionId);
+
+ uint iapId() const;
+
+ void setIapId(uint iapId);
+
+ WlanQtUtils::ConnStatus connectionStatus() const;
+
+ void setConnectionStatus(
+ WlanQtUtils::ConnStatus connectionStatus);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+private slots:
+
+private: // data
+
+ //! Connection Monitor Server specific connection ID.
+ uint mConnectionId;
+
+ //! IAP ID.
+ uint mIapId;
+
+ //! Connection status.
+ WlanQtUtils::ConnStatus mConnectionStatus;
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSCONNECTION_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilsiap.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,105 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN IAP (Internet Access Point, known network) class.
+*/
+
+#ifndef WLANQTUTILSIAP_H
+#define WLANQTUTILSIAP_H
+
+// System includes
+
+#include <QScopedPointer>
+
+// User includes
+
+#include "wlanqtutilsap.h"
+
+// Forward declarations
+
+class WlanQtUtilsIapPrivate;
+
+// External data types
+
+// Constants
+
+//! Library interface export macro
+#ifdef BUILD_WLANQTUTILITIES_DLL
+#define WLANQTUTILSIAP_EXPORT Q_DECL_EXPORT
+#else
+#define WLANQTUTILSIAP_EXPORT Q_DECL_IMPORT
+#endif
+
+// Class declaration
+
+class WLANQTUTILSIAP_EXPORT WlanQtUtilsIap : public WlanQtUtilsAp
+{
+
+public:
+
+ // Data types
+
+ /*!
+ Configuration IDs that can be read and set in this class (via
+ functions declared in the parent class). Values under 100 are
+ reserved for the parent class.
+
+ Remember to update traces/trace.properties file when modifying
+ this enum (tracing is also the cause for fixing the enum values).
+
+ Values available for IAPs:
+ - ConfIdIapId
+ - ConfIdName
+ - ConfIdNetworkId
+ - WlanQtUtilsAp::ConfIdSsid
+ - WlanQtUtilsAp::ConfIdSignalStrength
+ - WlanQtUtilsAp::ConfIdConnectionMode
+ - WlanQtUtilsAp::ConfIdSecurityMode
+ - WlanQtUtilsAp::ConfIdWpaPskUse
+ */
+ enum ConfId {
+ //! int: IAP ID
+ ConfIdIapId = 100,
+ //! QString: Name
+ ConfIdName = 101,
+ //! int: Network ID
+ ConfIdNetworkId = 102
+ };
+
+ WlanQtUtilsIap();
+
+ virtual ~WlanQtUtilsIap();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanQtUtilsIap)
+
+private slots:
+
+private: // data
+
+ QScopedPointer<WlanQtUtilsIapPrivate> d_ptr; //!< Private implementation
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSIAP_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilsiapsettings.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities WLAN IAP settings handling.
+*/
+
+#ifndef WLANQTUTILSIAPSETTINGS_H
+#define WLANQTUTILSIAPSETTINGS_H
+
+// System includes
+
+#include <QObject>
+#include <QList>
+#include <QSharedPointer>
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+
+// Forward declarations
+
+class CmManagerShim;
+class CmConnectionMethodShim;
+class WlanQtUtilsIap;
+class WlanQtUtilsAp;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsIapSettings : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit WlanQtUtilsIapSettings(QObject *parent = 0);
+
+ virtual ~WlanQtUtilsIapSettings();
+
+ void fetchIaps(QList< QSharedPointer<WlanQtUtilsIap> > &iapList) const;
+
+ QSharedPointer<WlanQtUtilsIap> fetchIap(uint iapId) const;
+
+ int createIap(const WlanQtUtilsAp *wlanAp);
+
+ bool updateIap(int iapId, const WlanQtUtilsAp *wlanAp);
+
+ void deleteIap(int iapId);
+
+ void moveIapToInternetSnap(int iapId);
+
+ void setAsHotspotIap(int iapId);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanQtUtilsIapSettings)
+
+ void storeSettings(
+ const WlanQtUtilsAp *wlanAp,
+ CmConnectionMethodShim *iap);
+
+ void storeWepKey(
+ const QString &key,
+ int index,
+ CmConnectionMethodShim *iap);
+
+ CMManagerShim::ConnectionMethodAttribute mapWepKeyIndexHex(int index);
+
+ CMManagerShim::ConnectionMethodAttribute mapWepKeyIndexAscii(int index);
+
+ void traceIap(
+ const WlanQtUtilsAp *ap,
+ int traceType,
+ uint iapId) const;
+
+private slots:
+
+private: // data
+
+ CmManagerShim *mCmManager; //!< CmManager instance
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSIAPSETTINGS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutils.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,255 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities implementation.
+*/
+
+// System includes
+
+// User includes
+
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutils_p.h"
+#include "wlanqtutils.h"
+
+/*!
+ \class WlanQtUtils
+ \brief Wlan Qt Utilities. This class provides a Qt API for UI components
+ for retrieving different kind of information related to WLAN
+ functionality.
+*/
+
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanQtUtils::WlanQtUtils() :
+ d_ptr(new WlanQtUtilsPrivate(this))
+{
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtils::~WlanQtUtils()
+{
+}
+
+/*!
+ Function for requesting a single WLAN scan to be triggered.
+
+ Signal wlanScanReady(int) is emitted when new scan results are available.
+
+ NOTE: Requesting a new scan while there is an ongoing scan (for this
+ WlanQtUtils instance) is not allowed.
+*/
+
+void WlanQtUtils::scanWlans()
+{
+ d_ptr->scanWlans();
+}
+
+/*!
+ Function for requesting a WLAN AP scan to be triggered.
+
+ Signal availableWlanAps() is emitted when new scan results are available.
+
+ NOTE: Requesting a new scan while there is an ongoing scan (for this
+ WlanQtUtils instance) is not allowed.
+*/
+
+void WlanQtUtils::scanWlanAps()
+{
+ d_ptr->scanWlanAps();
+}
+
+/*!
+ Function for requesting a direct WLAN scan with given SSID.
+
+ Signal wlanScanDirectReady(int) is emitted when new scan results are
+ available.
+
+ NOTE: Requesting a new scan while there is an ongoing scan (for this
+ WlanQtUtils instance) is not allowed.
+
+ @param [in] ssid Network name to be found
+*/
+
+void WlanQtUtils::scanWlanDirect(const QString &ssid)
+{
+ d_ptr->scanWlanDirect(ssid);
+}
+
+/*!
+ Function for stopping a (possibly) ongoing WLAN scan.
+ This function can also be called when there is no scan in progres.
+ If a scan is actually cancelled, the corresponding scan result signal
+ is sent with ScanStatusCancelled status.
+*/
+
+void WlanQtUtils::stopWlanScan()
+{
+ d_ptr->stopWlanScan();
+}
+
+/*!
+ Function to request details of available WLAN networks. Can be called
+ at any time. Calling right after wlanScanReady(int) signal ensures you get
+ the most recent results.
+
+ @param [out] wlanIapList List of available WLAN IAPs.
+ @param [out] wlanApList List of unknown WLAN APs.
+*/
+
+void WlanQtUtils::availableWlans(
+ QList< QSharedPointer<WlanQtUtilsIap> > &wlanIapList,
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
+{
+ d_ptr->availableWlans(wlanIapList, wlanApList);
+}
+
+/*!
+ Function to request details of available WLAN networks. This function is
+ used to get the results that are informed by following signals:
+ -wlanScanApReady(int)
+ -wlanScanDirectReady(int)
+
+ @param [out] wlanApList List of unknown WLAN APs.
+*/
+
+void WlanQtUtils::availableWlanAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
+{
+ d_ptr->availableWlanAps(wlanApList);
+}
+
+/*!
+ Function to create an IAP from the given WLAN access point.
+
+ @param [in] wlanAp Access point containing parameters to include in the new IAP.
+
+ @return IAP ID if creation succeeds, IapIdNone otherwise.
+*/
+
+int WlanQtUtils::createIap(const WlanQtUtilsAp *wlanAp)
+{
+ return d_ptr->createIap(wlanAp);
+}
+
+/*!
+ Function to update an IAP from the given WLAN access point.
+
+ @param [in] iapId ID of the IAP to be updated.
+ @param [in] wlanAp Access point containing parameters to update in the IAP.
+
+ @return Was update successful?
+*/
+
+bool WlanQtUtils::updateIap(int iapId, const WlanQtUtilsAp *wlanAp)
+{
+ return d_ptr->updateIap(iapId, wlanAp);
+}
+
+/*!
+ Function to delete an IAP.
+
+ @param [in] iapId ID of the IAP to be deleted.
+*/
+
+void WlanQtUtils::deleteIap(int iapId)
+{
+ d_ptr->deleteIap(iapId);
+}
+
+/*!
+ Function to start connection creation for the given IAP. Runs also
+ Internet Connectivity Test (ICT), if requested with the optional
+ parameter.
+
+ Connecting while there is already a connection is also supported.
+
+ wlanNetworkOpened() or wlanNetworkClosed() signal will be emitted
+ when connection status changes.
+
+ ictResult() signal will be emitted when (possible) ICT result is
+ available.
+
+ @param [in] iapId ID of the IAP to be connected.
+ @param [in] runIct Should ICT be run or not?
+*/
+
+void WlanQtUtils::connectIap(int iapId, bool runIct)
+{
+ d_ptr->connectIap(iapId, runIct);
+}
+
+/*!
+ Function to disconnect the given IAP.
+ Disconnecting when there is no connection is also supported.
+
+ @param [in] iapId ID of the IAP to be disconnected.
+*/
+
+void WlanQtUtils::disconnectIap(int iapId)
+{
+ d_ptr->disconnectIap(iapId);
+}
+
+/*!
+ Function to retrieve the name of the IAP with the given ID.
+
+ @param [in] iapId ID of the requested IAP.
+
+ @return Name of the IAP or empty QString if IAP is not found.
+*/
+
+QString WlanQtUtils::iapName(int iapId) const
+{
+ return d_ptr->iapName(iapId);
+}
+
+/*!
+ Connection status getter.
+
+ @return Current WLAN connection status.
+*/
+
+WlanQtUtils::ConnStatus WlanQtUtils::connectionStatus() const
+{
+ return d_ptr->connectionStatus();
+}
+
+/*!
+ Function for getting the ID of the (possibly) active WLAN IAP.
+ Active here means non-disconnected.
+ Use connectionStatus() for retrieving the actual status.
+
+ @return ID of the active IAP, IapIdNone if not valid.
+*/
+
+int WlanQtUtils::activeIap() const
+{
+ return d_ptr->activeIap();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutils_p.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,865 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities private implementation.
+*/
+
+// System includes
+
+#include <QSharedPointer>
+
+// User includes
+
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilsconnection.h"
+#include "wlanqtutilsiapsettings.h"
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsesockwrapper.h"
+#include "wlanqtutilsscan.h"
+
+#include "wlanqtutils.h"
+#include "wlanqtutils_p.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutils_pTraces.h"
+#endif
+
+/*!
+ \class WlanQtUtilsPrivate
+ \brief Private implementation class for WLAN Qt Utilities.
+
+ The private interface functions are identical to those in WlanQtUtils
+ class, so refer to that for descriptions. Other functions contain
+ implementation documentation.
+*/
+
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanQtUtilsPrivate::WlanQtUtilsPrivate(WlanQtUtils *q_ptr) :
+ q_ptr(q_ptr),
+ mSettings(new WlanQtUtilsIapSettings(this)),
+ mConMonWrapper(new WlanQtUtilsConMonWrapper(this)),
+ mScanWrapper(new WlanQtUtilsScan(this)),
+ mEsockWrapper(new WlanQtUtilsEsockWrapper(this)),
+ mIctService(),
+ mScanMode(ScanModeNone),
+ mIapScanList(),
+ mWlanScanList(),
+ mToBeTestedIapId(WlanQtUtils::IapIdNone),
+ mConnectingIapId(WlanQtUtils::IapIdNone),
+ mConnection()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_ENTRY, this);
+
+ // Make all connections.
+ bool connectStatus = connect(
+ mScanWrapper,
+ SIGNAL(availableWlanIaps(QList< QSharedPointer<WlanQtUtilsIap> > &)),
+ this,
+ SLOT(updateAvailableWlanIaps(QList< QSharedPointer<WlanQtUtilsIap> > &)));
+ Q_ASSERT(connectStatus);
+
+ connectStatus = connect(
+ mScanWrapper,
+ SIGNAL(availableWlanAps(QList< QSharedPointer<WlanQtUtilsAp> >&)),
+ this,
+ SLOT(updateAvailableWlanAps(QList< QSharedPointer<WlanQtUtilsAp> >&)));
+ Q_ASSERT(connectStatus);
+
+ connectStatus = connect(
+ mScanWrapper,
+ SIGNAL(scanFailed(int)),
+ this,
+ SLOT(reportScanResult(int)));
+ Q_ASSERT(connectStatus);
+
+ connectStatus = connect(
+ mEsockWrapper,
+ SIGNAL(connectionStatusFromWrapper(bool)),
+ this,
+ SLOT(updateConnectionStatus(bool)));
+ Q_ASSERT(connectStatus);
+
+ connectStatus = connect(
+ mConMonWrapper,
+ SIGNAL(connCreatedEventFromWrapper(uint)),
+ this,
+ SLOT(addActiveConnection(uint)));
+ Q_ASSERT(connectStatus);
+
+ connectStatus = connect(
+ mConMonWrapper,
+ SIGNAL(connDeletedEventFromWrapper(uint)),
+ this,
+ SLOT(removeActiveConnection(uint)));
+ Q_ASSERT(connectStatus);
+
+ connectStatus = connect(
+ mConMonWrapper,
+ SIGNAL(connStatusEventFromWrapper(uint, WlanQtUtils::ConnStatus)),
+ this,
+ SLOT(updateActiveConnection(uint, WlanQtUtils::ConnStatus)));
+ Q_ASSERT(connectStatus);
+
+ // Retrieve initial status of active connections
+ mConnection = QSharedPointer<WlanQtUtilsConnection>(
+ mConMonWrapper->activeConnection());
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_EXIT, this);
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsPrivate::~WlanQtUtilsPrivate()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_ENTRY, this);
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::scanWlans().
+*/
+
+void WlanQtUtilsPrivate::scanWlans()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANS_ENTRY, this);
+
+ // Scanning while there is an ongoing scan is not supported
+ Q_ASSERT(mScanMode == ScanModeNone);
+
+ // Starting with an IAP scan, and continuing with AP scan
+ mScanMode = ScanModeAvailableWlans;
+ mScanWrapper->scanWlanIaps();
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANS_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::scanWlanAps().
+*/
+
+void WlanQtUtilsPrivate::scanWlanAps()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANAPS_ENTRY, this);
+
+ // Scanning while there is an ongoing scan is not supported
+ Q_ASSERT(mScanMode == ScanModeNone);
+
+ // Just forward the request to wrapper, which triggers a broadcast WLAN scan
+ mScanMode = ScanModeAvailableWlanAps;
+ mScanWrapper->scanWlanAps();
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANAPS_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::scanWlanDirect().
+*/
+
+void WlanQtUtilsPrivate::scanWlanDirect(const QString &ssid)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANDIRECT_ENTRY, this);
+
+ // Scanning while there is an ongoing scan is not supported
+ Q_ASSERT(mScanMode == ScanModeNone);
+
+ // Just forward the request to wrapper, which triggers a direct WLAN scan
+ mScanMode = ScanModeDirect;
+ mScanWrapper->scanWlanDirect(ssid);
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANDIRECT_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::stopWlanScan().
+*/
+
+void WlanQtUtilsPrivate::stopWlanScan()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_STOPWLANSCAN_ENTRY, this);
+
+ if (mScanMode != ScanModeNone) {
+ // Inform that scan was cancelled
+ reportScanResult(WlanQtUtils::ScanStatusCancelled);
+
+ // Stop the scan
+ mScanMode = ScanModeNone;
+ mScanWrapper->stopScan();
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_STOPWLANSCAN_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::availableWlans().
+*/
+
+void WlanQtUtilsPrivate::availableWlans(
+ QList< QSharedPointer<WlanQtUtilsIap> > &wlanIapList,
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_AVAILABLEWLAN_ENTRY, this);
+
+ wlanIapList.clear();
+ wlanApList.clear();
+
+ // Read the list of configured IAPs
+ QList< QSharedPointer<WlanQtUtilsIap> > configuredIapList;
+ mSettings->fetchIaps(configuredIapList);
+
+ // Update the list of available IAPs
+ foreach (QSharedPointer<WlanQtUtilsIap> iapIter, mIapScanList) {
+ int iapId = iapIter->value(WlanQtUtilsIap::ConfIdIapId).toInt();
+ QSharedPointer<WlanQtUtilsIap> iap(mSettings->fetchIap(iapId));
+ if (iap) {
+ // Only add the IAP if we (still) have the settings for it
+ iap->setValue(
+ WlanQtUtilsAp::ConfIdSignalStrength,
+ iapIter->value(WlanQtUtilsAp::ConfIdSignalStrength));
+ wlanIapList.append(iap);
+ }
+ }
+
+ // Go through the scan results to find unknown APs
+ for (int i = 0; i < mWlanScanList.count(); i++) {
+ // Check whether an IAP with these parameters exists (in which
+ // case this network is already added as an IAP in the loop above)
+ if (!wlanIapExists(configuredIapList, mWlanScanList[i].data())) {
+ // No IAP found in, copy the AP to caller's list of
+ // unknown APs
+ wlanApList.append(mWlanScanList[i]);
+ }
+ }
+
+ traceIapsAndAps(wlanIapList, wlanApList);
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_AVAILABLEWLAN_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::availableWlanAps().
+*/
+
+void WlanQtUtilsPrivate::availableWlanAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_ENTRY, this);
+
+ // Just copy the results
+ wlanApList = mWlanScanList;
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::createIap().
+*/
+
+int WlanQtUtilsPrivate::createIap(const WlanQtUtilsAp *wlanAp)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_CREATEIAP_ENTRY, this);
+
+ // Create the new IAP and return its ID
+ int newIapId = mSettings->createIap(wlanAp);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_CREATEIAP,
+ "WlanQtUtilsPrivate::createIap;New IAP ID=%d",
+ newIapId);
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_CREATEIAP_EXIT, this);
+ return newIapId;
+}
+
+/*!
+ See WlanQtUtils::updateIap().
+*/
+
+bool WlanQtUtilsPrivate::updateIap(int iapId, const WlanQtUtilsAp *wlanAp)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEIAP_ENTRY, this);
+
+ bool success = mSettings->updateIap(iapId, wlanAp);
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEIAP_EXIT, this);
+ return success;
+}
+
+/*!
+ See WlanQtUtils::deleteIap().
+*/
+
+void WlanQtUtilsPrivate::deleteIap(int iapId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_DELETEIAP_ENTRY, this);
+
+ mSettings->deleteIap(iapId);
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_DELETEIAP_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::connectIap().
+*/
+
+void WlanQtUtilsPrivate::connectIap(int iapId, bool runIct)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_CONNECTIAP_ENTRY, this);
+
+ OstTraceExt2(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_CONNECTIAP,
+ "WlanQtUtilsPrivate::connectIap;IAP ID=%d;runIct=%hhu",
+ iapId,
+ runIct);
+
+ Q_ASSERT(iapId != WlanQtUtils::IapIdNone);
+
+ if (runIct) {
+ // Mark this IAP for ICT testing after it has been opened
+ mToBeTestedIapId = iapId;
+ }
+ mConnectingIapId = iapId;
+ mEsockWrapper->connectIap(iapId);
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_CONNECTIAP_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::disconnectIap().
+*/
+
+void WlanQtUtilsPrivate::disconnectIap(int iapId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_DISCONNECTIAP_ENTRY, this);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_DISCONNECTIAP,
+ "WlanQtUtilsPrivate::disconnectIap;IAP ID=%d",
+ iapId);
+
+ if (iapId != WlanQtUtils::IapIdNone) {
+ // Close our RConnection handle, if needed. Wrapper ignores call, if
+ // no handle exists.
+ mEsockWrapper->disconnectIap();
+
+ // In order to close connection even if there are other users for the
+ // IAP, close also via ConMon
+ mConMonWrapper->disconnectIap(iapId);
+ } // else: just ignore call
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_DISCONNECTIAP_EXIT, this);
+}
+
+/*!
+ See WlanQtUtils::connectionStatus().
+*/
+
+WlanQtUtils::ConnStatus WlanQtUtilsPrivate::connectionStatus() const
+{
+ OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_CONNECTIONSTATUS_ENTRY);
+
+ WlanQtUtils::ConnStatus status = WlanQtUtils::ConnStatusDisconnected;
+
+ if (mConnection) {
+ status = mConnection->connectionStatus();
+ }
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_CONNECTIONSTATUS,
+ "WlanQtUtilsPrivate::connectionStatus;status=%{ConnStatus};",
+ (TUint)status);
+
+ OstTraceFunctionExit0(WLANQTUTILSPRIVATE_CONNECTIONSTATUS_EXIT);
+ return status;
+}
+
+/*!
+ See WlanQtUtils::activeIap().
+*/
+
+int WlanQtUtilsPrivate::activeIap() const
+{
+ OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_ACTIVEIAP_ENTRY);
+
+ int iapId = WlanQtUtils::IapIdNone;
+
+ if (mConnection) {
+ iapId = mConnection->iapId();
+ }
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_ACTIVEIAP,
+ "WlanQtUtilsPrivate::activeIap;iapId=%d",
+ iapId);
+
+ OstTraceFunctionExit0(WLANQTUTILSPRIVATE_ACTIVEIAP_EXIT);
+ return iapId;
+}
+
+/*!
+ See WlanQtUtils::iapName().
+*/
+
+QString WlanQtUtilsPrivate::iapName(int iapId) const
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_IAPNAME_ENTRY, this);
+
+ QString name;
+ // Read the IAP from settings and return its name
+ QSharedPointer<WlanQtUtilsIap> iap = mSettings->fetchIap(iapId);
+ if (iap) {
+ name = iap->value(WlanQtUtilsIap::ConfIdName).toString();
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_IAPNAME_EXIT, this);
+ return name;
+}
+
+/*!
+ This function searches for a WLAN IAP matching the given WLAN AP.
+
+ @param [in] list List to search from.
+ @param [in] ap Access point to search for.
+
+ @return True, if suitable WLAN IAP found, false otherwise.
+*/
+
+bool WlanQtUtilsPrivate::wlanIapExists(
+ const QList< QSharedPointer<WlanQtUtilsIap> > list,
+ const WlanQtUtilsAp *ap) const
+{
+ bool match = false; // Return value
+
+ foreach (QSharedPointer<WlanQtUtilsIap> iap, list) {
+ if (WlanQtUtilsAp::compare(iap.data(), ap) == 0) {
+ // Match found
+ match = true;
+ break;
+ }
+ }
+
+ return match;
+}
+
+/*!
+ This function traces the given IAPs and APs.
+
+ @param [in] iaps IAPs to trace.
+ @param [in] aps APs to trace.
+*/
+
+void WlanQtUtilsPrivate::traceIapsAndAps(
+ const QList<QSharedPointer<WlanQtUtilsIap> > &iaps,
+ const QList<QSharedPointer<WlanQtUtilsAp> > &aps) const
+{
+#ifndef OST_TRACE_COMPILER_IN_USE
+ Q_UNUSED(iaps);
+ Q_UNUSED(aps);
+#else
+ foreach (QSharedPointer<WlanQtUtilsIap> iap, iaps) {
+ QString tmp(iap->value(WlanQtUtilsIap::ConfIdName).toString());
+ TPtrC16 name(tmp.utf16(), tmp.length());
+ OstTraceExt3(
+ TRACE_NORMAL,
+ WLANQTUTILSPRIVATE_TRACEAVAILABLEWLANAPS_IAP,
+ "WlanQtUtilsPrivate::traceAvailableWlanAps IAP;name=%S;secMode=%{WlanSecMode};signalStrength=%d",
+ name,
+ iap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
+ iap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt());
+ }
+ foreach (QSharedPointer<WlanQtUtilsAp> ap, aps) {
+ QString tmp(ap->value(WlanQtUtilsAp::ConfIdSsid).toString());
+ TPtrC16 ssid(tmp.utf16(), tmp.length());
+ OstTraceExt3(
+ TRACE_NORMAL,
+ WLANQTUTILSPRIVATE_TRACEAVAILABLEWLANAPS_AP,
+ "WlanQtUtilsPrivate::traceAvailableWlanAps AP;ssid=%S;secMode=%{WlanSecMode};signalStrength=%d",
+ ssid,
+ ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
+ ap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt());
+ }
+#endif
+}
+
+/*!
+ Slot for handling WLAN IAP scan result event from wrapper. Results are
+ stored in a member variable.
+
+ @param [in] availableIaps Available WLAN IAP's found in scan.
+*/
+
+void WlanQtUtilsPrivate::updateAvailableWlanIaps(
+ QList< QSharedPointer<WlanQtUtilsIap> > &availableIaps)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANIAPS_ENTRY);
+
+ // Store the new IAP list
+ mIapScanList = availableIaps;
+
+ // Continue with AP scan (which should come immediately from WLAN's scan cache)
+ mScanWrapper->scanWlanAps();
+
+ OstTraceFunctionExit0(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANIAPS_EXIT);
+}
+
+/*!
+ Slot for handling WLAN AP scan result event from wrapper. Results are
+ stored in member variable (possible duplicates are removed).
+
+ @param [in] availableWlanList WLAN networks found in scan.
+*/
+
+void WlanQtUtilsPrivate::updateAvailableWlanAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &availableWlanList)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_ENTRY, this);
+
+ // Old results are removed
+ mWlanScanList.clear();
+
+ // Copy available WLANs to scan result list (duplicates are removed)
+ for (int i = 0; i < availableWlanList.count(); i++) {
+ bool duplicate = false;
+ for (int j = 0; j < mWlanScanList.count(); j++) {
+ if (WlanQtUtilsAp::compare(
+ availableWlanList[i].data(),
+ mWlanScanList[j].data()) == 0) {
+ duplicate = true;
+ break;
+ }
+ }
+ if (duplicate == false) {
+ mWlanScanList.append(availableWlanList[i]);
+ }
+ }
+
+ // The information is forwarded to the client
+ reportScanResult(WlanQtUtils::ScanStatusOk);
+
+ // Scan is complete
+ mScanMode = ScanModeNone;
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_EXIT, this);
+}
+
+/*!
+ Scan result handler. Reports the scanning result to the client.
+
+ @param [in] status Scan status code (WlanQtUtils::ScanStatus).
+*/
+
+void WlanQtUtilsPrivate::reportScanResult(int status)
+{
+ switch (mScanMode) {
+ case ScanModeAvailableWlans:
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_WLANSCANREADY,
+ "WlanQtUtilsPrivate::reportScanResult emit wlanScanReady;status=%{ScanStatus};",
+ status);
+ emit q_ptr->wlanScanReady(status);
+ break;
+
+ case ScanModeAvailableWlanAps:
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_WLANSCANAPREADY,
+ "WlanQtUtilsPrivate::reportScanResult emit wlanScanApReady;status=%{ScanStatus};",
+ status);
+ emit q_ptr->wlanScanApReady(status);
+ break;
+
+ case ScanModeDirect:
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_WLANSCANDIRECTREADY,
+ "WlanQtUtilsPrivate::reportScanResult emit wlanScanDirectReady;status=%{ScanStatus};",
+ status);
+ emit q_ptr->wlanScanDirectReady(status);
+ break;
+
+#ifndef QT_NO_DEBUG
+ default:
+ // Invalid scan mode detected
+ Q_ASSERT(0);
+ break;
+#endif
+ }
+}
+
+/*!
+ Slot for handling connection setup status event from wrapper.
+
+ @param [in] isOpened Was connection setup successful?
+*/
+
+void WlanQtUtilsPrivate::updateConnectionStatus(bool isOpened)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_ENTRY, this);
+
+ if (isOpened == false) {
+ // Opening failed, update connection status and inform UI
+ if (mConnection) {
+ mConnection->setConnectionStatus(
+ WlanQtUtils::ConnStatusDisconnected);
+ }
+
+ // Include the status code from connection wrapper
+ int status = mEsockWrapper->lastStatusCode();
+ OstTraceExt2(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_WLANNETWORKCLOSED,
+ "WlanQtUtilsPrivate::emit wlanNetworkClosed;IAP ID=%d;status=%d",
+ mConnectingIapId,
+ status);
+ emit q_ptr->wlanNetworkClosed(mConnectingIapId, status);
+ } else {
+ // Opening succeeded, update connection status and inform UI
+ if (mConnection) {
+ mConnection->setConnectionStatus(WlanQtUtils::ConnStatusConnected);
+ }
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_WLANNETWORKOPENED,
+ "WlanQtUtilsPrivate::emit wlanNetworkOpened;IAP ID=%d",
+ mConnectingIapId);
+ emit q_ptr->wlanNetworkOpened(mConnectingIapId);
+
+ // Start ICT, if needed
+ if (mConnectingIapId == mToBeTestedIapId) {
+ QSharedPointer<WlanQtUtilsIap> iap(mSettings->fetchIap(mConnectingIapId));
+
+ mIctService = QSharedPointer<IctsWlanLoginInterface>(
+ new IctsWlanLoginInterface(this));
+
+ // IctsWlanLoginInterface instance is created for each connectivity test
+ // Note: Queued connection is required since mIctService is deleted
+ // when signal comes
+ bool connectStatus = connect(
+ mIctService.data(),
+ SIGNAL(ictsResult(int)),
+ this,
+ SLOT(updateIctResult(int)),
+ Qt::QueuedConnection);
+ Q_ASSERT(connectStatus);
+ connectStatus = connect(
+ mIctService.data(),
+ SIGNAL(hotspotCase()),
+ this,
+ SLOT(updateIctHotspotCase()),
+ Qt::QueuedConnection);
+ Q_ASSERT(connectStatus);
+
+ mIctService->start(
+ mToBeTestedIapId,
+ iap->value(WlanQtUtilsIap::ConfIdNetworkId).toInt());
+ }
+ }
+ // IAP is no more in connecting state
+ mConnectingIapId = WlanQtUtils::IapIdNone;
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_EXIT, this);
+}
+
+/*!
+ Slot for handling internet connectivity test result event from wrapper.
+ Tested IAP is stored to Internet SNAP, if test was successful. If the
+ IAP needs Hotspot authentication, it remains ungategorized.
+
+ @param [in] result Result of internet connectivity test and hotspot
+ authentication (IctsWlanLoginInterface::ictsResultType).
+*/
+
+void WlanQtUtilsPrivate::updateIctResult(int ictsResult)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEICTRESULT_ENTRY, this);
+
+ Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
+ WlanQtUtils::IctStatus result = WlanQtUtils::IctFailed;
+
+ if (ictsResult == IctsWlanLoginInterface::IctsPassed) {
+ // Move the tested IAP to Internet SNAP since the test passed
+ Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
+ mSettings->moveIapToInternetSnap(mToBeTestedIapId);
+ result = WlanQtUtils::IctPassed;
+ } else if (ictsResult == IctsWlanLoginInterface::IctsHotspotPassed) {
+ Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
+ result = WlanQtUtils::IctHotspotPassed;
+ } else if (ictsResult == IctsWlanLoginInterface::IctsCanceled) {
+ Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
+ result = WlanQtUtils::IctCancelled;
+ } else {
+ // ICTS failed - IAP remains to be uncategorized and mIctService is deleted.
+ mIctService.clear();
+ }
+
+ // Inform UI
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANQTUTILSPRIVATE_ICTRESULT,
+ "WlanQtUtilsPrivate::emit ictResult;iapId=%d;result=%{IctStatus}",
+ mToBeTestedIapId,
+ result);
+
+ emit q_ptr->ictResult(mToBeTestedIapId, result);
+
+ // This IAP is now tested
+ mToBeTestedIapId = WlanQtUtils::IapIdNone;
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEICTRESULT_EXIT, this);
+}
+
+/*!
+ Slot for setting IAP to be tested as hotspot IAP.
+*/
+
+void WlanQtUtilsPrivate::updateIctHotspotCase()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE_ENTRY, this);
+
+ mSettings->setAsHotspotIap(mToBeTestedIapId);
+
+ Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE,
+ "WlanQtUtilsPrivate::updateIctHotspotCase set as hotspot IAP;iapId=%d",
+ mToBeTestedIapId);
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE_EXIT, this);
+}
+
+/*!
+ Slot for updating active connection status from wrapper.
+
+ @param [in] connectionId ID of the new connection.
+*/
+
+void WlanQtUtilsPrivate::addActiveConnection(uint connectionId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_ENTRY, this);
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_ADDACTIVECONNECTION,
+ "WlanQtUtilsPrivate::addActiveConnection;connectionId=%u",
+ connectionId);
+
+ Q_ASSERT(mConnection == NULL);
+ mConnection = QSharedPointer<WlanQtUtilsConnection>(
+ mConMonWrapper->connectionInfo(connectionId));
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_EXIT, this);
+}
+
+/*!
+ Slot for updating active connection status from wrapper.
+
+ @param [in] connectionId ID of the deleted connection.
+*/
+
+void WlanQtUtilsPrivate::removeActiveConnection(uint connectionId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_ENTRY, this);
+ OstTrace1(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION,
+ "WlanQtUtilsPrivate::removeActiveConnection;connectionId=%u",
+ connectionId);
+
+ Q_ASSERT(mConnection);
+ if (mConnection->connectionId() == connectionId) {
+ int closedIapId = mConnection->iapId();
+ mConnection.clear();
+
+ if (mConnectingIapId != closedIapId) {
+ // Connection is closed, inform UI. wlanNetworkClosed is sent
+ // from here instead of updateActiveConnection(closed),
+ // because, in some cases, connection may be removed without
+ // any connection status updates.
+ // Note: reason parameter is not accurate here, because it is
+ // only relevant for connections opened by this dll
+ // (updateConnectionStatus)
+ OstTraceExt2(
+ TRACE_BORDER,
+ DUP1_WLANQTUTILSPRIVATE_WLANNETWORKCLOSED,
+ "WlanQtUtilsPrivate::emit wlanNetworkClosed;iapID=%d;status=%d",
+ closedIapId,
+ KErrNone);
+ emit q_ptr->wlanNetworkClosed(closedIapId, KErrNone);
+ }
+ // else: connection creation started by thid dll, but creation failed
+ // -> wlanNetworkClosed is sent from updateConnectionStatus
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_EXIT, this);
+}
+
+/*!
+ Slot for updating active connection status from wrapper.
+
+ @param [in] connectionId ID of the updated connection.
+ @param [in] connectionStatus New status of the connection.
+*/
+
+void WlanQtUtilsPrivate::updateActiveConnection(
+ uint connectionId,
+ WlanQtUtils::ConnStatus connectionStatus)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_ENTRY, this);
+ OstTraceExt2(
+ TRACE_BORDER,
+ WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION,
+ "WlanQtUtilsPrivate::updateActiveConnection;connectionId=%u;connectionStatus=%{ConnStatus}",
+ connectionId,
+ (uint)connectionStatus);
+
+ Q_ASSERT(mConnection);
+ if (mConnection->connectionId() == connectionId
+ && mConnection->connectionStatus() != connectionStatus) {
+ // Update connection status and inform UI, if necessary
+ mConnection->setConnectionStatus(connectionStatus);
+ if (connectionStatus == WlanQtUtils::ConnStatusConnected) {
+ OstTrace1(
+ TRACE_BORDER,
+ DUP1_WLANQTUTILSPRIVATE_WLANNETWORKOPENED,
+ "WlanQtUtilsPrivate::emit wlanNetworkOpened;iapId=%d",
+ mConnection->iapId());
+ emit q_ptr->wlanNetworkOpened(mConnection->iapId());
+ }
+ // Do not inform UI about connection closing here. It is done in
+ // removeActiveConnection(), because that may occur without any
+ // connection status updates.
+ } // else: connection status did not change
+
+ OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_EXIT, this);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilsap.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,173 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN AP (Access Point, unknown network) class.
+*/
+
+// System includes
+
+#include <QString>
+#include <QHash>
+#include <QVariant>
+#include <QDebug>
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+
+#include "wlanqtutilsap.h"
+
+/*!
+ \class WlanQtUtilsApPrivate
+ \brief Private implementation of WlanQtUtilsAp.
+*/
+
+class WlanQtUtilsApPrivate
+{
+private:
+ //! Access Point configuration data
+ QHash<int, QVariant> mConfigurations;
+
+ friend class WlanQtUtilsAp;
+};
+
+/*!
+ \class WlanQtUtilsAp
+ \brief WLAN Access Point class.
+
+ Contains the information related to unknown WLAN access points.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanQtUtilsAp::WlanQtUtilsAp() :
+ d_ptr(new WlanQtUtilsApPrivate())
+{
+}
+
+/*!
+ Copy constructor.
+
+ @param [in] ref AP to create a copy of.
+*/
+
+WlanQtUtilsAp::WlanQtUtilsAp(const WlanQtUtilsAp &ref) :
+ d_ptr(new WlanQtUtilsApPrivate())
+{
+ d_ptr->mConfigurations = ref.d_ptr->mConfigurations;
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsAp::~WlanQtUtilsAp()
+{
+}
+
+/*!
+ Getter for AP data.
+
+ @param [in] identifier Identifier of value to get.
+
+ @return Value.
+*/
+
+QVariant WlanQtUtilsAp::value(int identifier) const
+{
+ // The configuration must exist
+ Q_ASSERT(d_ptr->mConfigurations.contains(identifier));
+ Q_ASSERT(d_ptr->mConfigurations[identifier].isValid());
+ return d_ptr->mConfigurations[identifier];
+}
+
+/*!
+ Setter for AP data.
+
+ @param [in] identifier Identifier of value to set.
+ @param [in] value Value to set.
+*/
+
+void WlanQtUtilsAp::setValue(int identifier, QVariant value)
+{
+ d_ptr->mConfigurations[identifier] = value;
+}
+
+/*!
+ AP comparison function. Does AP comparison based on following configs:
+ -SSID.
+ -Security mode.
+ -WPA PSK usage.
+ -Connection mode.
+
+ @param [in] ap1 First AP to compare.
+ @param [in] ap2 Second AP to compare.
+ @param [in] comparator String comparator for SSID.
+ Default comparator is QString::compare() direct memory
+ comparison which does not take the localization into account.
+
+ @return Zero (0), if APs are considered to be same,
+ Negative (>0) if ap1 is considered to be "greater than" ap2.
+ Negative (<0) if ap1 is considered to be "less than" ap2.
+*/
+
+int WlanQtUtilsAp::compare(
+ const WlanQtUtilsAp *ap1,
+ const WlanQtUtilsAp *ap2,
+ StringComparator comparator)
+{
+ int result = 0;
+
+ // Compare SSID
+ QString ssid1 = ap1->value(WlanQtUtilsAp::ConfIdSsid).toString();
+ QString ssid2 = ap2->value(WlanQtUtilsAp::ConfIdSsid).toString();
+ if (comparator != NULL) {
+ result = comparator(ssid1, ssid2);
+ } else {
+ result = QString::compare(ssid1, ssid2);
+ }
+
+ // Compare security mode
+ if (result == 0) {
+ result = ap1->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ result -= ap2->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ }
+
+ // Compare WPA PSK usage
+ int secMode = ap1->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ if (result == 0 &&
+ (secMode == CMManagerShim::WlanSecModeWpa ||
+ secMode == CMManagerShim::WlanSecModeWpa2)) {
+ // WPA PSK value is boolean, but it can be converted to integer
+ result = ap1->value(WlanQtUtilsAp::ConfIdWpaPskUse).toInt();
+ result -= ap2->value(WlanQtUtilsAp::ConfIdWpaPskUse).toInt();
+ }
+
+ // Compare connection mode
+ if (result == 0) {
+ result = ap1->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt();
+ result -= ap2->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt();
+ }
+
+ return result;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilsconnection.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities WLAN connection status handler.
+*/
+
+// System includes
+
+// User includes
+
+#include "wlanqtutilsconnection.h"
+
+/*!
+ \class WlanQtUtilsConnection
+ \brief WLAN connection status handler for WLAN Qt Utilities.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanQtUtilsConnection::WlanQtUtilsConnection() :
+ mConnectionId(0),
+ mIapId(0),
+ mConnectionStatus(WlanQtUtils::ConnStatusNone)
+{
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsConnection::~WlanQtUtilsConnection()
+{
+}
+
+/*!
+ Connection ID getter.
+
+ @return Connection ID specific for Connection Monitor Server.
+*/
+
+uint WlanQtUtilsConnection::connectionId() const
+{
+ return mConnectionId;
+}
+
+/*!
+ Connection ID setter.
+
+ @param [in] connectionId Connection Monitor Server Connection ID.
+*/
+
+void WlanQtUtilsConnection::setConnectionId(uint connectionId)
+{
+ mConnectionId = connectionId;
+}
+
+/*!
+ IAP ID getter.
+
+ @return IAP ID.
+*/
+
+uint WlanQtUtilsConnection::iapId() const
+{
+ return mIapId;
+}
+
+/*!
+ IAP ID setter.
+
+ @param [in] iapId IAP ID.
+*/
+
+void WlanQtUtilsConnection::setIapId(uint iapId)
+{
+ mIapId = iapId;
+}
+
+/*!
+ Connection status getter.
+
+ @return Status of the connection.
+*/
+
+WlanQtUtils::ConnStatus WlanQtUtilsConnection::connectionStatus() const
+{
+ return mConnectionStatus;
+}
+
+/*!
+ Connection status setter.
+
+ @param [in] connectionStatus Status of the connection.
+*/
+
+void WlanQtUtilsConnection::setConnectionStatus(
+ WlanQtUtils::ConnStatus connectionStatus)
+{
+ mConnectionStatus = connectionStatus;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilsiap.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN IAP (Internet Access Point, known network) class.
+*/
+
+// System includes
+
+// User includes
+
+#include "wlanqtutilsiap.h"
+
+/*!
+ \class WlanQtUtilsIapPrivate
+ \brief Private implementation of WlanQtUtilsIap.
+
+ This class is reserved for WlanQtUtilsIap private implementation.
+
+ NOTE: Even though there is currently no implementation, this is
+ required for possible later additions to avoid binary compatibility
+ break.
+*/
+
+class WlanQtUtilsIapPrivate
+{
+ friend class WlanQtUtilsIap;
+};
+
+/*!
+ \class WlanQtUtilsIap
+ \brief WLAN Internet Access Point class.
+
+ Contains the information related to known WLAN access points.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanQtUtilsIap::WlanQtUtilsIap() :
+ WlanQtUtilsAp(),
+ d_ptr(new WlanQtUtilsIapPrivate())
+{
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsIap::~WlanQtUtilsIap()
+{
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilsiapsettings.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,633 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities WLAN IAP settings handling.
+*/
+
+// System includes
+
+#include <QScopedPointer>
+#include <QSharedPointer>
+#include <QVariant>
+
+#include <cmmanager_shim.h>
+#include <cmdestination_shim.h>
+#include <cmconnectionmethod_shim.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilsiapsettings.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsiapsettingsTraces.h"
+#endif
+
+/*!
+ \class WlanQtUtilsIapSettings
+ \brief WLAN IAP related settings handler.
+
+ Provides functionality to manipulate WLAN IAPs via the CM Manager Shim
+ interface.
+
+ NOTE: Shim functions may throw exceptions that need to be catched in
+ this class.
+*/
+
+// External function prototypes
+
+// Local constants
+
+//! IAP trace types
+#define WLANQTUTILS_IAP_TRACE_FETCH 1
+#define WLANQTUTILS_IAP_TRACE_CREATE 2
+#define WLANQTUTILS_IAP_TRACE_UPDATE 3
+
+// WEP key lengths used to determine key format
+static const int WepHex64BitMaxLength = 10;
+static const int WepHex128BitMaxLength = 26;
+static const int WepAscii64BitMaxLength = 5;
+static const int WepAscii128BitMaxLength = 13;
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] parent Parent object.
+*/
+
+WlanQtUtilsIapSettings::WlanQtUtilsIapSettings(QObject *parent) :
+ QObject(parent),
+ mCmManager(new CmManagerShim())
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_ENTRY);
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsIapSettings::~WlanQtUtilsIapSettings()
+{
+ OstTraceFunctionEntry0(DUP1_WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_ENTRY);
+
+ delete mCmManager;
+
+ OstTraceFunctionExit0(DUP1_WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_EXIT);
+}
+
+/*!
+ Fetch all WLAN IAPs.
+
+ @param [out] iapList List of WLAN IAPs.
+*/
+
+void WlanQtUtilsIapSettings::fetchIaps(
+ QList< QSharedPointer<WlanQtUtilsIap> > &iapList) const
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_FETCHIAPS_ENTRY);
+
+ // Clear the list content first for safety
+ iapList.clear();
+
+ QList<uint> iapIds;
+ try {
+ mCmManager->connectionMethod(iapIds, false);
+ } catch (const std::exception &ex) {
+ int error = qt_symbian_exception2Error(ex);
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_FETCHIAPS_EXCEPTION,
+ "WlanQtUtilsIapSettings::fetchIaps exception;error=%d",
+ error);
+ }
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ int iapCount = iapIds.count();
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_FETCHIAPS_COUNT,
+ "WlanQtUtilsIapSettings::fetchIaps;iapCount=%d",
+ iapCount);
+#endif
+
+ foreach (uint iapId, iapIds) {
+ QSharedPointer<WlanQtUtilsIap> wlanIap = fetchIap(iapId);
+ if (wlanIap) {
+ iapList.append(wlanIap);
+ }
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_FETCHIAPS_EXIT);
+}
+
+/*!
+ Fetch WLAN IAP with the given ID
+
+ @param [in] iapId ID of IAP to fetch.
+
+ @return Found IAP, NULL if not found.
+*/
+
+QSharedPointer<WlanQtUtilsIap> WlanQtUtilsIapSettings::fetchIap(uint iapId) const
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_FETCHIAP_ENTRY);
+
+ QSharedPointer<WlanQtUtilsIap> wlanIap;
+ try {
+ QScopedPointer<CmConnectionMethodShim> iap(
+ mCmManager->connectionMethod(iapId));
+ if (iap && iap->getIntAttribute(CMManagerShim::CmBearerType) ==
+ KUidWlanBearerType) {
+
+ // Get WLAN IAP parameters
+ int netId = iap->getIntAttribute(CMManagerShim::CmNetworkId);
+ QString name = iap->getStringAttribute(CMManagerShim::CmName);
+ QString ssid = iap->getStringAttribute(CMManagerShim::WlanSSID);
+ int connMode = iap->getIntAttribute(CMManagerShim::WlanConnectionMode);
+ int secMode = iap->getIntAttribute(
+ CMManagerShim::WlanSecurityMode);
+ bool wpaPskUse = iap->getBoolAttribute(
+ CMManagerShim::WlanEnableWpaPsk);
+
+ // Create a WLAN Qt Utils IAP
+ wlanIap = QSharedPointer<WlanQtUtilsIap>(new WlanQtUtilsIap());
+ wlanIap->setValue(WlanQtUtilsIap::ConfIdIapId, iapId);
+ wlanIap->setValue(WlanQtUtilsIap::ConfIdNetworkId, netId);
+ wlanIap->setValue(WlanQtUtilsIap::ConfIdName, name);
+ wlanIap->setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
+ wlanIap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, connMode);
+ wlanIap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, secMode);
+ wlanIap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, wpaPskUse);
+
+ // Trace the fetched IAP
+ traceIap(
+ wlanIap.data(),
+ WLANQTUTILS_IAP_TRACE_FETCH,
+ iapId);
+ }
+ } catch (const std::exception &ex) {
+ int error = qt_symbian_exception2Error(ex);
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_FETCHIAP_EXCEPTION,
+ "WlanQtUtilsIapSettings::fetchIap exception;error=%d",
+ error);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_FETCHIAP_EXIT);
+ return wlanIap;
+}
+
+/*!
+ Create a new WLAN IAP as an uncategorized IAP.
+
+ @param [in] wlanAp Information about the WLAN AP.
+
+ @return ID of the created IAP, IapIdNone in error cases.
+*/
+
+int WlanQtUtilsIapSettings::createIap(const WlanQtUtilsAp *wlanAp)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_CREATEIAP_ENTRY);
+
+ int iapId = WlanQtUtils::IapIdNone;
+
+ try {
+ // Create the new IAP
+ QScopedPointer<CmConnectionMethodShim> iap(
+ mCmManager->createConnectionMethod(KUidWlanBearerType));
+ storeSettings(wlanAp, iap.data());
+ iapId = iap->getIntAttribute(CMManagerShim::CmIapId);
+
+ // Trace the created IAP
+ traceIap(
+ wlanAp,
+ WLANQTUTILS_IAP_TRACE_CREATE,
+ iapId);
+ } catch (const std::exception &ex) {
+ // Trace error cause and return failure (default value) to caller.
+ int error = qt_symbian_exception2Error(ex);
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_CREATEIAP_EXCEPTION,
+ "WlanQtUtilsIapSettings::createIap exception;error=%d",
+ error);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_CREATEIAP_EXIT);
+ return iapId;
+}
+
+/*!
+ Update the WLAN IAP given as parameter. All settings are stored to
+ database (again) without checking whether they have actually changed
+ or not.
+
+ @param [in] iapId ID of IAP to update.
+ @param [in] wlanAp Information about the WLAN AP.
+
+ @return Was update succesful or not?
+*/
+
+bool WlanQtUtilsIapSettings::updateIap(
+ int iapId,
+ const WlanQtUtilsAp *wlanAp)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_UPDATEIAP_ENTRY);
+
+ bool success = false;
+
+ try {
+ QScopedPointer<CmConnectionMethodShim> iap(
+ mCmManager->connectionMethod(iapId));
+ storeSettings(wlanAp, iap.data());
+ // Trace the updated IAP
+ traceIap(
+ wlanAp,
+ WLANQTUTILS_IAP_TRACE_UPDATE,
+ iapId);
+ success = true;
+ } catch (const std::exception &ex) {
+ // Trace error cause and return failure (default value) to caller.
+ int error = qt_symbian_exception2Error(ex);
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_UPDATEIAP_EXCEPTION,
+ "WlanQtUtilsIapSettings::updateIap exception;error=%d",
+ error);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_UPDATEIAP_EXIT);
+ return success;
+}
+
+/*!
+ Delete the WLAN IAP given as parameter.
+
+ @param [in] iapId ID of IAP to delete.
+*/
+
+void WlanQtUtilsIapSettings::deleteIap(int iapId)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_DELETEIAP_ENTRY);
+
+ try {
+ QScopedPointer<CmConnectionMethodShim> iap(
+ mCmManager->connectionMethod(iapId));
+ iap->deleteConnectionMethod();
+ } catch (const std::exception &ex) {
+ // Just trace error cause. It is not fatal, if we are not able to
+ // delete the IAP. No need to retry, since errors should be very
+ // rare and user can delete the IAP later from Control Panel, if
+ // needed.
+ int error = qt_symbian_exception2Error(ex);
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_DELETEIAP_EXCEPTION,
+ "WlanQtUtilsIapSettings::deleteIap exception;error=%d",
+ error);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_DELETEIAP_EXIT);
+}
+
+/*!
+ Move IAP to the Internet SNAP.
+
+ @param [in] iapId ID of the IAP to move.
+*/
+
+void WlanQtUtilsIapSettings::moveIapToInternetSnap(int iapId)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_MOVEIAPTOINTERNETSNAP_ENTRY);
+
+ // Read all destination (SNAP) IDs
+ QList<uint> destinations;
+ try {
+ mCmManager->allDestinations(destinations);
+ foreach (int destId, destinations) {
+ QScopedPointer<CmDestinationShim> destination(
+ mCmManager->destination(destId));
+
+ // Internet destination will always exist in the system. It has
+ // SnapPurposeInternet set in its metadata.
+ if (destination->metadata(CMManagerShim::SnapMetadataPurpose)
+ == CMManagerShim::SnapPurposeInternet) {
+ QScopedPointer<CmConnectionMethodShim> iap(
+ mCmManager->connectionMethod(iapId));
+ destination->addConnectionMethod(iap.data());
+ destination->update();
+ break;
+ }
+ }
+ } catch (const std::exception &ex) {
+ int error = qt_symbian_exception2Error(ex);
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_MOVEIAPTOINTERNETSNAP_EXCEPTION,
+ "WlanQtUtilsIapSettings::moveIapToInternetSnap exception;error=%d",
+ error);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_MOVEIAPTOINTERNETSNAP_EXIT);
+}
+
+/*!
+ Set Hotspot metadata to the Hotspot IAP given as parameter.
+
+ @param [in] iapId ID of IAP to set.
+*/
+
+void WlanQtUtilsIapSettings::setAsHotspotIap(int iapId)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_SETASHOTSPOTIAP_ENTRY);
+
+ try {
+ QScopedPointer<CmConnectionMethodShim> iap(
+ mCmManager->connectionMethod(iapId));
+ iap->setBoolAttribute(CMManagerShim::CmMetaHotSpot, true);
+ iap->update();
+ } catch (const std::exception &ex) {
+ // Just trace error cause. It is not fatal, if we are not able to
+ // set IAP as hotspot IAP. No need to retry, since errors should be very
+ // rare and it does not prevent connection opening of the hotspot IAP.
+ int error = qt_symbian_exception2Error(ex);
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_SETASHOTSPOTIAP_EXCEPTION,
+ "WlanQtUtilsIapSettings::setAsHotspotIap exception;error=%d",
+ error);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_SETASHOTSPOTIAP_EXIT);
+}
+
+/*!
+ Stores the given Wlan AP settings to database using CM Manager Shim.
+
+ @param [in] wlanAp WLAN AP settings to store.
+ @param [in] iap WLAN IAP to store to.
+*/
+
+void WlanQtUtilsIapSettings::storeSettings(
+ const WlanQtUtilsAp *wlanAp,
+ CmConnectionMethodShim *iap)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_STORESETTINGS_ENTRY);
+
+ int secMode = wlanAp->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ QString ssid = wlanAp->value(WlanQtUtilsAp::ConfIdSsid).toString();
+
+ // Store general settings
+ iap->setStringAttribute(CMManagerShim::CmName, ssid);
+ iap->setStringAttribute(CMManagerShim::WlanSSID, ssid);
+ iap->setIntAttribute(CMManagerShim::WlanSecurityMode, secMode);
+ iap->setIntAttribute(
+ CMManagerShim::WlanConnectionMode,
+ wlanAp->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt());
+ iap->setBoolAttribute(
+ CMManagerShim::CmHidden,
+ wlanAp->value(WlanQtUtilsAp::ConfIdHidden).toBool());
+ iap->setBoolAttribute(
+ CMManagerShim::WlanScanSSID,
+ wlanAp->value(WlanQtUtilsAp::ConfIdWlanScanSSID).toBool());
+
+ // Store the WEP settings
+ storeWepKey(
+ wlanAp->value(WlanQtUtilsAp::ConfIdWepKey1).toString(),
+ 1,
+ iap);
+ storeWepKey(
+ wlanAp->value(WlanQtUtilsAp::ConfIdWepKey2).toString(),
+ 2,
+ iap);
+ storeWepKey(
+ wlanAp->value(WlanQtUtilsAp::ConfIdWepKey3).toString(),
+ 3,
+ iap);
+ storeWepKey(
+ wlanAp->value(WlanQtUtilsAp::ConfIdWepKey4).toString(),
+ 4,
+ iap);
+ iap->setIntAttribute(
+ CMManagerShim::WlanWepKeyIndex,
+ wlanAp->value(WlanQtUtilsAp::ConfIdWepDefaultIndex).toInt());
+
+ // Store WPA PSK settings
+ bool usePsk = wlanAp->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool();
+ iap->setBoolAttribute(CMManagerShim::WlanEnableWpaPsk, usePsk);
+ QString wpaKey(wlanAp->value(WlanQtUtilsAp::ConfIdWpaPsk).toString());
+ iap->setString8Attribute(CMManagerShim::WlanWpaPreSharedKey, wpaKey);
+
+ // Write the settings.
+ iap->update();
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_STORESETTINGS_EXIT);
+}
+
+/*!
+ Stores the given valid WEP key to database using CM Manager Shim. If key
+ is not used an empty key must be provided.
+
+ @note This method MUST not be called for invalid WEP Keys and/or indexes.
+ Wlanwizard validates keys, before accepting user input.
+
+ @param [in] key Key to write.
+ @param [in] index Key index. Valid range is [0,4].
+ @param [in] iap WLAN IAP to store the key into.
+*/
+
+void WlanQtUtilsIapSettings::storeWepKey(
+ const QString &key,
+ int index,
+ CmConnectionMethodShim *iap)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_STOREWEPKEY_ENTRY);
+
+ int length = key.length();
+ if (length == WepHex64BitMaxLength || length == WepHex128BitMaxLength) {
+ // HEX
+ iap->setString8Attribute(mapWepKeyIndexHex(index), key);
+ } else if (length == WepAscii64BitMaxLength || length == WepAscii128BitMaxLength) {
+ // ASCII
+ iap->setString8Attribute(mapWepKeyIndexAscii(index), key);
+ } else {
+ // Length must always be a valid one or zero
+ Q_ASSERT(length == 0);
+
+ // Write default value. Note that the key is stored in the same data
+ // field regardless of the format so writing only one key is enough.
+ iap->setString8Attribute(mapWepKeyIndexHex(index), key);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_STOREWEPKEY_EXIT);
+}
+
+/*!
+ Maps given Hex WEP key index into the corresponding CM Manager Connection
+ Method attribute.
+
+ @param [in] index Hex WEP key index [1,4].
+
+ @return Connection Method attribute.
+*/
+
+CMManagerShim::ConnectionMethodAttribute WlanQtUtilsIapSettings::mapWepKeyIndexHex(
+ int index)
+{
+ CMManagerShim::ConnectionMethodAttribute attribute =
+ CMManagerShim::WlanWepKey1InHex;
+
+ switch (index) {
+ case 1:
+ attribute = CMManagerShim::WlanWepKey1InHex;
+ break;
+
+ case 2:
+ attribute = CMManagerShim::WlanWepKey2InHex;
+ break;
+
+ case 3:
+ attribute = CMManagerShim::WlanWepKey3InHex;
+ break;
+
+ case 4:
+ attribute = CMManagerShim::WlanWepKey4InHex;
+ break;
+
+#ifndef QT_NO_DEBUG
+ default:
+ // Invalid key index detected
+ Q_ASSERT(0);
+ break;
+#endif
+ }
+
+ return attribute;
+}
+
+/*!
+ Maps given Ascii WEP key index into the corresponding CM Manager Connection
+ Method attribute.
+
+ @param [in] index Ascii WEP key index [1,4].
+
+ @return Connection Method attribute.
+*/
+
+CMManagerShim::ConnectionMethodAttribute WlanQtUtilsIapSettings::mapWepKeyIndexAscii(
+ int index)
+{
+ CMManagerShim::ConnectionMethodAttribute attribute =
+ CMManagerShim::WlanWepKey1InAscii;
+
+ switch (index) {
+ case 1:
+ attribute = CMManagerShim::WlanWepKey1InAscii;
+ break;
+
+ case 2:
+ attribute = CMManagerShim::WlanWepKey2InAscii;
+ break;
+
+ case 3:
+ attribute = CMManagerShim::WlanWepKey3InAscii;
+ break;
+
+ case 4:
+ attribute = CMManagerShim::WlanWepKey4InAscii;
+ break;
+
+#ifndef QT_NO_DEBUG
+ default:
+ // Invalid key index detected
+ Q_ASSERT(0);
+ break;
+#endif
+ }
+
+ return attribute;
+}
+
+/*
+ Traces given IAP (which is taken in as an AP).
+
+ @param [in] ap IAP to trace.
+ @param [in] traceType Trace type (WLANQTUTILS_IAP_TRACE_*).
+ @param [in] iapId IAP ID.
+*/
+
+void WlanQtUtilsIapSettings::traceIap(
+ const WlanQtUtilsAp *ap,
+ int traceType,
+ uint iapId) const
+{
+#ifndef OST_TRACE_COMPILER_IN_USE
+ Q_UNUSED(ap);
+ Q_UNUSED(traceType);
+ Q_UNUSED(iapId);
+#else
+ QString ssid_string(ap->value(WlanQtUtilsAp::ConfIdSsid).toString());
+ TPtrC16 ssid(ssid_string.utf16(), ssid_string.length());
+ int secMode = ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ int connMode = ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt();
+ bool useWpaPsk = ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool();
+
+ switch (traceType) {
+ case WLANQTUTILS_IAP_TRACE_FETCH:
+ OstTraceExt5(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_TRACEIAP_FETCH,
+ "WlanQtUtilsIapSettings::traceIap Fetched;iapId=%u;ssid=%S;secMode=%{WlanSecMode};useWpaPsk=%u;connMode=%{WlanConnMode}",
+ iapId,
+ ssid,
+ secMode,
+ useWpaPsk,
+ connMode);
+ break;
+
+ case WLANQTUTILS_IAP_TRACE_CREATE:
+ OstTraceExt5(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_TRACEIAP_CREATE,
+ "WlanQtUtilsIapSettings::traceIap Created;iapId=%u;ssid=%S;secMode=%{WlanSecMode};useWpaPsk=%u;connMode=%{WlanConnMode}",
+ iapId,
+ ssid,
+ secMode,
+ useWpaPsk,
+ connMode);
+ break;
+
+ case WLANQTUTILS_IAP_TRACE_UPDATE:
+ OstTraceExt5(
+ TRACE_NORMAL,
+ WLANQTUTILSIAPSETTINGS_TRACEIAP_UPDATE,
+ "WlanQtUtilsIapSettings::traceIap Updated;iapId=%u;ssid=%S;secMode=%{WlanSecMode};useWpaPsk=%u;connMode=%{WlanConnMode}",
+ iapId,
+ ssid,
+ secMode,
+ useWpaPsk,
+ connMode);
+ break;
+ }
+#endif
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/bwins/wlanqtutilitiesu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,46 @@
+EXPORTS
+ ?iapName@WlanQtUtils@@QBE?AVQString@@H@Z @ 1 NONAME ; class QString WlanQtUtils::iapName(int) const
+ ??0WlanQtUtilsAp@@QAE@XZ @ 2 NONAME ; WlanQtUtilsAp::WlanQtUtilsAp(void)
+ ?updateIap@WlanQtUtils@@QAE_NHPBVWlanQtUtilsAp@@@Z @ 3 NONAME ; bool WlanQtUtils::updateIap(int, class WlanQtUtilsAp const *)
+ ?createIap@WlanQtUtils@@QAEHPBVWlanQtUtilsAp@@@Z @ 4 NONAME ; int WlanQtUtils::createIap(class WlanQtUtilsAp const *)
+ ?Start@RConnection@@QAEXAAVTConnPref@@AAVTRequestStatus@@@Z @ 5 NONAME ; void RConnection::Start(class TConnPref &, class TRequestStatus &)
+ ?value@WlanQtUtilsAp@@QBE?AVQVariant@@H@Z @ 6 NONAME ; class QVariant WlanQtUtilsAp::value(int) const
+ ??1WlanQtUtilsIap@@UAE@XZ @ 7 NONAME ; WlanQtUtilsIap::~WlanQtUtilsIap(void)
+ ?qt_metacast@WlanQtUtils@@UAEPAXPBD@Z @ 8 NONAME ; void * WlanQtUtils::qt_metacast(char const *)
+ ?qt_metacall@WlanQtUtils@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9 NONAME ; int WlanQtUtils::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?availableWlanAps@WlanQtUtils@@QBEXAAV?$QList@V?$QSharedPointer@VWlanQtUtilsAp@@@@@@@Z @ 10 NONAME ; void WlanQtUtils::availableWlanAps(class QList<class QSharedPointer<class WlanQtUtilsAp> > &) const
+ ??1WlanQtUtilsAp@@UAE@XZ @ 11 NONAME ; WlanQtUtilsAp::~WlanQtUtilsAp(void)
+ ?wlanScanApReady@WlanQtUtils@@IAEXH@Z @ 12 NONAME ; void WlanQtUtils::wlanScanApReady(int)
+ ?staticMetaObject@WlanQtUtils@@2UQMetaObject@@B @ 13 NONAME ; struct QMetaObject const WlanQtUtils::staticMetaObject
+ ??0WlanQtUtilsAp@@QAE@ABV0@@Z @ 14 NONAME ; WlanQtUtilsAp::WlanQtUtilsAp(class WlanQtUtilsAp const &)
+ ??_EWlanQtUtilsAp@@UAE@I@Z @ 15 NONAME ; WlanQtUtilsAp::~WlanQtUtilsAp(unsigned int)
+ ?disconnectIap@WlanQtUtils@@QAEXH@Z @ 16 NONAME ; void WlanQtUtils::disconnectIap(int)
+ ?scanWlanDirect@WlanQtUtils@@QAEXABVQString@@@Z @ 17 NONAME ; void WlanQtUtils::scanWlanDirect(class QString const &)
+ ?tr@WlanQtUtils@@SA?AVQString@@PBD0@Z @ 18 NONAME ; class QString WlanQtUtils::tr(char const *, char const *)
+ ?wlanNetworkClosed@WlanQtUtils@@IAEXHH@Z @ 19 NONAME ; void WlanQtUtils::wlanNetworkClosed(int, int)
+ ?ictResult@WlanQtUtils@@IAEXHH@Z @ 20 NONAME ; void WlanQtUtils::ictResult(int, int)
+ ?compare@WlanQtUtilsAp@@SAHPBV1@0P6AHABVQString@@1@Z@Z @ 21 NONAME ; int WlanQtUtilsAp::compare(class WlanQtUtilsAp const *, class WlanQtUtilsAp const *, int (*)(class QString const &, class QString const &))
+ ?connectionStatus@WlanQtUtils@@QBE?AW4ConnStatus@1@XZ @ 22 NONAME ; enum WlanQtUtils::ConnStatus WlanQtUtils::connectionStatus(void) const
+ ?setValue@WlanQtUtilsAp@@QAEXHVQVariant@@@Z @ 23 NONAME ; void WlanQtUtilsAp::setValue(int, class QVariant)
+ ??1WlanQtUtils@@UAE@XZ @ 24 NONAME ; WlanQtUtils::~WlanQtUtils(void)
+ ?scanWlans@WlanQtUtils@@QAEXXZ @ 25 NONAME ; void WlanQtUtils::scanWlans(void)
+ ?EventType@CConnMonEventBase@@QBEHXZ @ 26 NONAME ; int CConnMonEventBase::EventType(void) const
+ ?activeIap@WlanQtUtils@@QBEHXZ @ 27 NONAME ; int WlanQtUtils::activeIap(void) const
+ ?scanWlanAps@WlanQtUtils@@QAEXXZ @ 28 NONAME ; void WlanQtUtils::scanWlanAps(void)
+ ?wlanNetworkOpened@WlanQtUtils@@IAEXH@Z @ 29 NONAME ; void WlanQtUtils::wlanNetworkOpened(int)
+ ?connectIap@WlanQtUtils@@QAEXH_N@Z @ 30 NONAME ; void WlanQtUtils::connectIap(int, bool)
+ ??_EWlanQtUtilsIap@@UAE@I@Z @ 31 NONAME ; WlanQtUtilsIap::~WlanQtUtilsIap(unsigned int)
+ ?metaObject@WlanQtUtils@@UBEPBUQMetaObject@@XZ @ 32 NONAME ; struct QMetaObject const * WlanQtUtils::metaObject(void) const
+ ??_EWlanQtUtils@@UAE@I@Z @ 33 NONAME ; WlanQtUtils::~WlanQtUtils(unsigned int)
+ ?wlanScanReady@WlanQtUtils@@IAEXH@Z @ 34 NONAME ; void WlanQtUtils::wlanScanReady(int)
+ ??0WlanQtUtils@@QAE@XZ @ 35 NONAME ; WlanQtUtils::WlanQtUtils(void)
+ ?stopWlanScan@WlanQtUtils@@QAEXXZ @ 36 NONAME ; void WlanQtUtils::stopWlanScan(void)
+ ?availableWlans@WlanQtUtils@@QBEXAAV?$QList@V?$QSharedPointer@VWlanQtUtilsIap@@@@@@AAV?$QList@V?$QSharedPointer@VWlanQtUtilsAp@@@@@@@Z @ 37 NONAME ; void WlanQtUtils::availableWlans(class QList<class QSharedPointer<class WlanQtUtilsIap> > &, class QList<class QSharedPointer<class WlanQtUtilsAp> > &) const
+ ?tr@WlanQtUtils@@SA?AVQString@@PBD0H@Z @ 38 NONAME ; class QString WlanQtUtils::tr(char const *, char const *, int)
+ ?getStaticMetaObject@WlanQtUtils@@SAABUQMetaObject@@XZ @ 39 NONAME ; struct QMetaObject const & WlanQtUtils::getStaticMetaObject(void)
+ ?trUtf8@WlanQtUtils@@SA?AVQString@@PBD0@Z @ 40 NONAME ; class QString WlanQtUtils::trUtf8(char const *, char const *)
+ ?deleteIap@WlanQtUtils@@QAEXH@Z @ 41 NONAME ; void WlanQtUtils::deleteIap(int)
+ ??0WlanQtUtilsIap@@QAE@XZ @ 42 NONAME ; WlanQtUtilsIap::WlanQtUtilsIap(void)
+ ?wlanScanDirectReady@WlanQtUtils@@IAEXH@Z @ 43 NONAME ; void WlanQtUtils::wlanScanDirectReady(int)
+ ?trUtf8@WlanQtUtils@@SA?AVQString@@PBD0H@Z @ 44 NONAME ; class QString WlanQtUtils::trUtf8(char const *, char const *, int)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/eabi/wlanqtutilitiesu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,53 @@
+EXPORTS
+ _ZN11WlanQtUtils10connectIapEib @ 1 NONAME
+ _ZN11WlanQtUtils11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+ _ZN11WlanQtUtils11qt_metacastEPKc @ 3 NONAME
+ _ZN11WlanQtUtils11scanWlanApsEv @ 4 NONAME
+ _ZN11WlanQtUtils12stopWlanScanEv @ 5 NONAME
+ _ZN11WlanQtUtils13disconnectIapEi @ 6 NONAME
+ _ZN11WlanQtUtils13wlanScanReadyEi @ 7 NONAME
+ _ZN11WlanQtUtils14scanWlanDirectERK7QString @ 8 NONAME
+ _ZN11WlanQtUtils15wlanScanApReadyEi @ 9 NONAME
+ _ZN11WlanQtUtils16staticMetaObjectE @ 10 NONAME DATA 16
+ _ZN11WlanQtUtils17wlanNetworkClosedEii @ 11 NONAME
+ _ZN11WlanQtUtils17wlanNetworkOpenedEi @ 12 NONAME
+ _ZN11WlanQtUtils19getStaticMetaObjectEv @ 13 NONAME
+ _ZN11WlanQtUtils19wlanScanDirectReadyEi @ 14 NONAME
+ _ZN11WlanQtUtils9createIapEPK13WlanQtUtilsAp @ 15 NONAME
+ _ZN11WlanQtUtils9deleteIapEi @ 16 NONAME
+ _ZN11WlanQtUtils9ictResultEii @ 17 NONAME
+ _ZN11WlanQtUtils9scanWlansEv @ 18 NONAME
+ _ZN11WlanQtUtils9updateIapEiPK13WlanQtUtilsAp @ 19 NONAME
+ _ZN11WlanQtUtilsC1Ev @ 20 NONAME
+ _ZN11WlanQtUtilsC2Ev @ 21 NONAME
+ _ZN11WlanQtUtilsD0Ev @ 22 NONAME
+ _ZN11WlanQtUtilsD1Ev @ 23 NONAME
+ _ZN11WlanQtUtilsD2Ev @ 24 NONAME
+ _ZN13WlanQtUtilsAp7compareEPKS_S1_PFiRK7QStringS4_E @ 25 NONAME
+ _ZN13WlanQtUtilsAp8setValueEi8QVariant @ 26 NONAME
+ _ZN13WlanQtUtilsApC1ERKS_ @ 27 NONAME
+ _ZN13WlanQtUtilsApC1Ev @ 28 NONAME
+ _ZN13WlanQtUtilsApC2ERKS_ @ 29 NONAME
+ _ZN13WlanQtUtilsApC2Ev @ 30 NONAME
+ _ZN13WlanQtUtilsApD0Ev @ 31 NONAME
+ _ZN13WlanQtUtilsApD1Ev @ 32 NONAME
+ _ZN13WlanQtUtilsApD2Ev @ 33 NONAME
+ _ZN14WlanQtUtilsIapC1Ev @ 34 NONAME
+ _ZN14WlanQtUtilsIapC2Ev @ 35 NONAME
+ _ZN14WlanQtUtilsIapD0Ev @ 36 NONAME
+ _ZN14WlanQtUtilsIapD1Ev @ 37 NONAME
+ _ZN14WlanQtUtilsIapD2Ev @ 38 NONAME
+ _ZNK11WlanQtUtils10metaObjectEv @ 39 NONAME
+ _ZNK11WlanQtUtils14availableWlansER5QListI14QSharedPointerI14WlanQtUtilsIapEERS0_IS1_I13WlanQtUtilsApEE @ 40 NONAME
+ _ZNK11WlanQtUtils16availableWlanApsER5QListI14QSharedPointerI13WlanQtUtilsApEE @ 41 NONAME
+ _ZNK11WlanQtUtils16connectionStatusEv @ 42 NONAME
+ _ZNK11WlanQtUtils7iapNameEi @ 43 NONAME
+ _ZNK11WlanQtUtils9activeIapEv @ 44 NONAME
+ _ZNK13WlanQtUtilsAp5valueEi @ 45 NONAME
+ _ZTI11WlanQtUtils @ 46 NONAME
+ _ZTI13WlanQtUtilsAp @ 47 NONAME
+ _ZTI14WlanQtUtilsIap @ 48 NONAME
+ _ZTV11WlanQtUtils @ 49 NONAME
+ _ZTV13WlanQtUtilsAp @ 50 NONAME
+ _ZTV14WlanQtUtilsIap @ 51 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/rom/wlanqtutilities.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Qt Utilities IBY file.
+*/
+
+#ifndef WLANQTUTILITIES_IBY
+#define WLANQTUTILITIES_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR/BUILD_DIR/wlanqtutilities.dll SHARED_LIB_DIR/wlanqtutilities.dll
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANQTUTILITIES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/stubs/stub_connmon.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,72 @@
+/*
+* Copyright (c) 2010 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:
+* This is a source file for connmon library stub functions for emulator.
+*/
+
+#include <QString>
+#include <QObject>
+#include <QVariant>
+#include <rconnmon.h>
+#include <nifvar.h>
+#include <cmmanager_shim.h>
+
+#include "wlanqtutilsap.h"
+
+#ifdef __WINS__
+
+// -----------------------------------------------------------------------------
+// CConnMonEventBase::CConnMonEventBase
+// -----------------------------------------------------------------------------
+//
+CConnMonEventBase::CConnMonEventBase( const TInt aEventType, const TUint aConnectionId )
+ {
+ iEventType = aEventType;
+ iConnectionId = aConnectionId;
+ }
+
+// Destructor
+CConnMonEventBase::~CConnMonEventBase()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CConnMonEventBase::EventType
+// -----------------------------------------------------------------------------
+//
+TInt CConnMonEventBase::EventType() const
+ {
+ return iEventType;
+ }
+
+// -----------------------------------------------------------------------------
+// CConnMonConnectionStatusChange::CConnMonConnectionStatusChange
+// -----------------------------------------------------------------------------
+//
+CConnMonConnectionStatusChange::CConnMonConnectionStatusChange(
+ const TUint aConnectionId,
+ const TUint aSubConnectionId,
+ const TInt aConnectionStatus ) :
+ CConnMonEventBase(EConnMonConnectionStatusChange, aConnectionId)
+ {
+ iSubConnectionId = aSubConnectionId;
+ iConnectionStatus = aConnectionStatus;
+ }
+
+// Destructor
+CConnMonConnectionStatusChange::~CConnMonConnectionStatusChange()
+ {
+ }
+
+#endif // __WINS__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/stubs/stub_esock.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2010 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:
+* This is a source file for esock library stub functions for emulator.
+*/
+
+#include <es_sock.h>
+
+// ----------------------------------------------------
+// Stub functions for esock library, used in emulator
+// ----------------------------------------------------
+
+/**
+ * Return always success in emulator.
+ */
+void RConnection::Start(class TConnPref &, class TRequestStatus &aStatus)
+{
+ User::RequestComplete(&aStatus, KErrNone);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/stubs/stub_wlanmgmtclient.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,118 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities use in emulator.
+*/
+
+#include <e32std.h>
+#include <e32base.h>
+#include "wlanmgmtclient.h"
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::NewL
+// ---------------------------------------------------------
+//
+CWlanMgmtClient* CWlanMgmtClient::NewL()
+ {
+ CWlanMgmtClient* self = new CWlanMgmtClient;
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::~CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::~CWlanMgmtClient()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::CWlanMgmtClient()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::GetScanResults
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::GetScanResults(
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults )
+ {
+ // Complete the request immediately
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status, KErrNone);
+
+ // Results are returned when asked per AP
+ (void)aResults;
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::GetScanResults
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::GetScanResults(
+ TWlanSsid& aSsid,
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults )
+ {
+ (void)aSsid;
+ (void)aResults;
+
+ // Complete the request immediately
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status, KErrNone);
+
+ // Results are returned when asked per AP
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::CancelGetScanResults
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::CancelGetScanResults()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::GetAvailableIaps
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::GetAvailableIaps(
+ TInt& aCacheLifetime,
+ TUint& aMaxDelay,
+ TBool aFilteredResults,
+ TRequestStatus& aStatus,
+ RArray<TWlanIapAvailabilityData>& aAvailableIaps )
+ {
+ (void)aCacheLifetime;
+ (void)aMaxDelay;
+ (void)aFilteredResults;
+ (void)aAvailableIaps;
+
+ // Complete the request immediately
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(status, KErrNone);
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::CancelGetAvailableIaps
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::CancelGetAvailableIaps()
+ {
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/stubs/stub_wlanscaninfo.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,335 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities use in emulator.
+*/
+
+#include <e32base.h>
+#include "wlanscaninfo.h"
+
+#include <cmmanager_shim.h>
+
+#include "wlanqtutilsap.h"
+
+// Information Element ID for SSID as specified in 802.11.
+static const TUint8 KWlan802Dot11SsidIE = 0;
+
+// Bit mask for Capability info field to get type (Infra/AdHoc).
+static const TUint8 KWlan802Dot11CapabilityEssMask = 0x0001;
+
+// Scan result list iterator. Holds the current index, starting from zero (0).
+static int ScanResultIterator = 0;
+
+// Scan result toggler. Used for switching between two different scan result lists.
+static bool ScanResultPrimary = true;
+
+// ---------------------------------------------------------
+// CWlanScanInfo::NewL
+// ---------------------------------------------------------
+//
+CWlanScanInfo* CWlanScanInfo::NewL()
+ {
+ CWlanScanInfo* self = new CWlanScanInfo;
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~CWlanScanInfo
+// ---------------------------------------------------------
+//
+CWlanScanInfo::~CWlanScanInfo()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~First
+// ---------------------------------------------------------
+//
+const TWlanScanInfoFrame* CWlanScanInfo::First()
+ {
+ // Rewind to the beginning of scan result list
+ ScanResultIterator = 0;
+
+ return (TWlanScanInfoFrame*)1; // Info frame is not supported
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~Next
+// ---------------------------------------------------------
+//
+const TWlanScanInfoFrame* CWlanScanInfo::Next()
+ {
+ // Go to next AP in scan results
+ ScanResultIterator++;
+
+ return (TWlanScanInfoFrame*)1; // Info frame is not supported
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~IsDone
+// ---------------------------------------------------------
+//
+TBool CWlanScanInfo::IsDone() const
+ {
+ TBool result = EFalse;
+
+ // Amount of scan results is toggled for every scan
+ int scanResultCount;
+ if (ScanResultPrimary) {
+ scanResultCount = 6;
+ } else {
+ scanResultCount = 3;
+ }
+
+ // Iterating is complete when iterator is one past the last item
+ if (ScanResultIterator >= scanResultCount) {
+ result = ETrue;
+
+ // Toggle scan result count
+ ScanResultPrimary = !ScanResultPrimary;
+ }
+
+ return result;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::RXLevel
+// ---------------------------------------------------------
+//
+TUint8 CWlanScanInfo::RXLevel() const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+ int rxlevel = ap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt();
+
+ return (TUint8)rxlevel;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::Bssid
+// ---------------------------------------------------------
+//
+void CWlanScanInfo::Bssid(
+ TWlanBssid& aBssid ) const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+ QByteArray bssid = ap->value(WlanQtUtilsAp::ConfIdBssid).toByteArray();
+
+ // Length must match, since BSSID is always the same length
+ Q_ASSERT(bssid.length() == KWlanMaxBssidLength);
+
+ // Copy the BSSID
+ aBssid.Copy((const unsigned char *)bssid.constData(), bssid.length());
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::Capability
+// ---------------------------------------------------------
+//
+TUint16 CWlanScanInfo::Capability() const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+
+ TUint16 capabilities = 0;
+
+ // Only connection mode cabability is supported
+ int connMode = ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt();
+ if (connMode == CMManagerShim::Infra) {
+ capabilities |= KWlan802Dot11CapabilityEssMask;
+ }
+
+ return capabilities;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::InformationElement
+// ---------------------------------------------------------
+//
+TInt CWlanScanInfo::InformationElement(
+ TUint8 aIE,
+ TUint8& aLength,
+ const TUint8** aData )
+ {
+ // Static SSID buffer
+ static TBuf8<255> ssidBuffer;
+
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+
+ aLength = 0;
+
+ // Only SSID IE is supported
+ Q_ASSERT(aIE == KWlan802Dot11SsidIE);
+ (void)aIE;
+
+ // Cypy the SSID
+ QString ssid = ap->value(WlanQtUtilsAp::ConfIdSsid).toString();
+ QByteArray ssidData(ssid.toUtf8());
+ ssidBuffer.Copy(
+ (TUint8*)ssidData.data(),
+ ssidData.length());
+
+ // Give reference to the buffer to the caller
+ *aData = ssidBuffer.Ptr();
+ aLength = (TUint8)ssidBuffer.Length();
+
+ return KErrNone;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::IsProtectedSetupSupported
+// ---------------------------------------------------------
+//
+TBool CWlanScanInfo::IsProtectedSetupSupported()
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+
+ TBool wpsSupport;
+ bool wps = ap->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool();
+ if (wps) {
+ wpsSupport = ETrue;
+ } else {
+ wpsSupport = EFalse;
+ }
+
+ return wpsSupport;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::ExtendedSecurityMode
+// ---------------------------------------------------------
+//
+TWlanConnectionExtentedSecurityMode CWlanScanInfo::ExtendedSecurityMode() const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+ int secMode = ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ bool pskUse = ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool();
+
+ TWlanConnectionExtentedSecurityMode ret;
+ switch (secMode) {
+ case CMManagerShim::WlanSecModeWep:
+ // Both WEP security modes are mapped to same WEP sec mode value.
+ // We test both of them, and toggle the used value each time.
+ static bool wepOpen = true;
+ if (wepOpen) {
+ ret = EWlanConnectionExtentedSecurityModeWepOpen;
+ } else {
+ ret = EWlanConnectionExtentedSecurityModeWepShared;
+ }
+ wepOpen = !wepOpen;
+ break;
+
+ case CMManagerShim::WlanSecMode802_1x:
+ ret = EWlanConnectionExtentedSecurityMode802d1x;
+ break;
+
+ case CMManagerShim::WlanSecModeWpa:
+ if (pskUse)
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpaPsk;
+ }
+ else
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpa;
+ }
+ break;
+
+ case CMManagerShim::WlanSecModeWpa2:
+ if (pskUse)
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpa2Psk;
+ }
+ else
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpa2;
+ }
+ break;
+
+ case CMManagerShim::WlanSecModeWapi:
+ if (pskUse)
+ {
+ ret = EWlanConnectionExtentedSecurityModeWapiPsk;
+ }
+ else
+ {
+ ret = EWlanConnectionExtentedSecurityModeWapi;
+ }
+ break;
+
+ default:
+ ret = EWlanConnectionExtentedSecurityModeOpen;
+ break;
+ }
+
+ return ret;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::CWlanScanInfo
+// ---------------------------------------------------------
+//
+CWlanScanInfo::CWlanScanInfo()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::GetCurrentAp
+// ---------------------------------------------------------
+//
+QSharedPointer<WlanQtUtilsAp> CWlanScanInfo::GetCurrentAp() const
+ {
+ // If this fails, client iterates erroneously
+ Q_ASSERT(!IsDone());
+
+ // Get the currently iterated AP
+ QSharedPointer<WlanQtUtilsAp> ap(new WlanQtUtilsAp());
+
+ // Store default setting data
+ QString ssid("Test AP ");
+ ssid.append(QString::number(ScanResultIterator + 1));
+ ap->setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
+ ap->setValue(WlanQtUtilsAp::ConfIdBssid, QByteArray("123456"));
+ ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 20);
+ ap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpsSupported, false);
+
+ // Custom settings for AP # 1
+ if (ScanResultIterator == 0) {
+ ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ }
+
+ // Custom settings for AP # 2
+ if (ScanResultIterator == 1) {
+ if (ScanResultPrimary) {
+ ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 70);
+ } else {
+ ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 90);
+ }
+ }
+
+ // Custom settings for AP # 3
+ if (ScanResultIterator == 2) {
+ ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpsSupported, true);
+ }
+
+ // Custom settings for AP's above 3
+ if (ScanResultIterator >= 3) {
+ ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 90);
+ }
+
+ return ap;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/stubs/stubs.pri Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,29 @@
+#
+# Copyright (c) 2010 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:
+# Stubs for Wlan Qt Utilities emulator usage
+#
+
+symbian {
+ mmpStubRules = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "USERINCLUDE stubs" \
+ "SOURCEPATH stubs" \
+ "SOURCE stub_connmon.cpp" \
+ "SOURCE stub_esock.cpp" \
+ "SOURCE stub_wlanmgmtclient.cpp" \
+ "SOURCE stub_wlanscaninfo.cpp" \
+ "$${LITERAL_HASH}endif"
+ MMP_RULES += mmpStubRules
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/stubs/wlanmgmtclient.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities use in emulator.
+*/
+
+#ifndef WLANMGMTCLIENT_H
+#define WLANMGMTCLIENT_H
+
+#include "wlanmgmtcommon.h"
+#include "wlanscaninfo.h"
+
+// CLASS DECLARATION
+
+class CWlanMgmtClient : public CBase
+ {
+ public: // Methods
+
+ // Constructors and destructor
+
+ /**
+ * Static constructor.
+ * @return Pointer to the constructed object.
+ */
+ static CWlanMgmtClient* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CWlanMgmtClient();
+
+ /**
+ * Perform a broadcast scan and return the detected WLAN networks.
+ *
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aResults Results of the scan.
+ */
+ void GetScanResults(
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults );
+
+ /**
+ * Perform a direct scan for an SSID and return the detected WLAN networks.
+ * If the SSID has zero length, a broadcast scan will be done.
+ *
+ * @param aSsid name of the WLAN network
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aResults Results of the scan.
+ */
+ void GetScanResults(
+ TWlanSsid& aSsid,
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults );
+
+ /**
+ * Cancel an outstanding scan request.
+ */
+ void CancelGetScanResults();
+
+ /**
+ * Get the available WLAN IAPs.
+ *
+ * @param aCacheLifetime Defines how many seconds old cached results the client
+ * is willing to accept. The valid is range is from 0 to
+ * 60 seconds. The value of -1 means the system default will
+ * be used. The aCacheLifetime parameter has a meaning only
+ * when the aMaxDelay parameter is zero.
+ * Value will be changed to the actual value used by the
+ * system.
+ * @param aMaxDelay Maximum amount of seconds the client is willing to wait for
+ * the availability results. The valid range is from 0 to 1200
+ * seconds or KWlanInfiniteScanDelay. KWlanInfiniteScanDelay
+ * will never cause a scan, but the request will be
+ * completed when any other broadcast scan request is completed.
+ * Value will be changed to the actual value used by the system.
+ * @param aFilteredResults Whether availability is filtered based on signal strength.
+ * ETrue if filtering is allowed, EFalse if not.
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aAvailableIaps Array of IAPs available.
+ */
+ void GetAvailableIaps(
+ TInt& aCacheLifetime,
+ TUint& aMaxDelay,
+ TBool aFilteredResults,
+ TRequestStatus& aStatus,
+ RArray<TWlanIapAvailabilityData>& aAvailableIaps );
+
+ /**
+ * Cancel an outstanding IAP availability request.
+ */
+ void CancelGetAvailableIaps();
+
+ private: // Data
+
+ CWlanMgmtClient();
+ };
+
+#endif // WLANMGMTCLIENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/stubs/wlanscaninfo.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities use in emulator.
+*/
+
+#ifndef WLANSCANINFO_H
+#define WLANSCANINFO_H
+
+// INCLUDES
+#include <e32def.h>
+#include <e32base.h>
+#include <wlanmgmtcommon.h>
+
+#include <QSharedPointer>
+#include "wlanqtutilsap.h"
+
+typedef TUint8 TWlanScanInfoFrame;
+
+// CLASS DECLARATION
+class CWlanScanInfo : public CBase
+ {
+ public: // Methods
+
+ // Constructors and destructor
+
+ /**
+ * Static constructor.
+ * @return Pointer to the constructed object.
+ */
+ static CWlanScanInfo* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CWlanScanInfo();
+
+ /**
+ * Find the data of the first access point.
+ * @return Pointer at the beginning of the first access point stored
+ * in the scan list. NULL if not any.
+ */
+ const TWlanScanInfoFrame* First();
+
+ /**
+ * Find the data of the next access point.
+ * @return Pointer at the beginning of the next access point stored
+ * in the scan list. NULL if not any.
+ */
+ const TWlanScanInfoFrame* Next();
+
+ /**
+ * Find is there any more unhandled access points.
+ * @return EFalse if there is access points in the list left,
+ * ETrue if not.
+ */
+ TBool IsDone() const;
+
+ /**
+ * Return RX level of the BSS.
+ * @return RX level.
+ */
+ TUint8 RXLevel() const;
+
+ /**
+ * Return BSSID of the BSS.
+ * @param aBssid ID of the access point or IBSS network.
+ * @return Pointer to the beginning of the BSSID. Length is always 6 bytes.
+ */
+ void Bssid(
+ TWlanBssid& aBssid ) const;
+
+ /**
+ * Get capability of the BSS (see IEEE 802.11 section 7.3.1.4.
+ * @return The capability information.
+ */
+ TUint16 Capability() const;
+
+ /**
+ * Return requested information element.
+ * @param aIE Id of the requested IE data.
+ * @param aLength Length of the IE. Zero if IE not found.
+ * @param aData Pointer to the beginning of the IE data. NULL if IE not found.
+ * @return General error message.
+ */
+ TInt InformationElement(
+ TUint8 aIE,
+ TUint8& aLength,
+ const TUint8** aData );
+
+ /**
+ * Find whether Wi-Fi Protected Setup is supported.
+ * @return ETrue if AP supports Wi-Fi Protected Setup,
+ * EFalse if not.
+ */
+ TBool IsProtectedSetupSupported();
+
+ /**
+ * Get security mode of the BSS.
+ * @return security mode.
+ */
+ TWlanConnectionExtentedSecurityMode ExtendedSecurityMode() const;
+
+ private: // Data
+
+ /**
+ * Constructor.
+ */
+ CWlanScanInfo();
+
+ /**
+ * Returns the currently iterated AP.
+ */
+ QSharedPointer<WlanQtUtilsAp> GetCurrentAp() const;
+
+ };
+
+#endif // WLANSCANINFO_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2009-2010 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:
+* OST trace definition header.
+*/
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/traces/trace.properties Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<trace_properties>
+ <enum name="ConnStatus">
+ <value id="0">ConnStatusNone</value>
+ <value id="1">ConnStatusConnecting</value>
+ <value id="2">ConnStatusConnected</value>
+ <value id="3">ConnStatusDisconnected</value>
+ </enum>
+ <enum name="ScanStatus">
+ <value id="0">ScanStatusOk</value>
+ <value id="1">ScanStatusCancelled</value>
+ <value id="2">ScanStatusError</value>
+ </enum>
+ <enum name="IctStatus">
+ <value id="0">IctPassed</value>
+ <value id="1">IctHotspotPassed</value>
+ <value id="2">IctCancelled</value>
+ <value id="3">IctFailed</value>
+ </enum>
+ <!-- These come from cmmanagerdefines_shim.h -->
+ <enum name="WlanSecMode">
+ <value id="1">WlanSecModeOpen</value>
+ <value id="2">WlanSecModeWep</value>
+ <value id="4">WlanSecMode802_1x</value>
+ <value id="8">WlanSecModeWpa</value>
+ <value id="16">WlanSecModeWpa2</value>
+ <value id="32">WlanSecModeWapi</value>
+ </enum>
+ <!-- These come from cmmanagerdefines_shim.h -->
+ <enum name="WlanConnMode">
+ <value id="0">Adhoc</value>
+ <value id="1">Infra</value>
+ </enum>
+ <!-- These come from rconnmon.h -->
+ <enum name="ConnMonEvent">
+ <value id="1">EConnMonCreateConnection</value>
+ <value id="2">EConnMonDeleteConnection</value>
+ <value id="3">EConnMonCreateSubConnection</value>
+ <value id="4">EConnMonDeleteSubConnection</value>
+ <value id="5">EConnMonDownlinkDataThreshold</value>
+ <value id="6">EConnMonUplinkDataThreshold</value>
+ <value id="7">EConnMonNetworkStatusChange</value>
+ <value id="8">EConnMonConnectionStatusChange</value>
+ <value id="9">EConnMonConnectionActivityChange</value>
+ <value id="10">EConnMonNetworkRegistrationChange</value>
+ <value id="11">EConnMonBearerChange</value>
+ <value id="12">EConnMonSignalStrengthChange</value>
+ <value id="13">EConnMonBearerAvailabilityChange</value>
+ <value id="14">EConnMonIapAvailabilityChange</value>
+ <value id="15">EConnMonTransmitPowerChange</value>
+ <value id="16">EConnMonSNAPsAvailabilityChange</value>
+ <value id="17">EConnMonNewWLANNetworkDetected</value>
+ <value id="18">EConnMonOldWLANNetworkLost</value>
+ <value id="19">EConnMonPacketDataAvailable</value>
+ <value id="20">EConnMonPacketDataUnavailable</value>
+ <value id="21">EConnMonBearerInfoChange</value>
+ <value id="22">EConnMonBearerGroupChange</value>
+ </enum>
+ <!-- These come from nifvar.h, most interesting ones are listed here -->
+ <enum name="ConnMonConnStatus">
+ <value id="0">KConnectionUninitialised</value>
+ <value id="1000">KStartingSelection</value>
+ <value id="2000">KFinishedSelection</value>
+ <value id="2001">KConnectionFailure</value>
+ <value id="4000">KDataTransferTemporarilyBlocked</value>
+ <value id="7000">KLinkLayerOpen</value>
+ <value id="8000">KLinkLayerClosed</value>
+ <value id="8100">KConfigDaemonLoading</value>
+ <value id="8200">KConfigDaemonLoaded</value>
+ <value id="8300">KConfigDaemonStartingRegistration</value>
+ <value id="8400">KConfigDaemonFinishedRegistration</value>
+ <value id="8600">KConfigDaemonStartingDeregistration</value>
+ <value id="8700">KConfigDaemonFinishedDeregistrationStop</value>
+ <value id="8800">KConfigDaemonUnloading</value>
+ <value id="8900">KConfigDaemonUnloaded</value>
+ </enum>
+</trace_properties>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/context/wlanqtutilstestcontext.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,314 @@
+/*
+* Copyright (c) 2009-2010 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:
+* This is the source file for Connection Utilities test context.
+*/
+
+#include <QObject>
+#include <QSharedPointer>
+#include <QTest>
+#include <rconnmon.h>
+#include <nifvar.h>
+#include <cmmanager_shim.h>
+
+#include "wlanqtutils.h"
+#include "wlanqtutilstestcontext.h"
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilsconnection.h"
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxEsock
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxEsock::WlanQtUtilsCtxEsock() :
+ startRetValue_(KErrNone)
+{
+}
+
+WlanQtUtilsCtxEsock::~WlanQtUtilsCtxEsock()
+{
+}
+
+void WlanQtUtilsCtxEsock::initialize()
+{
+ startRetValue_ = KErrNone;
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxActiveConn
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxActiveConn::WlanQtUtilsCtxActiveConn() :
+ WlanQtUtilsConnection(), connMonBearerType_(EBearerUnknown), connMonConnectionStatus_(
+ KConnectionUninitialised), connMonWlanConnectionMode_(-1), connMonWlanSecurityMode_(-1),
+ applicationUids_()
+{
+}
+
+WlanQtUtilsCtxActiveConn::~WlanQtUtilsCtxActiveConn()
+{
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxActiveConnections
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxActiveConnections::WlanQtUtilsCtxActiveConnections() :
+ activeConnList_()
+{
+}
+
+WlanQtUtilsCtxActiveConnections::~WlanQtUtilsCtxActiveConnections()
+{
+ clearActiveConnList();
+}
+
+void WlanQtUtilsCtxActiveConnections::initialize()
+{
+ clearActiveConnList();
+}
+
+void WlanQtUtilsCtxActiveConnections::createDefaultActiveConnList(int numberOfActiveConns,
+ int firstIapId)
+{
+ clearActiveConnList();
+ for (int i = 0; i < numberOfActiveConns; i++) {
+ WlanQtUtilsCtxActiveConn *activeConn = new WlanQtUtilsCtxActiveConn();
+
+ activeConn->setConnectionId((i + 1) * 100);
+ activeConn->setIapId(firstIapId + i);
+ activeConn->connMonConnectionStatus_ = KLinkLayerOpen;
+ activeConn->setConnectionStatus(WlanQtUtils::ConnStatusConnected);
+
+ // WLAN connection.
+ activeConn->connMonBearerType_ = EBearerWLAN;
+ activeConn->connMonWlanSecurityMode_ = EConnMonSecurityOpen;
+ activeConn->connMonWlanConnectionMode_ = EConnMonInfraStructure;
+ activeConnList_.append(activeConn);
+ }
+}
+
+void WlanQtUtilsCtxActiveConnections::clearActiveConnList()
+{
+ Q_FOREACH(WlanQtUtilsCtxActiveConn* activeConn, activeConnList_)
+ {
+ delete activeConn;
+ }
+ activeConnList_.clear();
+}
+
+void WlanQtUtilsCtxActiveConnections::verifyActiveConnList(
+ QList<WlanQtUtilsConnection*> activeConnList)
+{
+ QCOMPARE(activeConnList.count(), activeConnList_.count());
+
+ for (int i = 0; i < activeConnList_.count(); i++) {
+ QCOMPARE(activeConnList[i]->connectionId(), activeConnList_[i]->connectionId());
+ QCOMPARE(activeConnList[i]->iapId(), activeConnList_[i]->iapId());
+ QCOMPARE(activeConnList[i]->connectionStatus(), activeConnList_[i]->connectionStatus());
+ }
+}
+
+WlanQtUtilsCtxActiveConn *WlanQtUtilsCtxActiveConnections::findActiveConn(uint connectionId) const
+{
+ WlanQtUtilsCtxActiveConn *activeConn = NULL;
+ for (int i = 0; i < activeConnList_.count(); i++) {
+ if (activeConnList_[i]->connectionId() == connectionId) {
+ activeConn = activeConnList_[i];
+ }
+ }
+ Q_ASSERT(activeConn != NULL);
+ return activeConn;
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsWlanScanResult
+// ---------------------------------------------------------
+
+WlanQtUtilsWlanScan::WlanQtUtilsWlanScan() :
+ mScanResultIterator(0),
+ mWlanScanIapResultList(),
+ mWlanScanApResultList(),
+ mCompleteWlanIapScan(true),
+ mCompleteWlanApScan(true),
+ mIapScanRetValue(KErrNone),
+ mApScanRetValue(KErrNone)
+{
+}
+
+WlanQtUtilsWlanScan::~WlanQtUtilsWlanScan()
+{
+ clearWlanScanIapResultList();
+ clearWlanScanApResultList();
+}
+
+void WlanQtUtilsWlanScan::initialize()
+{
+ clearWlanScanIapResultList();
+ clearWlanScanApResultList();
+ mCompleteWlanIapScan = true;
+ mCompleteWlanApScan = true;
+ mIapScanRetValue = KErrNone;
+ mApScanRetValue = KErrNone;
+}
+
+void WlanQtUtilsWlanScan::createDefaultWlanScanIapResultList(int numberOfWlanIaps)
+{
+ clearWlanScanIapResultList();
+
+ for (int i = 0; i < numberOfWlanIaps; i++) {
+ QSharedPointer<WlanQtUtilsIap> iap(new WlanQtUtilsIap());
+ iap->setValue(WlanQtUtilsIap::ConfIdIapId, i);
+ iap->setValue(WlanQtUtilsIap::ConfIdName, "TestWlanAp" + QString::number(i + 1));
+ // ConfIdNetworkId?
+ iap->setValue(WlanQtUtilsAp::ConfIdSsid, "TestWlanAp" + QString::number(i + 1));
+ iap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 20);
+ iap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ iap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
+ iap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+ mWlanScanIapResultList.append(iap);
+ }
+}
+
+void WlanQtUtilsWlanScan::clearWlanScanIapResultList()
+{
+ mWlanScanIapResultList.clear();
+}
+
+void WlanQtUtilsWlanScan::verifyWlanScanIapResultList(
+ QList< QSharedPointer<WlanQtUtilsIap> > wlanIapList)
+{
+ QCOMPARE(wlanIapList.count(), mWlanScanIapResultList.count());
+
+ for (int i = 0; i < mWlanScanIapResultList.count(); i++) {
+ QCOMPARE(
+ wlanIapList[i]->value(WlanQtUtilsIap::ConfIdIapId),
+ mWlanScanIapResultList[i]->value(WlanQtUtilsIap::ConfIdIapId));
+ QCOMPARE(
+ wlanIapList[i]->value(WlanQtUtilsAp::ConfIdSignalStrength),
+ mWlanScanIapResultList[i]->value(WlanQtUtilsAp::ConfIdSignalStrength));
+ //QCOMPARE(
+ // wlanIapList[i]->value(WlanQtUtilsAp::ConfIdSsid),
+ // mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdSsid));
+ }
+}
+
+
+void WlanQtUtilsWlanScan::createDefaultWlanScanApResultList(int numberOfWlanAps)
+{
+ clearWlanScanApResultList();
+
+ for (int i = 0; i < numberOfWlanAps; i++) {
+ QSharedPointer<WlanQtUtilsAp> ap(new WlanQtUtilsAp());
+ ap->setValue(WlanQtUtilsAp::ConfIdSsid, "TestWlanAp" + QString::number(i + 1));
+ ap->setValue(WlanQtUtilsAp::ConfIdBssid, QByteArray("123456"));
+ ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 20);
+ ap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpsSupported, false);
+ mWlanScanApResultList.append(ap);
+ }
+}
+
+void WlanQtUtilsWlanScan::clearWlanScanApResultList()
+{
+ mWlanScanApResultList.clear();
+}
+
+void WlanQtUtilsWlanScan::verifyWlanScanApResultList(
+ QList< QSharedPointer<WlanQtUtilsAp> > wlanApList)
+{
+ QCOMPARE(wlanApList.count(), mWlanScanApResultList.count());
+
+ for (int i = 0; i < mWlanScanApResultList.count(); i++) {
+ QCOMPARE(
+ wlanApList[i]->value(WlanQtUtilsAp::ConfIdSsid),
+ mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdSsid));
+ QCOMPARE(
+ wlanApList[i]->value(WlanQtUtilsAp::ConfIdBssid),
+ mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdBssid));
+ QCOMPARE(
+ wlanApList[i]->value(WlanQtUtilsAp::ConfIdSignalStrength),
+ mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdSignalStrength));
+ QCOMPARE(
+ wlanApList[i]->value(WlanQtUtilsAp::ConfIdConnectionMode),
+ mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdConnectionMode));
+ QCOMPARE(
+ wlanApList[i]->value(WlanQtUtilsAp::ConfIdSecurityMode),
+ mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdSecurityMode));
+ QCOMPARE(
+ wlanApList[i]->value(WlanQtUtilsAp::ConfIdWpaPskUse),
+ mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdWpaPskUse));
+ QCOMPARE(
+ wlanApList[i]->value(WlanQtUtilsAp::ConfIdWpsSupported),
+ mWlanScanApResultList[i]->value(WlanQtUtilsAp::ConfIdWpsSupported));
+ }
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxConnMon
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxConnMon::WlanQtUtilsCtxConnMon() :
+ activeConnections_()
+{
+}
+
+WlanQtUtilsCtxConnMon::~WlanQtUtilsCtxConnMon()
+{
+}
+
+void WlanQtUtilsCtxConnMon::initialize()
+{
+ activeConnections_.initialize();
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxIct
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxIct::WlanQtUtilsCtxIct()
+{
+}
+
+WlanQtUtilsCtxIct::~WlanQtUtilsCtxIct()
+{
+}
+
+void WlanQtUtilsCtxIct::initialize()
+{
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsTestContext
+// ---------------------------------------------------------
+
+WlanQtUtilsTestContext::WlanQtUtilsTestContext() :
+ esock_(), connMon_(), ict_()
+{
+}
+
+WlanQtUtilsTestContext::~WlanQtUtilsTestContext()
+{
+}
+
+void WlanQtUtilsTestContext::initialize()
+{
+ esock_.initialize();
+ connMon_.initialize();
+ ict_.initialize();
+ mScan.initialize();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/context/wlanqtutilstestcontext.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,291 @@
+/*
+* Copyright (c) 2009-2010 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:
+* This is the header file for Wlan Qt Utilities test context.
+*/
+
+#ifndef WLANQTUTILSTESTCONTEXT_H
+#define WLANQTUTILSTESTCONTEXT_H
+
+#include <QObject>
+#include <QSharedPointer>
+#include "wlanqtutilsconnection.h"
+
+class WlanQtUtilsAp;
+
+/**
+ * This is context for esock library.
+ */
+class WlanQtUtilsCtxEsock : public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanQtUtilsCtxEsock();
+ ~WlanQtUtilsCtxEsock();
+
+ /**
+ * Initializes context.
+ */
+ void initialize();
+
+ /** Return value of RConnection::Start(). */
+ int startRetValue_;
+};
+
+/**
+ * This class is a helper class for testing purposes. It derives all properties of WlanQtUtilsConnection.
+ * In addition, this class contains member variables for setting some Connection Monitor specific
+ * values which cannot be easily generated from member variables of WlanQtUtilsConnection.
+ * E.g., connection status has different enum in Connection Monitor and Wlan Qt Utilities. This class
+ * enables setting both of those. Connmon version is set so that the stub can return it when
+ * requested, and Wlan Qt Utilities version is used for verifying that tested code returns right
+ * value.
+ */
+class WlanQtUtilsCtxActiveConn : public WlanQtUtilsConnection
+{
+public:
+ WlanQtUtilsCtxActiveConn();
+ ~WlanQtUtilsCtxActiveConn();
+
+ /** Bearer type in connmon format. */
+ int connMonBearerType_;
+ /** Connection status in connmon format. */
+ int connMonConnectionStatus_;
+ /** WLAN connection mode in connmon format. */
+ int connMonWlanConnectionMode_;
+ /** WLAN security mode in connmon format. */
+ int connMonWlanSecurityMode_;
+ /** Application UIDs that map to application strings. */
+ QList<int> applicationUids_;
+};
+
+/**
+ * This class represents active connections.
+ */
+class WlanQtUtilsCtxActiveConnections : public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanQtUtilsCtxActiveConnections();
+ ~WlanQtUtilsCtxActiveConnections();
+
+ /**
+ * Initializes context.
+ */
+ void initialize();
+
+ /**
+ * Creates a list of active connections for scan results.
+ *
+ * @param[in] numberOfActiveConns Number of active connections that are created.
+ * @param[in] firstIapId IAP ID of the first connection to be created.
+ */
+ void createDefaultActiveConnList(int numberOfActiveConns, int firstIapId);
+
+ /**
+ * Verifies that the given active connection list returned by the real application matches
+ * with the one in the context.
+ *
+ * @param[in] activeConnList Active connections that are verified against the context.
+ */
+ void verifyActiveConnList(QList<WlanQtUtilsConnection *> activeConnList);
+
+ /**
+ * Finds an active connection matching with the given connection ID from the context.
+ * Asserts if connection with given connection ID is not found.
+ *
+ * @param connectionId Connection ID.
+ * @return Active connection.
+ */
+ WlanQtUtilsCtxActiveConn *findActiveConn(uint connectionId) const;
+
+ /**
+ * List of active connections that RConnectionMonitor stub will return in response to
+ * RConnectionMonitor::Get*Attribute() functions.
+ */
+ QList<WlanQtUtilsCtxActiveConn *> activeConnList_;
+
+ // TODO: We need return values for all different RConnectionMonitor::Get*Attribute() functions
+ // to test error cases.
+
+private:
+
+ /**
+ * Destroys and clears the list of WLAN APs.
+ */
+ void clearActiveConnList();
+};
+
+/**
+ * This class represents WLAN functionality test context. E.g. APs that
+ * represent the results of WLAN scanning are stored here.
+ */
+class WlanQtUtilsWlanScan : public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanQtUtilsWlanScan();
+ ~WlanQtUtilsWlanScan();
+
+ /**
+ * Initializes context.
+ */
+ void initialize();
+
+ /**
+ * Creates a list of WLAN IAPs for scan results.
+ *
+ * @param[in] numberOfWlanIaps Number of WLAN IAPs that are created.
+ */
+ void createDefaultWlanScanIapResultList(int numberOfWlanIaps);
+
+ /**
+ * Verifies that the given WLAN IAP list returned by the real application matches
+ * with the one in the context.
+ *
+ * @param[in] wlanIapList WLAN IAPs that are verified against the context.
+ */
+ void verifyWlanScanIapResultList(
+ QList< QSharedPointer<WlanQtUtilsIap> > wlanIapList);
+
+ /**
+ * Creates a list of WLAN APs for scan results.
+ *
+ * @param[in] numberOfWlanAps Number of WLAN APs that are created.
+ */
+ void createDefaultWlanScanApResultList(int numberOfWlanAps);
+
+ /**
+ * Verifies that the given WLAN AP list returned by the real application matches
+ * with the one in the context.
+ *
+ * @param[in] wlanApList WLAN APs that are verified against the context.
+ */
+ void verifyWlanScanApResultList(
+ QList< QSharedPointer<WlanQtUtilsAp> > wlanApList); // TODO: Maybe boolean return value
+
+ // Scan result list iterator. Holds the current index, starting from zero (0).
+ int mScanResultIterator;
+
+ // List of WLAN IAPs that WLAN Management API stub will return when
+ // requesting for wlan IAP scan results.
+ QList< QSharedPointer<WlanQtUtilsIap> > mWlanScanIapResultList;
+
+ // List of WLAN access points that WLAN Management API stub will return when
+ // requesting for wlan scan results.
+ QList< QSharedPointer<WlanQtUtilsAp> > mWlanScanApResultList;
+
+ /**
+ * Should IAP scan be completed immediately or not?
+ */
+ bool mCompleteWlanIapScan;
+
+ /**
+ * Should AP scan be completed immediately or not?
+ */
+ bool mCompleteWlanApScan;
+
+ /** Return value of IAP scan request. */
+ int mIapScanRetValue;
+
+ /** Return value of AP scan request. */
+ int mApScanRetValue;
+
+private:
+
+ /**
+ * Destroys and clears the list of WLAN IAPs.
+ */
+ void clearWlanScanIapResultList();
+
+ /**
+ * Destroys and clears the list of WLAN APs.
+ */
+ void clearWlanScanApResultList();
+};
+
+/**
+ * Test context for RConnectionMonitor.
+ */
+class WlanQtUtilsCtxConnMon : public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanQtUtilsCtxConnMon();
+ ~WlanQtUtilsCtxConnMon();
+
+ /**
+ * Initializes context.
+ */
+ void initialize();
+
+ /** List of active connections. */
+ WlanQtUtilsCtxActiveConnections activeConnections_;
+};
+
+/**
+ * Test context for Internet connectivity test library.
+ */
+class WlanQtUtilsCtxIct : public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanQtUtilsCtxIct();
+ ~WlanQtUtilsCtxIct();
+
+ /**
+ * Initializes context.
+ */
+ void initialize();
+};
+
+/**
+ * Test context. The purpose of this context is to provide values that are used in stubs
+ * and in verification of outputs in test cases.
+ *
+ * In stubs, context is used to verify the inputs of parameters and to set output
+ * parameters into a specific value.
+ *
+ * In test cases, context is used to verify that the output parameters match with the once
+ * set in the stub.
+ */
+class WlanQtUtilsTestContext : public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanQtUtilsTestContext();
+ ~WlanQtUtilsTestContext();
+
+ /**
+ * Initializes context.
+ */
+ void initialize();
+
+ /** Context for esock library. */
+ WlanQtUtilsCtxEsock esock_;
+ /** Context for connmon library. */
+ WlanQtUtilsCtxConnMon connMon_;
+ /** Context for ICTS library. */
+ WlanQtUtilsCtxIct ict_;
+ /** Context for scan results. */
+ WlanQtUtilsWlanScan mScan;
+};
+
+#endif // WLANQTUTILSTESTCONTEXT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/ictswlanlogininterface.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2010 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:
+* ICTS Wlan Login Interface stubbing for WLAN Qt Utilities.
+*/
+
+#ifndef ICTSWLANLOGININTERFACE_H
+#define ICTSWLANLOGININTERFACE_H
+
+// System includes
+#include <QObject>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+class IctsWlanLoginInterface: public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ /*!
+ Internet connectivity test result type
+ */
+ enum ictsResultType {
+ IctsPassed = 0, //!< Internet connectivity test passed
+ IctsHotspotPassed, //!< Internet connectivity test passed against hotspot access point
+ IctsCanceled, //!< Internet connectivity test was cancelled due to user action
+ IctsFailed //!< internet connectivity test failed
+ };
+
+ IctsWlanLoginInterface(QObject *parent);
+
+ ~IctsWlanLoginInterface();
+
+public:
+
+ void start(int iapId, int netId);
+
+ void stop();
+
+signals:
+
+ void ictsResult(int ictsResult);
+
+ void hotspotCase();
+};
+
+#endif // ICTSWLANLOGININTERFACE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/stub_connmon.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,140 @@
+/*
+* Copyright (c) 2009-2010 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:
+* This is a source file for connmon library stub functions for UT.
+*/
+
+#include <QString>
+#include <QObject>
+#include <QVariant>
+#include <rconnmon.h>
+#include <nifvar.h>
+#include <cmmanager_shim.h>
+
+#include "wlanqtutilsap.h"
+
+#ifdef __WINS__
+
+#include "wlanqtutilstestcontext.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+// -----------------------------------------------------------------------------
+// CConnMonEventBase::CConnMonEventBase
+// -----------------------------------------------------------------------------
+//
+CConnMonEventBase::CConnMonEventBase( const TInt aEventType, const TUint aConnectionId )
+ {
+ iEventType = aEventType;
+ iConnectionId = aConnectionId;
+ }
+
+// Destructor
+CConnMonEventBase::~CConnMonEventBase()
+ {
+ }
+
+// -----------------------------------------------------------------------------
+// CConnMonEventBase::EventType
+// -----------------------------------------------------------------------------
+//
+TInt CConnMonEventBase::EventType() const
+ {
+ return iEventType;
+ }
+
+// -----------------------------------------------------------------------------
+// CConnMonConnectionStatusChange::CConnMonConnectionStatusChange
+// -----------------------------------------------------------------------------
+//
+CConnMonConnectionStatusChange::CConnMonConnectionStatusChange(
+ const TUint aConnectionId,
+ const TUint aSubConnectionId,
+ const TInt aConnectionStatus ) :
+ CConnMonEventBase(EConnMonConnectionStatusChange, aConnectionId)
+ {
+ iSubConnectionId = aSubConnectionId;
+ iConnectionStatus = aConnectionStatus;
+ }
+
+// Destructor
+CConnMonConnectionStatusChange::~CConnMonConnectionStatusChange()
+ {
+ }
+
+// Request status for canceling stubbed async request
+TRequestStatus* iStubRequestStatus = 0;
+
+void RConnectionMonitor::CancelAsyncRequest(
+ TInt aReqToCancel)
+{
+ (void)aReqToCancel;
+ User::RequestComplete(iStubRequestStatus, KErrCancel);
+ iStubRequestStatus = 0;
+}
+
+void RConnectionMonitor::GetConnectionCount(
+ TUint& aConnectionCount,
+ TRequestStatus& aStatus)
+{
+ aConnectionCount = testContext.connMon_.activeConnections_.activeConnList_.count();
+ User::RequestComplete(&aStatus, KErrNone);
+}
+
+TInt RConnectionMonitor::GetConnectionInfo(
+ const TUint aIndex,
+ TUint& aConnectionId,
+ TUint& aSubConnectionCount ) const
+{
+ aConnectionId = testContext.connMon_.activeConnections_.activeConnList_[aIndex - 1]->connectionId();
+ aSubConnectionCount = 0;
+ return KErrNone; // TODO: put return value into context.
+}
+
+void RConnectionMonitor::GetIntAttribute(
+ const TUint aConnectionId,
+ const TUint /* aSubConnectionId */,
+ const TUint aAttribute,
+ TInt& aValue,
+ TRequestStatus& aStatus )
+{
+ WlanQtUtilsCtxActiveConn *activeConn = testContext.connMon_.activeConnections_.findActiveConn(aConnectionId);
+ if (aAttribute == KBearer) {
+ aValue = activeConn->connMonBearerType_;
+ } else if (aAttribute == KConnectionStatus) {
+ aValue = activeConn->connMonConnectionStatus_;
+ } else {
+ Q_ASSERT(false);
+ }
+ User::RequestComplete(&aStatus, KErrNone); // TODO: Take return value from the context.
+}
+
+void RConnectionMonitor::GetUintAttribute(
+ const TUint aConnectionId,
+ const TUint /* aSubConnectionId */,
+ const TUint aAttribute,
+ TUint& aValue,
+ TRequestStatus& aStatus )
+{
+ WlanQtUtilsCtxActiveConn *activeConn = testContext.connMon_.activeConnections_.findActiveConn(aConnectionId);
+ if (aAttribute == KIAPId) {
+ aValue = activeConn->iapId();
+ } else {
+ Q_ASSERT(false);
+ }
+
+ User::RequestComplete(&aStatus, KErrNone); // TODO: Take return value from the context.
+}
+
+#endif // __WINS__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/stub_esock.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009-2010 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:
+* This is a source file for esock library stub functions
+*/
+
+#include <es_sock.h>
+
+#ifdef __WINS__
+
+// ----------------------------------------------
+// Stub functions for esock library, used in UT
+// ----------------------------------------------
+
+#include "wlanqtutilstestcontext.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+/**
+ * Returns value from test context.
+ *
+ * TConnPref value cannot be verified easily because the real value passed to the function is
+ * TCommDbConnPref. Dynamic cast from TConnPref to TCommDbConnPref does not work because
+ * TConnPref does not have virtual functions which means that type information for the
+ * class hierarchy is not created by the compiler.
+ */
+void RConnection::Start(class TConnPref &, class TRequestStatus &aStatus)
+{
+ User::RequestComplete(&aStatus, testContext.esock_.startRetValue_);
+}
+
+#endif // __WINS__
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/stub_ictswlanlogininterface.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,56 @@
+/*
+* Copyright (c) 2010 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:
+* ICTS Wlan Login Interface stubbing for WLAN Qt Utilities.
+*/
+
+#include "ictswlanlogininterface.h"
+
+#include "wlanqtutilstestcontext.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+/*!
+ Constructor.
+*/
+IctsWlanLoginInterface::IctsWlanLoginInterface(QObject *parent)
+{
+ Q_UNUSED(parent);
+}
+
+/*!
+ Destructor.
+*/
+IctsWlanLoginInterface::~IctsWlanLoginInterface()
+{
+}
+
+/*!
+ Function for launching Wlan login application.
+
+ @param [in] iapId Internet accesspoint id to be tested
+ @param [in] netId network identifier of the connection to be used
+*/
+void IctsWlanLoginInterface::start(int iapId, int netId)
+{
+ Q_UNUSED(iapId);
+ Q_UNUSED(netId);
+}
+
+/*!
+ Function for stopping launched Wlan login application.
+*/
+void IctsWlanLoginInterface::stop()
+{
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/stub_wlanmgmtclient.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,166 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities.
+*/
+
+#include <e32std.h>
+#include <e32base.h>
+#include "wlanmgmtclient.h"
+
+#include "wlanqtutilstestcontext.h"
+#include "wlanqtutilsiap.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+// Request status for canceling stubbed GetScanResults async request
+static TRequestStatus* iGetScanResultsStatus = 0;
+
+// Request status for canceling stubbed GetAvailableIaps async request
+static TRequestStatus* iGetAvailableIapsStatus = 0;
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::NewL
+// ---------------------------------------------------------
+//
+CWlanMgmtClient* CWlanMgmtClient::NewL()
+ {
+ CWlanMgmtClient* self = new CWlanMgmtClient;
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::~CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::~CWlanMgmtClient()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::CWlanMgmtClient()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::GetScanResults
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::GetScanResults(
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults )
+ {
+ (void)aResults;
+
+ if (testContext.mScan.mCompleteWlanApScan) {
+ // Complete the request immediately
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(
+ status,
+ testContext.mScan.mApScanRetValue);
+ } else {
+ iGetScanResultsStatus = &aStatus;
+ }
+
+ // Results are returned when asked per AP
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::GetScanResults
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::GetScanResults(
+ TWlanSsid& aSsid,
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults )
+ {
+ (void)aSsid;
+ (void)aResults;
+
+ if (testContext.mScan.mCompleteWlanApScan) {
+ // Complete the request immediately
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(
+ status,
+ testContext.mScan.mApScanRetValue);
+ } else {
+ iGetScanResultsStatus = &aStatus;
+ }
+
+ // Results are returned when asked per AP
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::CancelGetScanResults
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::CancelGetScanResults()
+ {
+ if (iGetScanResultsStatus) {
+ User::RequestComplete(iGetScanResultsStatus, KErrCancel);
+ iGetScanResultsStatus = NULL;
+ }
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::GetAvailableIaps
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::GetAvailableIaps(
+ TInt& aCacheLifetime,
+ TUint& aMaxDelay,
+ TBool aFilteredResults,
+ TRequestStatus& aStatus,
+ RArray<TWlanIapAvailabilityData>& aAvailableIaps )
+ {
+ (void)aCacheLifetime;
+ (void)aMaxDelay;
+ (void)aFilteredResults;
+ (void)aAvailableIaps;
+
+ if (testContext.mScan.mCompleteWlanIapScan) {
+ // Form results as defined in context
+ aAvailableIaps.Reset();
+ for (int i=0; i < testContext.mScan.mWlanScanIapResultList.count(); i++) {
+ QSharedPointer<WlanQtUtilsIap> iap(testContext.mScan.mWlanScanIapResultList[i]);
+ TWlanIapAvailabilityData data;
+ data.iIapId = (TUint)iap->value(WlanQtUtilsIap::ConfIdIapId).toInt();
+ data.iRssi = (TUint)iap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt();
+ aAvailableIaps.AppendL(data);
+ }
+
+ // Complete the request immediately
+ TRequestStatus *status = &aStatus;
+ User::RequestComplete(
+ status,
+ testContext.mScan.mIapScanRetValue);
+ } else {
+ iGetAvailableIapsStatus = &aStatus;
+ }
+ }
+
+// ---------------------------------------------------------
+// CWlanMgmtClient::CancelGetAvailableIaps
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::CancelGetAvailableIaps()
+ {
+ if (iGetAvailableIapsStatus) {
+ User::RequestComplete(iGetAvailableIapsStatus, KErrCancel);
+ iGetAvailableIapsStatus = 0;
+ }
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/stub_wlanscaninfo.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,287 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities.
+*/
+
+#include <e32base.h>
+#include "wlanscaninfo.h"
+
+#include <cmmanager_shim.h>
+
+#include "wlanqtutilstestcontext.h"
+#include "wlanqtutilsap.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+// Information Element ID for SSID as specified in 802.11.
+static const TUint8 KWlan802Dot11SsidIE = 0;
+
+// Bit mask for Capability info field to get type (Infra/AdHoc).
+static const TUint8 KWlan802Dot11CapabilityEssMask = 0x0001;
+
+// ---------------------------------------------------------
+// CWlanScanInfo::NewL
+// ---------------------------------------------------------
+//
+CWlanScanInfo* CWlanScanInfo::NewL()
+ {
+ CWlanScanInfo* self = new CWlanScanInfo;
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~CWlanScanInfo
+// ---------------------------------------------------------
+//
+CWlanScanInfo::~CWlanScanInfo()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~First
+// ---------------------------------------------------------
+//
+const TWlanScanInfoFrame* CWlanScanInfo::First()
+ {
+ // Rewind to the beginning of scan result list
+ testContext.mScan.mScanResultIterator = 0;
+
+ return (TWlanScanInfoFrame*)1; // Info frame is not supported
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~Next
+// ---------------------------------------------------------
+//
+const TWlanScanInfoFrame* CWlanScanInfo::Next()
+ {
+ // Go to next AP in scan results
+ testContext.mScan.mScanResultIterator++;
+
+ return (TWlanScanInfoFrame*)1; // Info frame is not supported
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::~IsDone
+// ---------------------------------------------------------
+//
+TBool CWlanScanInfo::IsDone() const
+ {
+ TBool result = EFalse;
+
+ // Iterating is complete when iterator is one past the last item
+ if (testContext.mScan.mScanResultIterator >=
+ testContext.mScan.mWlanScanApResultList.count()) {
+ result = ETrue;
+ }
+
+ return result;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::RXLevel
+// ---------------------------------------------------------
+//
+TUint8 CWlanScanInfo::RXLevel() const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+ int rxlevel = ap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt();
+
+ return (TUint8)rxlevel;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::Bssid
+// ---------------------------------------------------------
+//
+void CWlanScanInfo::Bssid(
+ TWlanBssid& aBssid ) const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+ QByteArray bssid = ap->value(WlanQtUtilsAp::ConfIdBssid).toByteArray();
+
+ // Length must match, since BSSID is always the same length
+ Q_ASSERT(bssid.length() == KWlanMaxBssidLength);
+
+ // Copy the BSSID
+ aBssid.Copy((const unsigned char *)bssid.constData(), bssid.length());
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::Capability
+// ---------------------------------------------------------
+//
+TUint16 CWlanScanInfo::Capability() const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+
+ TUint16 capabilities = 0;
+
+ // Only connection mode cabability is supported
+ int connMode = ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt();
+ if (connMode == CMManagerShim::Infra) {
+ capabilities |= KWlan802Dot11CapabilityEssMask;
+ }
+
+ return capabilities;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::InformationElement
+// ---------------------------------------------------------
+//
+TInt CWlanScanInfo::InformationElement(
+ TUint8 aIE,
+ TUint8& aLength,
+ const TUint8** aData )
+ {
+ // Static SSID buffer
+ static TBuf8<255> ssidBuffer;
+
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+
+ aLength = 0;
+
+ // Only SSID IE is supported
+ Q_ASSERT(aIE == KWlan802Dot11SsidIE);
+ (void)aIE;
+
+ // Cypy the SSID
+ ssidBuffer.SetLength(0);
+ QString ssid = ap->value(WlanQtUtilsAp::ConfIdSsid).toString();
+ for (int i = 0; i < ssid.length(); i++) {
+ QChar character = ssid[i];
+ ssidBuffer.Append((TUint8)(character.unicode() & 0x000000FF));
+ }
+
+ // Give reference to the buffer to the caller
+ *aData = ssidBuffer.Ptr();
+ aLength = (TUint8)ssidBuffer.Length();
+
+ return KErrNone;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::IsProtectedSetupSupported
+// ---------------------------------------------------------
+//
+TBool CWlanScanInfo::IsProtectedSetupSupported()
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+
+ TBool wpsSupport;
+ bool wps = ap->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool();
+ if (wps) {
+ wpsSupport = ETrue;
+ } else {
+ wpsSupport = EFalse;
+ }
+
+ return wpsSupport;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::ExtendedSecurityMode
+// ---------------------------------------------------------
+//
+TWlanConnectionExtentedSecurityMode CWlanScanInfo::ExtendedSecurityMode() const
+ {
+ QSharedPointer<WlanQtUtilsAp> ap(GetCurrentAp());
+ int secMode = ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ bool pskUse = ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool();
+
+ TWlanConnectionExtentedSecurityMode ret;
+ switch (secMode) {
+ case CMManagerShim::WlanSecModeWep:
+ // Both WEP security modes are mapped to same WEP sec mode value.
+ // We test both of them, and toggle the used value each time.
+ static bool wepOpen = true;
+ if (wepOpen) {
+ ret = EWlanConnectionExtentedSecurityModeWepOpen;
+ } else {
+ ret = EWlanConnectionExtentedSecurityModeWepShared;
+ }
+ wepOpen = !wepOpen;
+ break;
+
+ case CMManagerShim::WlanSecMode802_1x:
+ ret = EWlanConnectionExtentedSecurityMode802d1x;
+ break;
+
+ case CMManagerShim::WlanSecModeWpa:
+ if (pskUse)
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpaPsk;
+ }
+ else
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpa;
+ }
+ break;
+
+ case CMManagerShim::WlanSecModeWpa2:
+ if (pskUse)
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpa2Psk;
+ }
+ else
+ {
+ ret = EWlanConnectionExtentedSecurityModeWpa2;
+ }
+ break;
+
+ case CMManagerShim::WlanSecModeWapi:
+ if (pskUse)
+ {
+ ret = EWlanConnectionExtentedSecurityModeWapiPsk;
+ }
+ else
+ {
+ ret = EWlanConnectionExtentedSecurityModeWapi;
+ }
+ break;
+
+ default:
+ ret = EWlanConnectionExtentedSecurityModeOpen;
+ break;
+ }
+
+ return ret;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::CWlanScanInfo
+// ---------------------------------------------------------
+//
+CWlanScanInfo::CWlanScanInfo()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanScanInfo::GetCurrentAp
+// ---------------------------------------------------------
+//
+QSharedPointer<WlanQtUtilsAp> CWlanScanInfo::GetCurrentAp() const
+ {
+ // If this fails, client iterates erroneously
+ Q_ASSERT(!IsDone());
+
+ // Get the currently iterated AP
+ QSharedPointer<WlanQtUtilsAp> ap(
+ testContext.mScan.mWlanScanApResultList[
+ testContext.mScan.mScanResultIterator]);
+
+ return ap;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/wlanmgmtclient.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,115 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities.
+*/
+
+#ifndef WLANMGMTCLIENT_H
+#define WLANMGMTCLIENT_H
+
+#include "wlanmgmtcommon.h"
+#include "wlanscaninfo.h"
+
+// CLASS DECLARATION
+
+class CWlanMgmtClient : public CBase
+ {
+ public: // Methods
+
+ // Constructors and destructor
+
+ /**
+ * Static constructor.
+ * @return Pointer to the constructed object.
+ */
+ static CWlanMgmtClient* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CWlanMgmtClient();
+
+ /**
+ * Perform a broadcast scan and return the detected WLAN networks.
+ *
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aResults Results of the scan.
+ */
+ void GetScanResults(
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults );
+
+ /**
+ * Perform a direct scan for an SSID and return the detected WLAN networks.
+ * If the SSID has zero length, a broadcast scan will be done.
+ *
+ * @param aSsid name of the WLAN network
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aResults Results of the scan.
+ */
+ void GetScanResults(
+ TWlanSsid& aSsid,
+ TRequestStatus& aStatus,
+ CWlanScanInfo& aResults );
+
+ /**
+ * Cancel an outstanding scan request.
+ */
+ void CancelGetScanResults();
+
+ /**
+ * Get the available WLAN IAPs.
+ *
+ * @param aCacheLifetime Defines how many seconds old cached results the client
+ * is willing to accept. The valid is range is from 0 to
+ * 60 seconds. The value of -1 means the system default will
+ * be used. The aCacheLifetime parameter has a meaning only
+ * when the aMaxDelay parameter is zero.
+ * Value will be changed to the actual value used by the
+ * system.
+ * @param aMaxDelay Maximum amount of seconds the client is willing to wait for
+ * the availability results. The valid range is from 0 to 1200
+ * seconds or KWlanInfiniteScanDelay. KWlanInfiniteScanDelay
+ * will never cause a scan, but the request will be
+ * completed when any other broadcast scan request is completed.
+ * Value will be changed to the actual value used by the system.
+ * @param aFilteredResults Whether availability is filtered based on signal strength.
+ * ETrue if filtering is allowed, EFalse if not.
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aAvailableIaps Array of IAPs available.
+ */
+ void GetAvailableIaps(
+ TInt& aCacheLifetime,
+ TUint& aMaxDelay,
+ TBool aFilteredResults,
+ TRequestStatus& aStatus,
+ RArray<TWlanIapAvailabilityData>& aAvailableIaps );
+
+ /**
+ * Cancel an outstanding IAP availability request.
+ */
+ void CancelGetAvailableIaps();
+
+ private: // Data
+
+ CWlanMgmtClient();
+ };
+
+#endif // WLANMGMTCLIENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/stubs/wlanscaninfo.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,129 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities.
+*/
+
+#ifndef WLANSCANINFO_H
+#define WLANSCANINFO_H
+
+// INCLUDES
+#include <e32def.h>
+#include <e32base.h>
+#include <wlanmgmtcommon.h>
+
+#include <QSharedPointer>
+#include "wlanqtutilsap.h"
+
+typedef TUint8 TWlanScanInfoFrame;
+
+// CLASS DECLARATION
+class CWlanScanInfo : public CBase
+ {
+ public: // Methods
+
+ // Constructors and destructor
+
+ /**
+ * Static constructor.
+ * @return Pointer to the constructed object.
+ */
+ static CWlanScanInfo* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CWlanScanInfo();
+
+ /**
+ * Find the data of the first access point.
+ * @return Pointer at the beginning of the first access point stored
+ * in the scan list. NULL if not any.
+ */
+ const TWlanScanInfoFrame* First();
+
+ /**
+ * Find the data of the next access point.
+ * @return Pointer at the beginning of the next access point stored
+ * in the scan list. NULL if not any.
+ */
+ const TWlanScanInfoFrame* Next();
+
+ /**
+ * Find is there any more unhandled access points.
+ * @return EFalse if there is access points in the list left,
+ * ETrue if not.
+ */
+ TBool IsDone() const;
+
+ /**
+ * Return RX level of the BSS.
+ * @return RX level.
+ */
+ TUint8 RXLevel() const;
+
+ /**
+ * Return BSSID of the BSS.
+ * @param aBssid ID of the access point or IBSS network.
+ * @return Pointer to the beginning of the BSSID. Length is always 6 bytes.
+ */
+ void Bssid(
+ TWlanBssid& aBssid ) const;
+
+ /**
+ * Get capability of the BSS (see IEEE 802.11 section 7.3.1.4.
+ * @return The capability information.
+ */
+ TUint16 Capability() const;
+
+ /**
+ * Return requested information element.
+ * @param aIE Id of the requested IE data.
+ * @param aLength Length of the IE. Zero if IE not found.
+ * @param aData Pointer to the beginning of the IE data. NULL if IE not found.
+ * @return General error message.
+ */
+ TInt InformationElement(
+ TUint8 aIE,
+ TUint8& aLength,
+ const TUint8** aData );
+
+ /**
+ * Find whether Wi-Fi Protected Setup is supported.
+ * @return ETrue if AP supports Wi-Fi Protected Setup,
+ * EFalse if not.
+ */
+ TBool IsProtectedSetupSupported();
+
+ /**
+ * Get security mode of the BSS.
+ * @return security mode.
+ */
+ TWlanConnectionExtentedSecurityMode ExtendedSecurityMode() const;
+
+ private: // Data
+
+ /**
+ * Constructor.
+ */
+ CWlanScanInfo();
+
+ /**
+ * Returns the currently iterated AP.
+ */
+ QSharedPointer<WlanQtUtilsAp> GetCurrentAp() const;
+
+ };
+
+#endif // WLANSCANINFO_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/testwlanqtutils.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,1575 @@
+/*
+* Copyright (c) 2009-2010 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:
+* This is the source file for testing Wlan Qt Utilities library.
+*/
+
+#include <QApplication>
+#include <QtCore>
+#include <QTest>
+#include <QSignalSpy>
+#include <QSharedPointer>
+#include <rconnmon.h>
+#include <nifvar.h>
+#include <cmmanagerdefines_shim.h>
+
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutils.h"
+#include "wlanqtutils_p.h"
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsconmonwrapperinfo_symbian.h"
+#include "testwlanqtutils.h"
+#include "wlanqtutilstestcontext.h"
+
+WlanQtUtilsTestContext testContext;
+
+const QString TestWlanQtUtils::commsDatDefault_ = "default.cre";
+
+// ---------------------------------------------------------
+// FRAMEWORK FUNCTIONS
+// ---------------------------------------------------------
+
+/**
+ * Test main function. Runs all test cases.
+ */
+int main(int argc, char *argv[])
+{
+ QApplication app(argc, argv);
+
+ char *pass[3];
+ pass[0] = argv[0];
+ pass[1] = "-o";
+ pass[2] = "c:\\data\\wlanqtutils_qtest_log.txt";
+
+ TestWlanQtUtils tc;
+ int res = QTest::qExec(&tc, 3, pass);
+
+ return res;
+}
+
+/**
+ * This function will be called before the first test function is executed.
+ */
+void TestWlanQtUtils::initTestCase()
+{
+ wlanQtUtils_ = NULL;
+ mSignalScanReady = NULL;
+ mSignalScanApReady = NULL;
+ mSignalScanDirectReady = NULL;
+ signalWlanNetworkOpened_ = NULL;
+ signalWlanNetworkClosed_ = NULL;
+ signalIctResult_ = NULL;
+
+ //If Active scheduler exists then don't install a new one as it will cause panic
+ if (CActiveScheduler::Current() == NULL) {
+ CActiveScheduler *scheduler = new CActiveScheduler();
+ CActiveScheduler::Install(scheduler);
+ }
+}
+
+/**
+ * This function will be called after the last test function was executed.
+ */
+void TestWlanQtUtils::cleanupTestCase()
+{
+ // CommsDat file is initialized.
+ subTestLoadCommsDatFile(commsDatDefault_);
+}
+
+/**
+ * This function will be called before each test function is executed.
+ */
+void TestWlanQtUtils::init()
+{
+ // CommsDat file is initialized.
+ subTestLoadCommsDatFile(commsDatDefault_);
+
+ testContext.initialize();
+
+ QVERIFY(wlanQtUtils_ == NULL);
+ QVERIFY(mSignalScanReady == NULL);
+ QVERIFY(mSignalScanApReady == NULL);
+ QVERIFY(mSignalScanDirectReady == NULL);
+ QVERIFY(signalWlanNetworkOpened_ == NULL);
+ QVERIFY(signalWlanNetworkClosed_ == NULL);
+ QVERIFY(signalIctResult_ == NULL);
+ subTestNewWlanQtUtils();
+}
+
+/**
+ * This function will be called after each test function is executed.
+ */
+void TestWlanQtUtils::cleanup()
+{
+ delete wlanQtUtils_;
+ wlanQtUtils_ = NULL;
+
+ QCOMPARE(mSignalScanReady->count(), 0);
+ delete mSignalScanReady;
+ mSignalScanReady = NULL;
+
+ QCOMPARE(mSignalScanApReady->count(), 0);
+ delete mSignalScanApReady;
+ mSignalScanApReady = NULL;
+
+ QCOMPARE(mSignalScanDirectReady->count(), 0);
+ delete mSignalScanDirectReady;
+ mSignalScanDirectReady = NULL;
+
+ QCOMPARE(signalWlanNetworkOpened_->count(), 0);
+ delete signalWlanNetworkOpened_;
+ signalWlanNetworkOpened_ = NULL;
+
+ QCOMPARE(signalWlanNetworkClosed_->count(), 0);
+ delete signalWlanNetworkClosed_;
+ signalWlanNetworkClosed_ = NULL;
+
+ QCOMPARE(signalIctResult_->count(), 0);
+ delete signalIctResult_;
+ signalIctResult_ = NULL;
+}
+
+// ---------------------------------------------------------
+// TEST CASES
+// ---------------------------------------------------------
+
+/**
+ * Test available WLAN APs when scan is triggered by client.
+ */
+void TestWlanQtUtils::testAvailableWlan()
+{
+ testContext.mScan.createDefaultWlanScanApResultList(4);
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlans();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+ aps.clear();
+}
+
+/**
+ * Test available WLAN APs when scan is triggered by client.
+ * Two scan results have the same SSID and the latter one of those will be removed.
+ * Two scan results have the same SSID but different security mode
+ * Two scan results have the same SSID and security mode but different WpaPsk value
+ * and both are included in the results.
+ * Two scan results have the same SSID but different connection mode
+ */
+void TestWlanQtUtils::testAvailableWlanDuplicates()
+{
+ testContext.mScan.createDefaultWlanScanApResultList(11);
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID");
+ testContext.mScan.mWlanScanApResultList[2]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID");
+ testContext.mScan.mWlanScanApResultList[5]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID, different SecMode");
+ testContext.mScan.mWlanScanApResultList[5]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);
+ testContext.mScan.mWlanScanApResultList[6]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID, different SecMode");
+ testContext.mScan.mWlanScanApResultList[6]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeOpen);
+ testContext.mScan.mWlanScanApResultList[7]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID & SecMode diff Psk");
+ testContext.mScan.mWlanScanApResultList[7]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa2);
+ testContext.mScan.mWlanScanApResultList[9]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID & SecMode diff Psk");
+ testContext.mScan.mWlanScanApResultList[9]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa2);
+ testContext.mScan.mWlanScanApResultList[9]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,true);
+ testContext.mScan.mWlanScanApResultList[10]->setValue(WlanQtUtilsAp::ConfIdSsid, "Same SSID");
+ testContext.mScan.mWlanScanApResultList[10]->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Adhoc);
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlans();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+
+ // First remove AP that has duplicate SSID.
+ testContext.mScan.mWlanScanApResultList.removeAt(2);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+ aps.clear();
+}
+
+/**
+ * Test available WLAN APs when scan is triggered by client.
+ * Include all supported security modes.
+ */
+void TestWlanQtUtils::testAvailableWlanSecModes()
+{
+ testContext.mScan.createDefaultWlanScanApResultList(11);
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Adhoc);
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWep);
+ testContext.mScan.mWlanScanApResultList[2]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWep);
+ testContext.mScan.mWlanScanApResultList[3]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecMode802_1x);
+ testContext.mScan.mWlanScanApResultList[4]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+ testContext.mScan.mWlanScanApResultList[5]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+ testContext.mScan.mWlanScanApResultList[5]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ testContext.mScan.mWlanScanApResultList[6]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
+ testContext.mScan.mWlanScanApResultList[7]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
+ testContext.mScan.mWlanScanApResultList[7]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ testContext.mScan.mWlanScanApResultList[8]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWapi);
+ testContext.mScan.mWlanScanApResultList[9]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWapi);
+ // Let's trick the stub to return WapiPsk by putting WpaPskUse on *
+ testContext.mScan.mWlanScanApResultList[9]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ testContext.mScan.mWlanScanApResultList[10]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
+ testContext.mScan.mWlanScanApResultList[10]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ testContext.mScan.mWlanScanApResultList[10]->setValue(WlanQtUtilsAp::ConfIdWpsSupported, true);
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlans();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+
+ // Remove the trick *. WapiPsk and Wapi both map to just Wapi
+ testContext.mScan.mWlanScanApResultList[9]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,false);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+ aps.clear();
+}
+
+/**
+ * Test available WLAN APs when scan is triggered by client.
+ * Include some exotic ssids.
+ */
+void TestWlanQtUtils::testAvailableWlanSsids()
+{
+ testContext.mScan.createDefaultWlanScanApResultList(6);
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdSsid, " ");
+ testContext.mScan.mWlanScanApResultList[2]->setValue(WlanQtUtilsAp::ConfIdSsid, " whitespace around ssid ");
+ testContext.mScan.mWlanScanApResultList[3]->setValue(WlanQtUtilsAp::ConfIdSsid, QString(QChar()));
+ testContext.mScan.mWlanScanApResultList[4]->setValue(WlanQtUtilsAp::ConfIdSsid, "maximum length ssid that is 32 c");
+ testContext.mScan.mWlanScanApResultList[5]->setValue(WlanQtUtilsAp::ConfIdSsid, "A");
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlans();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+
+ // Empty ssids are removed from results
+ testContext.mScan.mWlanScanApResultList.removeAt(3);
+ testContext.mScan.mWlanScanApResultList.removeAt(1);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+}
+
+/**
+ * Test available WLAN APs when there are also WLAN IAPs available.
+ */
+void TestWlanQtUtils::testAvailableWlanWithIaps()
+{
+ // Form WLAN IAP scan result list
+ testContext.mScan.createDefaultWlanScanIapResultList(3);
+ testContext.mScan.mWlanScanIapResultList.removeAt(1);
+ testContext.mScan.mWlanScanIapResultList[0]->setValue(WlanQtUtilsIap::ConfIdIapId, 5);
+ testContext.mScan.mWlanScanIapResultList[1]->setValue(WlanQtUtilsIap::ConfIdIapId, 7);
+
+ // Form WLAN AP scan result list
+ testContext.mScan.createDefaultWlanScanApResultList(7);
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdSsid, "WLAN IAP 3");
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,true);
+ testContext.mScan.mWlanScanApResultList[5]->setValue(WlanQtUtilsAp::ConfIdSsid, "WLAN IAP 1");
+ // SSID is found in Internet Snap, but security mode does not match:
+ testContext.mScan.mWlanScanApResultList[6]->setValue(WlanQtUtilsAp::ConfIdSsid, "WLAN IAP 2");
+ testContext.mScan.mWlanScanApResultList[6]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlans();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+
+ // Verify WLAN IAP list
+ testContext.mScan.verifyWlanScanIapResultList(iaps);
+
+ // Verify WLAN AP list. First, remove scan results that will not appear
+ // because they are WLAN IAPs.
+ testContext.mScan.mWlanScanApResultList.removeAt(5);
+ testContext.mScan.mWlanScanApResultList.removeAt(1);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+
+ iaps.clear();
+ aps.clear();
+}
+
+/**
+ * Test refereshing of WLAN APs when client requests sequential scans.
+ */
+void TestWlanQtUtils::testAvailableWlanSequence()
+{
+ // **************** Before 1st scan ********************
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+ // Verify we have no results
+ QCOMPARE(aps.count(), 0);
+ QCOMPARE(iaps.count(), 0);
+
+ // **************** 1st scan ********************
+ // 6 APs are required for this scan
+ testContext.mScan.createDefaultWlanScanApResultList(6);
+
+ wlanQtUtils_->scanWlans();
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get the results for the 1st scan
+ wlanQtUtils_->availableWlans(iaps, aps);
+ // Verify the results for the scan
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+ aps.clear();
+
+ // **************** 2nd scan ********************
+ // 2 APs are required for this scan
+ testContext.mScan.createDefaultWlanScanApResultList(2);
+
+ wlanQtUtils_->scanWlans();
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get the results for the 2nd scan
+ wlanQtUtils_->availableWlans(iaps, aps);
+ // Verify the results for the scan
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+ aps.clear();
+
+ // **************** 3rd scan ********************
+ // 4 APs are required for the 3rd scan
+ testContext.mScan.createDefaultWlanScanApResultList(4);
+
+ wlanQtUtils_->scanWlans();
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get the results for the 3rd scan
+ wlanQtUtils_->availableWlans(iaps, aps);
+ // Verify the results for the scan
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+ aps.clear();
+}
+
+/**
+ * Test availability scan that finds nothing.
+ */
+void TestWlanQtUtils::testAvailableWlanScanEmpty()
+{
+ // Form result list
+ testContext.mScan.createDefaultWlanScanApResultList(0);
+
+ // Request a direct scan to get result signal
+ wlanQtUtils_->scanWlans();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ QCOMPARE(iaps.count(), 0);
+}
+
+/**
+ * Test WLAN availability scan failure.
+ */
+void TestWlanQtUtils::testAvailableWlanScanError()
+{
+ // Set the scan to fail
+ testContext.mScan.mApScanRetValue = KErrGeneral;
+
+ // Start the scan
+ wlanQtUtils_->scanWlans();
+
+ // Catch & check the scan result signal
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusError);
+}
+
+/**
+ * Test available WLAN APs when scan is triggered by client.
+ */
+void TestWlanQtUtils::testAvailableWlanAps()
+{
+ testContext.mScan.createDefaultWlanScanApResultList(4);
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlanAps();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlanAps(aps);
+
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ aps.clear();
+}
+
+/**
+ * Test a direct scan that finds nothing.
+ */
+void TestWlanQtUtils::testAvailableWlanApsScanEmpty()
+{
+ // Form result list
+ testContext.mScan.createDefaultWlanScanApResultList(0);
+
+ // Request a direct scan to get result signal
+ wlanQtUtils_->scanWlanAps();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlanAps(aps);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+}
+
+/**
+ * Test cancellation of WLAN AP scan.
+ */
+void TestWlanQtUtils::testStopWlanApScan()
+{
+ // Do not complete scan request immediately
+ testContext.mScan.mCompleteWlanApScan = false;
+
+ // Start the scan
+ wlanQtUtils_->scanWlanAps();
+ // Cancel the scan
+ wlanQtUtils_->stopWlanScan();
+
+ // Catch & check the scan result signal
+ subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusCancelled);
+}
+
+/**
+ * Test WLAN AP scan failure.
+ */
+void TestWlanQtUtils::testWlanApScanError()
+{
+ // Set the scan to fail
+ testContext.mScan.mApScanRetValue = KErrGeneral;
+
+ // Start the scan
+ wlanQtUtils_->scanWlanAps();
+
+ // Catch & check the scan result signal
+ subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusError);
+}
+
+/**
+ * Test WLAN AP scan with special characters.
+ */
+void TestWlanQtUtils::testAvailableWlanApsSpecialChars()
+{
+ testContext.mScan.createDefaultWlanScanApResultList(3);
+ // Set SSID's to include special characters
+ testContext.mScan.mWlanScanApResultList[0]->setValue(
+ WlanQtUtilsAp::ConfIdSsid,
+ "\x57\x41\x50\x49\xBD\xA7\xA4\xE4\xF6");
+ testContext.mScan.mWlanScanApResultList[1]->setValue(
+ WlanQtUtilsAp::ConfIdSsid,
+ "\x01\x02\x03\xAB\x43\x52\x41\x50\xBB\xA7\xA4\xFE\xFF");
+ testContext.mScan.mWlanScanApResultList[2]->setValue(
+ WlanQtUtilsAp::ConfIdSsid,
+ "12345678901234567890123456789012"); // Maximum SSID length of 32 bytes
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlanAps();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanApReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlanAps(aps);
+
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ aps.clear();
+}
+
+/**
+ * Test a basic direct scan.
+ */
+void TestWlanQtUtils::testDirectScanBasic()
+{
+ // Form result list
+ testContext.mScan.createDefaultWlanScanApResultList(2);
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdSsid, "testssid");
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdSsid, "testssid");
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdBssid, "654321");
+ testContext.mScan.mWlanScanApResultList[1]->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+
+ // Request a direct scan to get result signal
+ wlanQtUtils_->scanWlanDirect(QString("testssid"));
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlanAps(aps);
+
+ testContext.mScan.verifyWlanScanApResultList(aps);
+ aps.clear();
+}
+
+/**
+ * Test a direct scan that finds nothing.
+ */
+void TestWlanQtUtils::testDirectScanEmpty()
+{
+ // Form result list
+ testContext.mScan.createDefaultWlanScanApResultList(0);
+
+ // Request a direct scan to get result signal
+ wlanQtUtils_->scanWlanDirect(QString("notavailable"));
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusOk);
+
+ // Get and verify the list of available WLAN APs.
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlanAps(aps);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+}
+
+/**
+ * Test cancellation of direct scan.
+ */
+void TestWlanQtUtils::testDirectScanStop()
+{
+ // Do not complete scan request immediately
+ testContext.mScan.mCompleteWlanApScan = false;
+
+ // Start the scan
+ wlanQtUtils_->scanWlanDirect(QString("testssid"));
+ // Cancel the scan
+ wlanQtUtils_->stopWlanScan();
+
+ // Catch & check the scan result signal
+ subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusCancelled);
+}
+
+/**
+ * Test direct scan failure.
+ */
+void TestWlanQtUtils::testDirectScanError()
+{
+ // Set the scan to fail
+ testContext.mScan.mApScanRetValue = KErrGeneral;
+
+ // Start the scan
+ wlanQtUtils_->scanWlanDirect(QString("boundtofail"));
+
+ // Catch & check the scan result signal
+ subTestScanResultSignal(mSignalScanDirectReady, WlanQtUtils::ScanStatusError);
+}
+
+/**
+ * This function tests creation of WLAN IAP in a succesful manner.
+ * - WLAN scan is made because otherwise we cannot verify that IAP creation is successful.
+ * - Check that there are no available WLAN IAPs.
+ * - Fetch SNAP list.
+ * - Create WLAN IAP.
+ * - Check that WLAN IAP has been created and that this IAP is not in WLAN AP scan results.
+ */
+void TestWlanQtUtils::testCreateIapOk()
+{
+ // Form WLAN AP scan result list
+ testContext.mScan.createDefaultWlanScanApResultList(1);
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapOk");
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdSecurityMode,CMManagerShim::WlanSecModeWpa);
+ testContext.mScan.mWlanScanApResultList[0]->setValue(WlanQtUtilsAp::ConfIdWpaPskUse,true);
+
+ // Form WLAN IAP scan result list
+ testContext.mScan.createDefaultWlanScanIapResultList(0);
+
+ // Request a scan to get result signal
+ wlanQtUtils_->scanWlans();
+
+ // Let active object run and verify signal.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Ensure there are no WLAN IAPs but there is one scan result.
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ wlanQtUtils_->availableWlans(iaps, aps);
+
+ QCOMPARE(iaps.count(), 0);
+ testContext.mScan.verifyWlanScanApResultList(aps);
+
+ // Execute createIap() function
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapOk");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWpaPsk, "100euronlounas");
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+ QVERIFY(iapId != WlanQtUtils::IapIdNone);
+
+ // Form WLAN IAP scan result list
+ testContext.mScan.createDefaultWlanScanIapResultList(1);
+ testContext.mScan.mWlanScanIapResultList[0]->setValue(WlanQtUtilsIap::ConfIdIapId, iapId);
+ testContext.mScan.mWlanScanIapResultList[0]->setValue(WlanQtUtilsIap::ConfIdName, QString("testCreateIapOk"));
+ testContext.mScan.mWlanScanIapResultList[0]->setValue(WlanQtUtilsIap::ConfIdSsid, QString("testCreateIapOk"));
+ testContext.mScan.mWlanScanIapResultList[0]->setValue(WlanQtUtilsIap::ConfIdSecurityMode, (int)(CMManagerShim::WlanSecModeWpa));
+ testContext.mScan.mWlanScanIapResultList[0]->setValue(WlanQtUtilsIap::ConfIdWpaPskUse, true);
+
+ // Re-execute the scan so that scan lists get updated due to the IAP creation
+ wlanQtUtils_->scanWlans();
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+
+ // Verify that created IAP is in the IAP list and AP list is empty.
+ wlanQtUtils_->availableWlans(iaps, aps);
+ testContext.mScan.verifyWlanScanIapResultList(iaps);
+ QCOMPARE(aps.count(), 0);
+}
+
+/**
+ * This function tests creation of WLAN IAP in unsuccesful manner.
+ */
+void TestWlanQtUtils::testCreateIapErr()
+{
+ // Execute createIap() function with invalid parameters
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapErr");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+ // Invalid security mode -> exception
+ wlanAp->setValue(
+ WlanQtUtilsAp::ConfIdSecurityMode,
+ CMManager::EWlanSecModeWAPI + 1111);
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+ QVERIFY(iapId == WlanQtUtils::IapIdNone);
+}
+
+/**
+ * This function tests creation of WLAN IAPs with different WEP keys.
+ */
+void TestWlanQtUtils::testCreateIapWepKeys()
+{
+ // Create the IAPs with different kind of WEP keys
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testCreateIapWepKeys");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWep);
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex2);
+ // All keys in HEX format
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey1, "1234567891");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey2, "1234567891");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey3, "1234567891");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey4, "1234567891");
+
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+ QVERIFY(iapId != WlanQtUtils::IapIdNone);
+
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex3);
+ // All keys in ASCII format
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey1, "12345");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey2, "12345");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey3, "12345");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey4, "12345");
+
+ iapId = wlanQtUtils_->createIap(wlanAp.data());
+ QVERIFY(iapId != WlanQtUtils::IapIdNone);
+
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex4);
+ // Different keys, including a missing one
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey1, "");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey2, "12345678911234567892123456");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey3, "12345");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdWepKey4, "1234567891123");
+
+ iapId = wlanQtUtils_->createIap(wlanAp.data());
+ QVERIFY(iapId != WlanQtUtils::IapIdNone);
+}
+
+/**
+ * This function tests updating of WLAN IAP in a succesful manner.
+ */
+void TestWlanQtUtils::testUpdateIapOk()
+{
+ // Create an IAP that can be updated
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testUpdateIapOk");
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+
+ // Update the name and verify it changed
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "UPDATED_testUpdateIapOk");
+
+ bool success = wlanQtUtils_->updateIap(iapId, wlanAp.data());
+ QVERIFY(success == true);
+ QString name = wlanQtUtils_->iapName(iapId);
+ QCOMPARE(name, QString("UPDATED_testUpdateIapOk"));
+}
+
+/**
+ * This function tests updating of WLAN IAP in unsuccesful manner.
+ */
+void TestWlanQtUtils::testUpdateIapErr()
+{
+ // Try to update a non-existing IAP
+ WlanQtUtilsAp wlanAp;
+ bool success = wlanQtUtils_->updateIap(200, &wlanAp);
+ QVERIFY(success == false);
+}
+
+/**
+ * This function tests deletion of WLAN IAP in a succesful manner.
+ */
+void TestWlanQtUtils::testDeleteIapOk()
+{
+ // Create an IAP that can be deleted
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testDeleteIapOk");
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+
+ // Check that IAP now exists
+ QString name = wlanQtUtils_->iapName(iapId);
+ QCOMPARE(name, QString("testDeleteIapOk"));
+
+ // Delete it and verify it does not exist anymore
+ wlanQtUtils_->deleteIap(iapId);
+ name = wlanQtUtils_->iapName(iapId);
+ QVERIFY(name.isEmpty());
+}
+
+/**
+ * This function tests deletion of WLAN IAP in unsuccesful manner.
+ */
+void TestWlanQtUtils::testDeleteIapErr()
+{
+ // Try to delete a non-existing IAP
+ wlanQtUtils_->deleteIap(200);
+
+ // No signals or return values to verify
+}
+
+/**
+ * This function tests connecting to IAP in a succesful manner.
+ */
+void TestWlanQtUtils::testConnectIapOk()
+{
+ testContext.esock_.startRetValue_ = KErrNone;
+
+ // Esock stub completes connection creation immediately
+ wlanQtUtils_->connectIap(5);
+
+ // Connection creation in ConnMon interface
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ // Connection status change in ConnMon interface
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+
+ // Receive signal for connection opening (caused by connectIap, which completed immediately)
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 5);
+
+ // Connection status change to opened in ConnMon interface. Sub test cases between test
+ // cases check that no extra signals are sent
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+}
+
+/**
+ * This function tests connecting to IAP in unsuccesful manner.
+ */
+void TestWlanQtUtils::testConnectIapErr()
+{
+ testContext.esock_.startRetValue_ = KErrGeneral;
+
+ wlanQtUtils_->connectIap(7);
+
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 7);
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonDeleteConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 7);
+ QCOMPARE(arguments.at(1).toInt(), KErrGeneral);
+}
+
+// TODO: testDisconnectFail cases are needed when fail branches are
+// implemented into the connmon wrapper
+/**
+ * This function tests IAP disconnecting functionality.
+ */
+void TestWlanQtUtils::testDisconnectIapOk()
+{
+ // Create and connect an IAP we can then disconnect
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testDisconnectIapOk");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+ testContext.esock_.startRetValue_ = KErrNone;
+ wlanQtUtils_->connectIap(iapId);
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+
+ // Make sure there is the newly created connection active and also
+ // another one to gain coverage
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(2, iapId - 1);
+ // The disconnect function does not have any return values or
+ // signals related to the disconnection, thus plain
+ // function call is done for the test.
+ wlanQtUtils_->disconnectIap(iapId);
+}
+
+/**
+ * This function tests IAP disconnecting functionality when there is no
+ * IAP to disconnect.
+ */
+void TestWlanQtUtils::testDisconnectIapIgnored()
+{
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 150);
+ wlanQtUtils_->disconnectIap(200);
+ wlanQtUtils_->disconnectIap(WlanQtUtils::IapIdNone);
+}
+
+/**
+ * This function tests connection status getter.
+ */
+void TestWlanQtUtils::testConnectionStatus()
+{
+ // Request status when there is no connection
+ WlanQtUtils::ConnStatus status = wlanQtUtils_->connectionStatus();
+ QCOMPARE(status, WlanQtUtils::ConnStatusDisconnected);
+
+ // Make a connection and request its status
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+ // Send event for connection creation.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+ // Send events for connection status change -> connecting
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KStartingConnection));
+
+ // Request status when there is connection in connecting state
+ status = wlanQtUtils_->connectionStatus();
+ QCOMPARE(status, WlanQtUtils::ConnStatusConnecting);
+
+ // Send events for connection status change -> connected
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 5);
+
+ // Request status when there is connection in connected state
+ status = wlanQtUtils_->connectionStatus();
+ QCOMPARE(status, WlanQtUtils::ConnStatusConnected);
+}
+
+/**
+ * This function tests IAP name getter with existing IAP ID.
+ */
+void TestWlanQtUtils::testIapNameFound()
+{
+ // Create the IAP we want to find with the getter
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testIapFound");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa2);
+
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+
+ // Execute the function under test and check that we got the correct name
+ QString name = wlanQtUtils_->iapName(iapId);
+ QCOMPARE(name, QString("testIapFound"));
+}
+
+/**
+ * This function tests IAP name getter with non-existing IAP ID.
+ */
+void TestWlanQtUtils::testIapNameNotFound()
+{
+ // Execute the function under test and check that we get no name as result
+ QString name = wlanQtUtils_->iapName(200); // id in valid range, but not found -> KErrNotFound
+ QVERIFY(name.isEmpty());
+
+ name = wlanQtUtils_->iapName(1000); // id not in valid range -> KErrArgument
+ QVERIFY(name.isEmpty());
+
+ name = wlanQtUtils_->iapName(3); // id of cellular IAP -> discarded
+ QVERIFY(name.isEmpty());
+}
+
+/**
+ * This function tests active WLAN IAP getter with existing connection.
+ */
+void TestWlanQtUtils::testActiveIapFound()
+{
+ // Create the IAP we want to find with the getter
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectedWlanIdFound");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
+
+ // Send event for connection creation.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ // Send events for connection status change -> opened.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KStartingConnection));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+
+ // Execute the function under test and check that we get valid ID as result
+ int id = wlanQtUtils_->activeIap();
+ QCOMPARE(id, iapId);
+}
+
+/**
+ * This function tests active WLAN IAP getter with connection existing already during dll construction.
+ */
+void TestWlanQtUtils::testActiveIapFoundConstructor()
+{
+ // IAP IDs 4 and 5 exist in default commsdat file, 4 is GPRS, 5 is WLAN
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(2, 4);
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connMonBearerType_ = EBearerGPRS;
+
+ // Create a new instance in order to test functionality triggered in constructor.
+ WlanQtUtils *utils = new WlanQtUtils();
+
+ // Execute the function under test and check that we get valid ID as result
+ int id = utils->activeIap();
+ QCOMPARE(id, 5);
+
+ delete utils;
+}
+
+/**
+ * This function tests active WLAN IAP getter without existing connection.
+ */
+void TestWlanQtUtils::testActiveIapNotFound()
+{
+ // Execute the function under test and check that we get invalid ID as result
+ int id = wlanQtUtils_->activeIap();
+ QCOMPARE(id, WlanQtUtils::IapIdNone);
+}
+
+/**
+ * Test WLAN scan triggering interface.
+ */
+void TestWlanQtUtils::testScanWlans()
+{
+ // Execute function under test
+ wlanQtUtils_->scanWlans();
+
+ // No need to verify scan results here, testAvailableWlan* test cases
+ // are for that. Just make sure the result signal is received.
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusOk);
+}
+
+/**
+ * Test WLAN scan result ignoring & deletion during an ongoing request.
+ */
+void TestWlanQtUtils::testScanWlansIgnored()
+{
+ // Do not complete scan request immediately
+ testContext.mScan.mCompleteWlanApScan = false;
+
+ // Execute function under test
+ wlanQtUtils_->scanWlans();
+
+ // Ongoing scan is cancelled in destructors
+}
+
+/**
+ * Test WLAN scan stopping interface when scan is active.
+ */
+void TestWlanQtUtils::testStopWlanScanOk()
+{
+ // Do not complete scan request immediately
+ testContext.mScan.mCompleteWlanApScan = false;
+ // Start a scan
+ wlanQtUtils_->scanWlans();
+ // Execute function under test
+ wlanQtUtils_->stopWlanScan();
+
+ // Catch & check the scan result signal
+ subTestScanResultSignal(mSignalScanReady, WlanQtUtils::ScanStatusCancelled);
+}
+
+/**
+ * Test WLAN scan stopping interface when no scan is ongoing.
+ */
+void TestWlanQtUtils::testStopWlanScanIgnored()
+{
+ // Stop without having an active scan
+ wlanQtUtils_->stopWlanScan();
+
+ // No return values or signals to verify
+}
+
+/**
+ * This function tests Wlan network opening signal when network is not opened by the dll.
+ */
+void TestWlanQtUtils::testWlanNetworkOpened()
+{
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+
+ // Send event for connection creation.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ // Send events for connection status change -> opened.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConfigDaemonFinishedRegistration));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 5);
+
+ // Send uninteresting event to gain coverage
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonNetworkStatusChange,
+ 10));
+}
+
+/**
+ * This function tests Wlan network closing signal when network is not closed by the dll.
+ */
+void TestWlanQtUtils::testWlanNetworkClosed()
+{
+ // First create a connection
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+
+ // Send event for connection creation.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ // Send events for connection status change -> opened.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 5);
+
+ // Send event for connection status change -> closed.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerClosed));
+
+ // Send event for connection deletion.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonDeleteConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 5);
+ QCOMPARE(arguments.at(1).toInt(), KErrNone);
+}
+
+/**
+ * This function tests WlanQtUtilsAp copy constructor.
+ */
+void TestWlanQtUtils::testApCopyConstructor()
+{
+ WlanQtUtilsAp firstAp;
+ firstAp.setValue(WlanQtUtilsAp::ConfIdSsid, "testApCopyConstructor");
+ firstAp.setValue(WlanQtUtilsAp::ConfIdSignalStrength, 90);
+ firstAp.setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ firstAp.setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+ firstAp.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ firstAp.setValue(WlanQtUtilsAp::ConfIdWpaPsk, "100euronlounas");
+
+ // Create the copy AP
+ WlanQtUtilsAp secondAp(firstAp);
+ QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdSsid).toString(), QString("testApCopyConstructor"));
+ QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(), (int)(CMManagerShim::WlanSecModeWpa));
+ QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool(), true);
+ QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdSignalStrength).toInt(), 90);
+ QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdConnectionMode).toInt(), (int)(CMManagerShim::Infra));
+ QCOMPARE(secondAp.value(WlanQtUtilsAp::ConfIdWpaPsk).toString(), QString("100euronlounas"));
+}
+
+/**
+ * This function tests ICT when connection test passes.
+ */
+void TestWlanQtUtils::testConnectionTestOk()
+{
+ // Create new IAP to test
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestOk");
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+ QVERIFY(iapId != WlanQtUtils::IapIdNone);
+
+ testContext.esock_.startRetValue_ = KErrNone;
+
+ // Esock stub completes connection creation immediately
+ wlanQtUtils_->connectIap(iapId, true);
+
+ // Connection creation in ConnMon interface
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ // Connection status change in ConnMon interface
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+
+ // Receive signal for connection opening (caused by connectIap, which completed immediately)
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+
+ // Connection status change to opened in ConnMon interface. Sub test cases between test
+ // cases check that no extra signals are sent
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ // Connection test automatically started at this point. Call result function explicitly
+ // No interface exists that we could check that the IAP is moved to Internet SNAP correctly
+ wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsPassed);
+
+ subTestSignalWaitAndTake(signalIctResult_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+ QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctPassed);
+}
+
+/**
+ * This function tests ICT when connection test fails.
+ */
+void TestWlanQtUtils::testConnectionTestErr()
+{
+ // Create and connect an IAP and request ICT to be run
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestErr1");
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+ wlanQtUtils_->connectIap(iapId, true);
+
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ // Connection test automatically started at this point. Call result function explicitly
+ // No interface exists that we could check that IAP is not moved to another SNAP
+ wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsFailed);
+
+ subTestSignalWaitAndTake(signalIctResult_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+ QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctFailed);
+
+ // Repeat with cancel status
+ // Send event for connection status change -> closed.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerClosed));
+
+ // Send event for connection deletion.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonDeleteConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+ QCOMPARE(arguments.at(1).toInt(), KErrNone);
+
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestErr2");
+
+ iapId = wlanQtUtils_->createIap(wlanAp.data());
+ wlanQtUtils_->connectIap(iapId, true);
+
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ // Connection test automatically started at this point. Call result function explicitly
+ // No interface exists that we could check that IAP is not moved to another SNAP
+ wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsCanceled);
+
+ subTestSignalWaitAndTake(signalIctResult_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+ QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctCancelled);
+}
+
+/**
+ * This function tests ICT when connection test passes in hotspot case.
+ */
+void TestWlanQtUtils::testConnectionTestHotspot()
+{
+ // Create new IAP to test
+ QScopedPointer<WlanQtUtilsAp> wlanAp(subTestNewAp());
+ wlanAp->setValue(WlanQtUtilsAp::ConfIdSsid, "testConnectionTestHotspot");
+ int iapId = wlanQtUtils_->createIap(wlanAp.data());
+ QVERIFY(iapId != WlanQtUtils::IapIdNone);
+
+ testContext.esock_.startRetValue_ = KErrNone;
+
+ // Esock stub completes connection creation immediately
+ wlanQtUtils_->connectIap(iapId, true);
+
+ // Connection creation in ConnMon interface
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ // Connection status change in ConnMon interface
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+
+ // Receive signal for connection opening (caused by connectIap, which completed immediately)
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+
+ // Connection status change to opened in ConnMon interface. Sub test cases between test
+ // cases check that no extra signals are sent
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ // Connection test automatically started at this point.
+ // Call hotspot case slot explicitly
+ wlanQtUtils_->d_ptr->updateIctHotspotCase();
+
+ // Call result function explicitly
+ // No interface exists that we could check that the IAP is not moved to another SNAP
+ wlanQtUtils_->d_ptr->updateIctResult(IctsWlanLoginInterface::IctsHotspotPassed);
+
+ subTestSignalWaitAndTake(signalIctResult_, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), iapId);
+ QCOMPARE(arguments.at(1).toInt(), (int)WlanQtUtils::IctHotspotPassed);
+}
+
+/**
+ * This function tests that Gprs connection events are ignored.
+ */
+void TestWlanQtUtils::testConnMonEventGprs()
+{
+ // First create a connection
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 4);
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connMonBearerType_ = EBearerGPRS;
+
+ // Send event for connection creation.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonCreateConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ // Send events for connection status change -> opened.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ // Send event for connection status change -> closed.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerClosed));
+
+ // Send event for connection deletion.
+ wlanQtUtils_->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonDeleteConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+}
+
+/**
+ * This function tests ConnMon event handling with connection existing already during dll construction.
+ */
+void TestWlanQtUtils::testConnMonEventCreatedBeforeConstructor()
+{
+ // IAP ID 5 exists in default commsdat file
+ testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+
+ // Create a new instance in order to test functionality triggered in constructor.
+ WlanQtUtils *utils = new WlanQtUtils();
+
+ QSignalSpy *signalWlanNetworkOpened = new QSignalSpy(utils, SIGNAL(wlanNetworkOpened(int)));
+ QVERIFY(signalWlanNetworkOpened->isValid() == true);
+ QSignalSpy *signalWlanNetworkClosed = new QSignalSpy(utils, SIGNAL(wlanNetworkClosed(int, int)));
+ QVERIFY(signalWlanNetworkClosed->isValid() == true);
+
+ // Send events for connection status change -> opened.
+ utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KConnectionOpen));
+ utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerOpen));
+
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(signalWlanNetworkOpened, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 5);
+
+ // Send event for connection status change -> closed.
+ utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonConnectionStatusChange(
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+ 0,
+ KLinkLayerClosed));
+
+ // Send event for connection deletion.
+ utils->d_ptr->mConMonWrapper->d_ptrInfo->EventL(CConnMonEventBase(
+ EConnMonDeleteConnection,
+ testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+ subTestSignalWaitAndTake(signalWlanNetworkClosed, &arguments);
+ QCOMPARE(arguments.at(0).toInt(), 5);
+ QCOMPARE(arguments.at(1).toInt(), KErrNone);
+
+ delete signalWlanNetworkOpened;
+ delete signalWlanNetworkClosed;
+ delete utils;
+}
+
+// ---------------------------------------------------------
+// SUB TEST CASES
+// ---------------------------------------------------------
+
+/**
+ * This function waits for active objects to get time to run, takes the arguments of the
+ * first signal and returns them from the given signal spy.
+ * This function also verifies that the number of signals is 1.
+ *
+ * @param[in] spy Signal spy.
+ * @param[out] arguments Arguments of the first signal in the given signal spy. NULL if arguments not needed.
+ */
+void TestWlanQtUtils::subTestSignalWaitAndTake(QSignalSpy* spy, QList<QVariant>* arguments)
+{
+ QTest::qWait(1);
+ QCOMPARE(spy->count(), 1);
+ QList<QVariant> arguments_tmp = spy->takeFirst();
+ if (arguments != NULL) {
+ *arguments = arguments_tmp;
+ }
+}
+
+/**
+ * Test case for catching and verifying the scan result signal.
+ *
+ * @param [in] status Scan result status.
+ */
+void TestWlanQtUtils::subTestScanResultSignal(QSignalSpy* spy, int status)
+{
+ QList<QVariant> arguments;
+ subTestSignalWaitAndTake(spy, &arguments);
+ QCOMPARE(arguments.length(), 1);
+ QCOMPARE(arguments.at(0).toInt(), status);
+}
+
+/**
+ * This function loads given CommsDat file, replacing current one.
+ * If CommsDat file doesn't exist, it can be re-created by commanding WST script.
+ * Using help switch is a quick way:
+ * run_wst HELP
+ *
+ * @param newCommsdatFilename Filename of the new CommsDat to be loaded.
+ */
+void TestWlanQtUtils::subTestLoadCommsDatFile(QString newCommsdatFilename)
+{
+ // EPOC's CommsDat filename
+ const QString epocCommsdatFilename("cccccc00.cre");
+ // EPOC's directory for CommsDat file
+ const QString commsdatDir("c:\\private\\10202be9\\persists\\");
+ // Created backup directory under EPOC for CommsDat files
+ const QString storeDir("c:\\private\\10202be9\\persists\\backup\\");
+ QString nameOld = commsdatDir + epocCommsdatFilename;
+ QString nameDefault = storeDir + newCommsdatFilename;
+
+ // First remove the old CommsDat file.
+ Q_ASSERT(QFile::remove(nameOld) == TRUE);
+
+ // Copy the stored default CommsDat file.
+ Q_ASSERT(QFile::copy(nameDefault, nameOld) == TRUE);
+}
+
+/**
+ *
+ */
+void TestWlanQtUtils::subTestNewWlanQtUtils()
+{
+ delete wlanQtUtils_;
+ wlanQtUtils_ = new WlanQtUtils();
+
+ delete mSignalScanReady;
+ mSignalScanReady = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanScanReady(int)));
+ QVERIFY(mSignalScanReady->isValid() == true);
+
+ delete mSignalScanApReady;
+ mSignalScanApReady = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanScanApReady(int)));
+ QVERIFY(mSignalScanApReady->isValid() == true);
+
+ delete mSignalScanDirectReady;
+ mSignalScanDirectReady = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanScanDirectReady(int)));
+ QVERIFY(mSignalScanDirectReady->isValid() == true);
+
+ delete signalWlanNetworkOpened_;
+ signalWlanNetworkOpened_ = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanNetworkOpened(int)));
+ QVERIFY(signalWlanNetworkOpened_->isValid() == true);
+
+ delete signalWlanNetworkClosed_;
+ signalWlanNetworkClosed_ = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanNetworkClosed(int, int)));
+ QVERIFY(signalWlanNetworkClosed_->isValid() == true);
+
+ delete signalIctResult_;
+ signalIctResult_ = new QSignalSpy(wlanQtUtils_, SIGNAL(ictResult(int, int)));
+ QVERIFY(signalIctResult_->isValid() == true);
+}
+
+/**
+ * Create a new AP and fill it with default values.
+ */
+WlanQtUtilsAp *TestWlanQtUtils::subTestNewAp()
+{
+ WlanQtUtilsAp *ap = new WlanQtUtilsAp;
+
+ // Set default values
+ ap->setValue(WlanQtUtilsAp::ConfIdSsid, QString());
+ ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 90);
+ ap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
+ ap->setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
+ ap->setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
+ ap->setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
+ ap->setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
+ ap->setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1);
+ ap->setValue(WlanQtUtilsAp::ConfIdHidden, false);
+ ap->setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, false);
+
+ return ap;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/testwlanqtutils.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,144 @@
+/*
+* Copyright (c) 2009-2010 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:
+* This is the header file for testing Wlan Qt Utilities library.
+*/
+
+#ifndef TESTWLANQTUTILS_H
+#define TESTWLANQTUTILS_H
+
+#include <QObject>
+
+class QSignalSpy;
+class WlanQtUtils;
+class WlanQtUtilsAp;
+
+class TestWlanQtUtils: public QObject
+{
+ Q_OBJECT
+
+private slots:
+
+ // Functions from QTest framework.
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+ // Test functions for public interface.
+
+ // scanWlans()
+ void testAvailableWlan();
+ void testAvailableWlanDuplicates();
+ void testAvailableWlanSecModes();
+ void testAvailableWlanSsids();
+ void testAvailableWlanWithIaps();
+ void testAvailableWlanSequence();
+ void testAvailableWlanScanEmpty();
+ void testAvailableWlanScanError();
+
+ // scanWlanAps()
+ void testAvailableWlanAps();
+ void testAvailableWlanApsScanEmpty();
+ void testStopWlanApScan();
+ void testWlanApScanError();
+ void testAvailableWlanApsSpecialChars();
+
+ // scanWlanDirect()
+ void testDirectScanBasic();
+ void testDirectScanEmpty();
+ void testDirectScanStop();
+ void testDirectScanError();
+
+ void testCreateIapOk();
+ void testCreateIapErr();
+ void testCreateIapWepKeys();
+
+ void testUpdateIapOk();
+ void testUpdateIapErr();
+
+ void testDeleteIapOk();
+ void testDeleteIapErr();
+
+ void testConnectIapOk();
+ void testConnectIapErr();
+
+ void testDisconnectIapOk();
+ void testDisconnectIapIgnored();
+
+ void testConnectionStatus();
+
+ void testIapNameFound();
+ void testIapNameNotFound();
+
+ void testActiveIapFound();
+ void testActiveIapFoundConstructor();
+ void testActiveIapNotFound();
+
+ void testScanWlans();
+ void testScanWlansIgnored();
+
+ void testStopWlanScanOk();
+ void testStopWlanScanIgnored();
+
+ void testWlanNetworkOpened();
+ void testWlanNetworkClosed();
+
+ void testApCopyConstructor();
+
+ // Test functions for private implementation (tested via public interface)
+ void testConnectionTestOk();
+ void testConnectionTestErr();
+ void testConnectionTestHotspot();
+
+ void testConnMonEventGprs();
+ void testConnMonEventCreatedBeforeConstructor();
+
+private:
+
+ // Helper functions, that is, sub test cases.
+ void subTestSignalWaitAndTake(QSignalSpy *spy, QList<QVariant> *arguments);
+ void subTestScanResultSignal(QSignalSpy* spy, int status);
+ void subTestLoadCommsDatFile(QString newCommsdatFilename);
+ void subTestNewWlanQtUtils();
+ WlanQtUtilsAp *subTestNewAp();
+
+ // Member variables.
+ WlanQtUtils *wlanQtUtils_;
+ QSignalSpy *mSignalScanReady;
+ QSignalSpy *mSignalScanApReady;
+ QSignalSpy *mSignalScanDirectReady;
+ QSignalSpy *signalWlanNetworkOpened_;
+ QSignalSpy *signalWlanNetworkClosed_;
+ QSignalSpy *signalIctResult_;
+
+ /* Default CommsDat file name
+ SNAP ID=3: Internet:
+ IAP ID = 1: packet data 1
+ IAP ID = 3: packet data 2
+ IAP ID = 4: packet data 3
+ IAP ID = 5: WLAN IAP 1, EWlanSecModeOpen
+ IAP ID = 6: WLAN IAP 2, EWlanSecModeWep, w2key
+ IAP ID = 7: WLAN IAP 3, EWlanSecModeWpa, wlan3key
+ SNAP ID = 4: Multimedia msg.
+ SNAP ID = 5: WAP services
+ SNAP ID = 6: My Snap:
+ IAP ID = 8: Home WLAN, EWlanSecModeOpen
+ IAP ID = 9: Streaming
+ */
+ static const QString commsDatDefault_;
+};
+
+#endif // TESTWLANQTUTILS_H
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/testwlanqtutils.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,104 @@
+#
+# Copyright (c) 2009-2010 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:
+# Test library for WlanQtUtils class.
+#
+
+QT += testlib
+
+TEMPLATE = app
+TARGET = t_wlanqtutils
+
+TARGET.CAPABILITY = ALL -TCB
+
+DEPENDPATH += .
+
+#Store generated files to their own directory
+MOC_DIR = build
+
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+symbian: {
+ MMP_RULES += "USERINCLUDE traces"
+}
+
+# Stub headers must be used instead of real ones
+symbian {
+ MMP_RULES += "USERINCLUDE stubs"
+}
+
+#BUILD_DLL macro is used to define export macro
+DEFINES += BUILD_WLANQTUTILITIES_DLL
+
+INCLUDEPATH += \
+ . \
+ stubs \
+ ../../inc \
+ ../base/inc \
+ ../wrapper/inc \
+ ../traces
+
+# Input
+HEADERS += \
+ testwlanqtutils.h \
+ context/wlanqtutilstestcontext.h \
+ ../base/inc/wlanqtutils.h \
+ ../base/inc/wlanqtutils_p.h \
+ ../base/inc/wlanqtutilsiap.h \
+ ../base/inc/wlanqtutilsiapsettings.h \
+ ../base/inc/wlanqtutilsap.h \
+ ../base/inc/wlanqtutilsconnection.h \
+ ../wrapper/inc/wlanqtutilsconmonwrapper.h \
+ ../wrapper/inc/wlanqtutilsesockwrapper.h \
+ ../wrapper/inc/wlanqtutilsscan.h \
+ ../traces/OstTraceDefinitions.h
+
+SOURCES += \
+ testwlanqtutils.cpp \
+ context/wlanqtutilstestcontext.cpp \
+ ../base/src/wlanqtutils.cpp \
+ ../base/src/wlanqtutils_p.cpp \
+ ../base/src/wlanqtutilsiap.cpp \
+ ../base/src/wlanqtutilsap.cpp \
+ ../base/src/wlanqtutilsconnection.cpp \
+ ../base/src/wlanqtutilsiapsettings.cpp \
+ ../wrapper/src/wlanqtutilsconmonwrapper.cpp \
+ ../wrapper/src/wlanqtutilsesockwrapper.cpp \
+ ../wrapper/src/wlanqtutilsscan.cpp
+
+symbian: {
+ HEADERS += \
+ ../wrapper/inc/wlanqtutilsconmonwrapperdisconnect_symbian.h \
+ ../wrapper/inc/wlanqtutilsconmonwrapperinfo_symbian.h \
+ ../wrapper/inc/wlanqtutilsesockwrapper_symbian.h \
+ ../wrapper/inc/wlanqtutilsscanap_symbian.h \
+ ../wrapper/inc/wlanqtutilsscaniap_symbian.h \
+ stubs/ictswlanlogininterface.h \
+ stubs/wlanmgmtclient.h \
+ stubs/wlanscaninfo.h
+
+ SOURCES += \
+ ../wrapper/src/wlanqtutilsconmonwrapperdisconnect_symbian.cpp \
+ ../wrapper/src/wlanqtutilsconmonwrapperinfo_symbian.cpp \
+ ../wrapper/src/wlanqtutilsesockwrapper_symbian.cpp \
+ ../wrapper/src/wlanqtutilsscanap_symbian.cpp \
+ ../wrapper/src/wlanqtutilsscaniap_symbian.cpp \
+ stubs/stub_connmon.cpp \
+ stubs/stub_esock.cpp \
+ stubs/stub_ictswlanlogininterface.cpp \
+ stubs/stub_wlanmgmtclient.cpp \
+ stubs/stub_wlanscaninfo.cpp
+}
+
+LIBS += -lconnmon -lconnection_settings_shim -lextendedconnpref -lnetmeta -lesock -lcharconv
Binary file wlanutilities/wlanqtutilities/tsrc/tools/default.cre has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/tools/make_wst.bat Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,197 @@
+::=============================================================================
+:: Copyright (c) 2009-2010 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:
+:: Wlan Qt Utilities test execution script
+::=============================================================================
+::
+:: Following commands are implemented:
+:: - CLEAN_OLD_FILES
+:: - COMPILE_WLANQTUTILS
+:: - COMPILE_TEST_CASES
+:: - RUN_TEST_CASES
+:: - GENERATE_REPORTS
+:: - SHOW_RESULTS
+:: - START_BROWSER
+::=============================================================================
+
+::-----------------------------------------------------------------------------
+:: Do the preparations:
+:: - Don't show the commands
+:: - Use local parameters -- don't pollute the global one
+::-----------------------------------------------------------------------------
+@echo off
+
+echo *** WST_MAKE: START:
+setlocal
+
+::-----------------------------------------------------------------------------
+:: Check input
+::
+:: Parameters that are required:
+:: 1) wst_root_dir
+:: 2) log_file_name
+:: 3) the command
+::-----------------------------------------------------------------------------
+
+:: (1)
+if not exist %1 goto ERROR
+if [%1]==[] goto ERROR
+set wst_root_dir=%1
+set wst_log_dir=%1\wst_log
+set wst_report_dir=%1\wst_report
+set wlanqtutils_root_dir=%1\..\..
+set wlanqtutils_test_dir=%1\..
+
+:: (2)
+if [%2]==[] goto ERROR
+set log_file_name=%2
+set log_file=%wst_log_dir%\%log_file_name%
+if not exist %log_file% goto ERROR
+echo *** DATE AND TIME: %date%, %time% >> %log_file%
+echo *** WST_MAKE: INFO: Wlan Qt Utilities root dir: %wlanqtutils_root_dir%
+echo *** WST_MAKE: INFO: Wlan Qt Utilities test dir: %wlanqtutils_test_dir%
+echo *** WST_MAKE: INFO: WST log dir: %wst_log_dir%
+echo *** WST_MAKE: INFO: WST log file: %log_file%
+
+:: (3)
+if [%3]==[] goto ERROR
+goto %3
+
+:: Error if label not found.
+goto ERROR
+
+::-----------------------------------------------------------------------------
+:CLEAN_OLD_FILES
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: CLEAN_OLD_FILES:
+echo *** WST_LOG: CLEAN_OLD_FILES >> %log_file%
+
+move %wst_log_dir%\%log_file_name% %wst_root_dir%
+del /F /S /Q %wst_log_dir%\*
+del /F /S /Q %wst_report_dir%\*
+rmdir /S /Q %wst_log_dir%\CMTHTML
+rmdir /S /Q %wst_log_dir%\CTCHTML
+move %wst_root_dir%\%log_file_name% %wst_log_dir%
+del \epoc32\winscw\c\data\wlanqtutils_qtest_log.txt
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:COMPILE_WLANQTUTILS
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: COMPILE_WLANQTUTILS:
+echo *** WST_LOG: COMPILE_WLANQTUTILS >> %log_file%
+
+cd %wlanqtutils_root_dir%
+call qmake >> %log_file% 2>&1
+call sbs -c winscw reallyclean >> %log_file% 2>&1
+call sbs -c winscw_udeb >> %log_file% 2>&1
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:COMPILE_TEST_CASES
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: COMPILE_TEST_CASES:
+echo *** WST_LOG: COMPILE_TEST_CASES >> %log_file%
+
+cd %wlanqtutils_test_dir%
+call qmake "CONFIG -= debug" >> %log_file% 2>&1
+call sbs -c winscw reallyclean >> %log_file% 2>&1
+:: Call CTC instrumentation script. Source directories hard coded, because NO_EXCLUDE does not like % characters...
+call ctcwrap -C EXCLUDE=* -C NO_EXCLUDE+..\base\src\*.cpp,..\wrapper\src\*.cpp -2comp -n %wst_log_dir%\MON.sym -i m -v sbs -c winscw_udeb >> %log_file% 2>&1
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:RUN_TEST_CASES
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: RUN_TEST_CASES:
+echo *** WST_LOG: RUN_TEST_CASES >> %log_file%
+
+call \epoc32\release\winscw\udeb\t_wlanqtutils.exe -o c:\data\wlanqtutils_qtest_log.txt
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:GENERATE_REPORTS
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: GENERATE_REPORTS:
+echo *** WST_LOG: GENERATE_REPORTS >> %log_file%
+
+cd %wst_log_dir%
+
+call ctcpost -p %wst_log_dir%\ctc_coverage.txt
+call ctc2html -nsb -i %wst_log_dir%\ctc_coverage.txt
+
+call dir /s /b %wlanqtutils_root_dir%\*.cpp > %wst_log_dir%\raw_filelist.txt
+
+call findstr /I /V "moc_" %wst_log_dir%\raw_filelist.txt > %wst_log_dir%\filelist.txt
+call cmt -f %wst_log_dir%\filelist.txt -o cmt_metrics.txt >> %log_file%
+call cmt2html -nsb -i cmt_metrics.txt
+
+:: Clean up temp files
+call del %wst_log_dir%\*filelist.txt
+
+echo *** WST_MAKE: COPY LOGS:
+call copy %TEMP%\epocwind.out %wst_log_dir%\epocwind.txt
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:SHOW_RESULTS
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: SHOW_RESULTS:
+echo *** WST_LOG: SHOW_RESULTS >> %log_file%
+echo *** Module tests:
+call findstr /C:"Totals: " \epoc32\winscw\c\data\wlanqtutils_qtest_log.txt
+echo *** Coverage:
+call findstr /C:"Number of " %wst_log_dir%\ctc_coverage.txt
+call findstr /C:"TER " %wst_log_dir%\ctc_coverage.txt
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:START_BROWSER
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: START_BROWSER:
+echo *** WST_LOG: START_BROWSER >> %log_file%
+echo.
+echo Starting up browser to show the results
+
+start %wst_root_dir%\wst_report\coverage.html
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:ERROR
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: ERROR:
+endlocal
+echo wst_make *** Error (unknown parameter) >> %log_file%
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:THE_END
+::-----------------------------------------------------------------------------
+echo *** WST_MAKE: END:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/tools/run_wst.bat Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,173 @@
+::=============================================================================
+:: Copyright (c) 2009-2010 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:
+:: Wlan Qt Utilities test execution script
+::=============================================================================
+
+:: Script(s) uses following environment settings:
+:: - CD
+:: - DATE
+:: - TIME
+:: - TEMP
+
+
+::-----------------------------------------------------------------------------
+:: Do the preparations:
+:: - Don't show the commands
+:: - Use local parameters -- don't pollute the global one
+:: - Dim the lights for time of script execution
+:: - Store the current working directory
+::-----------------------------------------------------------------------------
+
+@echo off
+echo *** RUN_WST: START:
+setlocal
+color 08
+pushd .
+if not exist run_wst.bat goto INVALID_DIR
+
+
+::-----------------------------------------------------------------------------
+:: Set the local variables
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: SET VARIABLES:
+set wst_root_dir=%cd%
+set wst_log_dir=%wst_root_dir%\wst_log
+set wst_report_dir=%wst_root_dir%\wst_report
+set log_file=%wst_log_dir%\wst_log.txt
+set build_script=make_wst.bat
+set epoc_commsdat_dir=\epoc32\winscw\c\private\10202be9\persists
+if not exist %epoc_commsdat_dir% goto INVALID_DIR
+set epoc_backup_dir=%epoc_commsdat_dir%\backup
+set ut_commsdat_dir=%wst_root_dir%
+if not exist %ut_commsdat_dir% goto INVALID_DIR
+set ut_commsdat_file_default=%ut_commsdat_dir%\default.cre
+if not exist %ut_commsdat_file_default% goto INVALID_DIR
+set ut_commsdat_files=%ut_commsdat_dir%\*.cre
+if not exist %ut_commsdat_files% goto INVALID_DIR
+
+
+::-----------------------------------------------------------------------------
+:: Copy commsdat file to emulator directory and also to backup directory
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: COPY FILES:
+copy %ut_commsdat_file_default% %epoc_commsdat_dir%\cccccc00.cre /y
+if not exist %epoc_backup_dir% mkdir %epoc_backup_dir%
+copy %ut_commsdat_files% %epoc_backup_dir% /y
+
+
+::-----------------------------------------------------------------------------
+:: Check that script exists
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: SOME CHECKS:
+if not exist %build_script% goto INVALID_DIR
+:: Create output directory if it does not exist
+if not exist %wst_log_dir% mkdir %wst_log_dir%
+if not exist %wst_report_dir% mkdir %wst_report_dir%
+:: Create log file
+echo *** WST_LOG: BEGIN *** > %log_file%
+
+
+::-----------------------------------------------------------------------------
+:: Check parameters
+::-----------------------------------------------------------------------------
+
+set command=ERROR
+if [%1]==[] set command=CLEAN_OLD_FILES COMPILE_WLANQTUTILS COMPILE_TEST_CASES RUN_TEST_CASES GENERATE_REPORTS SHOW_RESULTS
+if [%1]==[CLEAN_OLD] set command=CLEAN_OLD_FILES
+if [%1]==[WLANQTUTILS] set command=COMPILE_WLANQTUTILS
+if [%1]==[CASES] set command=COMPILE_TEST_CASES
+if [%1]==[RUN] set command=RUN_TEST_CASES
+if [%1]==[REPORTS] set command=GENERATE_REPORTS
+if [%1]==[RESULTS] set command=SHOW_RESULTS
+if [%1]==[BROWSE] set command=START_BROWSER
+if [%1]==[/?] goto HELP
+if [%1]==[HELP] goto HELP
+if [%1]==[/h] goto HELP
+if [%1]==[-h] goto HELP
+
+::-----------------------------------------------------------------------------
+:PARSE_COMMANDS
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: COMMAND: %command%
+echo *** RUN_WST: CALL SCRIPT:
+for %%i IN ( %command% ) DO (
+ call %build_script% %wst_root_dir% wst_log.txt %%i
+ for /f "tokens=3 delims= " %%x in ('find /C " Error " %log_file%') do (
+ if not [%%x]==[0] goto ERROR
+ )
+)
+
+goto THE_END
+
+
+::-----------------------------------------------------------------------------
+:INVALID_DIR
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: INVALID DIR:
+echo *** Test script sub-script not found!
+echo *** Please be sure to run the script in same directory,
+echo *** i.e. .\run_wst.bat , and NOT .\tools\run_wst.bat
+
+goto THE_END
+
+
+::-----------------------------------------------------------------------------
+:ERROR
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: ERROR:
+color 48
+echo Error in compilation:
+findstr /C:" Error " < %log_file%
+echo.
+Echo Quitting WST.
+
+goto THE_END
+
+
+::-----------------------------------------------------------------------------
+:HELP
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: HELP:
+echo Run Wlan Qt Utilities Workstation Testing
+echo.
+echo RUN_WST [param]
+echo.
+echo param
+echo [none] - Do all, from CLEAN_OLD to RESULTS
+echo.
+echo CLEAN_OLD - Clean metrics and other generated files
+echo WLANQTUTILS - Build only Wlan Qt Utilities components
+echo CASES - Build only Tester components
+echo RUN - Run Tester
+echo REPORTS - Generate reports
+echo RESULTS - Show results
+echo BROWSE - Start browser
+echo.
+
+
+::-----------------------------------------------------------------------------
+:THE_END
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: END:
+color
+popd
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/tsrc/tools/variantdata_wlanqtutils.xml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,764 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Use this file if you need to make changes to the default.cre commsdat for unit tests -->
+<!-- See testwlanqtutils.h for specification of IAPs and SNAPs required by test cases currently -->
+<data>
+ <Global>
+ <Attachmode>whenneeded</Attachmode>
+ <DefaultDnIcon>11</DefaultDnIcon>
+ <PriorityLan>0</PriorityLan>
+ <PriorityWlan>1</PriorityWlan>
+ <PriorityPan>2</PriorityPan>
+ <PriorityGprsOut>3</PriorityGprsOut>
+ <PriorityGprsIn>4</PriorityGprsIn>
+ <PriorityDialOut>6</PriorityDialOut>
+ <PriorityDialIn>7</PriorityDialIn>
+ <PriorityVpn>256</PriorityVpn>
+ <PriorityMip>256</PriorityMip>
+ <UIPriorityLan>9</UIPriorityLan>
+ <UIPriorityWlan>0</UIPriorityWlan>
+ <UIPriorityPan>8</UIPriorityPan>
+ <UIPriorityGprsOut>1</UIPriorityGprsOut>
+ <UIPriorityGprsIn>2</UIPriorityGprsIn>
+ <UIPriorityDialOut>4</UIPriorityDialOut>
+ <UIPriorityDialIn>5</UIPriorityDialIn>
+ <UIPriorityVpn>6</UIPriorityVpn>
+ <UIPriorityMip>7</UIPriorityMip>
+ <DefaultConnectionType>Destination</DefaultConnectionType>
+ <DefaultConnectionName>Internet</DefaultConnectionName>
+ <UsageOfWlan>Known</UsageOfWlan>
+ <CellularDataUsageHome>Confirm</CellularDataUsageHome>
+ <CellularDataUsageVisitor>Wlan only</CellularDataUsageVisitor>
+ <GprsLastSocketActivityTimeout>-1</GprsLastSocketActivityTimeout>
+ <GprsLastSessionClosedTimeout>1</GprsLastSessionClosedTimeout>
+ <GprsLastSocketClosedTimeout>-1</GprsLastSocketClosedTimeout>
+ <WlanLastSocketActivityTimeout>-1</WlanLastSocketActivityTimeout>
+ <WlanLastSessionClosedTimeout>1</WlanLastSessionClosedTimeout>
+ <WlanLastSocketClosedTimeout>-1</WlanLastSocketClosedTimeout>
+ <WlanBGScanInterval>-1</WlanBGScanInterval>
+ <WlanUseDefSettings>1</WlanUseDefSettings>
+ <WlanLongRetry>4</WlanLongRetry>
+ <WlanShortRetry>7</WlanShortRetry>
+ <WlanRTS>2347</WlanRTS>
+ <WlanTxPowerLevel>100</WlanTxPowerLevel>
+ <WlanRadioMeasurements>1</WlanRadioMeasurements>
+ <WlanPowerMode>0</WlanPowerMode>
+ </Global>
+ <APs>
+ <AP>
+ <ConnectionName>packet data 1</ConnectionName>
+ <ConnectionId>1</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ConfirmFirst</Seamlessness>
+ <NetworkType>IPv4</NetworkType>
+ <GPRS_AP_Name>packetdata1</GPRS_AP_Name>
+ <UserName/>
+ <PromptPassword>No</PromptPassword>
+ <Password/>
+ <PasswordAuthenticationType>Normal</PasswordAuthenticationType>
+ <WAPGatewayIP/>
+ <StartingPage>http://www.nokia.com</StartingPage>
+ <WTLS_Security>On</WTLS_Security>
+ <WAP_ConnectionType>Continuous</WAP_ConnectionType>
+ <PhoneIP/>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <ProxyServerAddress/>
+ <ProxyPortNumber>0</ProxyPortNumber>
+ <ProxyProtocolName/>
+ <GprsUseEdge>Yes</GprsUseEdge>
+ <IspType>0</IspType>
+ <Linger/>
+ </AP>
+ <AP>
+ <ConnectionName>packet data 2</ConnectionName>
+ <ConnectionId>3</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ConfirmFirst</Seamlessness>
+ <NetworkType>IPv4</NetworkType>
+ <GPRS_AP_Name>packetdata2</GPRS_AP_Name>
+ <UserName/>
+ <PromptPassword>No</PromptPassword>
+ <Password/>
+ <PasswordAuthenticationType>Normal</PasswordAuthenticationType>
+ <WAPGatewayIP/>
+ <StartingPage>http://www.nokia.com</StartingPage>
+ <WTLS_Security>On</WTLS_Security>
+ <WAP_ConnectionType>Continuous</WAP_ConnectionType>
+ <PhoneIP/>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <ProxyServerAddress/>
+ <ProxyPortNumber>0</ProxyPortNumber>
+ <ProxyProtocolName/>
+ <GprsUseEdge>Yes</GprsUseEdge>
+ <IspType>0</IspType>
+ <Linger/>
+ </AP>
+ <AP>
+ <ConnectionName>packet data 3</ConnectionName>
+ <ConnectionId>4</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ConfirmFirst</Seamlessness>
+ <NetworkType>IPv4</NetworkType>
+ <GPRS_AP_Name>packetdata3</GPRS_AP_Name>
+ <UserName/>
+ <PromptPassword>No</PromptPassword>
+ <Password/>
+ <PasswordAuthenticationType>Normal</PasswordAuthenticationType>
+ <WAPGatewayIP/>
+ <StartingPage>http://www.nokia.com</StartingPage>
+ <WTLS_Security>On</WTLS_Security>
+ <WAP_ConnectionType>Continuous</WAP_ConnectionType>
+ <PhoneIP/>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <ProxyServerAddress/>
+ <ProxyPortNumber>0</ProxyPortNumber>
+ <ProxyProtocolName/>
+ <GprsUseEdge>Yes</GprsUseEdge>
+ <IspType>0</IspType>
+ <Linger/>
+ </AP>
+ <AP>
+ <ConnectionName>Streaming</ConnectionName>
+ <ConnectionId>9</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ConfirmFirst</Seamlessness>
+ <NetworkType>IPv4</NetworkType>
+ <GPRS_AP_Name>streaming</GPRS_AP_Name>
+ <UserName/>
+ <PromptPassword>No</PromptPassword>
+ <Password/>
+ <PasswordAuthenticationType>Normal</PasswordAuthenticationType>
+ <WAPGatewayIP/>
+ <StartingPage>http://www.nokia.com</StartingPage>
+ <WTLS_Security>On</WTLS_Security>
+ <WAP_ConnectionType>Continuous</WAP_ConnectionType>
+ <PhoneIP/>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <ProxyServerAddress/>
+ <ProxyPortNumber>0</ProxyPortNumber>
+ <ProxyProtocolName/>
+ <GprsUseEdge>Yes</GprsUseEdge>
+ <IspType>0</IspType>
+ <Linger/>
+ </AP>
+ </APs>
+ <WLAN_APs>
+ <WLAN_AP>
+ <ConnectionName>WLAN IAP 1</ConnectionName>
+ <ConnectionId>5</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ShowProgress</Seamlessness>
+ <NetworkName>WLAN IAP 1</NetworkName>
+ <StartingPage/>
+ <NetworkMode>Infrastructure</NetworkMode>
+ <SecurityMode>Open</SecurityMode>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <WlanIpGatewayAddress/>
+ <WlanIpNetMask/>
+ <ProxyServerAddress/>
+ <ProxyPortNumber/>
+ <ProxyProtocolName/>
+ <WLANScanSSID>No</WLANScanSSID>
+ <WlanChannelId/>
+ <PhoneIP/>
+ <WEPKeyInUse>key1</WEPKeyInUse>
+ <WEPAuthType>Shared</WEPAuthType>
+ <WEPKey1Length>64</WEPKey1Length>
+ <WEPKey1Format>ASCII</WEPKey1Format>
+ <WEPKey1Data/>
+ <WEPKey2Length>64</WEPKey2Length>
+ <WEPKey2Format>ASCII</WEPKey2Format>
+ <WEPKey2Data/>
+ <WEPKey3Length>64</WEPKey3Length>
+ <WEPKey3Format>ASCII</WEPKey3Format>
+ <WEPKey3Data/>
+ <WEPKey4Length>64</WEPKey4Length>
+ <WEPKey4Format>ASCII</WEPKey4Format>
+ <WEPKey4Data/>
+ <WPAPresharedKey/>
+ <WPAUseOfPresharedKey>No</WPAUseOfPresharedKey>
+ <WPAKeyLength>0</WPAKeyLength>
+ <WPAListOfEAPs/>
+ <EapGtcUsername/>
+ <EapGtcSessionValidityTime/>
+ <EapGtcEncapsulation/>
+ <EapTlsUsername/>
+ <EapTlsRealm/>
+ <EapTlsVerifyServerRealm/>
+ <EapTlsRequireClientAuth/>
+ <EapTlsSessionValidityTime/>
+ <EapTlsCipherSuites/>
+ <EapTlsUserCertSubjectKeyId/>
+ <EapTlsUserCertIssuerName/>
+ <EapTlsUserCertSerialNumber/>
+ <EapTlsCaCertSubjectKeyId/>
+ <EapTlsCaCertIssuerName/>
+ <EapTlsCaCertSerialNumber/>
+ <EapTlsEncapsulation/>
+ <EapLeapUsername/>
+ <EapLeapPassword/>
+ <EapLeapSessionValidityTime/>
+ <EapSimUsername/>
+ <EapSimRealm/>
+ <EapSimUsePseudonyms/>
+ <EapSimSessionValidityTime/>
+ <EapSimEncapsulation/>
+ <EapTtlsUsername/>
+ <EapTtlsRealm/>
+ <EapTtlsVerifyServerRealm/>
+ <EapTtlsRequireClientAuth/>
+ <EapTtlsSessionValidityTime/>
+ <EapTtlsCipherSuites/>
+ <EapTtlsEncapsulatedTypes/>
+ <EapTtlsUserCertSubjectKeyId/>
+ <EapTtlsUserCertIssuerName/>
+ <EapTtlsUserCertSerialNumber/>
+ <EapTtlsCaCertSubjectKeyId/>
+ <EapTtlsCaCertIssuerName/>
+ <EapTtlsCaCertSerialNumber/>
+ <EapAkaUsername/>
+ <EapAkaRealm/>
+ <EapAkaUsePseudonyms/>
+ <EapAkaSessionValidityTime/>
+ <EapAkaEncapsulation/>
+ <EapPeapUsername/>
+ <EapPeapRealm/>
+ <EapPeapVerifyServerRealm/>
+ <EapPeapRequireClientAuth/>
+ <EapPeapSessionValidityTime/>
+ <EapPeapCipherSuites/>
+ <EapPeapV0Allowed/>
+ <EapPeapV1Allowed/>
+ <EapPeapV2Allowed/>
+ <EapPeapEncapsulatedTypes/>
+ <EapPeapUserCertSubjectKeyId/>
+ <EapPeapUserCertIssuerName/>
+ <EapPeapUserCertSerialNumber/>
+ <EapPeapCaCertSubjectKeyId/>
+ <EapPeapCaCertIssuerName/>
+ <EapPeapCaCertSerialNumber/>
+ <EapMschapv2Username/>
+ <EapMschapv2Password/>
+ <EapMschapv2SessionValidityTime/>
+ <EapMschapv2Encapsulation/>
+ <EapFastUsername/>
+ <EapFastRealm/>
+ <EapFastVerifyServerRealm/>
+ <EapFastRequireClientAuth/>
+ <EapFastSessionValidityTime/>
+ <EapFastCipherSuites/>
+ <EapFastEncapsulatedTypes/>
+ <EapFastAuthProvModeAllowed/>
+ <EapFastUnauthProvModeAllowed/>
+ <EapFastWarnADHPNoPAC/>
+ <EapFastWarnADHPNoMatchingPAC/>
+ <EapFastWarnNotDefaultServer/>
+ <EapFastUserCertSubjectKeyId/>
+ <EapFastUserCertIssuerName/>
+ <EapFastUserCertSerialNumber/>
+ <EapFastCaCertSubjectKeyId/>
+ <EapFastCaCertIssuerName/>
+ <EapFastCaCertSerialNumber/>
+ <Mschapv2Username/>
+ <Mschapv2Password/>
+ <Mschapv2SessionValidityTime/>
+ <Mschapv2Encapsulation/>
+ </WLAN_AP>
+ <WLAN_AP>
+ <ConnectionName>WLAN IAP 2</ConnectionName>
+ <ConnectionId>6</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ConfirmFirst</Seamlessness>
+ <NetworkName>WLAN IAP 2</NetworkName>
+ <StartingPage>http://themaximus.security.max</StartingPage>
+ <NetworkMode>Ad-hoc</NetworkMode>
+ <SecurityMode>WEP</SecurityMode>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <WlanIpGatewayAddress/>
+ <WlanIpNetMask/>
+ <ProxyServerAddress>192.168.100.200</ProxyServerAddress>
+ <ProxyPortNumber>8000</ProxyPortNumber>
+ <ProxyProtocolName/>
+ <WLANScanSSID>No</WLANScanSSID>
+ <WlanChannelId/>
+ <PhoneIP/>
+ <WEPKeyInUse>key1</WEPKeyInUse>
+ <WEPAuthType>Open</WEPAuthType>
+ <WEPKey1Length>64</WEPKey1Length>
+ <WEPKey1Format>ASCII</WEPKey1Format>
+ <WEPKey1Data>w2key</WEPKey1Data>
+ <WEPKey2Length>64</WEPKey2Length>
+ <WEPKey2Format>Hexadecimal</WEPKey2Format>
+ <WEPKey2Data/>
+ <WEPKey3Length>64</WEPKey3Length>
+ <WEPKey3Format>ASCII</WEPKey3Format>
+ <WEPKey3Data/>
+ <WEPKey4Length>64</WEPKey4Length>
+ <WEPKey4Format>ASCII</WEPKey4Format>
+ <WEPKey4Data/>
+ <WPAPresharedKey/>
+ <WPAUseOfPresharedKey>No</WPAUseOfPresharedKey>
+ <WPAKeyLength>0</WPAKeyLength>
+ <WPAListOfEAPs/>
+ <EapGtcUsername/>
+ <EapGtcSessionValidityTime/>
+ <EapGtcEncapsulation/>
+ <EapTlsUsername/>
+ <EapTlsRealm/>
+ <EapTlsVerifyServerRealm/>
+ <EapTlsRequireClientAuth/>
+ <EapTlsSessionValidityTime/>
+ <EapTlsCipherSuites/>
+ <EapTlsUserCertSubjectKeyId/>
+ <EapTlsUserCertIssuerName/>
+ <EapTlsUserCertSerialNumber/>
+ <EapTlsCaCertSubjectKeyId/>
+ <EapTlsCaCertIssuerName/>
+ <EapTlsCaCertSerialNumber/>
+ <EapTlsEncapsulation/>
+ <EapLeapUsername/>
+ <EapLeapPassword/>
+ <EapLeapSessionValidityTime/>
+ <EapSimUsername/>
+ <EapSimRealm/>
+ <EapSimUsePseudonyms/>
+ <EapSimSessionValidityTime/>
+ <EapSimEncapsulation/>
+ <EapTtlsUsername/>
+ <EapTtlsRealm/>
+ <EapTtlsVerifyServerRealm/>
+ <EapTtlsRequireClientAuth/>
+ <EapTtlsSessionValidityTime/>
+ <EapTtlsCipherSuites/>
+ <EapTtlsEncapsulatedTypes/>
+ <EapTtlsUserCertSubjectKeyId/>
+ <EapTtlsUserCertIssuerName/>
+ <EapTtlsUserCertSerialNumber/>
+ <EapTtlsCaCertSubjectKeyId/>
+ <EapTtlsCaCertIssuerName/>
+ <EapTtlsCaCertSerialNumber/>
+ <EapAkaUsername/>
+ <EapAkaRealm/>
+ <EapAkaUsePseudonyms/>
+ <EapAkaSessionValidityTime/>
+ <EapAkaEncapsulation/>
+ <EapPeapUsername/>
+ <EapPeapRealm/>
+ <EapPeapVerifyServerRealm/>
+ <EapPeapRequireClientAuth/>
+ <EapPeapSessionValidityTime/>
+ <EapPeapCipherSuites/>
+ <EapPeapV0Allowed/>
+ <EapPeapV1Allowed/>
+ <EapPeapV2Allowed/>
+ <EapPeapEncapsulatedTypes/>
+ <EapPeapUserCertSubjectKeyId/>
+ <EapPeapUserCertIssuerName/>
+ <EapPeapUserCertSerialNumber/>
+ <EapPeapCaCertSubjectKeyId/>
+ <EapPeapCaCertIssuerName/>
+ <EapPeapCaCertSerialNumber/>
+ <EapMschapv2Username/>
+ <EapMschapv2Password/>
+ <EapMschapv2SessionValidityTime/>
+ <EapMschapv2Encapsulation/>
+ <EapFastUsername/>
+ <EapFastRealm/>
+ <EapFastVerifyServerRealm/>
+ <EapFastRequireClientAuth/>
+ <EapFastSessionValidityTime/>
+ <EapFastCipherSuites/>
+ <EapFastEncapsulatedTypes/>
+ <EapFastAuthProvModeAllowed/>
+ <EapFastUnauthProvModeAllowed/>
+ <EapFastWarnADHPNoPAC/>
+ <EapFastWarnADHPNoMatchingPAC/>
+ <EapFastWarnNotDefaultServer/>
+ <EapFastUserCertSubjectKeyId/>
+ <EapFastUserCertIssuerName/>
+ <EapFastUserCertSerialNumber/>
+ <EapFastCaCertSubjectKeyId/>
+ <EapFastCaCertIssuerName/>
+ <EapFastCaCertSerialNumber/>
+ <Mschapv2Username/>
+ <Mschapv2Password/>
+ <Mschapv2SessionValidityTime/>
+ <Mschapv2Encapsulation/>
+ </WLAN_AP>
+ <WLAN_AP>
+ <ConnectionName>WLAN IAP 3</ConnectionName>
+ <ConnectionId>7</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ConfirmFirst</Seamlessness>
+ <NetworkName>WLAN IAP 3</NetworkName>
+ <StartingPage/>
+ <NetworkMode>Infrastructure</NetworkMode>
+ <SecurityMode>WPA</SecurityMode>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <WlanIpGatewayAddress/>
+ <WlanIpNetMask/>
+ <ProxyServerAddress/>
+ <ProxyPortNumber/>
+ <ProxyProtocolName/>
+ <WLANScanSSID>No</WLANScanSSID>
+ <WlanChannelId/>
+ <PhoneIP/>
+ <WEPKeyInUse>key1</WEPKeyInUse>
+ <WEPAuthType>Shared</WEPAuthType>
+ <WEPKey1Length>64</WEPKey1Length>
+ <WEPKey1Format>ASCII</WEPKey1Format>
+ <WEPKey1Data/>
+ <WEPKey2Length>64</WEPKey2Length>
+ <WEPKey2Format>ASCII</WEPKey2Format>
+ <WEPKey2Data/>
+ <WEPKey3Length>64</WEPKey3Length>
+ <WEPKey3Format>ASCII</WEPKey3Format>
+ <WEPKey3Data/>
+ <WEPKey4Length>64</WEPKey4Length>
+ <WEPKey4Format>ASCII</WEPKey4Format>
+ <WEPKey4Data/>
+ <WPAPresharedKey>wlan3key</WPAPresharedKey>
+ <WPAUseOfPresharedKey>Yes</WPAUseOfPresharedKey>
+ <WPAKeyLength>8</WPAKeyLength>
+ <WPAListOfEAPs/>
+ <EapGtcUsername/>
+ <EapGtcSessionValidityTime/>
+ <EapGtcEncapsulation/>
+ <EapTlsUsername/>
+ <EapTlsRealm/>
+ <EapTlsVerifyServerRealm/>
+ <EapTlsRequireClientAuth/>
+ <EapTlsSessionValidityTime/>
+ <EapTlsCipherSuites/>
+ <EapTlsUserCertSubjectKeyId/>
+ <EapTlsUserCertIssuerName/>
+ <EapTlsUserCertSerialNumber/>
+ <EapTlsCaCertSubjectKeyId/>
+ <EapTlsCaCertIssuerName/>
+ <EapTlsCaCertSerialNumber/>
+ <EapTlsEncapsulation/>
+ <EapLeapUsername/>
+ <EapLeapPassword/>
+ <EapLeapSessionValidityTime/>
+ <EapSimUsername/>
+ <EapSimRealm/>
+ <EapSimUsePseudonyms/>
+ <EapSimSessionValidityTime/>
+ <EapSimEncapsulation/>
+ <EapTtlsUsername/>
+ <EapTtlsRealm/>
+ <EapTtlsVerifyServerRealm/>
+ <EapTtlsRequireClientAuth/>
+ <EapTtlsSessionValidityTime/>
+ <EapTtlsCipherSuites/>
+ <EapTtlsEncapsulatedTypes/>
+ <EapTtlsUserCertSubjectKeyId/>
+ <EapTtlsUserCertIssuerName/>
+ <EapTtlsUserCertSerialNumber/>
+ <EapTtlsCaCertSubjectKeyId/>
+ <EapTtlsCaCertIssuerName/>
+ <EapTtlsCaCertSerialNumber/>
+ <EapAkaUsername/>
+ <EapAkaRealm/>
+ <EapAkaUsePseudonyms/>
+ <EapAkaSessionValidityTime/>
+ <EapAkaEncapsulation/>
+ <EapPeapUsername/>
+ <EapPeapRealm/>
+ <EapPeapVerifyServerRealm/>
+ <EapPeapRequireClientAuth/>
+ <EapPeapSessionValidityTime/>
+ <EapPeapCipherSuites/>
+ <EapPeapV0Allowed/>
+ <EapPeapV1Allowed/>
+ <EapPeapV2Allowed/>
+ <EapPeapEncapsulatedTypes/>
+ <EapPeapUserCertSubjectKeyId/>
+ <EapPeapUserCertIssuerName/>
+ <EapPeapUserCertSerialNumber/>
+ <EapPeapCaCertSubjectKeyId/>
+ <EapPeapCaCertIssuerName/>
+ <EapPeapCaCertSerialNumber/>
+ <EapMschapv2Username/>
+ <EapMschapv2Password/>
+ <EapMschapv2SessionValidityTime/>
+ <EapMschapv2Encapsulation/>
+ <EapFastUsername/>
+ <EapFastRealm/>
+ <EapFastVerifyServerRealm/>
+ <EapFastRequireClientAuth/>
+ <EapFastSessionValidityTime/>
+ <EapFastCipherSuites/>
+ <EapFastEncapsulatedTypes/>
+ <EapFastAuthProvModeAllowed/>
+ <EapFastUnauthProvModeAllowed/>
+ <EapFastWarnADHPNoPAC/>
+ <EapFastWarnADHPNoMatchingPAC/>
+ <EapFastWarnNotDefaultServer/>
+ <EapFastUserCertSubjectKeyId/>
+ <EapFastUserCertIssuerName/>
+ <EapFastUserCertSerialNumber/>
+ <EapFastCaCertSubjectKeyId/>
+ <EapFastCaCertIssuerName/>
+ <EapFastCaCertSerialNumber/>
+ <Mschapv2Username/>
+ <Mschapv2Password/>
+ <Mschapv2SessionValidityTime/>
+ <Mschapv2Encapsulation/>
+ </WLAN_AP>
+ <WLAN_AP>
+ <ConnectionName>Home WLAN</ConnectionName>
+ <ConnectionId>8</ConnectionId>
+ <Protected>No</Protected>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Seamlessness>ShowProgress</Seamlessness>
+ <NetworkName>Home WLAN</NetworkName>
+ <StartingPage/>
+ <NetworkMode>Infrastructure</NetworkMode>
+ <SecurityMode>Open</SecurityMode>
+ <PrimaryNameServer/>
+ <SecondaryNameServer/>
+ <PrimaryIP6NameServer/>
+ <SecondaryIP6NameServer/>
+ <WlanIpGatewayAddress/>
+ <WlanIpNetMask/>
+ <ProxyServerAddress/>
+ <ProxyPortNumber/>
+ <ProxyProtocolName/>
+ <WLANScanSSID>No</WLANScanSSID>
+ <WlanChannelId/>
+ <PhoneIP/>
+ <WEPKeyInUse>key1</WEPKeyInUse>
+ <WEPAuthType>Shared</WEPAuthType>
+ <WEPKey1Length>64</WEPKey1Length>
+ <WEPKey1Format>ASCII</WEPKey1Format>
+ <WEPKey1Data/>
+ <WEPKey2Length>64</WEPKey2Length>
+ <WEPKey2Format>ASCII</WEPKey2Format>
+ <WEPKey2Data/>
+ <WEPKey3Length>64</WEPKey3Length>
+ <WEPKey3Format>ASCII</WEPKey3Format>
+ <WEPKey3Data/>
+ <WEPKey4Length>64</WEPKey4Length>
+ <WEPKey4Format>ASCII</WEPKey4Format>
+ <WEPKey4Data/>
+ <WPAPresharedKey/>
+ <WPAUseOfPresharedKey>No</WPAUseOfPresharedKey>
+ <WPAKeyLength>0</WPAKeyLength>
+ <WPAListOfEAPs/>
+ <EapGtcUsername/>
+ <EapGtcSessionValidityTime/>
+ <EapGtcEncapsulation/>
+ <EapTlsUsername/>
+ <EapTlsRealm/>
+ <EapTlsVerifyServerRealm/>
+ <EapTlsRequireClientAuth/>
+ <EapTlsSessionValidityTime/>
+ <EapTlsCipherSuites/>
+ <EapTlsUserCertSubjectKeyId/>
+ <EapTlsUserCertIssuerName/>
+ <EapTlsUserCertSerialNumber/>
+ <EapTlsCaCertSubjectKeyId/>
+ <EapTlsCaCertIssuerName/>
+ <EapTlsCaCertSerialNumber/>
+ <EapTlsEncapsulation/>
+ <EapLeapUsername/>
+ <EapLeapPassword/>
+ <EapLeapSessionValidityTime/>
+ <EapSimUsername/>
+ <EapSimRealm/>
+ <EapSimUsePseudonyms/>
+ <EapSimSessionValidityTime/>
+ <EapSimEncapsulation/>
+ <EapTtlsUsername/>
+ <EapTtlsRealm/>
+ <EapTtlsVerifyServerRealm/>
+ <EapTtlsRequireClientAuth/>
+ <EapTtlsSessionValidityTime/>
+ <EapTtlsCipherSuites/>
+ <EapTtlsEncapsulatedTypes/>
+ <EapTtlsUserCertSubjectKeyId/>
+ <EapTtlsUserCertIssuerName/>
+ <EapTtlsUserCertSerialNumber/>
+ <EapTtlsCaCertSubjectKeyId/>
+ <EapTtlsCaCertIssuerName/>
+ <EapTtlsCaCertSerialNumber/>
+ <EapAkaUsername/>
+ <EapAkaRealm/>
+ <EapAkaUsePseudonyms/>
+ <EapAkaSessionValidityTime/>
+ <EapAkaEncapsulation/>
+ <EapPeapUsername/>
+ <EapPeapRealm/>
+ <EapPeapVerifyServerRealm/>
+ <EapPeapRequireClientAuth/>
+ <EapPeapSessionValidityTime/>
+ <EapPeapCipherSuites/>
+ <EapPeapV0Allowed/>
+ <EapPeapV1Allowed/>
+ <EapPeapV2Allowed/>
+ <EapPeapEncapsulatedTypes/>
+ <EapPeapUserCertSubjectKeyId/>
+ <EapPeapUserCertIssuerName/>
+ <EapPeapUserCertSerialNumber/>
+ <EapPeapCaCertSubjectKeyId/>
+ <EapPeapCaCertIssuerName/>
+ <EapPeapCaCertSerialNumber/>
+ <EapMschapv2Username/>
+ <EapMschapv2Password/>
+ <EapMschapv2SessionValidityTime/>
+ <EapMschapv2Encapsulation/>
+ <EapFastUsername/>
+ <EapFastRealm/>
+ <EapFastVerifyServerRealm/>
+ <EapFastRequireClientAuth/>
+ <EapFastSessionValidityTime/>
+ <EapFastCipherSuites/>
+ <EapFastEncapsulatedTypes/>
+ <EapFastAuthProvModeAllowed/>
+ <EapFastUnauthProvModeAllowed/>
+ <EapFastWarnADHPNoPAC/>
+ <EapFastWarnADHPNoMatchingPAC/>
+ <EapFastWarnNotDefaultServer/>
+ <EapFastUserCertSubjectKeyId/>
+ <EapFastUserCertIssuerName/>
+ <EapFastUserCertSerialNumber/>
+ <EapFastCaCertSubjectKeyId/>
+ <EapFastCaCertIssuerName/>
+ <EapFastCaCertSerialNumber/>
+ <Mschapv2Username/>
+ <Mschapv2Password/>
+ <Mschapv2SessionValidityTime/>
+ <Mschapv2Encapsulation/>
+ </WLAN_AP>
+ </WLAN_APs>
+ <DNs>
+ <DN>
+ <Name>Internet</Name>
+ <DNId>3</DNId>
+ <Metadata>Internet</Metadata>
+ <Protection>2</Protection>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>Yes</Highlighted>
+ <Icon>0</Icon>
+ <EmbeddedDN/>
+ <IAP>packet data 1</IAP>
+ <IAP2>packet data 2</IAP2>
+ <IAP3>packet data 3</IAP3>
+ <IAP4>WLAN IAP 1</IAP4>
+ <IAP5>WLAN IAP 2</IAP5>
+ <IAP6>WLAN IAP 3</IAP6>
+ <IAP7/>
+ <IAP8/>
+ <IAP9/>
+ <IAP10/>
+ </DN>
+ <DN>
+ <Name>Multimedia msg.</Name>
+ <DNId>4</DNId>
+ <Metadata>MMS</Metadata>
+ <Protection>2</Protection>
+ <Hidden>No</Hidden>
+ <HiddenAgent>Yes</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Icon>2</Icon>
+ <EmbeddedDN/>
+ <IAP/>
+ <IAP2/>
+ <IAP3/>
+ <IAP4/>
+ <IAP5/>
+ <IAP6/>
+ <IAP7/>
+ <IAP8/>
+ <IAP9/>
+ <IAP10/>
+ </DN>
+ <DN>
+ <Name>WAP services</Name>
+ <DNId>5</DNId>
+ <Metadata>Operator</Metadata>
+ <Protection>2</Protection>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Icon>4</Icon>
+ <EmbeddedDN/>
+ <IAP/>
+ <IAP2/>
+ <IAP3/>
+ <IAP4/>
+ <IAP5/>
+ <IAP6/>
+ <IAP7/>
+ <IAP8/>
+ <IAP9/>
+ <IAP10/>
+ </DN>
+ <DN>
+ <Name>>My SNAP</Name>
+ <DNId>6</DNId>
+ <Metadata/>
+ <Protection>2</Protection>
+ <Hidden>No</Hidden>
+ <HiddenAgent>No</HiddenAgent>
+ <Highlighted>No</Highlighted>
+ <Icon>3</Icon>
+ <EmbeddedDN/>
+ <IAP>Home WLAN</IAP>
+ <IAP2>Streaming</IAP2>
+ <IAP3/>
+ <IAP4/>
+ <IAP5/>
+ <IAP6/>
+ <IAP7/>
+ <IAP8/>
+ <IAP9/>
+ <IAP10/>
+ </DN>
+ </DNs>
+</data>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wlanqtutilities.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,96 @@
+#
+# Copyright (c) 2009-2010 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:
+# WLAN Qt Utilities project file.
+#
+
+TEMPLATE = lib
+TARGET = wlanqtutilities
+
+#BUILD_DLL macro is used to define export macro
+DEFINES += BUILD_WLANQTUTILITIES_DLL
+DEPENDPATH += .
+
+# Store generated files to their own directory
+MOC_DIR = build
+
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+symbian: {
+ MMP_RULES += "USERINCLUDE traces"
+}
+
+INCLUDEPATH += \
+ ../inc \
+ base/inc \
+ wrapper/inc \
+ traces
+
+HEADERS += \
+ base/inc/wlanqtutils.h \
+ base/inc/wlanqtutils_p.h \
+ base/inc/wlanqtutilsap.h \
+ base/inc/wlanqtutilsconnection.h \
+ base/inc/wlanqtutilsiap.h \
+ base/inc/wlanqtutilsiapsettings.h \
+ wrapper/inc/wlanqtutilsconmonwrapper.h \
+ wrapper/inc/wlanqtutilsesockwrapper.h \
+ wrapper/inc/wlanqtutilsscan.h \
+ traces/OstTraceDefinitions.h
+
+SOURCES += \
+ base/src/wlanqtutils.cpp \
+ base/src/wlanqtutils_p.cpp \
+ base/src/wlanqtutilsap.cpp \
+ base/src/wlanqtutilsconnection.cpp \
+ base/src/wlanqtutilsiap.cpp \
+ base/src/wlanqtutilsiapsettings.cpp \
+ wrapper/src/wlanqtutilsconmonwrapper.cpp \
+ wrapper/src/wlanqtutilsesockwrapper.cpp \
+ wrapper/src/wlanqtutilsscan.cpp
+
+# Common libraries
+LIBS += -lconnection_settings_shim
+
+symbian: {
+ HEADERS += \
+ wrapper/inc/wlanqtutilsconmonwrapperdisconnect_symbian.h \
+ wrapper/inc/wlanqtutilsconmonwrapperinfo_symbian.h \
+ wrapper/inc/wlanqtutilsesockwrapper_symbian.h \
+ wrapper/inc/wlanqtutilsscanap_symbian.h \
+ wrapper/inc/wlanqtutilsscaniap_symbian.h
+ SOURCES += \
+ wrapper/src/wlanqtutilsconmonwrapperdisconnect_symbian.cpp \
+ wrapper/src/wlanqtutilsconmonwrapperinfo_symbian.cpp \
+ wrapper/src/wlanqtutilsesockwrapper_symbian.cpp \
+ wrapper/src/wlanqtutilsscanap_symbian.cpp \
+ wrapper/src/wlanqtutilsscaniap_symbian.cpp
+
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.EPOCALLOWDLLDATA = 1
+ TARGET.UID3 = 0x20029F52
+ defFilePath = .
+
+ BLD_INF_RULES.prj_exports += "rom/wlanqtutilities.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanqtutilities.iby)"
+ BLD_INF_RULES.prj_exports += \
+ "base/inc/wlanqtutils.h |../inc/wlanqtutils.h" \
+ "base/inc/wlanqtutilsap.h |../inc/wlanqtutilsap.h" \
+ "base/inc/wlanqtutilsiap.h |../inc/wlanqtutilsiap.h"
+
+ # S60 libraries
+ LIBS += -lconnmon -lecom -lesock -lextendedconnpref -lnetmeta -lictswlanlogininterface -lcharconv
+}
+
+# Stubs for emulator
+include(stubs/stubs.pri)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconmonwrapper.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Wrapper for Symbian Connection Monitor library.
+*/
+
+#ifndef WLANQTUTILSCONMONWRAPPER_H
+#define WLANQTUTILSCONMONWRAPPER_H
+
+// System includes
+
+#include <QObject>
+#include <QList>
+#include <QSharedPointer>
+#include <QScopedPointer>
+
+// User includes
+
+#include "wlanqtutils.h"
+
+// Forward declarations
+
+class WlanQtUtilsAp;
+class WlanQtUtilsConnection;
+class WlanQtUtilsConMonWrapperInfo;
+class WlanQtUtilsConMonWrapperDisconnect;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsConMonWrapper : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit WlanQtUtilsConMonWrapper(QObject *parent = 0);
+
+ ~WlanQtUtilsConMonWrapper();
+
+ WlanQtUtilsConnection *activeConnection() const;
+
+ WlanQtUtilsConnection *connectionInfo(uint connectionId) const;
+
+ void disconnectIap(int iapId);
+
+signals:
+
+ /*!
+ Signal indicating that a new connection has been created.
+
+ @param [in] connectionId Connection ID.
+ */
+ void connCreatedEventFromWrapper(uint connectionId);
+
+ /*!
+ Signal indicating that a connection has been deleted.
+
+ @param [in] connectionId Connection ID.
+ */
+ void connDeletedEventFromWrapper(uint connectionId);
+
+ /*!
+ Signal indicating that status of a connection has changed.
+
+ @param [in] connectionId Connection ID.
+ @param [in] connectionStatus Connection status.
+ */
+ void connStatusEventFromWrapper(
+ uint connectionId,
+ WlanQtUtils::ConnStatus connectionStatus);
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+private slots:
+
+private: // data
+
+ // Owned data
+
+ //! Private implementation of connection info interface
+ QScopedPointer<WlanQtUtilsConMonWrapperInfo> d_ptrInfo;
+
+ //! Private implementation of connection disconnect interface
+ QScopedPointer<WlanQtUtilsConMonWrapperDisconnect> d_ptrDisconnect;
+
+ // Friend classes
+
+ // Friend classes in order to be able to emit public signals directly
+ // from private implementation classes.
+ friend class WlanQtUtilsConMonWrapperInfo;
+
+ // This is defined as a friend class in order to be able to call
+ // event handlers of wrappers from unit tests.
+ friend class TestWlanQtUtils;
+};
+
+#endif // WLANQTUTILSCONMONWRAPPER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconmonwrapperdisconnect_symbian.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,68 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Private implementation of wrapper for Symbian Connection Monitor
+* library's connection disconnect interface.
+*/
+
+#ifndef WLANQTUTILSCONMONWRAPPERDISCONNECT_SYMBIAN_H
+#define WLANQTUTILSCONMONWRAPPERDISCONNECT_SYMBIAN_H
+
+// System includes
+
+#include <rconnmon.h>
+
+// User includes
+
+// Forward declarations
+
+class WlanQtUtilsConMonWrapper;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsConMonWrapperDisconnect
+{
+public:
+
+ // Data types
+
+ WlanQtUtilsConMonWrapperDisconnect(WlanQtUtilsConMonWrapper *wrapper);
+
+ ~WlanQtUtilsConMonWrapperDisconnect();
+
+ void DisconnectConnection(int iapId);
+
+protected:
+
+private:
+
+private: // data
+
+ // Owned data
+
+ RConnectionMonitor iMonitor; //!< Handle to Connection Monitor Server
+
+ // Not owned data
+
+ //! Public implementation to report progress to
+ WlanQtUtilsConMonWrapper *q_ptr;
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSCONMONWRAPPERDISCONNECT_SYMBIAN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconmonwrapperinfo_symbian.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Private implementation of wrapper for Symbian Connection Monitor
+* library's connection info interface.
+*/
+
+#ifndef WLANQTUTILSCONMONWRAPPERINFO_SYMBIAN_H
+#define WLANQTUTILSCONMONWRAPPERINFO_SYMBIAN_H
+
+// System includes
+
+#include <rconnmon.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+
+// Forward declarations
+
+class WlanQtUtilsConnection;
+class WlanQtUtilsConMonWrapper;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsConMonWrapperInfo : public MConnectionMonitorObserver
+{
+public:
+
+ // Data types
+
+ WlanQtUtilsConMonWrapperInfo(WlanQtUtilsConMonWrapper *wrapper);
+
+ ~WlanQtUtilsConMonWrapperInfo();
+
+ WlanQtUtilsConnection *ActiveConnection();
+
+ WlanQtUtilsConnection *ConnectionInfo(uint connectionId);
+
+protected:
+
+private:
+
+ TBool ConnectionInfoDetails(WlanQtUtilsConnection *connection);
+
+ void EventL(const CConnMonEventBase& connMonEvent);
+
+ WlanQtUtils::ConnStatus ConnMonConnStatusMap(TInt connStatus);
+
+ TBool IsWlanConnection(TUint connectionId);
+
+private: // data
+
+ // Owned data
+
+ RConnectionMonitor iMonitor; //!< Handle to Connection Monitor Server
+
+ TRequestStatus iStatus; //!< Request status
+
+ //! ID of the connection we are currently monitoring
+ TUint iMonitoringConnection;
+
+ // Not owned data
+
+ //! Public implementation to report progress to
+ WlanQtUtilsConMonWrapper *q_ptr;
+
+ // Friend classes
+
+ // TestWlanQtUtils is defined as a friend class in order to be able to
+ // call event handlers of wrappers.
+ friend class TestWlanQtUtils;
+};
+
+#endif // WLANQTUTILSCONMONWRAPPERINFO_SYMBIAN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsesockwrapper.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Wrapper for Symbian Esock library.
+*/
+
+#ifndef WLANQTUTILSESOCKWRAPPER_H
+#define WLANQTUTILSESOCKWRAPPER_H
+
+// System includes
+
+#include <QObject>
+#include <QScopedPointer>
+
+// User includes
+
+// Forward declarations
+
+class WlanQtUtilsEsockWrapperPrivate;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsEsockWrapper: public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ WlanQtUtilsEsockWrapper(QObject *parent = 0);
+
+ ~WlanQtUtilsEsockWrapper();
+
+ void updateConnection(bool isOpened, int platformStatusCode);
+
+ int lastStatusCode();
+
+signals:
+
+ void connectionStatusFromWrapper(bool isOpened);
+
+public slots:
+
+ void connectIap(int iapId);
+
+ void disconnectIap();
+
+protected:
+
+protected slots:
+
+private:
+
+private slots:
+
+private: // data
+
+ //! Private implementation
+ QScopedPointer<WlanQtUtilsEsockWrapperPrivate> d_ptr;
+
+ //! Platform status code of latest connection creation attempt
+ int mLastStatusCode;
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSESOCKWRAPPER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsesockwrapper_symbian.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Private implementation of wrapper for Symbian Esock library.
+*/
+
+#ifndef WLANQTUTILSESOCKWRAPPER_SYMBIAN_H
+#define WLANQTUTILSESOCKWRAPPER_SYMBIAN_H
+
+// System includes
+
+#include <es_sock.h>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsEsockWrapperPrivate: public CActive
+{
+
+public:
+
+ // Data types
+
+ WlanQtUtilsEsockWrapperPrivate(WlanQtUtilsEsockWrapper *wrapper);
+
+ ~WlanQtUtilsEsockWrapperPrivate();
+
+ void ConnectIap(int iapId);
+
+ void DisconnectIap();
+
+protected:
+
+private:
+
+ void RunL();
+
+ void DoCancel();
+
+private: // data
+
+ // Owned data
+
+ RSocketServ iSocketServer; //!< Socket server handle
+ RConnection iConnection; //!< Connection handle
+ TBool iConnectionActive; //!< Do we have an active connection handle?
+
+ // Not owned data
+
+ //! Public implementation to report progress to
+ WlanQtUtilsEsockWrapper *q_ptr;
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSESOCKWRAPPER_SYMBIAN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsscan.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,119 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN scan platform specific implementation wrapper.
+*/
+
+#ifndef WLANQTUTILSSCAN_H
+#define WLANQTUTILSSCAN_H
+
+// System includes
+
+#include <QObject>
+#include <QList>
+#include <QSharedPointer>
+
+// User includes
+
+#include "wlanqtutilsiap.h"
+
+// Forward declarations
+
+class WlanQtUtilsScanIapPrivate;
+class WlanQtUtilsScanApPrivate;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsScan : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit WlanQtUtilsScan(QObject *parent = 0);
+
+ ~WlanQtUtilsScan();
+
+ void scanWlanIaps();
+
+ void scanWlanAps();
+
+ void scanWlanDirect(const QString &ssid);
+
+ void stopScan();
+
+signals:
+
+ /*!
+ Signal indicating available WLAN IAP's.
+
+ @param [in] availableIaps Available WLAN IAP's found in scan.
+ */
+ void availableWlanIaps(
+ QList< QSharedPointer<WlanQtUtilsIap> > &availableIaps);
+
+ /*!
+ Signal indicating available WLAN access points.
+
+ @param [in] availableWlans Available WLAN access points found in scan.
+ */
+ void availableWlanAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &availableWlans);
+
+ /*!
+ Signal indicating that scanning failed.
+
+ @param [in] status Scan status code (ScanStatus).
+ */
+ void scanFailed(int status);
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanQtUtilsScan)
+
+private slots:
+
+private: // data
+
+ // Owned data
+
+ //! Private implementation of IAP scan interface
+ WlanQtUtilsScanIapPrivate *d_ptrIap;
+
+ //! Private implementation of AP scan interface
+ WlanQtUtilsScanApPrivate *d_ptrAp;
+
+ // Not owned data
+
+ // Friend classes
+
+ // Needed to be able to emit public signals directly from
+ // private implementation.
+ friend class WlanQtUtilsScanIapPrivate;
+ friend class WlanQtUtilsScanApPrivate;
+};
+
+#endif // WLANQTUTILSSCAN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsscanap_symbian.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2010 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:
+* Symbian platform specific implementation of WLAN AP scanning.
+*/
+
+#ifndef WLANQTUTILSSCANAP_SYMBIAN_H
+#define WLANQTUTILSSCANAP_SYMBIAN_H
+
+// System includes
+
+#include <wlanmgmtclient.h>
+#include <QString>
+#include <QSharedPointer>
+
+// User includes
+
+#include "wlanqtutilsap.h"
+
+// Forward declarations
+
+class CWlanMgmtClient;
+class CWlanScanInfo;
+class WlanQtUtilsScan;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsScanApPrivate : public CActive
+{
+
+public:
+
+ // Data types
+
+ static WlanQtUtilsScanApPrivate *NewL(WlanQtUtilsScan *wrapper);
+
+ ~WlanQtUtilsScanApPrivate();
+
+ void Scan();
+
+ void Scan(const QString &ssid);
+
+ void StopScan();
+
+protected:
+
+ void RunL();
+
+ void DoCancel();
+
+private:
+
+ explicit WlanQtUtilsScanApPrivate(WlanQtUtilsScan *wrapper);
+
+ void ConstructL();
+
+ void ExtractScanResults(
+ QList< QSharedPointer<WlanQtUtilsAp> > &scanResults);
+
+ QString ExtractSsid();
+
+ QByteArray ExtractBssid();
+
+ void StoreSecMode(
+ QSharedPointer<WlanQtUtilsAp> ap,
+ TUint wlanSecMode);
+
+private: // data
+
+ //! Public implementation reference
+ WlanQtUtilsScan *q_ptr;
+
+ // Owned data
+
+ //! WLAN Management Client
+ CWlanMgmtClient *mWlanMgmtClient;
+
+ //! Scanned SSID
+ TWlanSsid mWlanSsid;
+
+ //! Scan results
+ CWlanScanInfo *mResults;
+
+ // Not owned data
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSSCANAP_SYMBIAN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsscaniap_symbian.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2010 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:
+* Symbian platform specific implementation of WLAN IAP scanning.
+*/
+
+#ifndef WLANQTUTILSSCANIAP_SYMBIAN_H
+#define WLANQTUTILSSCANIAP_SYMBIAN_H
+
+// System includes
+
+#include <wlanmgmtclient.h>
+#include <QSharedPointer>
+
+// User includes
+
+#include "wlanqtutilsiap.h"
+
+// Forward declarations
+
+class CWlanMgmtClient;
+class WlanQtUtilsScan;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanQtUtilsScanIapPrivate : public CActive
+{
+
+public:
+
+ // Data types
+
+ static WlanQtUtilsScanIapPrivate *NewL(WlanQtUtilsScan *wrapper);
+
+ ~WlanQtUtilsScanIapPrivate();
+
+ void ScanIaps();
+
+ void StopScan();
+
+protected:
+
+ void RunL();
+
+ void DoCancel();
+
+private:
+
+ explicit WlanQtUtilsScanIapPrivate(WlanQtUtilsScan *wrapper);
+
+ void ConstructL();
+
+ void ExtractScanResults(
+ QList< QSharedPointer<WlanQtUtilsIap> > &scanResults);
+
+private: // data
+
+ //! Public implementation reference
+ WlanQtUtilsScan *q_ptr;
+
+ // Owned data
+
+ //! WLAN Management Client
+ CWlanMgmtClient *mWlanMgmtClient;
+
+ //! Accepted cache lifetime
+ TInt mCacheLifetime;
+
+ //! Accepted maximum delay
+ TUint mMaxDelay;
+
+ //! Scan results
+ RArray<TWlanIapAvailabilityData> mAvailableIaps;
+
+ // Not owned data
+
+ // Friend classes
+};
+
+#endif // WLANQTUTILSSCANIAP_SYMBIAN_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconmonwrapper.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Wrapper for Symbian Connection Monitor library.
+*/
+
+// System includes
+
+#include <QSharedPointer>
+#include <QScopedPointer>
+
+// User includes
+
+#include "wlanqtutilsconmonwrapperdisconnect_symbian.h"
+#include "wlanqtutilsconmonwrapperinfo_symbian.h"
+#include "wlanqtutilsconmonwrapper.h"
+
+/*!
+ \class WlanQtUtilsConMonWrapper
+ \brief Wrapper for Symbian Connection Monitor library.
+
+ Provides functionality to retrieve connection information,
+ and to disconnect connections.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] parent Parent object.
+*/
+
+WlanQtUtilsConMonWrapper::WlanQtUtilsConMonWrapper(QObject *parent) :
+ QObject(parent),
+ d_ptrInfo(new WlanQtUtilsConMonWrapperInfo(this)),
+ d_ptrDisconnect(new WlanQtUtilsConMonWrapperDisconnect(this))
+{
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsConMonWrapper::~WlanQtUtilsConMonWrapper()
+{
+}
+
+/*!
+ Return active connection information.
+
+ @return Information of active connection, 0 if not found.
+*/
+
+WlanQtUtilsConnection *WlanQtUtilsConMonWrapper::activeConnection() const
+{
+ return d_ptrInfo->ActiveConnection();
+}
+
+/*!
+ Returns information of a connection with the given connection ID.
+
+ @param [in] connectionId Connection ID.
+
+ @return Information of the given connection, 0 if not found.
+*/
+
+WlanQtUtilsConnection* WlanQtUtilsConMonWrapper::connectionInfo(
+ uint connectionId) const
+{
+ return d_ptrInfo->ConnectionInfo(connectionId);
+}
+
+/*!
+ Stops given connection regardless of how many applications are using it.
+
+ @param [in] iapId IAP ID to disconnect.
+*/
+
+void WlanQtUtilsConMonWrapper::disconnectIap(int iapId)
+{
+ d_ptrDisconnect->DisconnectConnection(iapId);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconmonwrapperdisconnect_symbian.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2009-2010 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:
+ * Private implementation of wrapper for Symbian Connection Monitor
+ * library's connection disconnect interface.
+ */
+
+// System includes
+
+// User includes
+
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsconmonwrapperdisconnect_symbian.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsconmonwrapperdisconnect_symbianTraces.h"
+#endif
+
+/*!
+ \class WlanQtUtilsConMonWrapperDisconnect
+ \brief Private wrapper for Symbian Connection Monitor library.
+
+ Provides functionality to disconnect connections regardless of how
+ many applications are using the connection.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] wrapper Wrapper to report progress to.
+ */
+
+WlanQtUtilsConMonWrapperDisconnect::WlanQtUtilsConMonWrapperDisconnect(
+ WlanQtUtilsConMonWrapper *wrapper) :
+ q_ptr(wrapper)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERDISCONNECT_WLANQTUTILSCONMONWRAPPERDISCONNECT_ENTRY, this);
+
+ // Errors in Connection Monitor Server connection are fatal so just
+ // throw them as exceptions
+ QT_TRAP_THROWING(iMonitor.ConnectL());
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERDISCONNECT_WLANQTUTILSCONMONWRAPPERDISCONNECT_EXIT, this);
+}
+
+/*!
+ Destructor.
+ */
+
+WlanQtUtilsConMonWrapperDisconnect::~WlanQtUtilsConMonWrapperDisconnect()
+{
+ OstTraceFunctionEntry1(DUP1_WLANQTUTILSCONMONWRAPPERDISCONNECT_WLANQTUTILSCONMONWRAPPERDISCONNECT_ENTRY, this);
+
+ iMonitor.Close();
+
+ OstTraceFunctionExit1(DUP1_WLANQTUTILSCONMONWRAPPERDISCONNECT_WLANQTUTILSCONMONWRAPPERDISCONNECT_EXIT, this);
+}
+
+/*!
+ Disconnects the connection with the given IAP ID.
+
+ @param [in] wrapper Wrapper to report progress to.
+ */
+
+void WlanQtUtilsConMonWrapperDisconnect::DisconnectConnection(int iapId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERDISCONNECT_DISCONNECTCONNECTION_ENTRY, this);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSCONMONWRAPPERDISCONNECT_DISCONNECTCONNECTION,
+ "WlanQtUtilsConMonWrapperDisconnect::DisconnectConnection;iapId=%d", iapId);
+
+ // Loop through connections to find the one with the IAP ID we want
+ TUint count;
+ TRequestStatus status;
+ iMonitor.GetConnectionCount(count, status);
+ User::WaitForRequest(status);
+ if (status.Int() == KErrNone) {
+ for (TInt i = 1; i <= count; i++) {
+ TUint numSubConnections;
+ TUint iap = 0;
+ TUint connectionId = 0;
+ TInt ret = iMonitor.GetConnectionInfo(
+ i,
+ connectionId,
+ numSubConnections);
+ if (ret == KErrNone) {
+ iMonitor.GetUintAttribute(connectionId, 0, KIAPId, iap, status);
+ User::WaitForRequest(status);
+ if (status.Int() == KErrNone) {
+ if (iap == iapId) {
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSCONMONWRAPPERDISCONNECT_DISCONNECTCONNECTION_STOP,
+ "WlanQtUtilsConMonWrapperDisconnect::DisconnectConnection Stopping connection;connectionId=%u",
+ connectionId);
+
+ // Match found, stop connection
+ TInt KErr = iMonitor.SetBoolAttribute(
+ connectionId,
+ 0,
+ KConnectionStop,
+ ETrue);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSCONMONWRAPPERDISCONNECT_DISCONNECTCONNECTION_RESULT,
+ "WlanQtUtilsConMonWrapperDisconnect::DisconnectConnection Result;KErr=%d", KErr);
+ }
+ }
+ }
+ }
+ }
+
+ OstTraceFunctionExit1( WLANQTUTILSCONMONWRAPPERDISCONNECT_DISCONNECTCONNECTION_EXIT, this);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconmonwrapperinfo_symbian.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,354 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Private implementation of wrapper for Symbian Connection Monitor
+* library's scan interface.
+*/
+
+// System includes
+
+#include <rconnmon.h>
+#include <nifvar.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilsconnection.h"
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsconmonwrapperinfo_symbian.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsconmonwrapperinfo_symbianTraces.h"
+#endif
+
+/*!
+ \class WlanQtUtilsConMonWrapperInfo
+ \brief Private wrapper for Symbian Connection Monitor library.
+
+ Provides functionality to request information about connections.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] wrapper Wrapper to report progress to.
+*/
+
+WlanQtUtilsConMonWrapperInfo::WlanQtUtilsConMonWrapperInfo(
+ WlanQtUtilsConMonWrapper *wrapper) :
+ iMonitoringConnection(0),
+ q_ptr(wrapper)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERINFO_WLANQTUTILSCONMONWRAPPERINFO_ENTRY, this);
+
+ // Errors in Connection Monitor Server connection are fatal so just
+ // throw them as exceptions
+ QT_TRAP_THROWING(
+ iMonitor.ConnectL();
+ iMonitor.NotifyEventL(*this);
+ );
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERINFO_WLANQTUTILSCONMONWRAPPERINFO_EXIT, this);
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsConMonWrapperInfo::~WlanQtUtilsConMonWrapperInfo()
+{
+ OstTraceFunctionEntry1(DUP1_WLANQTUTILSCONMONWRAPPERINFO_WLANQTUTILSCONMONWRAPPERINFO_ENTRY, this);
+
+ iMonitor.CancelNotifications();
+ iMonitor.Close();
+
+ OstTraceFunctionExit1(DUP1_WLANQTUTILSCONMONWRAPPERINFO_WLANQTUTILSCONMONWRAPPERINFO_EXIT, this);
+}
+
+/*!
+ Getter for active connection information.
+
+ @return Information of active connection, if one exists.
+*/
+
+WlanQtUtilsConnection *WlanQtUtilsConMonWrapperInfo::ActiveConnection()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERINFO_ACTIVECONNECTION_ENTRY, this);
+
+ // Get number of active connections
+ TRequestStatus status;
+
+ WlanQtUtilsConnection *activeConn = NULL;
+ TUint numConnections = 0;
+ iMonitor.GetConnectionCount(numConnections, status);
+ User::WaitForRequest(status);
+ if (status.Int() == KErrNone) {
+ // Get connection info of this connection
+ for (TUint i = 1; i <= numConnections; i++) {
+ TUint numSubConnections = 0;
+ TUint connectionId = 0;
+ TInt ret = iMonitor.GetConnectionInfo(
+ i,
+ connectionId,
+ numSubConnections);
+ if (ret == KErrNone) {
+ activeConn = ConnectionInfo(connectionId);
+ if (activeConn != NULL) {
+ // ConnectionInfo() only returns WLAN connections,
+ // and there may be only one active WLAN connection,
+ // so this is the one we want to return and also
+ // remember later.
+ Q_ASSERT(iMonitoringConnection == 0
+ || iMonitoringConnection == connectionId);
+ iMonitoringConnection = connectionId;
+ break;
+ }
+ }
+ }
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERINFO_ACTIVECONNECTION_EXIT, this);
+ return activeConn;
+}
+
+/*!
+ Returns information of a connection with the given connection ID.
+
+ @param[in] connectionId Connection ID.
+ @return Information of the given connection, if one exists.
+*/
+
+WlanQtUtilsConnection *WlanQtUtilsConMonWrapperInfo::ConnectionInfo(
+ uint connectionId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERINFO_CONNECTIONINFO_ENTRY, this);
+
+ WlanQtUtilsConnection *activeConn = NULL;
+
+ if (IsWlanConnection(connectionId)) {
+ activeConn = new WlanQtUtilsConnection();
+ activeConn->setConnectionId(connectionId);
+ if (!ConnectionInfoDetails(activeConn)) {
+ delete activeConn;
+ activeConn = NULL;
+ }
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERINFO_CONNECTIONINFO_EXIT, this);
+ return activeConn;
+}
+
+/*!
+ Gets detailed information of a given connection.
+
+ @param[out] connection Where to store info. Connection ID must already
+ be valid.
+
+ @return Returns ETrue if detail fetching succeeded.
+*/
+
+TBool WlanQtUtilsConMonWrapperInfo::ConnectionInfoDetails(
+ WlanQtUtilsConnection *connection)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERINFO_CONNECTIONINFODETAILS_ENTRY, this);
+ Q_ASSERT(connection != NULL);
+
+ TBool success = EFalse;
+ TUint connectionId = connection->connectionId();
+ TRequestStatus status;
+
+ // Get connection IAP ID.
+ TUint iapId = 0;
+ iMonitor.GetUintAttribute(
+ connectionId,
+ 0,
+ KIAPId,
+ iapId,
+ status);
+ User::WaitForRequest(status);
+ if (status.Int() == KErrNone) {
+ connection->setIapId(iapId);
+
+ // Get connection status.
+ TInt connectionStatus = 0;
+ iMonitor.GetIntAttribute(
+ connectionId,
+ 0,
+ KConnectionStatus,
+ connectionStatus,
+ status);
+ User::WaitForRequest(status);
+ if (status.Int() == KErrNone) {
+ connection->setConnectionStatus(
+ ConnMonConnStatusMap(connectionStatus));
+ success = ETrue;
+ }
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERINFO_CONNECTIONINFODETAILS_EXIT, this);
+ return success;
+}
+
+/*!
+ Handler of Connection Monitor Server events.
+
+ @param [in] connMonEvent Connection monitor event.
+*/
+
+void WlanQtUtilsConMonWrapperInfo::EventL(const CConnMonEventBase& connMonEvent)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERINFO_EVENTL_ENTRY, this);
+
+ TUint connectionId = connMonEvent.ConnectionId();
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANQTUTILSCONMONWRAPPERINFO_EVENTL_EVENTTYPE,
+ "WlanQtUtilsConMonWrapperInfo::EventL;connectionId=%u;aConnMonEvent.EventType()=%{ConnMonEvent}",
+ connectionId,
+ connMonEvent.EventType());
+
+ switch (connMonEvent.EventType()) {
+ case EConnMonCreateConnection:
+ // Filter out other than WLAN connections
+ if (IsWlanConnection(connectionId)) {
+ iMonitoringConnection = connectionId;
+ emit q_ptr->connCreatedEventFromWrapper(connectionId);
+ }
+ break;
+
+ case EConnMonDeleteConnection:
+ if (iMonitoringConnection == connectionId) {
+ iMonitoringConnection = 0;
+ emit q_ptr->connDeletedEventFromWrapper(connectionId);
+ }
+ break;
+
+ case EConnMonConnectionStatusChange:
+ if (iMonitoringConnection == connectionId) {
+ // Find out the new status for the connection
+ const CConnMonConnectionStatusChange *connMonStatusEvent;
+ connMonStatusEvent =
+ static_cast< const CConnMonConnectionStatusChange* >(&connMonEvent);
+ WlanQtUtils::ConnStatus connectionStatus;
+ connectionStatus =
+ ConnMonConnStatusMap(connMonStatusEvent->ConnectionStatus());
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANQTUTILSCONMONWRAPPERINFO_EVENTL_CONNSTATUS,
+ "WlanQtUtilsConMonWrapperInfo::EventL;connectionId=%u;eventConnectionStatusChange->ConnectionStatus()=%{ConnMonConnStatus}",
+ connectionId,
+ connMonStatusEvent->ConnectionStatus());
+
+ if (connectionStatus != WlanQtUtils::ConnStatusNone) {
+ emit q_ptr->connStatusEventFromWrapper(
+ connectionId,
+ connectionStatus);
+ }
+ }
+ break;
+
+ default:
+ // Not interesting
+ break;
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERINFO_EVENTL_EXIT, this);
+}
+
+/*!
+ Maps Connection Monitor's connection status value into
+ WlanQtUtilsConnectionStatus.
+
+ Note: Mapping is only valid for WLAN connections.
+
+ @param connStatus Connection status as used by Connection
+ Monitor server. Defined in nifvar.h.
+ @return Connection status in Wlan Qt Utilities style.
+*/
+
+WlanQtUtils::ConnStatus WlanQtUtilsConMonWrapperInfo::ConnMonConnStatusMap(
+ TInt connStatus)
+ {
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERINFO_CONNMONCONNSTATUSMAP_ENTRY, this);
+
+ WlanQtUtils::ConnStatus utilsConnStatus;
+ switch (connStatus) {
+ // KConnectionOpen is not final status for WLAN, because DHCP is
+ // run after that
+ case KConnectionOpen:
+ case KStartingConnection:
+ utilsConnStatus = WlanQtUtils::ConnStatusConnecting;
+ break;
+
+ case KLinkLayerOpen:
+ utilsConnStatus = WlanQtUtils::ConnStatusConnected;
+ break;
+
+ case KLinkLayerClosed:
+ utilsConnStatus = WlanQtUtils::ConnStatusDisconnected;
+ break;
+
+ default:
+ // Ignore all other values
+ utilsConnStatus = WlanQtUtils::ConnStatusNone;
+ break;
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERINFO_CONNMONCONNSTATUSMAP_EXIT, this);
+ return utilsConnStatus;
+}
+
+/*!
+ Checks the bearer of given connection.
+ Meant for filtering handling only for WLAN IAP's.
+
+ @param [in] connectionId Connection ID.
+
+ @return Returns ETrue if connection a WLAN connection, otherwise false.
+*/
+
+TBool WlanQtUtilsConMonWrapperInfo::IsWlanConnection(TUint connectionId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSCONMONWRAPPERINFO_ISWLANCONNECTION_ENTRY, this);
+
+ TBool result = EFalse;
+ TRequestStatus status;
+
+ TInt bearer = 0;
+ iMonitor.GetIntAttribute(
+ connectionId,
+ 0,
+ KBearer,
+ bearer,
+ status);
+ User::WaitForRequest(status);
+
+ if (status.Int() == KErrNone && bearer == EBearerWLAN) {
+ result = ETrue;
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSCONMONWRAPPERINFO_ISWLANCONNECTION_EXIT, this);
+ return result;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsesockwrapper.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,110 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Wrapper for Symbian Esock library.
+*/
+
+// System includes
+
+#include <QScopedPointer>
+
+// User includes
+
+#include "wlanqtutilsesockwrapper.h"
+#include "wlanqtutilsesockwrapper_symbian.h"
+
+/*!
+ \class WlanQtUtilsEsockWrapper
+ \brief Wrapper for Symbian Esock library.
+
+ Provides functionality to connect and disconnect IAPs.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] parent Parent object.
+ */
+
+WlanQtUtilsEsockWrapper::WlanQtUtilsEsockWrapper(QObject *parent) :
+ QObject(parent),
+ d_ptr(new WlanQtUtilsEsockWrapperPrivate(this)),
+ mLastStatusCode(KErrNone)
+{
+}
+
+/*!
+ Destructor.
+ */
+
+WlanQtUtilsEsockWrapper::~WlanQtUtilsEsockWrapper()
+{
+}
+
+/*!
+ Handles connection status update event.
+
+ @param [in] isOpened Was the connection opened or not?
+ @param [in] platformStatusCode Platform specific status code.
+ */
+
+void WlanQtUtilsEsockWrapper::updateConnection(
+ bool isOpened,
+ int platformStatusCode)
+{
+ mLastStatusCode = platformStatusCode;
+ emit connectionStatusFromWrapper(isOpened);
+}
+
+/*!
+ Returns last received connection creation status code. Clears status.
+
+ @return Platform specific status code of the last connection attempt.
+ */
+
+int WlanQtUtilsEsockWrapper::lastStatusCode()
+{
+ // Return current status and clear it
+ int status = mLastStatusCode;
+ mLastStatusCode = KErrNone;
+ return status;
+}
+
+/*!
+ Starts connection creation to given IAP.
+
+ @param [in] iapId IAP ID to connect.
+ */
+
+void WlanQtUtilsEsockWrapper::connectIap(int iapId)
+{
+ d_ptr->ConnectIap(iapId);
+}
+
+/*!
+ Disconnects connection, if one is active.
+ */
+
+void WlanQtUtilsEsockWrapper::disconnectIap()
+{
+ d_ptr->DisconnectIap();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsesockwrapper_symbian.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,196 @@
+/*
+* Copyright (c) 2009-2010 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:
+* Private implementation of wrapper for Symbian Esock library.
+*/
+
+// System includes
+
+#include <e32base.h>
+#include <es_sock.h>
+#include <in_sock.h>
+#include <extendedconnpref.h>
+
+// User includes
+
+#include "wlanqtutilsesockwrapper.h"
+#include "wlanqtutilsesockwrapper_symbian.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsesockwrapper_symbianTraces.h"
+#endif
+
+/*!
+ \class WlanQtUtilsWlanQtUtilsEsockWrapperPrivate
+ \brief Private implementation of wrapper for Symbian Esock library.
+
+ Provides functionality to connect and disconnect IAPs.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] wrapper Wrapper to report progress to.
+ */
+
+WlanQtUtilsEsockWrapperPrivate::WlanQtUtilsEsockWrapperPrivate(
+ WlanQtUtilsEsockWrapper *wrapper) :
+ CActive(EPriorityStandard),
+ iConnectionActive(EFalse),
+ q_ptr(wrapper)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSESOCKWRAPPERPRIVATE_WLANQTUTILSESOCKWRAPPERPRIVATE_ENTRY, this);
+
+ CActiveScheduler::Add(this);
+
+ // Establish a session to Socket Server. Errors in Socket Server
+ // connection are fatal so just throw them as exceptions
+ qt_symbian_throwIfError(iSocketServer.Connect());
+
+ OstTraceFunctionExit1(WLANQTUTILSESOCKWRAPPERPRIVATE_WLANQTUTILSESOCKWRAPPERPRIVATE_EXIT, this);
+}
+
+/*!
+ Destructor.
+ */
+
+WlanQtUtilsEsockWrapperPrivate::~WlanQtUtilsEsockWrapperPrivate()
+{
+ OstTraceFunctionEntry1(DUP1_WLANQTUTILSESOCKWRAPPERPRIVATE_WLANQTUTILSESOCKWRAPPERPRIVATE_ENTRY, this);
+
+ // Close any possibly ongoing connection
+ Cancel();
+ // Close Socket Server session
+ iSocketServer.Close();
+
+ OstTraceFunctionExit1(DUP1_WLANQTUTILSESOCKWRAPPERPRIVATE_WLANQTUTILSESOCKWRAPPERPRIVATE_EXIT, this);
+}
+
+/*!
+ Starts connection creation to given IAP.
+
+ @param [in] iapId IAP ID to connect.
+ */
+
+void WlanQtUtilsEsockWrapperPrivate::ConnectIap(int iapId)
+{
+ OstTraceFunctionEntry1(WLANQTUTILSESOCKWRAPPERPRIVATE_CONNECTIAP_ENTRY, this);
+
+ // Cancel a (possibly) ongoing previous request
+ Cancel();
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSESOCKWRAPPERPRIVATE_CONNECTIAP,
+ "WlanQtUtilsEsockWrapperPrivate::connectIap;iapId=%d",
+ iapId );
+
+ // Open an RConnection object. Errors in RConnection opening are
+ // fatal so just throw them as exceptions
+ qt_symbian_throwIfError(iConnection.Open(iSocketServer));
+
+ // Create overrides for connection preferences to force opening of the
+ // given IAP without any user prompts.
+ TConnPrefList prefList;
+ TExtendedConnPref prefs;
+ prefs.SetIapId(iapId);
+ prefs.SetNoteBehaviour(TExtendedConnPref::ENoteBehaviourConnSilent);
+ QT_TRAP_THROWING(prefList.AppendL(&prefs));
+
+ // Start a connection with connection preferences
+ iConnection.Start(prefList, iStatus);
+
+ iConnectionActive = ETrue;
+
+ SetActive();
+
+ OstTraceFunctionExit1(WLANQTUTILSESOCKWRAPPERPRIVATE_CONNECTIAP_EXIT, this);
+}
+
+/*!
+ Disconnects connection, if one is active.
+ */
+
+void WlanQtUtilsEsockWrapperPrivate::DisconnectIap()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSESOCKWRAPPERPRIVATE_DISCONNECTIAP_ENTRY, this);
+
+ if (iConnectionActive) {
+ OstTrace0(
+ TRACE_NORMAL,
+ WLANQTUTILSESOCKWRAPPERPRIVATE_DISCONNECTIAP_DISCONNECT,
+ "WlanQtUtilsEsockWrapperPrivate::disconnectIap Disconnecting connection");
+
+ iConnectionActive = EFalse;
+ iConnection.Close();
+ } else {
+ OstTrace0(
+ TRACE_NORMAL,
+ WLANQTUTILSESOCKWRAPPERPRIVATE_DISCONNECTIAP_IGNORED,
+ "WlanQtUtilsEsockWrapperPrivate::disconnectIap Ignored since no active connection");
+ }
+
+ OstTraceFunctionExit1(WLANQTUTILSESOCKWRAPPERPRIVATE_DISCONNECTIAP_EXIT, this);
+}
+
+/*!
+ From CActive: called when async request (RConnection::Start())
+ has been completed.
+ */
+
+void WlanQtUtilsEsockWrapperPrivate::RunL()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSESOCKWRAPPERPRIVATE_RUNL_ENTRY, this);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANQTUTILSESOCKWRAPPERPRIVATE_RUNL,
+ "WlanQtUtilsEsockWrapperPrivate::RunL;iStatus=%d", iStatus.Int());
+
+ bool success;
+ if (iStatus == KErrNone) {
+ success = true;
+ } else {
+ success = false;
+ iConnectionActive = EFalse;
+ }
+
+ // Report to public wrapper
+ q_ptr->updateConnection(success, iStatus.Int());
+
+ OstTraceFunctionExit1(WLANQTUTILSESOCKWRAPPERPRIVATE_RUNL_EXIT, this);
+}
+
+/*!
+ From CActive: called when active object is cancelled.
+ */
+
+void WlanQtUtilsEsockWrapperPrivate::DoCancel()
+{
+ OstTraceFunctionEntry1(WLANQTUTILSESOCKWRAPPERPRIVATE_DOCANCEL_ENTRY, this);
+
+ // Disconnect, if needed.
+ DisconnectIap();
+
+ OstTraceFunctionExit1(WLANQTUTILSESOCKWRAPPERPRIVATE_DOCANCEL_EXIT, this);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsscan.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN scan platform specific implementation wrapper.
+*/
+
+// System includes
+
+// User includes
+
+#include "wlanqtutilsscaniap_symbian.h"
+#include "wlanqtutilsscanap_symbian.h"
+#include "wlanqtutilsscan.h"
+
+/*!
+ \class WlanQtUtilsScan
+ \brief WLAN scan platform specific implementation wrapper.
+
+ This class implements the WLAN scanning functionality platform independently.
+ The private implementation class implements the platform specific parts.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] parent Parent object.
+*/
+
+WlanQtUtilsScan::WlanQtUtilsScan(QObject *parent) :
+ QObject(parent)
+{
+ QT_TRAP_THROWING(
+ d_ptrIap = WlanQtUtilsScanIapPrivate::NewL(this);
+ d_ptrAp = WlanQtUtilsScanApPrivate::NewL(this));
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsScan::~WlanQtUtilsScan()
+{
+ delete d_ptrIap;
+ delete d_ptrAp;
+}
+
+/*!
+ Scans available WLAN IAP's, including hidden ones.
+*/
+
+void WlanQtUtilsScan::scanWlanIaps()
+{
+ d_ptrIap->ScanIaps();
+}
+
+/*!
+ Scans available WLAN AP's (i.e. broadcast scan).
+*/
+
+void WlanQtUtilsScan::scanWlanAps()
+{
+ d_ptrAp->Scan();
+}
+
+/*!
+ Scans with given WLAN SSID (i.e. direct scan).
+
+ @param [in] ssid WLAN SSID to scan.
+*/
+
+void WlanQtUtilsScan::scanWlanDirect(const QString &ssid)
+{
+ d_ptrAp->Scan(ssid);
+}
+
+/*!
+ Stops current scan. Can also be called if there is no scan in progres.
+*/
+
+void WlanQtUtilsScan::stopScan()
+{
+ d_ptrIap->StopScan();
+ d_ptrAp->StopScan();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsscanap_symbian.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,428 @@
+/*
+* Copyright (c) 2010 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:
+* Symbian platform specific implementation of WLAN AP scanning.
+*/
+
+// System includes
+
+#include <QList>
+#include <cmmanagerdefines_shim.h>
+#include <utf.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsscan.h"
+#include "wlanqtutilsscanap_symbian.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsscanap_symbianTraces.h"
+#endif
+
+
+/*!
+ \class WlanQtUtilsScanApPrivate
+ \brief Symbian platform specific implementation of WLAN AP scanning.
+
+ Symbian platform specific implementation of WLAN AP scanning.
+*/
+
+
+// External function prototypes
+
+// Local constants
+
+// Information Element ID for SSID as specified in 802.11.
+static const TUint8 KWlan802Dot11SsidIE = 0;
+
+// Bit mask for Capability info field to get type (Infra/AdHoc).
+static const TUint8 KWlan802Dot11CapabilityEssMask = 0x0001;
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Static factory constructor.
+
+ @param [in,out] wrapper Public implementation class reference.
+
+ @return New instance of the class.
+*/
+
+WlanQtUtilsScanApPrivate *WlanQtUtilsScanApPrivate::NewL(WlanQtUtilsScan *wrapper)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_NEWL_ENTRY);
+
+ WlanQtUtilsScanApPrivate *self = new (ELeave) WlanQtUtilsScanApPrivate(wrapper);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_NEWL_EXIT);
+ return self;
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsScanApPrivate::~WlanQtUtilsScanApPrivate()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_WLANQTUTILSSCANAPPRIVATE_ENTRY);
+
+ Cancel();
+ delete mWlanMgmtClient;
+ mWlanMgmtClient = NULL;
+ delete mResults;
+ mResults = NULL;
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_WLANQTUTILSSCANAPPRIVATE_EXIT);
+}
+
+/*!
+ Starts a broadcast scan of available access points.
+*/
+
+void WlanQtUtilsScanApPrivate::Scan()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_SCAN_ENTRY);
+
+ // Scanning while previous scan is not complete is not supported
+ Q_ASSERT(!IsActive());
+
+ // Make the scan
+ mWlanMgmtClient->GetScanResults(iStatus, *mResults);
+ SetActive();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_SCAN_EXIT);
+}
+
+/*!
+ Starts a direct scan of available access points having given SSID.
+
+ @param ssid SSID to scan.
+*/
+
+void WlanQtUtilsScanApPrivate::Scan(const QString &ssid)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_SCAN_SSID_ENTRY);
+
+ // Scanning while previous scan is not complete is not supported
+ Q_ASSERT(!IsActive());
+
+ // Convert from QString to TBuf8
+ TBuf<KWlanMaxSsidLength> buffer(ssid.utf16());
+ TInt error = CnvUtfConverter::ConvertFromUnicodeToUtf8(mWlanSsid, buffer);
+ qt_symbian_throwIfError(error);
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANQTUTILSSCANAPPRIVATE_SCAN_SSID,
+ "WlanQtUtilsScanApPrivate::Scan;mWlanSsid=%s",
+ mWlanSsid);
+
+ // Make the scan
+ mWlanMgmtClient->GetScanResults(mWlanSsid, iStatus, *mResults);
+ SetActive();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_SCAN_SSID_EXIT);
+}
+
+/*!
+ Stops an ongoing scan.
+*/
+
+void WlanQtUtilsScanApPrivate::StopScan()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_STOPSCAN_ENTRY);
+
+ Cancel();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_STOPSCAN_EXIT);
+}
+
+/*!
+ Scan results handler.
+*/
+
+void WlanQtUtilsScanApPrivate::RunL()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_RUNL_ENTRY);
+
+ QT_TRYCATCH_LEAVING(
+ if (iStatus != KErrNone) {
+ // Scan failed
+ emit q_ptr->scanFailed(WlanQtUtils::ScanStatusError);
+ } else {
+ // Scan succeeded
+ QList< QSharedPointer<WlanQtUtilsAp> > scanResults;
+ ExtractScanResults(scanResults);
+
+ // Inform about the results
+ emit q_ptr->availableWlanAps(scanResults);
+ }
+ );
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_RUNL_EXIT);
+}
+
+/*!
+ Cancels an outstanding request.
+*/
+
+void WlanQtUtilsScanApPrivate::DoCancel()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_DOCANCEL_ENTRY);
+
+ mWlanMgmtClient->CancelGetScanResults();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_DOCANCEL_EXIT);
+}
+
+/*!
+ Constructor.
+
+ @param [in,out] wrapper Public implementation class reference.
+*/
+
+WlanQtUtilsScanApPrivate::WlanQtUtilsScanApPrivate(WlanQtUtilsScan *wrapper) :
+ CActive(EPriorityStandard),
+ q_ptr(wrapper),
+ mWlanMgmtClient(NULL),
+ mResults(NULL)
+{
+ OstTraceFunctionEntry0(DUP1_WLANQTUTILSSCANAPPRIVATE_WLANQTUTILSSCANAPPRIVATE_ENTRY);
+ OstTraceFunctionExit0(DUP1_WLANQTUTILSSCANAPPRIVATE_WLANQTUTILSSCANAPPRIVATE_EXIT);
+}
+
+/*!
+ Second phase constructor.
+*/
+
+void WlanQtUtilsScanApPrivate::ConstructL()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANAPPRIVATE_CONSTRUCTL_ENTRY);
+
+ CActiveScheduler::Add(this);
+ mWlanMgmtClient = CWlanMgmtClient::NewL();
+ mResults = CWlanScanInfo::NewL();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANAPPRIVATE_CONSTRUCTL_EXIT);
+}
+
+/*
+ Extracts scan results and stores them into the given AP list.
+
+ @param [out] scanResults Scan result list.
+*/
+
+void WlanQtUtilsScanApPrivate::ExtractScanResults(
+ QList< QSharedPointer<WlanQtUtilsAp> > &scanResults)
+{
+ for (mResults->First(); !mResults->IsDone(); mResults->Next()) {
+ // Create an access point for each result
+ QSharedPointer<WlanQtUtilsAp> ap(new WlanQtUtilsAp());
+
+ // SSID
+ QString ssid = ExtractSsid();
+
+ // Skip over hidden networks. There is no spec for what
+ // their names will contain, but at least names with only
+ // null characters and whitespace characters are seen
+ // in real life.
+ if (ssid.trimmed().isEmpty()) {
+ continue;
+ }
+ ap->setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
+
+ // BSSID
+ QByteArray bssid = ExtractBssid();
+ ap->setValue(WlanQtUtilsAp::ConfIdBssid, bssid);
+
+ // Signal strength
+ ap->setValue(
+ WlanQtUtilsAp::ConfIdSignalStrength,
+ (int)mResults->RXLevel());
+
+ // Connection Mode
+ CMManagerShim::WlanConnMode connMode;
+ if (mResults->Capability() & KWlan802Dot11CapabilityEssMask) {
+ connMode = CMManagerShim::Infra;
+ } else {
+ connMode = CMManagerShim::Adhoc;
+ }
+ ap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, (int)connMode);
+
+ // Security Mode parameters
+ StoreSecMode(ap, mResults->ExtendedSecurityMode());
+
+ // Hidden attribute
+ // These scan results do not tell if the AP is hidden or not
+ ap->setValue(WlanQtUtilsAp::ConfIdHidden, false);
+ ap->setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, false);
+
+ // WPS support
+ TBool wpsSupported = mResults->IsProtectedSetupSupported();
+ ap->setValue(
+ WlanQtUtilsAp::ConfIdWpsSupported,
+ (wpsSupported == EFalse) ? false : true);
+
+ // Append the AP to scan result list
+ scanResults.append(ap);
+ }
+}
+
+/*!
+ Extracts and cleans up the WLAN SSID from current scan result element.
+
+ @return SSID string.
+*/
+
+QString WlanQtUtilsScanApPrivate::ExtractSsid()
+{
+ // Get the SSID in raw data format
+ TUint8 ieLen;
+ const TUint8* ieData;
+ TInt ret = mResults->InformationElement(KWlan802Dot11SsidIE, ieLen, &ieData);
+
+ // Convert into QString
+ QString ssid;
+ if (ret == KErrNone && ieLen > 0) {
+ // Trace the buffer as data to ease low level debugging
+ OstTraceData(
+ TRACE_DUMP,
+ WLANQTUTILSSCANAPPRIVATE_EXTRACTSSID_DATA,
+ "WlanQtUtilsScanApPrivate::ExtractSsid data 0x%{hex8[]}",
+ ieData,
+ ieLen);
+
+ // The IEEE 802.11-2007 section 7.3.2.1 only specifies that
+ // the SSID is 0-32 octets, leaving the format of the octets
+ // completely open.
+ // To support a bit wider character set than 7-bit ASCII, we
+ // treat the raw SSID bytes as the lowest octets of Unicode.
+ for (int i = 0; i < ieLen; i++) {
+ ssid.append(QChar((uint)ieData[i]));
+ }
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ TPtrC16 string(ssid.utf16(), ssid.length());
+ OstTraceExt1(
+ TRACE_DUMP,
+ WLANQTUTILSSCANAPPRIVATE_EXTRACTSSID_STRING,
+ "WlanQtUtilsScanApPrivate::ExtractSsid string;ssid=%S",
+ string);
+#endif
+ }
+
+ // Remove nul characters
+ ssid.remove(QChar());
+
+ return ssid;
+}
+
+/*!
+ Extracts the WLAN BSSID from current scan result element.
+
+ @return BSSID array.
+*/
+
+QByteArray WlanQtUtilsScanApPrivate::ExtractBssid()
+{
+ TWlanBssid wlanBssid;
+ mResults->Bssid(wlanBssid);
+ QByteArray bssid;
+ for (int i = 0; i < (int)wlanBssid.Length(); i++) {
+ bssid[i] = (char)wlanBssid[i];
+ }
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString bssidHex(bssid.toHex());
+ TPtrC16 string(bssidHex.utf16(), bssidHex.length());
+
+ OstTraceExt1(
+ TRACE_DUMP,
+ WLANQTUTILSSCANAPPRIVATE_EXTRACTBSSID,
+ "WlanQtUtilsScanApPrivate::ExtractBssid;bssid=%S",
+ string);
+#endif
+
+ return bssid;
+}
+
+/*!
+ Stores Security mode parameters to \a ap class.
+
+ @param [in,out] ap Access Point object to where the configuration is stored.
+ @param [in] secMode Security mode to store.
+*/
+
+void WlanQtUtilsScanApPrivate::StoreSecMode(
+ QSharedPointer<WlanQtUtilsAp> ap,
+ TUint wlanSecMode)
+{
+ CMManagerShim::WlanSecMode secMode = CMManagerShim::WlanSecModeOpen;
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+
+ switch (wlanSecMode) {
+ case EWlanConnectionExtentedSecurityModeWepOpen:
+ case EWlanConnectionExtentedSecurityModeWepShared:
+ secMode = CMManagerShim::WlanSecModeWep;
+ break;
+
+ case EWlanConnectionExtentedSecurityMode802d1x:
+ secMode = CMManagerShim::WlanSecMode802_1x;
+ break;
+
+ case EWlanConnectionExtentedSecurityModeWpa:
+ secMode = CMManagerShim::WlanSecModeWpa;
+ break;
+
+ case EWlanConnectionExtentedSecurityModeWpaPsk:
+ secMode = CMManagerShim::WlanSecModeWpa;
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ break;
+
+ case EWlanConnectionExtentedSecurityModeWpa2:
+ secMode = CMManagerShim::WlanSecModeWpa2;
+ break;
+
+ case EWlanConnectionExtentedSecurityModeWpa2Psk:
+ secMode = CMManagerShim::WlanSecModeWpa2;
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ break;
+
+ case EWlanConnectionExtentedSecurityModeWapi:
+ case EWlanConnectionExtentedSecurityModeWapiPsk:
+ secMode = CMManagerShim::WlanSecModeWapi;
+ break;
+
+ case EWlanConnectionExtentedSecurityModeOpen:
+ secMode = CMManagerShim::WlanSecModeOpen;
+ break;
+
+#ifndef QT_NO_DEBUG
+ default:
+ // Invalid security mode detected
+ Q_ASSERT(0);
+ break;
+#endif
+ }
+
+ ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, secMode);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsscaniap_symbian.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,226 @@
+/*
+* Copyright (c) 2010 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:
+* Symbian platform specific implementation of WLAN IAP scanning.
+*/
+
+// System includes
+
+#include <QList>
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilsscan.h"
+#include "wlanqtutilsscaniap_symbian.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsscaniap_symbianTraces.h"
+#endif
+
+
+/*!
+ \class WlanQtUtilsScanIapPrivate
+ \brief Symbian platform specific implementation of WLAN IAP scanning.
+
+ Symbian platform specific implementation of WLAN IAP scanning.
+*/
+
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Static factory constructor.
+
+ @param [in,out] wrapper Public implementation class reference.
+
+ @return New instance of the class.
+*/
+
+WlanQtUtilsScanIapPrivate *WlanQtUtilsScanIapPrivate::NewL(WlanQtUtilsScan *wrapper)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_NEWL_ENTRY);
+
+ WlanQtUtilsScanIapPrivate *self = new (ELeave) WlanQtUtilsScanIapPrivate(wrapper);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_NEWL_EXIT);
+ return self;
+}
+
+/*!
+ Destructor.
+*/
+
+WlanQtUtilsScanIapPrivate::~WlanQtUtilsScanIapPrivate()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_WLANQTUTILSSCANIAPPRIVATE_ENTRY);
+
+ Cancel();
+ delete mWlanMgmtClient;
+ mWlanMgmtClient = NULL;
+ mAvailableIaps.Close();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_WLANQTUTILSSCANIAPPRIVATE_EXIT);
+}
+
+/*!
+ Starts a scan to see currently available WLAN IAPs.
+*/
+
+void WlanQtUtilsScanIapPrivate::ScanIaps()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_SCANIAPS_ENTRY);
+
+ // Scanning while previous scan is not complete is not supported
+ Q_ASSERT(!IsActive());
+
+ // Make the scan
+ mAvailableIaps.Reset();
+ mWlanMgmtClient->GetAvailableIaps(
+ mCacheLifetime,
+ mMaxDelay,
+ EFalse,
+ iStatus,
+ mAvailableIaps);
+ SetActive();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_SCANIAPS_EXIT);
+}
+
+/*!
+ Stops an ongoing scan.
+*/
+
+void WlanQtUtilsScanIapPrivate::StopScan()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_STOPSCAN_ENTRY);
+
+ Cancel();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_STOPSCAN_EXIT);
+}
+
+/*!
+ Scan results handler.
+*/
+
+void WlanQtUtilsScanIapPrivate::RunL()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_RUNL_ENTRY);
+
+ QT_TRYCATCH_LEAVING(
+ if (iStatus != KErrNone) {
+ // Scan failed
+ emit q_ptr->scanFailed(WlanQtUtils::ScanStatusError);
+ } else {
+ // Scan succeeded
+ QList< QSharedPointer<WlanQtUtilsIap> > scanResults;
+ ExtractScanResults(scanResults);
+
+ // Inform about the results
+ emit q_ptr->availableWlanIaps(scanResults);
+ }
+ );
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_RUNL_EXIT);
+}
+
+/*!
+ Cancels an outstanding request.
+*/
+
+void WlanQtUtilsScanIapPrivate::DoCancel()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_DOCANCEL_ENTRY);
+
+ mWlanMgmtClient->CancelGetAvailableIaps();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_DOCANCEL_EXIT);
+}
+
+/*!
+ Constructor.
+
+ @param [in,out] wrapper Public implementation class reference.
+*/
+
+WlanQtUtilsScanIapPrivate::WlanQtUtilsScanIapPrivate(WlanQtUtilsScan *wrapper) :
+ CActive(EPriorityStandard),
+ q_ptr(wrapper),
+ mWlanMgmtClient(NULL),
+ mCacheLifetime(0),
+ mMaxDelay(0),
+ mAvailableIaps()
+{
+ OstTraceFunctionEntry0(DUP1_WLANQTUTILSSCANIAPPRIVATE_WLANQTUTILSSCANIAPPRIVATE_ENTRY);
+ OstTraceFunctionExit0(DUP1_WLANQTUTILSSCANIAPPRIVATE_WLANQTUTILSSCANIAPPRIVATE_EXIT);
+}
+
+/*!
+ Second phase constructor.
+*/
+
+void WlanQtUtilsScanIapPrivate::ConstructL()
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_CONSTRUCTL_ENTRY);
+
+ CActiveScheduler::Add(this);
+ mWlanMgmtClient = CWlanMgmtClient::NewL();
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_CONSTRUCTL_EXIT);
+}
+
+/*
+ Extracts scan results and stores them into the given AP list.
+
+ @param [out] scanResults Scan result list.
+*/
+
+void WlanQtUtilsScanIapPrivate::ExtractScanResults(
+ QList< QSharedPointer<WlanQtUtilsIap> > &scanResults)
+{
+ OstTraceFunctionEntry0(WLANQTUTILSSCANIAPPRIVATE_EXTRACTSCANRESULTS_ENTRY);
+
+ for (int i=0; i < mAvailableIaps.Count(); i++) {
+ // Create an IAP for each result
+ QSharedPointer<WlanQtUtilsIap> iap(new WlanQtUtilsIap());
+
+ // IAP ID
+ iap->setValue(
+ WlanQtUtilsIap::ConfIdIapId,
+ (int)mAvailableIaps[i].iIapId);
+
+ // Signal strength
+ iap->setValue(
+ WlanQtUtilsIap::ConfIdSignalStrength,
+ (int)mAvailableIaps[i].iRssi);
+
+ // Append the IAP to scan result list
+ scanResults.append(iap);
+ }
+
+ OstTraceFunctionExit0(WLANQTUTILSSCANIAPPRIVATE_EXTRACTSCANRESULTS_EXIT);
+}
--- a/wlanutilities/wlansettingsui/bwinscw/wlansettingsuiu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-EXPORTS
- ??1CWlanSettingsUi@@UAE@XZ @ 1 NONAME ; CWlanSettingsUi::~CWlanSettingsUi(void)
- ?NewL@CWlanSettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 2 NONAME ; class CWlanSettingsUi * CWlanSettingsUi::NewL(class CEikonEnv &)
- ?RunSettingsL@CWlanSettingsUi@@QAEXPAVCMDBSession@CommsDat@@@Z @ 3 NONAME ; void CWlanSettingsUi::RunSettingsL(class CommsDat::CMDBSession *)
- ?RunSettingsL@CWlanSettingsUi@@QAEXXZ @ 4 NONAME ; void CWlanSettingsUi::RunSettingsL(void)
-
--- a/wlanutilities/wlansettingsui/data/wlansettingsui.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* 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:
-* Resource file for wlansettingsui
-*
-*/
-
-
-// RESOURCE IDENTIFIER
-NAME PWLC // 4 letter ID
-
-// INCLUDES
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <avkon.hrh>
-
-#include "wlansettingsui.hrh"
-#include <wlansettingsui.loc>
-
-// CONSTANTS
-
-// RESOURCE DEFINITIONS
-
-//----------------------------------------------------
-//
-//
-// Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {
- }
-
-RESOURCE TBUF { buf="wlansettingsui"; }
-
-
-//----------------------------------------------------
-//
-// r_qtn_err_os_general
-// General error message.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_err_os_general { buf = qtn_err_os_general ; }
-
-RESOURCE TBUF
- {
- buf = "wlan";
- }
-
-RESOURCE TBUF r_wlan_sett_bg_scan_auto
- {
- buf = qtn_wlan_sett_bg_scan_auto;
- }
-
-RESOURCE TBUF r_wlan_sett_bg_scan_1_min
- {
- buf = qtn_wlan_sett_bg_scan_1_min;
- }
-
-RESOURCE TBUF r_wlan_sett_bg_scan_x_min
- {
- buf = qtn_wlan_sett_bg_scan_x_min;
- }
-
-RESOURCE TBUF r_wlan_prmpt_bg_scan_interval
- {
- buf = qtn_wlan_prmpt_bg_scan_interval;
- }
-
-RESOURCE TBUF r_wlan_settings_ui_title
- {
- buf = qtn_wlan_main_title;
- }
-
-RESOURCE MENU_BAR r_wlan_settings_ui_main_view_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_wlan_settings_ui_main_view_menu;
- }
- };
- }
-
-RESOURCE MENU_PANE r_wlan_settings_ui_main_view_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = EWlanSettingsUiCmdChange;
- txt = qtn_options_change;
- flags = EEikMenuItemAction;
- },
- MENU_ITEM
- {
- command = EAknCmdHelp;
- txt = qtn_options_help;
- },
- MENU_ITEM
- {
- command = EAknCmdExit;
- txt = qtn_options_exit;
- }
- };
- }
-
-//----------------------------------------------------
-//
-// r_wlan_settings_ui_main_view_buttons
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_wlan_settings_ui_main_view_buttons
- {
- buttons =
- {
- CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;},
- CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
- CBA_BUTTON {id=EAknSoftkeyChange; txt=qtn_msk_change;}
- };
- }
-
-RESOURCE DIALOG r_wlan_settings_ui_main_view_dialog
- {
- flags = EEikDialogFlagNoDrag | EEikDialogFlagFillAppClientRect |
- EEikDialogFlagNoTitleBar |EEikDialogFlagButtonsRight |
- EEikDialogFlagCbaButtons | EEikDialogFlagNoBorder |
- EEikDialogFlagWait;
- title = qtn_wlan_main_title;
- buttons = r_wlan_settings_ui_main_view_buttons;
- items =
- {
- DLG_LINE
- {
- type = EWlanSettingsUiSettingItemList;
- itemflags = EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
- id = EWlanSettingsUiDlgSettingList;
- control = AVKON_SETTING_ITEM_LIST
- {
- title = "";
- initial_number = EWlanSettingsUiItemListInitialNumber;
- items =
- {
- AVKON_SETTING_ITEM
- {
- identifier = EWlanSettingsUiSettingShowWlanAvail;
- setting_page_resource =
- r_wlan_settings_ui_show_wlan_avail_setting_page;
- name = qtn_wlan_sett_show_wlan_avail;
- associated_resource =
- r_wlan_settings_ui_show_wlan_avail_values;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EWlanSettingsUiSettingScanNetworks;
- setting_page_resource =
- r_wlan_settings_ui_scan_networks_setting_page;
- name = qtn_wlan_sett_bg_scan_interval;
- associated_resource =
- r_wlan_settings_ui_scan_network_values;
- },
- AVKON_SETTING_ITEM
- {
- identifier = EWlanSettingsUiSettingPowerSaving;
- setting_page_resource =
- r_wlan_settings_ui_power_saving_setting_page;
- name = qtn_wlan_sett_power_saving;
- associated_resource =
- r_wlan_settings_ui_power_saving_values;
- }
- };
- };
- }
- };
- }
-
-RESOURCE AVKON_SETTING_PAGE r_wlan_settings_ui_show_wlan_avail_setting_page
- {
- label= qtn_wlan_sett_show_wlan_avail;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_wlan_settings_ui_selection_popup_listbox;
- }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_wlan_settings_ui_show_wlan_avail_values
- {
- setting_texts_resource = r_wlan_settings_ui_show_wlan_avail_value_array;
- }
-
-RESOURCE ARRAY r_wlan_settings_ui_show_wlan_avail_value_array
- {
- items =
- {
- AVKON_ENUMERATED_TEXT
- {
- value = 0;
- text = qtn_wlan_sett_bg_scan_never;
- },
- AVKON_ENUMERATED_TEXT
- {
- value = 1;
- text = qtn_wlan_sett_bg_scan_enabled;
- }
- };
- }
-
-RESOURCE AVKON_SETTING_PAGE r_wlan_settings_ui_scan_networks_setting_page
- {
- label = qtn_wlan_sett_bg_scan_interval;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_wlan_settings_ui_selection_popup_listbox;
- }
-
-RESOURCE POPUP_SETTING_LIST r_wlan_settings_ui_selection_popup_listbox
- {
- flags = 0;
- }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_wlan_settings_ui_scan_network_values
- {
- flags = 0;
- setting_texts_resource = r_wlan_settings_ui_scan_network_values_array;
- }
-
-RESOURCE ARRAY r_wlan_settings_ui_scan_network_values_array
- {
- items =
- {
- AVKON_ENUMERATED_TEXT
- {
- value = EWlanSettingsUiScanNetworkAuto;
- text = qtn_wlan_sett_bg_scan_auto;
- },
- AVKON_ENUMERATED_TEXT
- {
- value = EWlanSettingsUiScanNetworkUserDef;
- text = qtn_wlan_sett_bg_scan_user_def;
- }
- };
- }
-
-RESOURCE AVKON_SETTING_PAGE r_wlan_settings_ui_power_saving_setting_page
- {
- label= qtn_wlan_sett_power_saving;
- softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- type = EAknCtPopupSettingList;
- editor_resource_id = r_wlan_settings_ui_selection_popup_listbox;
- }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_wlan_settings_ui_power_saving_values
- {
- setting_texts_resource = r_wlan_settings_ui_power_saving_value_array;
- }
-
-RESOURCE ARRAY r_wlan_settings_ui_power_saving_value_array
- {
- items =
- {
- AVKON_ENUMERATED_TEXT
- {
- value = 1;
- text = qtn_wlan_sett_power_saving_enabled;
- },
- AVKON_ENUMERATED_TEXT
- {
- value = 0;
- text = qtn_wlan_sett_power_saving_disabled;
- }
- };
- }
-
-RESOURCE DIALOG r_wlan_settings_ui_number_editor_2
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- items=
- {
- DLG_LINE
- {
- type=EAknCtQuery;
- id=EGeneralQuery;
- control= AVKON_DATA_QUERY
- {
- layout = ENumberLayout;
- control = AVKON_INTEGER_EDWIN
- {
- maxlength = EWlanSettingsUiDlgMaxLength2;
- };
- };
- }
- };
- }
-
-RESOURCE TBUF r_wlan_settings_ui_power_saving_infonote
- {
- buf = qtn_power_saving_protected_settings_infonote;
- }
-
-//End of File
--- a/wlanutilities/wlansettingsui/eabi/wlansettingsuiu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
- _ZN15CWlanSettingsUi12RunSettingsLEPN8CommsDat11CMDBSessionE @ 1 NONAME
- _ZN15CWlanSettingsUi12RunSettingsLEv @ 2 NONAME
- _ZN15CWlanSettingsUi4NewLER9CEikonEnv @ 3 NONAME
- _ZN15CWlanSettingsUiD0Ev @ 4 NONAME
- _ZN15CWlanSettingsUiD1Ev @ 5 NONAME
- _ZN15CWlanSettingsUiD2Ev @ 6 NONAME
-
--- a/wlanutilities/wlansettingsui/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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: Build information for the wlansettingsui
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-../inc/wlansettingsui.h |../../inc/wlansettingsui.h
-
-// export iby files
-../rom/wlansettingsui.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlansettingsui.iby)
-../rom/wlansettingsuiresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wlansettingsuiresources.iby)
-
-// export localised loc file
-../loc/wlansettingsui.loc MW_LAYER_LOC_EXPORT_PATH(wlansettingsui.loc)
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-./wlansettingsui.mmp
-
-// End of File
--- a/wlanutilities/wlansettingsui/group/wlansettingsui.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* 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:
-* This is project specification file for the wlansettingsui.
-*
-*
-*/
-
-#include <data_caging_paths.hrh> //this is needed for RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-
-TARGET wlansettingsui.dll
-TARGETTYPE DLL
-UID 0x1000008d 0x10281BC9
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE wlansettingsui.cpp
-SOURCE wlansettingsuiimpl.cpp
-SOURCE wlansettingsuimodel.cpp
-SOURCE wlansettingsuidlg.cpp
-SOURCE wlansettingsuimainviewdlg.cpp
-SOURCE wlansettingsuisettingitemlist.cpp
-SOURCE wlansettingsuistatuspane.cpp
-SOURCE wlansettingsuipanic.cpp
-SOURCE wlansettingsuiscanintervalsettingitem.cpp
-SOURCE wlansettingsuibinarypopupsettingitem.cpp
-
-USERINCLUDE ../data
-
-// Component specific internal headers
-USERINCLUDE ../inc
-
-// ADO-SUBSYSTEM specific internal headers
-SYSTEMINCLUDE ../../inc
-
-// ADO specific internal headers
-SYSTEMINCLUDE ../../../inc
-
-//Macro to /epoc32 headers
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH ../data
-
-//wlansettingsui resources
-START RESOURCE wlansettingsui.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END//wlansettingsui resources
-
-LIBRARY hlplch.lib
-LIBRARY euser.lib
-LIBRARY avkon.lib
-LIBRARY eikdlg.lib
-LIBRARY FeatMgr.lib
-LIBRARY bafl.lib
-LIBRARY cone.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikcore.lib
-LIBRARY aknlayout.lib
-LIBRARY centralrepository.lib
-LIBRARY COMMSDAT.lib
-LIBRARY cmmanagerdatabase.lib
-LIBRARY commonengine.lib
-LIBRARY ecom.lib
-LIBRARY efsrv.lib
-
-
-
-#if defined(ARMCC)
- DEFFILE ../eabi/wlansettingsui.def
-#elif defined( WINSCW )
- DEFFILE ../bwinscw/wlansettingsui.def
-#endif
-
--- a/wlanutilities/wlansettingsui/inc/wlansettingsui.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Declaration of class CWlanSettingsUi.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_H
-#define WLAN_SETTINGS_UI_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include <wlancontainer.h>
-
-// FORWARD DECLARATIONS
-
-class CEikonEnv;
-class CWlanSettingsUiImpl;
-
-// CLASS DECLARATION
-
-/**
-* Public interface of WLAN Settings UI.
-* Proxy around the real implementation in CWlanSettingsUiImpl.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUi ): public CBase
- {
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor. Leaves on failure.
- * @param aEikEnv Eikon environment.
- * @return The constructed CWlanSettingsUi object.
- */
- IMPORT_C static CWlanSettingsUi* NewL( CEikonEnv& aEikEnv );
-
- /**
- * Destructor.
- */
- IMPORT_C virtual ~CWlanSettingsUi();
-
- public: // New methods
-
- /**
- * Launch WLAN Settings view.
- * @param aSession Commsdat session.
- */
- IMPORT_C void RunSettingsL( CMDBSession* aSession );
-
- /**
- * Launch WLAN Settings view.
- * with own session.
- */
- IMPORT_C void RunSettingsL();
-
- private: // Data
-
- CWlanSettingsUiImpl* iImpl; ///< Implementation. Owned.
-
- };
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsui.hrh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Constant definitions for resources.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_HRH
-#define WLAN_SETTINGS_UI_HRH
-
-#include <avkon.hrh>
-
-enum TWlanSettingsUiCommands /// Commands.
- {
- EWlanSettingsUiCmdChange = 5000 ///< "Change" command.
- };
-
-enum TWlanSettingsUiControlId ///< Control ids.
- {
- EWlanSettingsUiDlgSettingList = 1 ///< Setting list control id.
- };
-
-enum TWlanSettingsUiControlType /// Custom control types.
- {
- /// CWlanSettingsUiSettingItemList control type.
- EWlanSettingsUiSettingItemList = KAknCtLastControlId + 1
- };
-
-enum TWlanSettingsUiSettingId /// Setting ids.
- {
- EWlanSettingsUiSettingShowWlanAvail, ///< "Show WLAN avail." sett. id.
- EWlanSettingsUiSettingScanNetworks, ///< "Update availability" sett id.
- EWlanSettingsUiSettingPowerSaving ///< "Power saving" sett. id.
- };
-
-enum TWlanSettingsUiScanNetworkValue /// "Scan network" setting values.
- {
- EWlanSettingsUiScanNetworkAuto = 0, ///< "Scan network" adaptive.
- EWlanSettingsUiScanNetworkUserDef ///< "Scan network" user defined.
- };
-
-/**
-* User defined scan interval minimum
-*/
-#define EWlanSettingsUiScanNetworkMin 1
-
-/**
-* User defined scan interval maximum
-*/
-#define EWlanSettingsUiScanNetworkMax 30
-
-/**
-* User defined scan interval maximal length
-*/
-#define EWlanSettingsUiScanNetworkMaxLength 2
-
-/**
-* 2nd dialog line max length
-*/
-#define EWlanSettingsUiDlgMaxLength2 2
-
-/**
-* For initializing avkon settings items
-*/
-#define EWlanSettingsUiItemListInitialNumber 3
-
-#define EWlanSettingsUiEdwinUnsetValue -1
-
-#endif
-
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuibinarypopupsettingitem.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Declaration of class CWlanSettingsUiBinaryPopupSettingItem.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_BINARY_POPUP_SETTING_ITEM_H
-#define WLAN_SETTINGS_UI_BINARY_POPUP_SETTING_ITEM_H
-
-// INCLUDES
-
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-
-class CWlanSettingsUiBinaryPopupSettingItem;
-
-// CLASS DECLARATION
-
-/**
-* Interface to observe change in internal value of an
-* CAknBinaryPopupSettingItem.
-*/
-NONSHARABLE_CLASS( MWlanSettingsUiBinaryPopupSettingObserver )
- {
-
- public: // New methods
-
- /**
- * Binary setting internal value has changed.
- * @param aItem Changed item.
- * @param aNewInternalVal New internal value.
- */
- virtual void BinarySettingChangedL
- (
- CWlanSettingsUiBinaryPopupSettingItem* aItem,
- TBool aNewInternalVal
- ) = 0;
-
- };
-
-/**
-* Binary setting item.
-* Added functionality: notifies observer about setting change.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiBinaryPopupSettingItem )
-: public CAknBinaryPopupSettingItem
- {
-
- public: // Constructors
-
- /**
- * Constructor.
- * @param aObserver observer reference
- * @param aResourceId Resource id.
- * @param aValue Value.
- */
- CWlanSettingsUiBinaryPopupSettingItem
- (
- MWlanSettingsUiBinaryPopupSettingObserver& aObserver,
- TInt aResourceId,
- TBool& aValue
- );
-
- private: // From CAknSettingItem & base classes
-
- /**
- * Edit item.
- * @param aCalledFromMenu ETrue if called from menu.
- */
- void EditItemL( TBool aCalledFromMenu );
-
- private: // Data
-
- MWlanSettingsUiBinaryPopupSettingObserver& iObserver; ///< Observer.
-
- };
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuidefs.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Macro definitions and constants.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_DEFS_H
-#define WLAN_SETTINGS_UI_DEFS_H
-
-
-
-// CONSTANTS
-
-/// UID of application containing help texts (General Settings).
-LOCAL_D const TUid KWlanSettingsUiHelpMajor = { 0x100058EC };
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuidlg.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Declaration of class CWlanSettingsUiDlg.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_DLG_H
-#define WLAN_SETTINGS_UI_DLG_H
-
-// INCLUDES
-
-#include <AknDialog.h>
-
-// FORWARD DECLARATIONS
-
-class CWlanSettingsUiSettingItemList;
-class CWlanSettingsUiModel;
-
-// CLASS DECLARATION
-
-/**
-* WLAN settings dialog base.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiDlg ): public CAknDialog
- {
-
- protected: // Constructors
-
- /**
- * Constructor.
- * @param aModel Data model.
- */
- inline CWlanSettingsUiDlg( CWlanSettingsUiModel* aModel );
-
- public: // New methods
-
- /**
- * Construct and execute the dialog.
- * @return ETrue if dialog was accepted.
- */
- virtual TInt ExecuteLD();
-
- protected: // From CAknDialog & its base classes
-
- /**
- * Create custom control.
- * @param aControlType Control type.
- * @return Control info.
- */
- SEikControlInfo CreateCustomControlL( TInt aControlType );
-
- /**
- * Process command.
- * @param aCommandId Command id.
- */
- void ProcessCommandL( TInt aCommandId );
-
- /**
- * From @c CEikDialog.
- *
- * Handles a dialog button press for the specified button.
- *
- * This function is invoked when the user presses a button in the
- * button panel. It is not called if the Cancel button is activated
- * unless the @c EEikDialogFlagNotifyEsc flag has been set.
- *
- *
- * @param aButtonId The ID of the button that was activated.
- * @return @c ETrue to validate and exit the dialog,
- * @c EFalse to keep the dialog active. If @c ETrue, the
- * dialog will be destroyed automatically by @c ExecuteLD().
- * The default implementation returns @c ETrue no matter which
- * button is pressed.
- */
- TBool OkToExitL(TInt aButtonId);
-
- protected: // New methods
-
- /**
- * Get the setting item list inside.
- */
- CWlanSettingsUiSettingItemList& SettingItemList() const;
-
- /**
- * Get menu bar resource id.
- * @return Menu bar resource id.
- */
- virtual TInt MenuBarResourceId() const = 0;
-
- /**
- * Get dialog resource id.
- * @return Dialog resource id.
- */
- virtual TInt DialogResourceId() const = 0;
-
- /**
- * Check if Help is supported on the phone or not, querying the
- * KFeatureIdHelp feature flag.
- *
- * @return True If Help is supported,
- * False If Help is not supported.
- */
- static TBool IsHelpSupported();
-
- protected: // Data
-
- CWlanSettingsUiModel* iModel; ///< Data model.
-
- };
-
-#include "wlansettingsuidlg.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuidlg.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Inline method definitions CWlanSettingsUiDlg.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_DLG_INL
-#define WLAN_SETTINGS_UI_DLG_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::CWlanSettingsUiDlg
-// ---------------------------------------------------------
-//
-CWlanSettingsUiDlg::CWlanSettingsUiDlg( CWlanSettingsUiModel* aModel )
-: CAknDialog(),
- iModel( aModel )
- {
- }
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuiimpl.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Declaration of class CWlanSettingsUiImpl.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_IMPL_H
-#define WLAN_SETTINGS_UI_IMPL_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include <wlancontainer.h>
-#include <ConeResLoader.h>
-
-
-// FORWARD DECLARATIONS
-
-class CEikonEnv;
-class CWlanSettingsUiImplImpl;
-class CWlanMgmtClient;
-class CRepository;
-
-// CLASS DECLARATION
-
-/**
-* WLAN Settings UI implementation (behind proxy class CWlanSettingsUi):
-* entry points for WLAN Settign UI functionality.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiImpl ): public CBase
- {
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor. Leaves on failure.
- * @param aEikEnv Eikon environment.
- * @return The constructed CWlanSettingsUiImpl object.
- */
- static CWlanSettingsUiImpl* NewL( CEikonEnv& aEikEnv );
-
- /**
- * Destructor.
- */
- virtual ~CWlanSettingsUiImpl();
-
- protected: // Constructors
-
- /**
- * Constructor.
- * @param aEikEnv Eikon environment.
- */
- CWlanSettingsUiImpl( CEikonEnv& aEikEnv );
-
- /**
- * Second-phase constructor.
- */
- void ConstructL();
-
- public: // New methods
-
- /**
- * Launch General WLAN Settings view.
- * @param aCommsDb Comms database.
- */
- void RunSettingsL( CMDBSession* aSession );
-
- private: // Data
-
- /*
- * Eikon environment. Not owned.
- */
- CEikonEnv* iEikEnv;
-
- /*
- * @var resource loader
- */
- RConeResourceLoader iResources;
-
- /*
- * Wlan management
- */
- CWlanMgmtClient* iWlanMgmtClient;
-
- /*
- * Centeral Repository
- */
- CRepository* iRepository;
-
- };
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimainviewdlg.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Declaration of class CWlanSettingsUiMainViewDlg.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MAIN_VIEW_DLG_H
-#define WLAN_SETTINGS_UI_MAIN_VIEW_DLG_H
-
-// INCLUDES
-
-#include "wlansettingsuidlg.h"
-#include <wlansettingsui.rsg>
-
-// CLASS DECLARATION
-
-/**
-* WLAN settings main view dialog.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiMainViewDlg ): public CWlanSettingsUiDlg
- {
-
- public: // Constructors
-
- /**
- * Constructor.
- * @param aModel Data model.
- */
- inline CWlanSettingsUiMainViewDlg( CWlanSettingsUiModel* aModel );
-
- private: // From CWlanSettingsUiDlg
-
- /**
- * Get menu bar resource id.
- * @return Menu bar resource id.
- */
- inline TInt MenuBarResourceId() const;
-
- /**
- * Get dialog resource id.
- * @return Dialog resource id.
- */
- inline TInt DialogResourceId() const;
-
- void FocusChanged(TDrawNow aDrawNow);
-
-
-
- private: // From CAknDialog & its base classes
-
- /**
- * Get help context.
- * @param aContext Help context is returned here.
- */
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
- /**
- * Initialize menu pane.
- * @param aResourceId Menu pane resource id.
- * @param CEikMenuPane Menu pane.
- */
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- /**
- * Process command.
- * @param aCommandId Command id.
- */
- void ProcessCommandL( TInt aCommandId );
-
- };
-
-#include "wlansettingsuimainviewdlg.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimainviewdlg.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Inline method definitions CWlanSettingsUiMainViewDlg.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MAIN_VIEW_DLG_INL
-#define WLAN_SETTINGS_UI_MAIN_VIEW_DLG_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::CWlanSettingsUiMainViewDlg
-// ---------------------------------------------------------
-//
-CWlanSettingsUiMainViewDlg::CWlanSettingsUiMainViewDlg
-( CWlanSettingsUiModel* aModel )
-: CWlanSettingsUiDlg( aModel )
- {
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::MenuBarResourceId
-// ---------------------------------------------------------
-//
-TInt CWlanSettingsUiMainViewDlg::MenuBarResourceId() const
- {
- return R_WLAN_SETTINGS_UI_MAIN_VIEW_MENUBAR;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::DialogResourceId
-// ---------------------------------------------------------
-//
-TInt CWlanSettingsUiMainViewDlg::DialogResourceId() const
- {
- return R_WLAN_SETTINGS_UI_MAIN_VIEW_DIALOG;
- }
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Declaration of class CWlanSettingsUiModel.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MODEL_H
-#define WLAN_SETTINGS_UI_MODEL_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include "wlansettingsui.hrh"
-#include <wlancontainer.h>
-
-
-// CONSTANTS
-
-/**
- * Default "Show WLAN Availability" setting.
- */
-LOCAL_D const TBool KWlanSettingsUiDefaultShowWlanAvail = EFalse;
-
-/**
- * Value for scanning setting off.
- */
-LOCAL_D const TUint KWlanSettingsUiScanNetworkNever = 0;
-
-/**
- * Value for automatic scanning.
- */
-LOCAL_D const TUint KWlanSettingsUiScanNetworkAuto = 0xFFFFFFFF;
-
-/**
- * Default user-defined scan interval (5 minutes).
- */
-LOCAL_D const TUint KWlanSettingsUiDefaultUserDefScanInterval = 5;
-
-/**
- * Default "Scan Networks" setting.
- */
-LOCAL_D const TUint KWlanSettingsUiDefaultScanNetwork =
- KWlanSettingsUiScanNetworkAuto;
-
-/**
- * Default "Power saving" setting.
- */
-LOCAL_D const TBool KWlanSettingsUiDefaultPowerSaving = ETrue;
-
-// FORWARD DECLARATIONS
-
-class CWlanMgmtClient;
-class CRepository;
-
-// CLASS DECLARATION
-
-/**
-* Data model for WLAN Settings UI.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiModel ) : public CBase
- {
-
- public: // Constructors and destructor
-
- /**
- * Destructor
- */
- ~CWlanSettingsUiModel();
-
- public: // Types
-
- enum TSettingType ///< Setting type.
- {
- EDefaultSettings, ///< Default settings.
- EUserSettings ///< User settings.
- };
-
- public: // New methods
-
-
- /**
- * First phase of two phase construction
- * @param -
- * @return returns an instance
- */
- static CWlanSettingsUiModel* NewL
- (
- CMDBSession* aSession,
- CWlanMgmtClient* aWlanMgmtClient,
- CRepository* aRepository
- );
-
- /**
- * Load settings from comms database.
- */
- void LoadSettingsL();
-
- /**
- * Save settings to comms database.
- */
- void SaveSettingsL();
-
- /**
- * Checks from CenRep if the PowerSave Mode is on (full or partial)
- */
- void CheckPsmModeL();
-
-
- public:
- //getters and setters
-
- /**
- * Gets if Wlan availablity is shown.
- * @return Returns wlan availablity.
- */
- inline TBool ShowWlanAvail();
-
- /**
- * Gets scan networks mode. Returns 0 for no scan, 0xFFFFFFFF for
- * automatic scan or user-defined scan time in minutes.
- * @return Scan networks mode.
- */
- TUint ScanNetworks();
-
- /**
- * Gets if power saving mode is enabled.
- * @return Returns if power saving mode is enabled.
- */
- inline TBool PowerSaving();
-
- /**
- * Sets the value of iShowWlanAvail.
- * @param aShowWlanAvail The set value.
- */
- inline void SetShowWlanAvail( TBool aShowWlanAvail );
-
- /**
- * Sets the value of iScanNetworks. 0 for no scan, 0xFFFFFFFF for
- * automatic scan or user-defined scan time in minutes.
- * @param aScanNetworks The set value.
- */
- void SetScanNetworks( TUint aScanNetworks );
-
- /**
- * Sets the value of iPowerSaving.
- * @param aPowerSaving The set value.
- */
- inline void SetPowerSaving( TBool aPowerSaving );
-
- /**
- * Gets if user selectable power save mode is enabled.
- * @return Returns ETrue/EFalse according to if PSM mode is enabled.
- */
- inline TBool PsmModeOn();
-
-
- private: // New methods
-
- /**
- * Constructor.
- * @param aSession CommsDat session.
- * @param aWlanMgmtClient Wlan management client.
- * @param aRepository Centeral repository.
- */
- CWlanSettingsUiModel
- (
- CMDBSession* aSession,
- CWlanMgmtClient* aWlanMgmtClient,
- CRepository* aRepository
- );
-
- /**
- * Second phase of two phase construction
- */
- void ConstructL();
-
- /**
- * Fix "Scan networks" value: make sure that the numeric value is
- * valid. Ensures fault tolerant behaviour if commsdb contains
- * invalid value.
- * @param TUint aSavedScanInternal The saved value of scan interval.
- */
- void FixScanNetworks( TUint aSavedScanInternal );
-
- /**
- * Scan interval is stored in seconds in the database but the UI
- * handles only 1-30 minutes. Method ensures that scan interval is
- * 0, 1-30 minutes or automatic (0xFFFFFFFF).
- * Ensures fault tolerant behaviour if commsdb contains invalid value.
- * @param TUint aScanInterval this value will be converted.
- * @return TUint the converted value.
- */
- TUint FixScanInterval(TUint aScanInterval);
-
- private:
-
- /// Show WLAN availability.
- TBool iShowWlanAvail;
- /// Scan networks interval in seconds. 0 for no scan, 0xFFFFFFFF for automatic.
- TUint iScanNetworks;
- /// Power saving.
- TBool iPowerSaving;
- /// Full or partial PSM mode.
- TBool iPsmMode;
-
- /// Comms database.
- CMDBSession* iSession;
-
- // WLAN Management client
- CWlanMgmtClient* iWlanMgmtClient; // not owned
-
- /**
- * Central repository member
- */
- CRepository* iRepository; // not owned
-
- // Power Save Mode Feature
- TBool iPsmSupported;
-
- };
-
-#include "wlansettingsuimodel.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimodel.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Inline method definitions CWlanSettingsUiModel.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MODEL_INL
-#define WLAN_SETTINGS_UI_MODEL_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ShowWlanAvail
-// ---------------------------------------------------------
-//
-TBool CWlanSettingsUiModel::ShowWlanAvail()
- {
- return iShowWlanAvail;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::PowerSaving
-// ---------------------------------------------------------
-//
-TBool CWlanSettingsUiModel::PowerSaving()
- {
- return iPowerSaving;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SetShowWlanAvail
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::SetShowWlanAvail( TBool aShowWlanAvail )
- {
- iShowWlanAvail = aShowWlanAvail;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SetPowerSaving
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::SetPowerSaving( TBool aPowerSaving )
- {
- iPowerSaving = aPowerSaving;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::PsmModeOn
-// ---------------------------------------------------------
-//
-TBool CWlanSettingsUiModel::PsmModeOn()
- {
- return iPsmMode;
- }
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuipanic.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Panic function and codes.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_PANIC_H
-#define WLAN_SETTINGS_UI_PANIC_H
-
-// TYPES
-
-/**
-* Panic reasons for WLAN Settings UI.
-*/
-enum TWlanSettingsUiPanicReason
- {
- EWlanSettingsUiBadSetting, ///< Bad setting.
- EWlanSettingsUiBadControl, ///< Bad control.
- EWlanSettingsUiTransactionUnderflow ///< Transaction begin/commit mismatch.
- };
-
-// FUNCTION DECLARATIONS
-
-/**
-* Panic the thread.
-* @param aReason Reason for the panic.
-*/
-void WlanSettingsUiPanic( TWlanSettingsUiPanicReason aReason );
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuiscanintervalsettingitem.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2009 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: Declaration of class CWlanSettingsUiScanIntervalSettingItem.
-*
-*/
-
-
-#ifndef __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
-#define __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
-
-// System includes
-#include <aknsettingitemlist.h>
-
-
-/**
- * Specialized version of CAknEnumeratedTextPopupSettingItem class.
- *
- * @lib wlansettingsui.lib
- * @since S60 v5.2
- */
-NONSHARABLE_CLASS(CWlanSettingsUiScanIntervalSettingItem) :
- public CAknEnumeratedTextPopupSettingItem
- {
- public:
-
- /**
- * Constructor
- * @param aResourceId Resource id for the parent class
- * @param aValue Value for the parent class
- */
- CWlanSettingsUiScanIntervalSettingItem(
- TInt aResourceId, TInt &aListValue, TInt& aValue,
- CWlanSettingsUiModel* aModel );
-
- /**
- * Destructor.
- */
- virtual ~CWlanSettingsUiScanIntervalSettingItem();
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- * @return Setting item text (current value).
- */
- const TDesC& SettingTextL();
-
- /**
- * From CAknEnumeratedTextPopupSettingItem
- * @param aCalledFromMenu Ignored in this class.
- */
- void EditItemL( TBool aCalledFromMenu );
-
- /**
- * From CAknSettingItem
- * @param aSettingPage Pointer to setting page which has caused this callback.
- * @param aEventType Occurred setting page event type.
- */
- void HandleSettingPageEventL( CAknSettingPage* aSettingPage,
- TAknSettingPageEvent aEventType );
-
- private:
-
- /**
- * Displays scan interval query
- */
- TBool ShowScanIntervalQueryL();
-
- /**
- * Shows an information note if user tries to select a non-allowed
- * value during full or partial PowerSave Mode.
- */
- void ShowPowerSavingInfoNoteL();
-
- private: // Data
-
- CWlanSettingsUiModel* iModel;
- RBuf iSettingText;
- TInt& iValue;
- CEikonEnv* iEnv;
- TBool iRevertBackToAutomaticScan;
- };
-
-#endif // __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
-//End of file
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuisettingitemlist.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2004-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:
-* Declaration of class CWlanSettingsUiSettingItemList.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_SETTING_ITEM_LIST_H
-#define WLAN_SETTINGS_UI_SETTING_ITEM_LIST_H
-
-// INCLUDES
-
-#include <aknsettingitemlist.h>
-#include "wlansettingsuibinarypopupsettingitem.h"
-
-// CLASS DECLARATION
-class CWlanSettingsUiModel;
-
-/**
-* WLAN settings item list.
-* Added functionality:
-* - Creates proper type setting items, based on setting id.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiSettingItemList )
-: public CAknSettingItemList,
- public MWlanSettingsUiBinaryPopupSettingObserver
- {
-
- public: // Constructors
-
- /**
- * Constructor.
- * @param aModel Data model.
- */
- inline CWlanSettingsUiSettingItemList
- ( CWlanSettingsUiModel* aModel );
-
- public: // New methods
-
- /**
- * Edit current item.
- * @param aCalledFromMenu ETrue if called from menu.
- */
- void EditCurrentItemL( TBool aCalledFromMenu );
-
- public: // From CAknSettingItemList & base classes
-
- /**
- * Activate.
- */
- void ActivateL();
-
- /**
- * Load settings.
- */
- void LoadSettingsL();
-
- /**
- * Handle resource change
- * @param aType message UID value
- */
- void HandleResourceChange( TInt aType );
-
- /**
- * Launches the setting page for the current item by calling
- * EditItemL on it
- * @param aIndex Current item's (Visible) index in the list
- * @param aCalledFromMenu Ignored in most classes; may alter
- * the behaviour of the setting page
- */
- void EditItemL( TInt aIndex, TBool aCalledFromMenu );
-
- /**
- * Create setting item.
- * @param aSettingId Setting id.
- * @return Setting item.
- */
- CAknSettingItem* CreateSettingItemL( TInt aSettingId );
-
- /**
- * Set view (hide / show items as appropriate).
- */
- void RefreshViewL();
-
- private: // From MWlanSettingsUiBinaryPopupSettingObserver
-
- /**
- * Binary setting internal value has changed.
- * @param aItem Changed item.
- * @param aNewInternalVal New internal value.
- */
- void BinarySettingChangedL
- (
- CWlanSettingsUiBinaryPopupSettingItem* aItem,
- TBool aNewInternalVal
- );
-
- private: // New methods
-
- /**
- * Sets the drawing rectangle for the listbox.
- */
- void SetListBoxRect();
-
-
- private: // Data
-
- CWlanSettingsUiModel* iModel;///< Data model.
-
- TBool iShowWlanAvail; ///< Show WLAN availablility on/off
-
- ///< Scan networks mode selection (automatic/user-defined)
- TInt iScanMode;
-
- ///< User selected scan interval needs to be checked if in PSM mode
- TInt iScanInterval;
-
- TInt iPowerSaving;
-
- // Old scan networks value is reverted back if
- // user turns PSM mode on and then off in settings UI
- TBool iChangeScanNetworksValueBack;
-
- // Back up for the scan networks value
- TUint iScanNetworksBackUp;
-
- };
-
-#include "wlansettingsuisettingitemlist.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuisettingitemlist.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Inline method definitions CWlanSettingsUiSettingItemList.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_SETTING_ITEM_LIST_INL
-#define WLAN_SETTINGS_UI_SETTING_ITEM_LIST_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::CWlanSettingsUiSettingItemList
-// ---------------------------------------------------------
-//
-CWlanSettingsUiSettingItemList::CWlanSettingsUiSettingItemList(
- CWlanSettingsUiModel* aModel )
-: iModel( aModel )
- {
- }
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuistatuspane.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Declaration of class CWlanSettingsUiStatusPane.
-*
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_STATUS_PANE_H
-#define WLAN_SETTINGS_UI_STATUS_PANE_H
-
-// INCLUDES
-
-#include <e32base.h>
-
-// FORWARD DECLARATION
-
-class CEikonEnv;
-class CEikStatusPane;
-class CAknTitlePane;
-class CAknNavigationControlContainer;
-class CAknNavigationDecorator;
-
-// CLASS DECLARATION
-
-/**
-* Status pane setter class. Replaces status pane text on construction,
-* restores old text on deletion.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiStatusPane ): public CBase
- {
-
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor. Leaves on failure.
- * @param aEikEnv Eikon environment.
- * aResourceId TBUF resource id.
- * @return The constructed object.
- */
- static CWlanSettingsUiStatusPane* NewLC
- ( const CEikonEnv* aEikEnv, TInt aResourceId );
-
- /**
- * Destructor.
- */
- virtual ~CWlanSettingsUiStatusPane();
-
- protected: // Constructors
-
- /**
- * Second-phase constructor.
- * @param aEikEnv Eikon environment.
- * aResourceId TBUF resource id.
- */
- void ConstructL( const CEikonEnv* aEikEnv, TInt aResourceId );
-
- private: // Data
-
- CEikStatusPane* iStatusPane; ///< Status pane, not own.
- CAknTitlePane* iTitlePane; ///< Title pane, not own.
- CAknNavigationControlContainer* iNaviPane; ///< Navi pane, not own.
- CAknNavigationDecorator* iNaviDecorator; ///< Navi decorator, own.
- HBufC* iOldTitleText; ///< Old title text, own.
-
- };
-
-#endif
--- a/wlanutilities/wlansettingsui/loc/wlansettingsui.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* 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:
-* Localization strings for the dll
-*
-*/
-
-
-// LOCALISATION STRINGS
-
-//d:Title pane text of WLAN (Wireless Local Area Network) settings.
-//l:title_pane_t2/opt9
-//w:
-//r:3.1
-//
-#define qtn_wlan_main_title "Wireless LAN"
-
-//d:Setting list item name.
-//d:"Show WLAN availability" setting: defines if WLAN availablility indicator
-//d:is displayed or not.
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_show_wlan_avail "Show WLAN availability"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_show_wlan_avail "Show WLAN availability" setting value:
-//d:WLAN availability indicator is not displayed.
-//d:Backround scan for WLAN networks is never performed (==off).
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_never "No"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_show_wlan_avail "Show WLAN availability" setting value:
-//d:WLAN availability indicator is displayed.
-//d:Backround scan for WLAN networks is performed regularly.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_enabled "Yes"
-
-//d:Setting list item name.
-//d:"Scan networks" setting: controls the interval, how often a background scan
-//d:for surrounding WLAN networks is performed.
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_interval "Update availability"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan for WLAN networks is performed in every 1 minute.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_1_min "Every 1 min."
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan for WLAN networks is performed in every %N minutes.
-//l:list_set_graphic_pane_t1
-//w:
-//r:5.2
-//
-#define qtn_wlan_sett_bg_scan_x_min "Every %N minutes"
-
-//d:Setting list item name.
-//d:"Power saving" setting: controls the status of the power mode.
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_power_saving "Power saving"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_power_saving "Power saving" setting value:
-//d:power saving enabled.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_power_saving_enabled "Enabled"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_power_saving "Power saving" setting value:
-//d:power saving disabled.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_power_saving_disabled "Disabled"
-
-//d: In case of error, the error code is passed to error resolver
-//d: and the error note is displayed accordingly. If error resolver
-//d: cannot resolve the error, an error note "System error" is displayed.
-//l: popup_note_window/opt2
-//w:
-//r:3.1
-//
-#define qtn_err_os_general "System error"
-
-//d: In case the user wants to change the background scanning
-//d: interval while the phone is in power save mode this a
-//l:popup_note_window
-//w:
-//r:5.0
-//
-#define qtn_power_saving_protected_settings_infonote "Power saving is active. Unable to edit."
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan for WLAN networks is calculated by adaptive WLAN scanning engine
-//l:list_set_graphic_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_wlan_sett_bg_scan_auto "Automatically"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan interval for WLAN networks is defined by user
-//l:list_set_graphic_pane_t1
-//w:
-//r:5.2
-//
-#define qtn_wlan_sett_bg_scan_user_def "User-defined interval"
-
-//d:"Interval (in minutes):" - data query
-//l:popup_query_data_window/opt5
-//w:
-//r:5.2
-//
-#define qtn_wlan_prmpt_bg_scan_interval "Interval (in minutes):"
-
-// End of File
--- a/wlanutilities/wlansettingsui/rom/wlansettingsui.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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: Image description file for project wlansettingsui
-*
-*/
-
-
-#ifndef __WLAN_SETTINGS_UI_IBY__
-#define __WLAN_SETTINGS_UI_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-FILE=ABI_DIR\BUILD_DIR\wlansettingsui.dll SHARED_LIB_DIR\wlansettingsui.dll
-
-
-#endif //__PROTOCOL_WLAN
-
-#endif //__WLAN_SETTINGS_UI_IBY__
-
--- a/wlanutilities/wlansettingsui/rom/wlansettingsuiresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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: Image description file for project wlansettingsui
-*
-*/
-
-
-#ifndef __WLAN_SETTINGS_UI_RESOURCES_IBY__
-#define __WLAN_SETTINGS_UI_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-data=DATAZ_\RESOURCE_FILES_DIR\wlansettingsui.rsc RESOURCE_FILES_DIR\wlansettingsui.rsc
-
-#endif //__PROTOCOL_WLAN
-
-#endif __WLAN_SETTINGS_UI_RESOURCES_IBY__
-
--- a/wlanutilities/wlansettingsui/src/wlansettingsui.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Implementation of class CWlanSettingsUi.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "wlansettingsui.h"
-#include "wlansettingsuiimpl.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::NewLC
-// ---------------------------------------------------------
-//
-EXPORT_C CWlanSettingsUi* CWlanSettingsUi::NewL( CEikonEnv& aEikEnv )
- {
- CWlanSettingsUi* ui = new ( ELeave ) CWlanSettingsUi();
- CleanupStack::PushL( ui );
- ui->iImpl = CWlanSettingsUiImpl::NewL( aEikEnv );
- CleanupStack::Pop( ui );
- return ui;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::~CWlanSettingsUi
-// ---------------------------------------------------------
-//
-EXPORT_C CWlanSettingsUi::~CWlanSettingsUi()
- {
- delete iImpl;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::RunSettingsL
-// ---------------------------------------------------------
-//
-EXPORT_C void CWlanSettingsUi::RunSettingsL( CMDBSession* aSession )
- {
- iImpl->RunSettingsL( aSession );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::RunSettingsL
-// ---------------------------------------------------------
-//
-EXPORT_C void CWlanSettingsUi::RunSettingsL()
- {
- CommsDat::CMDBSession* session = CMDBSession::NewLC( KCDLatestVersion );
- RunSettingsL( session );
- CleanupStack::PopAndDestroy( session );
- }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuibinarypopupsettingitem.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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:
-* CWlanSettingsUiBinaryPopupSettingItem implementation.
-*
-*
-*/
-
-
-#include "wlansettingsuibinarypopupsettingitem.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiBinaryPopupSettingItem::CWlanSettingsUiBinaryPopupSettingItem
-// ---------------------------------------------------------
-//
-CWlanSettingsUiBinaryPopupSettingItem::CWlanSettingsUiBinaryPopupSettingItem(
- MWlanSettingsUiBinaryPopupSettingObserver& aObserver,
- TInt aResourceId,
- TBool& aValue )
-: CAknBinaryPopupSettingItem( aResourceId, aValue ),
- iObserver( aObserver )
- {
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiBinaryPopupSettingItem::EditItemL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiBinaryPopupSettingItem::EditItemL( TBool aCalledFromMenu )
- {
- // Since this is a binary setting, edit always means change.
- // (There is no popup to Cancel, the setting changes in place.)
- CAknBinaryPopupSettingItem::EditItemL( aCalledFromMenu );
- iObserver.BinarySettingChangedL( this, InternalValue() );
- }
-
--- a/wlanutilities/wlansettingsui/src/wlansettingsuidlg.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Implementation of class CWlanSettingsUiDlg.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "wlansettingsuidlg.h"
-#include "wlansettingsuisettingitemlist.h"
-#include "wlansettingsuipanic.h"
-#include "wlansettingsui.hrh"
-
-#include <aknappui.h>
-#include <featmgr.h>
-
-#include <hlplch.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::ExecuteLD
-// ---------------------------------------------------------
-//
-TInt CWlanSettingsUiDlg::ExecuteLD()
- {
- CleanupStack::PushL( this );
- ConstructL( MenuBarResourceId() );
- CleanupStack::Pop( this );
- return CAknDialog::ExecuteLD( DialogResourceId() );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::CreateCustomControlL
-// ---------------------------------------------------------
-//
-SEikControlInfo CWlanSettingsUiDlg::CreateCustomControlL( TInt aControlType )
- {
- SEikControlInfo controlInfo;
- controlInfo.iControl = NULL;
- controlInfo.iTrailerTextId = 0;
- controlInfo.iFlags = 0;
- switch ( aControlType )
- {
- case EWlanSettingsUiSettingItemList:
- {
- controlInfo.iControl = new (ELeave) CWlanSettingsUiSettingItemList(
- iModel );
- break;
- }
-
- default:
- {
- __ASSERT_DEBUG( EFalse, \
- WlanSettingsUiPanic( EWlanSettingsUiBadControl ) );
- break;
- }
- }
- return controlInfo;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::ProcessCommandL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiDlg::ProcessCommandL( TInt aCommandId )
- {
- if ( MenuShowing() )
- {
- HideMenu();
- }
-
- switch( aCommandId )
- {
- case EWlanSettingsUiCmdChange:
- {
- SettingItemList().EditCurrentItemL( ETrue );
- break;
- }
-
- case EAknSoftkeyChange:
- {
- SettingItemList().EditCurrentItemL( EFalse );
- break;
- }
-
- case EAknSoftkeyBack:
- {
- TryExitL( aCommandId );
- break;
- }
-
- case EAknCmdHelp:
- {
- if( IsHelpSupported() )
- {
- HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
- iEikonEnv->EikAppUi()->AppHelpContextL() );
- }
- break;
- }
-
- case EAknCmdExit:
- case EEikCmdExit:
- {
- ( ( CAknAppUi* )iEikonEnv->EikAppUi() )->
- ProcessCommandL( aCommandId );
- break;
- }
-
- default:
- {
- CAknDialog::ProcessCommandL( aCommandId );
- }
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::OkToExitL
-// ---------------------------------------------------------
-//
-TBool CWlanSettingsUiDlg::OkToExitL( TInt aButtonId )
- {
- if ( aButtonId == EAknSoftkeyChange )
- {
- ProcessCommandL( aButtonId );
- return EFalse;
- }
-
- return CAknDialog::OkToExitL( aButtonId );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::SettingItemList
-// ---------------------------------------------------------
-//
-CWlanSettingsUiSettingItemList& CWlanSettingsUiDlg::SettingItemList() const
- {
- return *( STATIC_CAST( CWlanSettingsUiSettingItemList*, \
- Control( EWlanSettingsUiDlgSettingList ) ) );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::IsHelpSupported
-// ---------------------------------------------------------
-//
-TBool CWlanSettingsUiDlg::IsHelpSupported()
- {
- TBool isHelpSupported = EFalse;
-
- TRAPD( error, FeatureManager::InitializeLibL() );
-
- if( !error )
- {
- isHelpSupported =
- FeatureManager::FeatureSupported( KFeatureIdHelp );
-
- FeatureManager::UnInitializeLib();
- }
-
- return isHelpSupported;
- }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuiimpl.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Implementation of class CWlanSettingsUiImpl.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <eikenv.h>
-#include <bautils.h>
-#include <centralrepository.h>
-#include <data_caging_path_literals.hrh>
-#include <wlanmgmtclient.h>
-#include <internetconnectivitycrkeys.h>
-#include <f32file.h>
-#include <mpmconnectscreenid.h>
-#include <wlandevicesettingsinternalcrkeys.h>
-
-#include "wlansettingsuiimpl.h"
-#include "wlansettingsuimainviewdlg.h"
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuistatuspane.h"
-
-// CONSTANTS
-
-/// WLAN Settings UI resource file path.
-_LIT( KWlanSettingsUiResourceFile, "z:wlansettingsui.rsc" );
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::NewLC
-// ---------------------------------------------------------
-//
-CWlanSettingsUiImpl* CWlanSettingsUiImpl::NewL( CEikonEnv& aEikEnv )
- {
- CWlanSettingsUiImpl* ui = new ( ELeave ) CWlanSettingsUiImpl( aEikEnv );
- CleanupStack::PushL( ui );
- ui->ConstructL();
- CleanupStack::Pop( ui );
- return ui;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::~CWlanSettingsUiImpl
-// ---------------------------------------------------------
-//
-CWlanSettingsUiImpl::~CWlanSettingsUiImpl()
- {
- iResources.Close();
-
-#ifndef __WINS__
- delete iWlanMgmtClient;
-#endif
- delete iRepository;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::CWlanSettingsUiImpl
-// ---------------------------------------------------------
-//
-CWlanSettingsUiImpl::CWlanSettingsUiImpl( CEikonEnv& aEikEnv )
-: iEikEnv( &aEikEnv ),
- iResources( *CCoeEnv::Static() )
- {
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiImpl::ConstructL()
- {
- RFs fsSession;
- User::LeaveIfError( fsSession.Connect() );
-
- // Find the resource file:
- TParse parse;
- parse.Set( KWlanSettingsUiResourceFile, &KDC_RESOURCE_FILES_DIR, NULL );
- TFileName fileName( parse.FullName() );
-
- // Get language of resource file:
- BaflUtils::NearestLanguageFile( fsSession, fileName );
-
- // Open resource file:
- iResources.OpenL( fileName );
-
- // If leave occurs before this, close is called automatically when the
- // thread exits.
- fsSession.Close();
-
-
-#ifndef __WINS__
- iWlanMgmtClient = CWlanMgmtClient::NewL();
-#endif
- iRepository = CRepository::NewL( KCRUidInternetConnectivitySettings );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::RunSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiImpl::RunSettingsL( CMDBSession* aSession )
- {
- CWlanSettingsUiModel* model = CWlanSettingsUiModel::NewL(
- aSession,
- iWlanMgmtClient,
- iRepository);
-
- CleanupStack::PushL( model );
-
- model->LoadSettingsL();
- CWlanSettingsUiStatusPane* statusPane =
- CWlanSettingsUiStatusPane::NewLC( iEikEnv, R_WLAN_SETTINGS_UI_TITLE );
- CWlanSettingsUiMainViewDlg* dlg =
- new ( ELeave ) CWlanSettingsUiMainViewDlg( model );
- dlg->ExecuteLD();
-
- CleanupStack::PopAndDestroy( statusPane );
- CleanupStack::PopAndDestroy( model );
- }
-
--- a/wlanutilities/wlansettingsui/src/wlansettingsuimainviewdlg.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Implementation of class CWlanSettingsUiMainViewDlg.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <AknQueryDialog.h>
-#include <eikmenup.h>
-#include "wlansettingsuimainviewdlg.h"
-#include "wlansettingsui.hrh"
-#include "wlansettingsuisettingitemlist.h"
-
-#include "wlansettingsuidefs.h"
-#include <csxhelp/cp.hlp.hrh>
-
-
-//CONSTANTS
-
-// ================= MEMBER FUNCTIONS =======================
- void FocusChanged(TDrawNow aDrawNow);
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::GetHelpContext
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::FocusChanged(TDrawNow /* aDrawNow */)
- {
- TRAP_IGNORE( SettingItemList().RefreshViewL() );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::GetHelpContext
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::GetHelpContext
-( TCoeHelpContext& aContext ) const
- {
- aContext.iMajor = KWlanSettingsUiHelpMajor;
- aContext.iContext = KSET_HLP_WLAN_SETTINGS;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::DynInitMenuPaneL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::DynInitMenuPaneL
-( TInt aResourceId, CEikMenuPane* aMenuPane )
- {
- CWlanSettingsUiDlg::DynInitMenuPaneL( aResourceId, aMenuPane );
- if ( aResourceId == R_WLAN_SETTINGS_UI_MAIN_VIEW_MENU )
- {
- if ( !IsHelpSupported() )
- {
- aMenuPane->DeleteMenuItem( EAknCmdHelp );
- }
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::ProcessCommandL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::ProcessCommandL( TInt aCommandId )
- {
- if ( MenuShowing() )
- {
- HideMenu();
- }
-
- switch( aCommandId )
- {
- default:
- {
- CWlanSettingsUiDlg::ProcessCommandL( aCommandId );
- }
- }
- }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuimodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-/*
-* Copyright (c) 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:
-* Implementation of class TWlanSettingsUiModel.
-*
-*
-*/
-
-
-// INCLUDE FILES
-#include <centralrepository.h>
-#include <wlanmgmtclient.h>
-#include <internetconnectivitycrkeys.h>
-#include <wlancontainer.h>
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuipanic.h"
-
-#include <psmtypes.h>
-#include <psmsrvdomaincrkeys.h>
-#include <wlandevicesettingsinternalcrkeys.h>
-#include <featmgr.h>
-#include <mpmconnectscreenid.h>
-
-// CONSTANTS
-
-const TInt KWlanSettingsUiSecondsInMinute = 60;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::NewL
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel* CWlanSettingsUiModel::NewL
- (
- CMDBSession* aSession,
- CWlanMgmtClient* aWlanMgmtClient,
- CRepository* aRepository
- )
- {
- CWlanSettingsUiModel* self = new( ELeave )
- CWlanSettingsUiModel(aSession,
- aWlanMgmtClient,
- aRepository);
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::CWlanSettingsUiModel
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel::CWlanSettingsUiModel
- (
- CMDBSession* aSession,
- CWlanMgmtClient* aWlanMgmtClient,
- CRepository* aRepository
- )
-: iShowWlanAvail( KWlanSettingsUiDefaultShowWlanAvail ),
- iScanNetworks( KWlanSettingsUiDefaultScanNetwork ),
- iPowerSaving( KWlanSettingsUiDefaultPowerSaving ),
- iPsmMode( EFalse ),
- iSession( aSession ),
- iWlanMgmtClient( aWlanMgmtClient ),
- iRepository( aRepository ),
- iPsmSupported( EFalse )
- {
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::ConstructL()
- {
- FeatureManager::InitializeLibL();
- // Set the member variable to indicate if full/partial PSM is on.
- // This value stays the same for the whole WLAN Settings session,
- // i.e. we ignore any mode changes during the session.
- CheckPsmModeL();
- }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::~CWlanSettingsUiModel()
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel::~CWlanSettingsUiModel()
- {
- FeatureManager::UnInitializeLib();
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::LoadSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::LoadSettingsL()
- {
- TBool ownTransaction( EFalse );
- if( !iSession->IsInTransaction() )
- {
- ownTransaction = ETrue;
- iSession->OpenTransactionL();
- }
- TMDBElementId tableId = 0;
-
- tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-
- CCDWlanDeviceSettingsRecord* record = new( ELeave )
- CCDWlanDeviceSettingsRecord( tableId );
- CleanupStack::PushL( record );
-
- record->iWlanDeviceSettingsType = KWlanUserSettings;
-
- if( record->FindL( *iSession ) )
- {
- record->LoadL( *iSession );
- }
-
- // Read scan interval
-
- iScanNetworks = record->iBgScanInterval;
- FixScanNetworks( record->iSavedBgScanInterval );
-
- iPowerSaving = record->iWlanPowerMode;
- CleanupStack::PopAndDestroy( record );
-
- if ( ownTransaction )
- {
- iSession->CommitTransactionL();
- // Rollback operation.
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SaveSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::SaveSettingsL()
- {
- TBool ownTransaction( EFalse );
- if( !iSession->IsInTransaction() )
- {
- ownTransaction = ETrue;
- iSession->OpenTransactionL();
- }
- TMDBElementId tableId = 0;
- tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-
- CCDWlanDeviceSettingsRecord* record = new( ELeave )
- CCDWlanDeviceSettingsRecord( tableId );
-
- CleanupStack::PushL( record );
-
- record->iWlanDeviceSettingsType = KWlanUserSettings;
-
- if( record->FindL( *iSession ) )
- {
- record->LoadL( *iSession );
- }
-
- if ( iShowWlanAvail )
- {
- record->iBgScanInterval = iScanNetworks;
- }
- else
- {
- record->iBgScanInterval = KWlanSettingsUiScanNetworkNever;
-
- // Do not change the saved interval value if in full or partial PSM Mode.
- // We want to preserve the previous user-selected value in memory, not the
- // forced PSM mode value (automatic).
- if ( !PsmModeOn() )
- {
- record->iSavedBgScanInterval = iScanNetworks;
- }
- }
-
- record->iWlanPowerMode = iPowerSaving;
-
- // Whenever settings are modified, iUseDefaultSettings must be set to false.
- record->iUseDefaultSettings = EFalse;
-
- record->ModifyL( *iSession );
-
- CleanupStack::PopAndDestroy( record );
- if ( ownTransaction )
- {
- iSession->CommitTransactionL();
- }
-
-#ifndef __WINS__
- // Notifying WLAN Engine about changes in settings
- iWlanMgmtClient->NotifyChangedSettings();
-#endif
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::FixScanNetworks
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::FixScanNetworks( TUint aSavedScanInterval )
- {
- if ( iScanNetworks == KWlanSettingsUiScanNetworkNever )
- {
- iShowWlanAvail = EFalse;
-
- if( aSavedScanInterval == KWlanSettingsUiScanNetworkNever
- || iPsmMode )
- {
- iScanNetworks = KWlanSettingsUiDefaultScanNetwork;
- }
- else
- {
- iScanNetworks = FixScanInterval( aSavedScanInterval );
- }
- }
-
- else
- {
- iShowWlanAvail = ETrue;
- iScanNetworks = FixScanInterval( iScanNetworks );
- }
- }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::FixScanInterval
-// ---------------------------------------------------------
-//
-TUint CWlanSettingsUiModel::FixScanInterval( TUint aScanInterval )
- {
- if( aScanInterval <=
- ( EWlanSettingsUiScanNetworkMax * KWlanSettingsUiSecondsInMinute ) )
- {
- // Return only full minutes
- return aScanInterval -
- ( aScanInterval % KWlanSettingsUiSecondsInMinute );
- }
- else
- {
- return KWlanSettingsUiScanNetworkAuto;
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::CheckPsmModeL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::CheckPsmModeL()
- {
- iPsmSupported = FeatureManager::FeatureSupported( KFeatureIdPowerSave );
- if( iPsmSupported )
- {
- TPsmsrvMode mode( EPsmsrvModeNormal );
-
- CRepository* cenrep = NULL;
-
- TRAP_IGNORE( cenrep = CRepository::NewL( KCRUidPowerSaveMode ) );
-
- if ( cenrep )
- {
- TInt crValue(0);
- cenrep->Get( KPsmCurrentMode, crValue );
- mode = static_cast<TPsmsrvMode>( crValue );
- if ( mode == EPsmsrvModePowerSave || mode == EPsmsrvPartialMode )
- {
- iPsmMode = ETrue;
- }
- else
- {
- iPsmMode = EFalse;
- }
-
- delete cenrep;
- cenrep = NULL;
- }
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ScanNetworks
-// ---------------------------------------------------------
-//
-TUint CWlanSettingsUiModel::ScanNetworks()
- {
- if ( iScanNetworks == KWlanSettingsUiScanNetworkAuto )
- {
- return iScanNetworks;
- }
- else
- {
- // Return scan time in minutes
- return ( iScanNetworks / KWlanSettingsUiSecondsInMinute );
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SetScanNetworks
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::SetScanNetworks( TUint aScanNetworks )
- {
- if ( aScanNetworks == KWlanSettingsUiScanNetworkAuto )
- {
- iScanNetworks = aScanNetworks;
- }
- else
- {
- // Scan time stored in seconds
- iScanNetworks = aScanNetworks * KWlanSettingsUiSecondsInMinute;
- }
- }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuipanic.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Implementation of panic function.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32std.h>
-#include "wlansettingsuipanic.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// WlanSettingsUiPanic()
-// ---------------------------------------------------------
-//
-void WlanSettingsUiPanic( TWlanSettingsUiPanicReason aReason )
- {
- _LIT( KWlanSettingsUi, "WLAN Settings UI" );
- User::Panic( KWlanSettingsUi, aReason );
- }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuiscanintervalsettingitem.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* Copyright (c) 2009 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: Declaration of class CWlanSettingsUiScanIntervalSettingItem.
-*
-*/
-
-// INCLUDE FILES
-
-#include "wlansettingsui.hrh"
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuiscanintervalsettingitem.h"
-
-#include <wlansettingsui.rsg>
-#include <AknQueryDialog.h>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-
-// CONSTANTS
-
-/**
-* User defined scan interval minimum
-*/
-const TInt KScanIntervalMin = EWlanSettingsUiScanNetworkMin;
-
-/**
-* User defined scan interval maximum
-*/
-const TInt KScanIntervalMax = EWlanSettingsUiScanNetworkMax;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::
-// CWlanSettingsUiScanIntervalSettingItem
-// ---------------------------------------------------------------------------
-//
-CWlanSettingsUiScanIntervalSettingItem::
- CWlanSettingsUiScanIntervalSettingItem(
- TInt aResourceId, TInt& aListValue, TInt& aValue,
- CWlanSettingsUiModel* aModel ) :
- CAknEnumeratedTextPopupSettingItem( aResourceId, aListValue ),
- iModel( aModel ),
- iValue( aValue ),
- iEnv( CEikonEnv::Static() ),
- iRevertBackToAutomaticScan( EFalse )
- {
- };
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::
-// ~CWlanSettingsUiScanIntervalSettingItem
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CWlanSettingsUiScanIntervalSettingItem::
- ~CWlanSettingsUiScanIntervalSettingItem()
- {
- iSettingText.Close();
- }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::SettingTextL
-// ---------------------------------------------------------------------------
-//
-const TDesC& CWlanSettingsUiScanIntervalSettingItem::SettingTextL()
- {
- HBufC* tempText;
-
- iSettingText.Close();
-
- if ( InternalValue() == EWlanSettingsUiScanNetworkAuto )
- {
- tempText = iEnv->AllocReadResourceL( R_WLAN_SETT_BG_SCAN_AUTO );
- }
- else
- {
- if ( iValue == 1 )
- {
- tempText = iEnv->AllocReadResourceL( R_WLAN_SETT_BG_SCAN_1_MIN );
- }
- else
- {
- tempText = StringLoader::LoadL( R_WLAN_SETT_BG_SCAN_X_MIN, iValue, iEnv );
- }
- }
-
- iSettingText.Assign( tempText );
-
- AknTextUtils::LanguageSpecificNumberConversion( iSettingText );
-
- return iSettingText;
- }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::EditItemL
-// ---------------------------------------------------------------------------
-//
-void CWlanSettingsUiScanIntervalSettingItem::EditItemL( TBool aCalledFromMenu )
- {
- CAknEnumeratedTextPopupSettingItem::EditItemL( aCalledFromMenu );
-
- if ( iRevertBackToAutomaticScan )
- {
- // Scan mode needs to be reverted back to automatic because we are
- // either in power saving mode or user cancelled the user-defined
- // scan interval query
- SetInternalValue( EWlanSettingsUiScanNetworkAuto );
- SetSelectedIndex( IndexFromValue( EWlanSettingsUiScanNetworkAuto ) );
- UpdateListBoxTextL();
- iRevertBackToAutomaticScan = EFalse;
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::HandleSettingPageEventL
-// ---------------------------------------------------------------------------
-//
-void CWlanSettingsUiScanIntervalSettingItem::HandleSettingPageEventL(
- CAknSettingPage* aSettingPage,
- TAknSettingPageEvent aEventType )
- {
- if ( aEventType != EEventSettingCancelled )
- {
- CEikListBox* listBox = (CEikListBox*)aSettingPage->EditorControl();
- TInt index = listBox->CurrentItemIndex();
-
- if ( index == IndexFromValue( EWlanSettingsUiScanNetworkUserDef ) )
- {
- // User-defined scan interval selected
- if ( !iModel->PsmModeOn() )
- {
- if ( iValue == 0 )
- {
- // Set default scan interval for query dialog
- iValue = KWlanSettingsUiDefaultUserDefScanInterval;
- }
- if ( ShowScanIntervalQueryL() == FALSE )
- {
- // Dialog was cancelled, revert back to automatic scan?
- if ( InternalValue() == EWlanSettingsUiScanNetworkAuto )
- {
- // Previous selection was automatic, revert back to
- // automatic
- iRevertBackToAutomaticScan = ETrue;
- }
- }
- }
- else
- {
- // We are in power saving mode, user-defined interval not allowed
- ShowPowerSavingInfoNoteL();
- iRevertBackToAutomaticScan = ETrue;
- }
- }
- }
-
- CAknSettingItem::HandleSettingPageEventL(aSettingPage, aEventType);
- }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::ShowScanIntervalQueryL
-// ---------------------------------------------------------------------------
-//
-TBool CWlanSettingsUiScanIntervalSettingItem::ShowScanIntervalQueryL()
- {
- HBufC* msg = StringLoader::LoadLC( R_WLAN_PRMPT_BG_SCAN_INTERVAL );
-
- CAknNumberQueryDialog* dialog = CAknNumberQueryDialog::NewL( iValue );
- dialog->PrepareLC( R_WLAN_SETTINGS_UI_NUMBER_EDITOR_2 );
- dialog->SetPromptL( *msg );
- dialog->SetMinimumAndMaximum( KScanIntervalMin, KScanIntervalMax );
- TBool result = ( dialog->RunLD() == EAknSoftkeyOk );
- CleanupStack::PopAndDestroy( msg );
- return result;
- }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::ShowPowerSavingInfoNoteL
-// ---------------------------------------------------------------------------
-//
-void CWlanSettingsUiScanIntervalSettingItem::ShowPowerSavingInfoNoteL()
- {
- HBufC* prompt = StringLoader::LoadLC(
- R_WLAN_SETTINGS_UI_POWER_SAVING_INFONOTE );
- CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
- note->ExecuteLD( *prompt );
- CleanupStack::PopAndDestroy( prompt );
- }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuisettingitemlist.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Implementation of class CWlanSettingsUiSettingItemList.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "wlansettingsuisettingitemlist.h"
-#include "wlansettingsuibinarypopupsettingitem.h"
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuipanic.h"
-#include "wlansettingsuidefs.h"
-#include "wlansettingsui.hrh"
-#include "wlansettingsuiscanintervalsettingitem.h"
-
-#include <wlansettingsui.rsg>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::EditItemL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::EditItemL( TInt aIndex,
- TBool aCalledFromMenu )
- {
- __ASSERT_ALWAYS ( aIndex < SettingItemArray()->Count(), \
- User::Leave( KErrArgument ) );
-
- CAknSettingItem* item = SettingItemArray()->At ( aIndex );
-
- CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu);
- CAknSettingItemList::StoreSettingsL();
-
- switch ( item->Identifier() )
- {
- case EWlanSettingsUiSettingScanNetworks:
- {
- if ( iScanMode == EWlanSettingsUiScanNetworkAuto )
- {
- iModel->SetScanNetworks( KWlanSettingsUiScanNetworkAuto );
- }
- else
- {
- iModel->SetScanNetworks( iScanInterval );
- }
- break;
- }
-
- case EWlanSettingsUiSettingPowerSaving:
- {
- iModel->SetPowerSaving( iPowerSaving );
- break;
- }
-
- default:
- {
- break;
- }
- }
- iModel->SaveSettingsL();
-
- DrawNow();
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::EditCurrentItemL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::EditCurrentItemL( TBool aCalledFromMenu )
- {
- TInt index = SettingItemArray()->ItemIndexFromVisibleIndex
- ( ListBox()->CurrentItemIndex() );
- EditItemL( index, aCalledFromMenu );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::LoadSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::LoadSettingsL()
- {
- CAknSettingItemList::LoadSettingsL();
- iShowWlanAvail = iModel->ShowWlanAvail();
- iScanInterval = iModel->ScanNetworks();
- if ( static_cast<TUint>( iScanInterval ) ==
- KWlanSettingsUiScanNetworkAuto )
- {
- iScanMode = EWlanSettingsUiScanNetworkAuto;
- iScanInterval = KWlanSettingsUiDefaultUserDefScanInterval;
- }
- else
- {
- iScanMode = EWlanSettingsUiScanNetworkUserDef;
- }
- iPowerSaving = iModel->PowerSaving();
- iChangeScanNetworksValueBack = EFalse;
- RefreshViewL();
- }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::CreateSettingItemL
-// ---------------------------------------------------------
-//
-CAknSettingItem* CWlanSettingsUiSettingItemList::CreateSettingItemL
-( TInt aSettingId )
- {
- CAknSettingItem* item;
- switch ( aSettingId )
- {
- case EWlanSettingsUiSettingShowWlanAvail:
- {
- item = new (ELeave) CWlanSettingsUiBinaryPopupSettingItem
- ( *this, aSettingId, iShowWlanAvail );
- break;
- }
-
- case EWlanSettingsUiSettingScanNetworks:
- {
- item = new (ELeave)CWlanSettingsUiScanIntervalSettingItem
- ( aSettingId, iScanMode, iScanInterval, iModel );
- break;
- }
-
- case EWlanSettingsUiSettingPowerSaving:
- {
- item = new (ELeave) CAknBinaryPopupSettingItem
- ( aSettingId, iPowerSaving );
- break;
- }
-
- default:
- {
- __ASSERT_DEBUG( EFalse, \
- WlanSettingsUiPanic( EWlanSettingsUiBadSetting ) );
- item = new (ELeave) CAknSettingItem( aSettingId );
- break;
- }
- }
- return item;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::BinarySettingChangedL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::BinarySettingChangedL
-( CWlanSettingsUiBinaryPopupSettingItem* aItem, TBool aNewInternalVal )
- {
- switch ( aItem->Identifier() )
- {
- case EWlanSettingsUiSettingShowWlanAvail:
- {
- iShowWlanAvail = aNewInternalVal;
- iModel->SetShowWlanAvail( aNewInternalVal );
- break;
- }
-
- default:
- {
- __ASSERT_DEBUG( EFalse, \
- WlanSettingsUiPanic( EWlanSettingsUiBadSetting ) );
- break;
- }
- }
- RefreshViewL();
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::RefreshViewL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::RefreshViewL()
- {
- TInt i;
- CAknSettingItem* item;
- for ( i = 0; i < SettingItemArray()->Count(); i++ )
- {
- item = SettingItemArray()->At( i );
- switch ( item->Identifier() )
- {
- case EWlanSettingsUiSettingShowWlanAvail:
- {
- // Always shown.
- break;
- }
-
- case EWlanSettingsUiSettingScanNetworks:
- {
- // Hidden if Show WLAN Availability is off.
- item->SetHidden( !iShowWlanAvail );
-
- if ( iShowWlanAvail )
- {
- iModel->CheckPsmModeL();
- // check that the user selected value is allowed
- // if we are in the PowerSave Mode
- if ( iModel->PsmModeOn() )
- {
- if ( iModel->ScanNetworks() != KWlanSettingsUiScanNetworkAuto )
- {
- iScanMode = EWlanSettingsUiScanNetworkAuto;
- iScanNetworksBackUp = iModel->ScanNetworks();
- iModel->SetScanNetworks( KWlanSettingsUiScanNetworkAuto );
- iChangeScanNetworksValueBack = ETrue;
- CAknSettingItemList::LoadSettingsL();
- }
- }
- else
- {
- if ( iChangeScanNetworksValueBack )
- {
- iScanMode = EWlanSettingsUiScanNetworkUserDef;
- iModel->SetScanNetworks( iScanNetworksBackUp );
- iChangeScanNetworksValueBack = EFalse;
- CAknSettingItemList::LoadSettingsL();
- }
- }
- }
-
- break;
- }
-
- case EWlanSettingsUiSettingPowerSaving:
- {
- // Always shown.
- break;
- }
-
- default:
- {
- __ASSERT_DEBUG( EFalse, \
- WlanSettingsUiPanic( EWlanSettingsUiBadSetting ) );
- break;
- }
- }
- }
- HandleChangeInItemArrayOrVisibilityL();
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::SetListBoxRect
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::SetListBoxRect()
-{
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect(
- AknLayoutUtils::EMainPane, mainPaneRect );
-
- TAknLayoutRect layoutRect;
- layoutRect.LayoutRect(
- TRect( TPoint( 0, 0 ), mainPaneRect.Size() ),
- AKN_LAYOUT_WINDOW_list_gen_pane( 0 ) );
-
- ListBox()->SetRect( layoutRect.Rect() );
-}
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::HandleResourceChange( TInt aType )
- {
- if ( aType == KEikDynamicLayoutVariantSwitch )
- {
- SetListBoxRect();
- }
-
- // Base call
- CAknSettingItemList::HandleResourceChange( aType );
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::ActivateL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::ActivateL()
- {
- LoadSettingsL();
- SetListBoxRect();
- CAknSettingItemList::ActivateL();
- }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuistatuspane.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2004 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:
-* Implementation of class CWlanSettingsUiStatusPane.
-*
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <eikenv.h>
-#include <eikspane.h>
-#include <akntitle.h>
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <avkon.hrh>
-#include <StringLoader.h>
-
-#include "wlansettingsuistatuspane.h"
-#include <wlansettingsui.rsg>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::NewLC
-// ---------------------------------------------------------
-//
-CWlanSettingsUiStatusPane* CWlanSettingsUiStatusPane::NewLC
-( const CEikonEnv* aEikEnv, TInt aResourceId )
- {
- CWlanSettingsUiStatusPane* sp = new (ELeave) CWlanSettingsUiStatusPane();
- CleanupStack::PushL( sp );
- sp->ConstructL( aEikEnv, aResourceId );
- return sp;
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiStatusPane::~CWlanSettingsUiStatusPane
-// ---------------------------------------------------------
-//
-CWlanSettingsUiStatusPane::~CWlanSettingsUiStatusPane()
- {
- delete iNaviDecorator;
- if ( iOldTitleText )
- {
- if ( iTitlePane )
- {
- TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) )
- }
- delete iOldTitleText;
- }
- }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiStatusPane::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiStatusPane::ConstructL
-( const CEikonEnv* aEikEnv, TInt aResourceId )
- {
- iStatusPane = aEikEnv->AppUiFactory()->StatusPane();
- iTitlePane = (CAknTitlePane*)iStatusPane->ControlL
- ( TUid::Uid( EEikStatusPaneUidTitle ) );
- iOldTitleText = iTitlePane->Text()->AllocL();
-
- HBufC* newTitle = StringLoader::LoadLC( aResourceId );
-
- iTitlePane->SetTextL( *newTitle );
- CleanupStack::PopAndDestroy( newTitle );
- iNaviPane = (CAknNavigationControlContainer*)iStatusPane->ControlL
- ( TUid::Uid( EEikStatusPaneUidNavi ) );
- iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC );
- iNaviPane->PushL( *iNaviDecorator );
- }
--- a/wlanutilities/wlansniffer/aihelper/data/wsfaihelper.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* 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: Resource definitions for project AiHelper
-*
-*/
-
-
-NAME SNAH
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <wsfmainapplication.loc>
-
-#include "wsfaihelper.hrh"
-
-
-// ---------------------------------------------------------
-// Resource file signature
-// ---------------------------------------------------------
-RESOURCE RSS_SIGNATURE { }
-
-
-// ---------------------------------------------------------
-// Default Document Name
-// ---------------------------------------------------------
-RESOURCE TBUF r_default_document_name { buf=""; }
-
-
-// ---------------------------------------------------------
-// Default menu and CBA key.
-// ---------------------------------------------------------
-RESOURCE EIK_APP_INFO
- {
- menubar = r_snifferaihelper_menubar;
- cba = R_AVKON_SOFTKEYS_EXIT;
- }
-
-RESOURCE MENU_BAR r_snifferaihelper_menubar
- {
- titles =
- {
- };
- }
-
-
-// ---------------------------------------------------------
-// r_sniffer_ai_helper_view
-// Resource for AiHelper main view
-// ---------------------------------------------------------
-RESOURCE AVKON_VIEW r_sniffer_ai_helper_view
- {
- menubar = r_snifferaihelper_menubar;
- }
-
-
-//----------------------------------------------------------------------------
-// r_waitnote_connecting
-// Connecting waitnote
-//----------------------------------------------------------------------------
-RESOURCE DIALOG r_waitnote_connecting
- {
- flags = EAknWaitNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EWaitNoteConnecting;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- };
- }
- };
- }
-
-
-
-//----------------------------------------------------------------------------
-// r_aihelper_localisable_app_info
-// Localised application info
-//----------------------------------------------------------------------------
-RESOURCE LOCALISABLE_APP_INFO r_aihelper_localisable_app_info
- {
- short_caption = qtn_sniffer_title;
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = qtn_sniffer_title;
- icon_file = "Z:"APP_BITMAP_DIR"\\wsficons_aif.mif";
- };
- }
-
-// END OF FILE
--- a/wlanutilities/wlansniffer/aihelper/data/wsfaihelper_reg.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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: Resource definitions for project AiHelper
-*
-*/
-
-
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <wsfaihelper.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x10281CEB
-
-RESOURCE APP_REGISTRATION_INFO
- {
- hidden = KAppIsHidden;
- app_file="wsfaihelper";
- localisable_resource_file = APP_RESOURCE_DIR"\\wsfaihelper";
- localisable_resource_id = R_AIHELPER_LOCALISABLE_APP_INFO;
- }
--- a/wlanutilities/wlansniffer/aihelper/group/aihelper.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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: Project definition file for project AiHelper
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET wsfaihelper.exe
-TARGETTYPE exe
-UID 0x100039CE 0x10281CEB
-
-EPOCSTACKSIZE 0x5000
-
-CAPABILITY ReadDeviceData NetworkServices NetworkControl ProtServ \
- ReadUserData WriteDeviceData WriteUserData
-
-
-
-SOURCEPATH ../src
-SOURCE wsfaihelper.cpp
-SOURCE wsfaihelperapplication.cpp
-SOURCE wsfaihelperappui.cpp
-SOURCE wsfaihelperdocument.cpp
-SOURCE wsfaihelperview.cpp
-SOURCE wsfaihelpercontainer.cpp
-
-
-// own headers
-USERINCLUDE ../inc
-
-// inner API
-USERINCLUDE ../../inc
-
-// private API
-USERINCLUDE ../../../inc
-
-
-//Macro to /epoc32 headers
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY ws32.lib
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY avkon.lib
-LIBRARY apgrfx.lib
-LIBRARY eikcore.lib
-LIBRARY wsfwlaninfo.lib
-LIBRARY wsfmodel.lib
-LIBRARY aknskins.lib
-LIBRARY eikcoctl.lib
-LIBRARY fbscli.lib
-LIBRARY egul.lib
-
-LIBRARY cmmanager.lib
-LIBRARY commonengine.lib
-LIBRARY commonui.lib
-DEBUGLIBRARY flogger.lib
-
-START RESOURCE ../data/wsfaihelper.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE ../data/wsfaihelper_reg.rss
-DEPENDS wsfaihelper.rsg
-TARGETPATH /private/10003a3f/apps
-END
-
--- a/wlanutilities/wlansniffer/aihelper/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* 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: Build information file for project AiHelper
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_EXPORTS
-../rom/wsfaihelperapp.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfaihelperapp.iby)
-../rom/wsfaihelperappresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfaihelperappresources.iby)
-
-
-PRJ_MMPFILES
-aihelper.mmp
-
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelper.hrh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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: Resource headers for project AiHelper
-*
-*/
-
-
-#ifndef WSFAIHELPER_HRH
-#define WSFAIHELPER_HRH
-
-
-/**
- * View ids for the helper application
- */
-enum TWsfViewIds
- {
- ESnifferAiHelperViewId = 0x1000
- };
-
-
-/**
- * Dialog ids for the helper application
- */
-enum TWsfDialogIds
- {
- EWaitNoteConnecting = 6000
- };
-
-
-#endif // WSFAIHELPER_HRH
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperapplication.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* 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 AiHelper
-*
-*/
-
-
-#ifndef C_WSFAIHELPERAPPLICATION_H
-#define C_WSFAIHELPERAPPLICATION_H
-
-// EXTERNAL INCLUDES
-#include <aknapp.h>
-
-
-// CLASS DEFINITION
-/**
- * An instance of CWsfAiHelperApplication is the application part of
- * the AVKON application framework.
- *
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperApplication ): public CAknApplication
- {
- public: // from CAknApplication
-
- /**
- * Returns the application UID value
- * @since S60 5.0
- * @return The UID of this application
- */
- TUid AppDllUid() const;
-
- protected: // from CAknApplication
- /**
- * Creates a CApaDocument object and return a pointer to it
- * @since S60 5.0
- * @return A pointer to the created document
- */
- CApaDocument* CreateDocumentL();
- };
-
-#endif // C_WSFAIHELPERAPPLICATION_H
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperappui.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,232 +0,0 @@
-/*
-* 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 CWsfAiHelperAppUi
-*
-*/
-
-
-#ifndef C_WSFAIHELPERAPPUI_H
-#define C_WSFAIHELPERAPPUI_H
-
-// EXTERNAL INCLUDES
-#include <aknViewAppUi.h>
-#include <AknWaitDialog.h>
-
-// INTERNAL INCLUDES
-#include "wsfmodelobserver.h"
-#include "wsfstatechangeobserver.h"
-
-
-// FORWARD DECLARATIONS
-class TWsfWlanInfo;
-class CWsfAiHelperDocument;
-
-
-// CLASS DEFINITION
-/**
- * An instance of class CWsfApHelperAppUi is the UserInterface part of
- * the AVKON application framework
- *
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperAppUi ): public CAknViewAppUi,
- public MWsfModelObserver,
- public MWsfStateChangeObserver
- {
- public:
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfAiHelperAppUi();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- ~CWsfAiHelperAppUi();
-
-
- public: // from CAknAppUi
- /**
- * Handle user menu selections
- * @since S60 5.0
- * @param aCommand The enumerated code for the option selected
- */
- void HandleCommandL( TInt aCommand );
-
-
- /**
- * Processes shell commands.
- * @since S60 5.0
- * @param aCommand The shell command sent to the application
- * @param aDocumentName The name of the document as specified on
- * the command line.
- * @param aTail Command line tail
- * @return Whether the final value of aDocumentName represents
- * an existing file
- */
- TBool ProcessCommandParametersL( TApaCommand aCommand,
- TFileName& aDocumentName,
- const TDesC8& aTail );
-
-
- public: // new methods
- /**
- * Returns the handle of application document instance
- * @since S60 5.0
- * @return Pointer to the document. Ownership not passed.
- */
- CWsfAiHelperDocument* Doc();
-
- /**
- * Called when the filename to be opened has been resolved
- * @since S60 5.0
- */
- void NotifyFileName();
-
- /**
- * Sends Helper To Background
- * @since S60 5.2
- */
- void SendHelperToBackground();
-
-
- 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 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: // new methods
-
- /**
- * Called when application launch has been completed
- * @since S60 5.0
- * @param aObject Pointer to this object
- * @return Zero value means not be called again.(Stops timer)
- */
- static TInt LaunchCompletedL( TAny* aObject );
-
- /**
- * Cleanup function to release the key events suppressing
- * @since S60 5.0
- * @param aPtr Pointer for this class
- */
- static void ReleaseSuppressingKeyEventsL( TAny* aPtr );
-
-
- private: // data
- /**
- * Used to begin accesspoint creation when app launching has completed
- * (owned)
- */
- CIdle* iIdle;
-
- /**
- * Indicates whether keypress events are suppressed
- */
- TBool iSuppressingKeyEvents;
-
- /**
- * IAP creation return value
- */
- TInt iResult;
- };
-
-
-#endif // C_WSFAIHELPERAPPUI_H
-
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelpercontainer.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* 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 CWsfAiHelperContainer
-*
-*/
-
-
-#ifndef C_WSFAIHELPERCONTAINER_H
-#define C_WSFAIHELPERCONTAINER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <coecntrl.h>
-
-
-// FORWARD DECLARATIONS
-class CWsfAiHelperAppUi;
-class MAknsControlContext;
-
-
-// CLASS DEFINITION
-/**
- * The container class for the helper application UI
- *
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperContainer ): public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * Second-phase constructor
- * @since S60 5.0
- * @param aRect Dimensions of this container
- * @param aAppUi Pointer to the AppUi instance (ownership not passed)
- */
- void ConstructL( TRect aRect, CWsfAiHelperAppUi* aAppUi );
-
- /**
- * Destructor
- * @since S60 5.0
- */
- ~CWsfAiHelperContainer();
-
-
- public: // from CCoeControl
-
- /**
- * Responds to changes to the size and position of the contents
- * of this control.
- * @since S60 5.0
- */
- void SizeChanged();
-
- /**
- * Used for scalable ui and landscape support. Handles a change to the
- * control's resources.
- * @since S60 5.0
- * @param aType The type of change.
- */
- void HandleResourceChange( TInt aType );
-
-
- private: // from CCoeControl
-
- /**
- * Retrieves an object of the same type as that encapsulated in aId
- * @since S60 5.0
- * @param aId The id of the requested object type
- * @return Pointer to the requested object
- */
- TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
- /**
- * Draws the control.
- * @since S60 5.0
- * @param aRect The region of the control to be redrawn.
- */
- void Draw( const TRect& aRect ) const;
-
-
- private: // Data
-
- /**
- * Pointer to the AppUi object (not owned)
- */
- CWsfAiHelperAppUi* iAppUi;
-
- /**
- * Pointer to the control context (owned)
- */
- MAknsControlContext* iBackGround;
-
- };
-
-#endif // C_WSFAIHELPERCONTAINER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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 CWsfAiHelperDocument
-*
-*/
-
-
-#ifndef C_WSFAIHELPERDOCUMENT_H
-#define C_WSFAIHELPERDOCUMENT_H
-
-
-// EXTERNAL INCLUDES
-#include <AknDoc.h>
-
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfAiHelperAppUi;
-class CEikApplication;
-class CWsfModel;
-
-
-// CLASS DEFINITION
-/**
- * An instance of class CWsfAiHelperDocument is the Document part of the AVKON
- * application framework
- *
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperDocument ): public CAknDocument
- {
- public:
-
- /**
- * Factory function
- * @since S60 5.0
- * @param aApp Reference to the Application object
- * (ownership not passed)
- * @return Class instance
- */
- static CWsfAiHelperDocument* NewL( CEikApplication& aApp );
-
- /**
- * Factory function
- * @since S60 5.0
- * @param aApp Reference to the Application object
- * (ownership not passed)
- * @return Class instance
- */
- static CWsfAiHelperDocument* NewLC( CEikApplication& aApp );
-
- /**
- * Destructor
- * @since S60 5.0
- */
- ~CWsfAiHelperDocument();
-
-
- private:
-
- /**
- * Second-phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- /**
- * Constructor
- * @since S60 5.0
- * @param aApp Reference to the application creating this document
- * (ownership not passed)
- */
- CWsfAiHelperDocument( CEikApplication& aApp );
-
-
- public: // from CEikDocument
- /**
- * Constructs the application UI.
- * @since S60 5.0
- * @return AppUi instance
- */
- CEikAppUi* CreateAppUiL();
-
-
- /**
- * Restores the document's state from the specified file,
- * or creates a new default document.
- * @since S60 5.0
- * @param aDoOpen True to open an existing file,
- * false to create a new default file
- * @param aFilename The path and name of the file to open or create.
- * @param aFs File server session to use.
- * @return The file store that stores the main document.
- */
- CFileStore* OpenFileL( TBool aDoOpen,
- const TDesC& aFilename,
- RFs& aFs );
-
-
- public: // new methods
-
- /**
- * Returns reference to the model
- * @since S60 5.0
- * @return Reference to the model (ownership not passed)
- */
- inline CWsfModel& Model();
-
- /**
- * Returns reference to the current wlaninfo
- * @since S60 5.0
- * @return Reference to the wlaninfo used (ownership not passed)
- */
- inline TWsfWlanInfo& WlanInfo();
-
-
- private: // data
-
- /**
- * Model object (owned)
- */
- CWsfModel* iModel;
-
- /**
- * Data of the currently used WLAN network
- */
- TWsfWlanInfo iWlanInfo;
-
- };
-
-
-#include "wsfaihelperdocument.inl"
-
-#endif // C_WSFAIHELPERDOCUMENT_H
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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: Inline for CWsfAiHelperDocument
-*
-*/
-
-
-
-// INLINE FUNCTIONS
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::Model
-// ---------------------------------------------------------------------------
-//
-CWsfModel& CWsfAiHelperDocument::Model()
- {
- return *iModel;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::WlanInfo
-// ---------------------------------------------------------------------------
-//
-TWsfWlanInfo& CWsfAiHelperDocument::WlanInfo()
- {
- return iWlanInfo;
- }
-
-
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperview.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* 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 CWsfAiHelperView
-*
-*/
-
-
-#ifndef C_WSFAIHELPERVIEW_H
-#define C_WSFAIHELPERVIEW_H
-
-
-// EXTERNAL INCLUDES
-#include <aknview.h>
-
-
-// FORWARD DECLARATIONS
-class CWsfAiHelperAppUi;
-class CWsfAiHelperContainer;
-
-
-// CLASS DECLARATION
-/**
-* Main view class for the AiHelper application
-*
-* @since S60 5.0
-* @lib wsfaihelper.exe
-*/
-NONSHARABLE_CLASS( CWsfAiHelperView ): public CAknView
- {
- public: // Constructors and destructor
- /**
- * Factory function
- * @since S60 5.0
- * @param aAppUi Pointer to the appui instance (ownership not passed)
- * @return Class instance
- */
- static CWsfAiHelperView* NewL( CWsfAiHelperAppUi* aAppUi );
-
- /**
- * Factory function
- * @since S60 5.0
- * @param aAppUi Pointer to the appui instance (ownership not passed)
- * @return Class instance
- */
- static CWsfAiHelperView* NewLC( CWsfAiHelperAppUi* aAppUi );
-
- /**
- * Destructor
- * @since S60 5.0
- */
- ~CWsfAiHelperView();
-
- private: // Constructors
-
- /**
- * Constructor
- * @since S60 5.0
- * @param aAppUi Pointer to the appui instance (ownership not passed)
- */
- CWsfAiHelperView( CWsfAiHelperAppUi* aAppUi );
-
- /**
- * Second-phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
-
- private: // From CAknView
-
- /**
- * Returns views id
- * @since S60 5.0
- * @return Id of this view
- */
- TUid Id() const;
-
- /**
- * Handles a view activation and passes the message of
- * type aCustomMessageId
- * @since S60 5.0
- * @param aPrevViewId Specifies the view previously active.
- * @param aCustomMessageId Specifies the message type.
- * @param aCustomMessage The activation message
- */
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * View deactivation function
- * @since S60 5.0
- */
- void DoDeactivate();
-
- /**
- * Handle user menu selections
- * @since S60 5.0
- * @param aCommand The enumerated code for the option selected
- */
- void HandleCommandL( TInt aCommand );
-
-
- private: // Data
- /**
- * Pointer to the appui object (not owned)
- */
- CWsfAiHelperAppUi* iAppUi;
-
- /**
- * Container object (owned)
- */
- CWsfAiHelperContainer* iContainer;
- };
-
-#endif // C_WSFAIHELPERVIEW_H
-
-// End of File
--- a/wlanutilities/wlansniffer/aihelper/rom/wsfaihelperapp.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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: Image description file for project AiHelper
-*
-*/
-
-
-
-#ifndef WSFAIHELPERAPP_IBY
-#define WSFAIHELPERAPP_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferAiHelperApplication
-
-#include <bldvariant.hrh>
-
-
-S60_APP_AIF_RSC(wsfaihelper)
-
-S60_APP_EXE(wsfaihelper)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAIHELPERAPP_IBY
--- a/wlanutilities/wlansniffer/aihelper/rom/wsfaihelperappresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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: Image description file for project AiHelper
-*
-*/
-
-
-#ifndef WSFAIHELPERAPPRESOURCES_IBY
-#define WSFAIHELPERAPPRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferAiHelperApplicationResources
-
-#include <bldvariant.hrh>
-
-S60_APP_RESOURCE(wsfaihelper)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAIHELPERAPPRESOURCES_IBY
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelper.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* 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: Implementation of AiHelper entry point
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <eikstart.h>
-
-// INTERNAL INCLUDES
-#include "wsfaihelperapplication.h"
-
-
-// ---------------------------------------------------------------------------
-// ::NewApplication
-// ---------------------------------------------------------------------------
-//
-CApaApplication* NewApplication()
- {
- return new CWsfAiHelperApplication;
- }
-
-
-// ---------------------------------------------------------------------------
-// ::E32Main
-// ---------------------------------------------------------------------------
-//
-TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
-
-
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperapplication.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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: Implementation of CWsfAiHelperApplication
-*
-*/
-
-
-#include "wsfaihelperdocument.h"
-#include "wsfaihelperapplication.h"
-
-
-/**
- * UID for the application
- */
-static const TUid KUidSnifferAiHelperApp = { 0x10281CEB };
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperApplication::CreateDocumentL
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CWsfAiHelperApplication::CreateDocumentL()
- {
- // Create an Sniffer document, and return a pointer to it
- CApaDocument* document = CWsfAiHelperDocument::NewL( *this );
- return document;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperApplication::AppDllUid
-// ---------------------------------------------------------------------------
-//
-TUid CWsfAiHelperApplication::AppDllUid() const
- {
- // Return the UID for the Sniffer application
- return KUidSnifferAiHelperApp;
- }
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperappui.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,439 +0,0 @@
-/*
-* 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: Implementation of CWsfAiHelperAppUi
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <avkon.hrh>
-#include <apgcli.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <StringLoader.h>
-#include <wsfaihelper.rsg>
-#include <AknQueryDialog.h>
-#include <e32property.h>
-#include <ErrorUI.h>
-#include <wlanerrorcodes.h>
-
-// CLASS HEADER
-#include "wsfaihelperappui.h"
-
-// INTERNAL INCLUDES
-#include "wsfaihelperdocument.h"
-#include "wsfaihelperapplication.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfaihelperview.h"
-#include "wsfaihelper.hrh"
-#include "wsflogger.h"
-
-
-// CONSTANTS
-
-// property keys for AiHelper return
-static const TUint KWsfAiHelperExitCodeKey = 0;
-static const TUint KWsfAiHelperIapIdKey = 1;
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConstructL()
- {
- BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-
- iIdle = CIdle::NewL( CActive::EPriorityIdle );
-
- // Create stub view for Wizard launching
- CWsfAiHelperView* view = CWsfAiHelperView::NewLC( this );
- AddViewL( view );
- CleanupStack::Pop( view );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::CWsfAiHelperAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperAppUi::CWsfAiHelperAppUi():
- iResult( KErrCancel )
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::~CWsfAiHelperAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperAppUi::~CWsfAiHelperAppUi()
- {
- delete iIdle;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::HandleCommandL( TInt aCommand )
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::HandleCommandL" );
- LOG_WRITEF( "command = %d", aCommand );
-
- if ( iSuppressingKeyEvents )
- {
- return;
- }
-
- switch ( aCommand )
- {
- case EAknCmdExit:
- case EEikCmdExit:
- case EAknSoftkeyBack:
- case EAknSoftkeyExit:
- {
- // set the "exit code" value
- RProperty::Define( Application()->AppDllUid(),
- KWsfAiHelperExitCodeKey,
- RProperty::EInt );
-
- TInt err = RProperty::Set( Application()->AppDllUid(),
- KWsfAiHelperExitCodeKey,
- iResult );
-
- if ( err == KErrNone )
- {
- LOG_WRITEF( "exitcode property set to %d", iResult );
- }
- else
- {
- LOG_WRITEF( "exitcode property setting failed with code = %d",
- err );
- User::LeaveIfError( err );
- }
-
- Exit();
- break;
- }
-
- default:;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ProcessCommandParametersL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAiHelperAppUi::ProcessCommandParametersL(
- TApaCommand /*aCommand*/,
- TFileName& /*aDocumentName*/,
- const TDesC8& /*aTail*/ )
- {
- return EFalse;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::NotifyFileName
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::NotifyFileName()
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::NotifyFileName" );
- if ( !iIdle->IsActive() )
- {
- iIdle->Start( TCallBack( LaunchCompletedL, this ) );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::Doc
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument* CWsfAiHelperAppUi::Doc()
- {
- return static_cast<CWsfAiHelperDocument*>( iDocument );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::BrowserLaunchCompleteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::BrowserLaunchCompleteL()
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::BrowserLaunchCompleteL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::BrowserExitL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::BrowserExitL()
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::BrowserExitL" );
- HandleCommandL( EAknCmdExit );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::BrowserLaunchFailed
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::BrowserLaunchFailed( TInt /*aError*/ )
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::BrowserLaunchFailed" );
- TRAP_IGNORE( HandleCommandL( EAknCmdExit ) );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConnectingL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConnectingL( TUint32 /*aIapId*/ )
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::ConnectingL" );
- Doc()->Model().SetConnecting( ETrue );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConnectingFinishedL( TInt aResult )
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::ConnectingFinishedL" );
- if ( Doc()->Model().IsConnecting() )
- {
- Doc()->Model().SetConnecting( EFalse );
- }
-
- if ( aResult )
- {
- // show an error note
- LOG_WRITE( "showing error note" );
- CErrorUI* errorUi = CErrorUI::NewLC( *iCoeEnv );
- errorUi->ShowGlobalErrorNoteL( aResult );
- CleanupStack::PopAndDestroy( errorUi );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::SendHelperToBackground
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::SendHelperToBackground()
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::SendHelperToBackground" );
- TApaTask task( iEikonEnv->WsSession() );
- task.SetWgId( iEikonEnv->RootWin().Identifier());
- task.SendToBackground();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::LaunchCompletedL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiHelperAppUi::LaunchCompletedL( TAny* aObject )
- {
- LOG_ENTERFN( "CWsfAiHelperAppUi::LaunchCompletedL" );
- User::LeaveIfNull( aObject );
- CWsfAiHelperAppUi* appUi = static_cast<CWsfAiHelperAppUi*>( aObject );
-
- MWsfModelObserver* observer = static_cast<MWsfModelObserver*>( appUi );
- CWsfModel& model( appUi->Doc()->Model() );
-
- model.SetEngineObserver( observer );
-
- TWsfWlanInfo* info( &appUi->Doc()->WlanInfo() );
-
- if ( !info->Connected() )
- {
- // make sure we don't suppress our key events forever
- CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEventsL, appUi ) );
- // No appUi key input accepted during IAP connecting & connection test.
- appUi->iSuppressingKeyEvents = ETrue;
-
- TBool setIapProperty = EFalse;
-
- if ( !info->Known() )
- {
- TBool accessPointCreated = EFalse;
-
- // If not known yet, create an IAP.
- TRAPD( accessPointCreatedError,
- accessPointCreated = model.CreateAccessPointL( *info,
- EFalse ) );
-
- // notify user that Disk is full or creation of a WAPI IAP
- // is not supported on-the-fly and leave
- if ( accessPointCreatedError == KErrDiskFull ||
- accessPointCreatedError == KErrWlanProtectedSetupSetupLocked )
- {
- appUi->ConnectingFinishedL(accessPointCreatedError);
- User::Leave(accessPointCreatedError);
- }
- // just leave because we failed to create accesspoint
- else if ( accessPointCreatedError != KErrNone )
- {
- User::Leave(accessPointCreatedError);
- }
-
- appUi->SendHelperToBackground();
-
- if ( accessPointCreated )
- {
- setIapProperty = ETrue;
- }
- }
- else
- {
- setIapProperty = ETrue;
- appUi->iResult = KErrNone;
- }
-
- if ( setIapProperty )
- {
- LOG_WRITE( "Set iap Property" );
- // Connected succesfully set IAP's property.
- CWsfAiHelperApplication* app =
- static_cast<CWsfAiHelperApplication*>(
- appUi->Application() );
-
- RProperty::Define( app->AppDllUid(),
- KWsfAiHelperIapIdKey,
- RProperty::EInt );
-
- TInt err = RProperty::Set( app->AppDllUid(),
- KWsfAiHelperIapIdKey,
- info->iIapId );
-
- if ( err == KErrNone )
- {
- LOG_WRITEF( "IAP id property "
- L"set to %d", info->iIapId );
- }
- else
- {
- LOG_WRITEF( "IAP id property setting failed "
- L"with code = %d", err );
- User::LeaveIfError( err );
- }
- appUi->iResult = KErrNone;
- }
- // pop cleanup item ReleaseSuppressingKeyEvents
- CleanupStack::Pop();
- appUi->iSuppressingKeyEvents = EFalse;
- }
-
- appUi->HandleCommandL( EAknCmdExit );
-
- return 0; // Return false (zero) value not be called again.
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::WlanListChangedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::WlanListChangedL()
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::NotifyEngineError
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::NotifyEngineError( TInt /*aError*/ )
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ScanDisabledL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ScanDisabledL()
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ScanEnabledL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ScanEnabledL()
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::WlanConnectionActivatedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::WlanConnectionActivatedL()
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::WlanConnectionClosedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::WlanConnectionClosedL()
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConnectionCreationProcessFinishedL( TInt /*aResult*/ )
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ReleaseSuppressingKeyEventsL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ReleaseSuppressingKeyEventsL( TAny* aPtr )
- {
- CWsfAiHelperAppUi* self =
- static_cast<CWsfAiHelperAppUi*>( aPtr );
- self->iSuppressingKeyEvents = EFalse;
- self->HandleCommandL( EAknCmdExit );
- }
-
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelpercontainer.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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: Implementation of CWsfAiHelperContainer
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <AknsDrawUtils.h>
-#include <AknsBasicBackgroundControlContext.h>
-#include <AknUtils.h>
-
-// CLASS HEADER
-#include "wsfaihelpercontainer.h"
-
-// INTERNAL INCLUDES
-#include "wsfaihelperappui.h"
-#include "wsfaihelperdocument.h"
-#include "wsfmodelobserver.h"
-#include "wsfaihelper.hrh"
-#include "wsfmodel.h"
-#include "wsflogger.h"
-
-
-// CONSTRUCTION AND DESTRUCTION
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::~CWsfAiHelperContainer
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperContainer::~CWsfAiHelperContainer()
- {
- delete iBackGround;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::ConstructL( TRect aRect,
- CWsfAiHelperAppUi* aAppUi )
- {
- iAppUi = aAppUi;
- iBackGround = CAknsBasicBackgroundControlContext::NewL(
- KAknsIIDQsnBgAreaMain, Rect(), EFalse );
-
- CreateWindowL();
- SetRect( aRect );
- ActivateL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::SizeChanged()
- {
- LOG_ENTERFN( "CWsfAiHelperContainer::SizeChanged" );
-
- if ( iBackGround )
- {
- delete iBackGround;
- iBackGround = NULL;
- // Throw away the error
- TRAP_IGNORE( iBackGround = CAknsBasicBackgroundControlContext::NewL(
- KAknsIIDQsnBgAreaMain, Rect(), EFalse ) );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::Draw
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::Draw( const TRect& aRect ) const
- {
- CWindowGc& gc = SystemGc();
- MAknsSkinInstance* skin = AknsUtils::SkinInstance();
- MAknsControlContext* cc = AknsDrawUtils::ControlContext( this );
- AknsDrawUtils::Background( skin, cc, this, gc, aRect );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::HandleResourceChange
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::HandleResourceChange( TInt aType )
- {
- LOG_ENTERFN( "CWsfAiHelperContainer::HandleResourceChange" );
- CCoeControl::HandleResourceChange( aType );
-
- if ( aType == KEikDynamicLayoutVariantSwitch )
- {
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
- mainPaneRect );
- SetRect( mainPaneRect );
- DrawDeferred();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::MopSupplyObject
-// ---------------------------------------------------------------------------
-//
-TTypeUid::Ptr CWsfAiHelperContainer::MopSupplyObject( TTypeUid aId )
- {
- LOG_ENTERFN( "CWsfAiHelperContainer::MopSupplyObject" );
- if ( aId.iUid == MAknsControlContext::ETypeId && iBackGround )
- {
- return MAknsControlContext::SupplyMopObject( aId, iBackGround );
- }
-
- return CCoeControl::MopSupplyObject( aId );
- }
-
-
-// End of file
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperdocument.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,119 +0,0 @@
-/*
-* 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: Implementation of CWsfAiHelperDocument
-*
-*/
-
-
-#include "wsfaihelperappui.h"
-#include "wsfaihelperdocument.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfo.h"
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument* CWsfAiHelperDocument::NewL( CEikApplication& aApp )
- {
- CWsfAiHelperDocument* self = NewLC( aApp );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument* CWsfAiHelperDocument::NewLC( CEikApplication& aApp )
- {
- CWsfAiHelperDocument* self = new (ELeave) CWsfAiHelperDocument( aApp );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperDocument::ConstructL()
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::CWsfAiHelperDocument
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument::CWsfAiHelperDocument( CEikApplication& aApp ):
- CAknDocument( aApp )
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::~CWsfAiHelperDocument
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument::~CWsfAiHelperDocument()
- {
- delete iModel;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::CreateAppUiL
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CWsfAiHelperDocument::CreateAppUiL()
- {
- // Create the application user interface, and return a pointer to it,
- // the framework takes ownership of this object
- CWsfAiHelperAppUi* appUi = new (ELeave) CWsfAiHelperAppUi;
- iModel = CWsfModel::NewL( *appUi, EFalse );
-
- iModel->EnableScanL();
- return appUi;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::OpenFileL
-// ---------------------------------------------------------------------------
-//
-CFileStore* CWsfAiHelperDocument::OpenFileL( TBool /*aDoOpen*/,
- const TDesC& aFilename,
- RFs &/*aFs*/ )
- {
- // Read the afilename arg
- // Take that into a TWlanInfo and start creation of accesspoint
- TPckgBuf<TWsfWlanInfo> info;
-
- info.Copy( aFilename.Left( sizeof( TWsfWlanInfo ) ) );
-
- iWlanInfo = info();
-
- static_cast<CWsfAiHelperAppUi*>( iAppUi )->NotifyFileName();
-
- return NULL;
- }
-
-
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperview.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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: Implementation of CWsfAiHelperView
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <aknViewAppUi.h>
-#include <wsfaihelper.rsg>
-
-// CLASS HEADER
-#include "wsfaihelperview.h"
-
-// INTERNAL INCLUDES
-#include "wsfaihelperappui.h"
-#include "wsfmodelobserver.h"
-#include "wsfaihelper.hrh"
-#include "wsfmodel.h"
-#include "wsfaihelperdocument.h"
-#include "wsfaihelpercontainer.h"
-#include "wsflogger.h"
-
-
-
-// CONSTRUCTION AND DESTRUCTION
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView* CWsfAiHelperView::NewL( CWsfAiHelperAppUi* aAppUi )
- {
- CWsfAiHelperView* self = CWsfAiHelperView::NewLC( aAppUi );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView* CWsfAiHelperView::NewLC( CWsfAiHelperAppUi* aAppUi )
- {
- CWsfAiHelperView* self = new (ELeave) CWsfAiHelperView( aAppUi );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::CWsfAiHelperView
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView::CWsfAiHelperView( CWsfAiHelperAppUi* aAppUi ):
- CAknView(),
- iAppUi( aAppUi )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::~CWsfAiHelperView
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView::~CWsfAiHelperView()
- {
- delete iContainer;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::ConstructL()
- {
- BaseConstructL( R_SNIFFER_AI_HELPER_VIEW );
-
- iContainer = new (ELeave) CWsfAiHelperContainer();
- iContainer->ConstructL( ClientRect(), iAppUi );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::Id
-// ---------------------------------------------------------------------------
-//
-TUid CWsfAiHelperView::Id() const
- {
- return TUid::Uid( ESnifferAiHelperViewId );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/,
- const TDesC8& /*aCustomMessage*/ )
- {
- LOG_ENTERFN( "CWsfAiHelperView::DoActivateL" );
- AppUi()->AddToStackL( *this, iContainer );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::DoDeactivate
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::DoDeactivate()
- {
- LOG_ENTERFN( "CWsfAiHelperView::DoDeactivate" );
- if ( iContainer )
- {
- AppUi()->RemoveFromStack( iContainer );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::HandleCommandL( TInt aCommand )
- {
- LOG_ENTERFN( "CWsfAiHelperView::HandleCommandL" );
- AppUi()->HandleCommandL( aCommand );
- }
-
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/data/10281cae.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* 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: ECOM plugin resource file for AiPlugin.
-*
-*/
-
-// INCLUDES
-#include "wsfaipluginuids.hrh"
-#include <hscontentpublisheruid.hrh>
-#include <ecom/registryinfov2.rh>
-
-RESOURCE REGISTRY_INFO registry_info
- {
- resource_format_version = RESOURCE_FORMAT_VERSION_2;
- // UID for the DLL
- dll_uid = AI_UID_ECOM_DLL_CONTENTPUBLISHER_WIZARDPLUGIN;
-
- // Interface info array
- interfaces =
- {
- INTERFACE_INFO
- {
- // UID of the implemented interface
- interface_uid = HS_UID_ECOM_INTERFACE_CONTENTPUBLISHER;
-
- implementations =
- {
- IMPLEMENTATION_INFO
- {
- implementation_uid =
- AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN;
- version_no = 1;
- display_name = "WizardPlugin";
- default_data = "";
- opaque_data = " ";
- rom_only = 1;
- }
- };
- }
- };
- }
-
-// End of File.
--- a/wlanutilities/wlansniffer/aiplugin/data/wsfaipluginrsc.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +0,0 @@
-/*
-* 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: Resource definitions for project AiPlugin
-*
-*/
-
-
-
-NAME WLPL
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.loc>
-
-#include <wsfaiplugin.loc>
-#include <wsfmainapplication.loc>
-
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE TBUF16 { buf=""; }
-
-
-
-// --------------------------------------------------------------------------
-// Localised strings
-// --------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sniffer_plug_in_refreshing
- {
- buf = qtn_sniffer_plug_in_refreshing;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_connecting
- {
- buf = qtn_sniffer_plug_in_connecting;
- }
-
-RESOURCE TBUF r_qtn_status_no_wlans_available
- {
- buf = qtn_sniffer_plug_in_no_wlans_found;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_scanning_off
- {
- buf = qtn_sniffer_plug_in_scanning_off;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_ssid_found
- {
- buf = qtn_sniffer_plug_in_ssid_found;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_unknown_ssid_found
- {
- buf = qtn_sniffer_plug_in_unknown_wlan_found;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_unknown_ssids_found
- {
- buf = qtn_sniffer_plug_in_unknown_wlans_found;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_connected_to_ssid
- {
- buf = qtn_sniffer_plug_in_iap_connected;
- }
-
-RESOURCE TBUF r_qtn_wlan_manual_ssid_input
- {
- buf = qtn_wlan_manual_ssid_input;
- }
-
-RESOURCE TBUF r_qtn_msk_sniffer_activate
- {
- buf = qtn_msk_sniffer_activate;
- }
-
-RESOURCE TBUF r_qtn_ai_wizard_title
- {
- buf = qtn_ai_wizard_title;
- }
-
-RESOURCE TBUF r_qtn_wlan_info_no_networks_found
- {
- buf = qtn_wlan_info_no_networks_found;
- }
-
-RESOURCE TBUF r_qtn_wlan_info_connection_already_active
- {
- buf = qtn_wlan_info_connection_already_active;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_connected_to
- {
- buf = qtn_sniffer_plug_in_connected_to;
- }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_wlan_network_found
- {
- buf = qtn_sniffer_plug_in_wlan_network_found;
- }
-
-RESOURCE TBUF r_ssid
- {
- buf = L"'%U[16]'";
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_offline_items
-// Options menu items for 'Offline' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_offline_items
- {
- items =
- {
- LBUF
- {
- txt = qtn_sniffer_opt_start_web_browsing;
- },
- LBUF
- {
- txt = qtn_sniffer_opt_connect;
- },
- LBUF
- {
- txt = qtn_sniffer_plug_in_options_search_wlan_networks;
- },
- LBUF
- {
- txt = qtn_sniffer_opt_set_scanning_off;
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connected_items
-// Options menu items for 'Connected' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_connected_items
- {
- items =
- {
- LBUF
- {
- txt = qtn_sniffer_opt_start_web_browsing;
- },
- LBUF
- {
- txt = qtn_sniffer_opt_disconnect_wlan;
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connecting_items
-// Options menu items for 'Connecting' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_connecting_items
- {
- items =
- {
- LBUF
- {
- txt = qtn_sniffer_opt_disconnect_wlan;
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_browsing_items
-// Options menu items for 'Browsing' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_browsing_items
- {
- items =
- {
- LBUF
- {
- txt = qtn_sniffer_opt_continue_web_browsing;
- },
- LBUF
- {
- txt = qtn_sniffer_opt_disconnect_wlan;
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_offline
-// Options menu in 'Offline' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_offline
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_aiplugin_options_offline_items;
- };
- };
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connected
-// Options menu in 'Connected' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_connected
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_aiplugin_options_connected_items;
- };
- };
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connecting
-// Options menu in 'Connecting' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_connecting
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_aiplugin_options_connecting_items;
- };
- };
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_browsing
-// Options menu in 'Browsing' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_browsing
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_aiplugin_options_browsing_items;
- };
- };
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_plugin_search_wlan_networks
-// Search for wlan networks query
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_plugin_search_wlan_networks
- {
- flags = EGeneralQueryFlags;
- softkeys = r_qtn_plugin_search_wlan_network_buttons;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSingleGraphicPopupMenuListBox;
- heading = qtn_wlan_prmpt_select_network;
- listbox = AVKON_LIST_QUERY_LIST
- {
- };
- };
- }
- };
- }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_plugin_search_wlan_network_buttons
-// CBA buttons for search for wlan networks query
-// --------------------------------------------------------------------------
-//
-RESOURCE CBA r_qtn_plugin_search_wlan_network_buttons
- {
- buttons =
- {
- CBA_BUTTON { id = EEikBidOk; txt = qtn_sniffer_softkey_connect; },
- CBA_BUTTON { id = EEikBidCancel; txt = text_softkey_cancel; },
- CBA_BUTTON { id = EEikBidOk; txt = ""; }
- };
- }
-
-
-//----------------------------------------------------------------------------
-// r_restart_browsing_confirmation_query
-// Query to restart browser with WLAN
-//----------------------------------------------------------------------------
-RESOURCE DIALOG r_restart_browsing_confirmation_query
- {
- flags=EGeneralQueryFlags;
- buttons=R_AVKON_SOFTKEYS_YES_NO__YES;
- items=
- {
- DLG_LINE
- {
- type=EAknCtQuery;
- id = EGeneralQuery;
- control= AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- };
- }
- };
- }
-
-
--- a/wlanutilities/wlansniffer/aiplugin/group/aiplugin.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* 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: Project definition file for project AiPlugin
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-#include "../inc/wsfaipluginuids.hrh"
-
-TARGET wsfaiplugin.dll
-TARGETTYPE PLUGIN
-UID 0x10009D8D AI_UID_ECOM_DLL_CONTENTPUBLISHER_WIZARDPLUGIN
-
-CAPABILITY CAP_ECOM_PLUGIN
-VENDORID VID_DEFAULT
-
-SOURCEPATH ../src
-SOURCE wsfaipluginproxy.cpp
-SOURCE wsfaiplugin.cpp
-SOURCE wsficonarraycreator.cpp
-SOURCE wsfsearchwlansdialog.cpp
-SOURCE wsfaimodel.cpp
-SOURCE wsfaicontroller.cpp
-SOURCE wsfaiview.cpp
-SOURCE wsfactivewaiter.cpp
-SOURCE wsfdbobserver.cpp
-SOURCE wsfwlanlistactivewrapper.cpp
-SOURCE wsfrefreshscanactivewrapper.cpp
-SOURCE wsfdisconnectactivewrapper.cpp
-SOURCE wsfconnectactivewrapper.cpp
-SOURCE wsfactivewrappers.cpp
-SOURCE wsflaunchaihelperactivewrapper.cpp
-
-
-// Plugin's own resources.
-START RESOURCE ../data/wsfaipluginrsc.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-//ECOM resource definition
-START RESOURCE ../data/10281cae.rss
-TARGET wsfaiplugin.rsc
-LANGUAGE_IDS
-END
-
-
-// own headers
-USERINCLUDE ../inc
-
-// inner API
-USERINCLUDE ../../inc
-
-// private API
-USERINCLUDE ../../../inc
-
-
-//Macro to /epoc32 headers
-//MW_LAYER_SYSTEMINCLUDE is not enough because of <BrowserUiSDKCRKeys.h>
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY ecom.lib
-LIBRARY efsrv.lib //TParse
-
-LIBRARY bafl.lib // BaflUtils
-LIBRARY Cone.lib
-
-LIBRARY AknSkins.lib
-LIBRARY egul.lib
-
-LIBRARY AknIcon.lib
-LIBRARY Avkon.lib
-
-LIBRARY aiutils.lib
-
-LIBRARY commonengine.lib //stringloader
-LIBRARY eikdlg.lib
-LIBRARY eikcore.lib
-LIBRARY eikctl.lib
-LIBRARY eikcoctl.lib
-
-LIBRARY wsfwlaninfo.lib
-LIBRARY wsfwlaninfosorting.lib
-LIBRARY wsfclient.lib
-LIBRARY wsfmodel.lib
-LIBRARY apgrfx.lib
-LIBRARY commonui.lib
-LIBRARY connmon.lib
-LIBRARY apparc.lib
-LIBRARY charconv.lib
-LIBRARY COMMSDAT.lib
-LIBRARY cmmanagerdatabase.lib
-LIBRARY cmmanager.lib
-LIBRARY centralrepository.lib
-LIBRARY FeatMgr.lib
-LIBRARY connectionuiutilities.lib
-
-DEBUGLIBRARY flogger.lib
-
-// End of File.
-
--- a/wlanutilities/wlansniffer/aiplugin/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* 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: Build information file for project AiPlugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// export localised loc file
-../loc/wsfaiplugin.loc MW_LAYER_LOC_EXPORT_PATH(wsfaiplugin.loc)
-
-// IBY
-../rom/wsfaiplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfaiplugin.iby)
-../rom/wsfaipluginresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfaipluginresources.iby)
-
-
-PRJ_MMPFILES
-aiplugin.mmp
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfactivewaiter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* 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 CWsfActiveWaiter
-*
-*/
-
-
-#ifndef C_WSFACTIVEWAITER_H
-#define C_WSFACTIVEWAITER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-// CLASS DEFINITION
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest()
- *
- * Usage:
- * @code
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest() == KErrNone )
- * {
- * // handle success
- * }
- * else
- * {
- * // handle failure
- * }
- * CleanupStack::PopAndDestroy( waiter );
- * @endcode
- *
- * @lib wsfserver.exe
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ): public CActive
- {
- public:
- /**
- * Factory function
- * @since S60 5.0
- * @return CWsfActiveWaiter instance.
- */
- static CWsfActiveWaiter* NewL();
-
- /**
- * Factory function
- * @since S60 5.0
- * @return CWsfActiveWaiter instance.
- */
- static CWsfActiveWaiter* NewLC();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- virtual ~CWsfActiveWaiter();
-
- protected:
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfActiveWaiter();
-
- protected: // from CActive
-
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- public: // new methods
- /**
- * Waits for its TRequestStatus to be completed
- * @since S60 5.0
- * @return Error code returned from server after request is completed
- */
- TInt WaitForRequest();
-
- protected: // data
- /**
- * Nested waitloop
- */
- CActiveSchedulerWait iWait;
- };
-
-#endif // C_WSFACTIVEWAITER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfactivewrappers.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,178 +0,0 @@
-/*
- * 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: Implementation of CWsfActiveWrappers.
- *
- */
-
-
-
-#ifndef WSFACTIVEWRAPPERS_H
-#define WSFACTIVEWRAPPERS_H
-
-// EXTERNAL INCLUDES
-#include <e32std.h>
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfcommon.h"
-#include "wsfaicontroller.h"
-#include "wsfmodel.h"
-
-// FORWARD DECLARATIONS
-class CWsfWLANListActiveWrapper;
-class CWsfRefreshScanActiveWrapper;
-class CWsfDisconnectActiveWrapper;
-class CWsfConnectActiveWrapper;
-class CWsfLaunchAiHelperActiveWrapper;
-
-// CLASS DECLARATION
-
-/**
- * Active object helper class that capsulates active wrapper classes
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.2
- *
- */
-class CWsfActiveWrappers : public CBase
- {
-public:
- // Constructors and destructor
-
- /**
- * Destructor.
- * @since S60 5.2
- */
- ~CWsfActiveWrappers();
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfActiveWrappers* NewL( CWsfModel* aModel,
- TWsfAiController &aController );
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfActiveWrappers* NewLC(CWsfModel* aModel,
- TWsfAiController &aController );
-
-public:
-
- /**
- * Starts disconnecting
- * @since S60 5.2
- */
- void Disconnect();
-
- /**
- * Starts connecting
- * @since S60 5.2
- * @param aIapId WLAN IAP id to connect to.
- * @param aConnectOnly ETrue if Connect selected
- * @param aPersistence Persistence property of the IAP
- */
- void Connect( TUint aIapID, TBool aConnectOnly,
- TWsfIapPersistence aPersistence );
-
- /**
- * Starts refresh scan
- * @since S60 5.2
- */
- void RefreshScan();
-
- /**
- * Starts wlan list refreshing
- * @since S60 5.2
- * @param aStarUp is this called called from plugin start up
- */
- void RefreshWLANList( TBool aStarUp );
-
- /**
- * Starts launching of ai helper
- * @since S60 5.2
- * @param aWlanInfo The WlanInfo object to be passed to the helper app
- * @param aConnectOnly ETrue if we are only connecting,
- * EFalse if we should also launch the browser
- * @param aTestAccessPoint ETrue if ICT is executed,
- * EFalse if ICT is not executed
- */
- void LaunchHelperApplicationL( TWsfWlanInfo& aInfo, TBool aConnectOnly,
- TBool aTestAccessPoint );
-
- /**
- * Returns the list of found WLANs.
- * Ownership not passed.
- * @since S60 5.2
- * @return Array of WLANs
- */
- CWsfWlanInfoArray* GetWLANList();
-
- /**
- * Returns the connected wlan network
- * @since S60 5.2
- * @return TWsfWlanInfo
- */
- TWsfWlanInfo GetConnectedWLANNetwork();
-
-private:
-
- /**
- * Constructor for performing 1st stage construction
- */
- CWsfActiveWrappers();
-
- /**
- * Constructor for performing 2nd stage construction
- */
- void ConstructL( CWsfModel* aModel, TWsfAiController &aController );
-
-private:
- // Data
-
- /**
- * Pointer to CWsfWLANListActiveWrapper
- * Own.
- */
- CWsfWLANListActiveWrapper* iWLANListActiveWrapper;
-
- /**
- * Pointer to CWsfRefreshScanActiveWrapper
- * Own.
- */
- CWsfRefreshScanActiveWrapper* iRefreshScanActiveWrapper;
-
- /**
- * Pointer to CWsfDisconnectActiveWrapper
- * Own.
- */
- CWsfDisconnectActiveWrapper* iDisconnectActiveWrapper;
-
- /**
- * Pointer to CWsfConnectActiveWrapper
- * Own.
- */
- CWsfConnectActiveWrapper* iConnectActiveWrapper;
-
- /**
- * Pointer to CWsfLaunchAiHelperActiveWrapper
- * Own.
- */
- CWsfLaunchAiHelperActiveWrapper* iLaunchAiHelperActiveWrapper;
-
- };
-
-#endif // WSFACTIVEWRAPPERS_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,380 +0,0 @@
-/*
-* 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 TWsfAiController
-*
-*/
-
-#ifndef T_WSFAICONTROLLER_H
-#define T_WSFAICONTROLLER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-#include <e32property.h>
-#include <eikenv.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfstatechangeobserver.h"
-#include "wsfmodelobserver.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfModel;
-class CWsfAiModel;
-class MWsfAiUiObserver;
-class TWsfWlanInfo;
-class CWsfWlanInfoArray;
-class CWsfDbObserver;
-class CWsfActiveWrappers;
-
-
-/**
- * The controller class of the component. All functionality is reached
- * through this class and all needed events are observed by this.
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.0
- */
-
-NONSHARABLE_CLASS( TWsfAiController ): public MWsfStateChangeObserver,
- public MWsfModelObserver
- {
- public: // Constructors
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- TWsfAiController();
-
- public: // New methods
-
- /**
- * DeInitialization for this class
- */
- void DeInitializeL();
-
- /**
- * PreInitialization for this class (set the models references)
- * @since S60 5.0
- * @param aModel applicaton level model reference
- * @param aAiModel model reference of AiPlugin
- * @param aActiveWrappers reference of wrappers holder
- */
- void InitializeL( CEikonEnv* aEnv, CWsfModel* aModel,
- CWsfAiModel* aAiModel, CWsfDbObserver* aObserver,
- CWsfActiveWrappers* aActiveWrappers );
-
- /**
- * Set the UI for the controller
- * @since S60 5.0
- * @param aUi reference to AiPlugin UI control
- */
- void SetUi( MWsfAiUiObserver& aUi );
-
-
- /**
- * Handles keypresses coming from container
- * @since S60 5.0
- */
- void HandleSelectionKeyL();
-
- /**
- * Start the sequential scanning for wlans
- * @since S60 5.0
- */
- void EnableScanL();
-
- /**
- * Stop the sequential scanning for wlans
- * @since S60 5.0
- */
- void DisableScanL();
-
- /**
- * Start initial refresh
- * to the AI model
- * @since S60 5.0
- */
- void StartupRefresh();
-
- /**
- * Propagates the network data from the engine
- * to the AI model
- * @since S60 5.2
- */
- void StartupRefreshDataReadyL();
-
- /**
- * Refreshes the refreshing icon
- * @since S60 5.0
- */
- void RefreshRefreshingL();
-
- /**
- * Refreshes the connecting icon
- * @since S60 5.2
- */
- void RefreshConnectingL();
-
- /**
- * Propagates the network data from the engine
- * to the AI model
- * @since S60 5.2
- */
- void WlanListDataReadyL();
-
- /**
- * Connect to the given wlan
- * @since S60 5.2
- * @param aInfo Wlaninfo to connect with
- * @param aConnectOnly ETrue if we are only connecting,
- * EFalse if we should also launch the browser
- * @param aTestAccessPoint ETrue if ICT is executed,
- * EFalse if ICT is not executed
- */
- void ConnectL( TWsfWlanInfo& aInfo, TBool aConnectOnly,
- TBool aTestAccessPoint );
-
-
- 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 );
-
-
- 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 );
-
- private:
-
- /*
- * Start web browsing with the given wlaninfo
- * @since S60 5.0
- * @param aInfo Wlaninfo to connect with
- */
- void StartBrowsingL( TWsfWlanInfo& aInfo );
-
- /*
- * Start web browser with the given wlaninfo
- * @since S60 5.2
- * @param aInfo Wlaninfo to connect with
- */
- void StartWebBrowserL( TWsfWlanInfo& aInfo );
-
- /**
- * Cleanup function to release connecting state
- * @param aPtr Pointer for this class
- */
- static void CleanUpConnectingL( TAny* aPtr );
-
- /*
- * Brings browser to the foreground
- * @since S60 5.0
- */
- void ContinueBrowsingL();
-
- /*
- * Launches a listquerydialog which holds all available wlans.
- * @since S60 5.0
- * @param aInfo The wlaninfo resulting from the selection if
- * no error/cancellation occured
- * @return ETrue if a valid network was selected, EFalse otherwise
- */
- TBool LaunchSearchDialogL( TWsfWlanInfo& aInfo );
-
- /*
- * Trapped routine of LaunchSearchDialogL
- * @param - aSelectedItem which list item was selected
- * @return - ETrue if connection should be made, otherwise EFalse
- */
- TBool DoLaunchSearchDialogL( TInt& aSelectedItem );
-
- /*
- * Refreshes the current ui when the ui changes
- */
- void RefreshUiL();
-
- /**
- * Handle error event
- * @since S60 5.0
- * @param aError System wide error code
- */
- void DoHandleEngineErrorL( TInt aError );
-
- /**
- * Checks whether the browser is using the currently active WLAN
- * connection (if any)
- * @since S60 5.0
- * @return ETrue if there is a WLAN connection and browser is using it,
- * EFalse otherwise
- */
- TBool IsWlanUsedByBrowserL();
-
- /**
- * Handle MSK if not connected
- * @since S60 5.0
- */
- void HandleMskIfOfflineL();
-
- /**
- * Handle MSK if connected to a WLAN
- * @since S60 5.0
- */
- void HandleMskIfConnectedL();
-
- /**
- * Handle MSK if connecting to a WLAN
- * @since S60 5.0
- */
- void HandleMskIfConnectingL();
-
- /**
- * Handle MSK if connected and browser is using the connection
- * @since S60 5.0
- */
- void HandleMskIfBrowsingL();
-
-
- private: // data
-
- /**
- * Handle to Eikon environment.
- * Own.
- */
- CEikonEnv* iEnv;
-
- /**
- * Cache of the used info
- */
- TWsfWlanInfo iUsedInfo;
-
- /**
- * Reference to Wlan array
- */
- CWsfWlanInfoArray* iInfoArray;
-
- /**
- * Reference to Model
- */
- CWsfModel* iModel;
-
- /**
- * Reference to Active Idle plugin's Model
- */
- CWsfAiModel* iAiModel;
-
- /**
- * A pointer to active idle plugin ui control observer instance
- */
- MWsfAiUiObserver* iUi;
-
- /**
- * Cache of the connected WLAN data
- */
- TWsfWlanInfo iConnectedWlan;
-
- /**
- * The Database change observer
- */
- CWsfDbObserver* iDbObserver;
-
- /**
- * Indicates whether Connect or Start Web browsing was selected
- */
- TBool iConnectOnly;
-
- /**
- * A pointer to CWsfActiveWrappers
- */
- CWsfActiveWrappers* iActiveWrappers;
-
- };
-
-#endif // T_WSFAICONTROLLER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontrollercmds.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* 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: TWsfAiController's commands
-*
-*/
-
-#ifndef WSFAICONTROLLERCMDS_H
-#define WSFAICONTROLLERCMDS_H
-
-/**
- * Scanning on, not connected
- */
-enum TWsfAiOffline
- {
- EAiOfflineStartBrowsing,
- EAiOfflineConnect,
- EAiOfflineSearchWlans,
- EAiOfflineDisableScan
- };
-
-
-/**
- * Scanning on, connected but browser not active or not using WLAN
- */
-enum TWsfAiConnected
- {
- EAiConnectedStartBrowsing,
- EAiConnectedDisconnect
- };
-
-
-/**
- * Scanning on, connecting
- */
-enum TWsfAiConnecting
- {
- EAiConnectingDisconnect
- };
-
-
-/**
- * Scanning on, connected and browser is using the connected WLAN
- */
-enum TWsfAiBrowsing
- {
- EAiBrowsingContinueBrowsing,
- EAiBrowsingDisconnect
- };
-
-
-
-#endif // WSFAICONTROLLERCMDS_H
-
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaimodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +0,0 @@
-/*
-* 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 CWsfAiModel
-*
-*/
-
-
-#ifndef C_WSFAIMODEL_H
-#define C_WSFAIMODEL_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include "wsfwlaninfo.h"
-
-// FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class CWsfWlanInfoArrayVisitor;
-class CCoeEnv;
-class CAknIconArray;
-class CGulIcon;
-
-//class TWsfWlanInfo;
-
-/**
- * The model part. It holds the list of available WLANs and creates the
- * suitable texts and icons to display.
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.0
- */
-class CWsfAiModel : public CBase
- {
-public: // Constructors and destructor
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @return instance of CWsfAiModel class
- */
- static CWsfAiModel* NewL();
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @return instance of CWsfAiModel class
- */
- static CWsfAiModel* NewLC();
-
- /**
- * Destructor of CWsfAiModel class
- * @since S60 5.0
- */
- ~CWsfAiModel();
-
-private: // Constructors
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfAiModel();
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
-public: // New methods
-
- /**
- * Creates array for the listbox, it contains a formatted array of WLANs.
- * @param aWlanList - Array of WLAN that will be formatted.
- * @return Formatted WLAN list (Ownership not passed)
- */
- CDesCArrayFlat* FormatWlanListL( CWsfWlanInfoArray* aWlanList, const TBool aUIPrioritySort );
-
- /*
- * Returns WLAN list that has already formatted
- * @return Formatted WLAN list (Ownership not passed)
- */
- CDesCArrayFlat* GetWlanList();
-
- /**
- * Returns a pointerarray for TWsfWlanInfo items.
- * @return non-formatted WLAN list (Ownership not passed)
- */
- CWsfWlanInfoArray* GetInfoArray();
-
- /**
- * Format the WlanList for one-line
- * @param aWlanList - Array of WLAN that will be formatted.
- * @return Formatted WLAN list (Ownership not passed)
- */
- CDesCArrayFlat* FormatSingleLineWlanListL(
- CWsfWlanInfoArray* aWlanList );
-
- /**
- * Load and format the refreshing information for the WLAN list
- * @return Formatted WLAN list (Ownership not passed)
- */
- CDesCArrayFlat* FormatRefreshingL();
-
- /**
- * Load and format the connecting information for the WLAN list
- * @return Formatted WLAN list (Ownership not passed)
- */
- CDesCArrayFlat* FormatConnectingL();
-
- /**
- * Appends icons of customer favourite networks to the given array
- * @param aIconArray The icon array to which brand icons
- * should be appended
- */
- void AppendBrandIconsL( CAknIconArray& aIconArray );
-
- /**
- * Set the scanning status flag on
- */
- inline void SetScanningOn();
-
- /**
- * Set the scanning status flag off
- */
- inline void SetScanningOff();
-
- /**
- * Returns with the scanning status flag
- * @since S60 5.0
- * @return ETrue if the scanning on, if it is off EFalse
- */
- inline TBool ScanningOn();
-
- /**
- * Returns that the WLAN item connected or not.
- * @return ETrue if it is connected otherwise EFalse
- */
- inline TBool Connected();
-
- /**
- * Sets the connected flag
- * @param - aConnected True if connected
- */
- inline void SetConnected( TBool aConnected );
-
- /**
- * Sets the connected flag
- * @param - aConnected True if connected
- */
- inline void SetConnecting( TBool aConnecting );
-
- /**
- * Sets the connected wlan info
- * @param aConnected - connected wlan info
- */
- inline void SetConnectedWlanInfo( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Initialize the refresh animation
- */
- void InitializeRefreshAnimation();
-
- /*
- * Step the animation
- */
- void AnimateRefresh();
-
- /**
- * Initialize the refresh animation
- */
- void InitializeConnectingAnimation();
-
- /*
- * Step the animation
- */
- void AnimateConnecting();
-
-private: // New methods
-
- /**
- * Format the Hidden WLANs for the listbox.(text and icon)
- * @since S60 v5.0
- * @param aWlan - Reference to wlaninfo
- * @param aItem - Listbox item
- */
- void FormatHiddenWlanItemL( TWsfWlanInfo& aWlan, TPtr& aItem );
-
- /**
- * Format the listbox filed with the scanning status off information
- * @since S60 v5.0
- * @param aItem - Listbox item
- */
- void FormatStatusOffL( TPtr& aItem );
-
- /**
- * Format the listbox filed with the No Wlan found information
- * @since S60 v5.0
- * @param aItem - Listbox item
- */
- void FormatNoWlansAvailableL( TPtr& aItem );
-
- /**
- * Format the WlanList item for one-line or (visible networks) items for
- * the listbox.(text and icon)
- * @param aWlan - reference to wlaninfo
- * @param aItem - Listbox item
- * @param aSingleLine - ETrue if Single Line Item wanted to be shown
- * EFalse if Visible Wlan Item wanted to be shown
- */
- void FormatWlanSingleLineL( TWsfWlanInfo& aWlan,
- TPtr& aItem,
- TBool aSingleLine );
-
- /**
- * Format the WlanList items in one-line for Unknown networks
- * @param aMultipleUnknownWlans - ETreue if more unknown network found
- * @param aItem - Listbox item
- */
- void FormatUnknownWlansSingleLineL( const TBool aMultipleUnknownWlans,
- TPtr& aItem );
-
- /**
- * Go through the WLANs list and find Max signal strength amont know wlans
- * @param aWlanList - array of WLANs
- * @return the ID of the Wlan with the Max signal strength
- */
- TInt FindPreferredKnownWlan( CWsfWlanInfoArray* aWlanList );
-
- /**
- * Check if there's connection and it is the first item in array
- * @param aWlanList - array of WLANs
- * @param aItem - Listbox item
- */
- void CheckWlansL( CWsfWlanInfoArray* aWlanList, TPtr& aItem );
-
- /**
- * Formats the connected string.
- * @param aItem - The name of the connected network to be put
- */
- void FormatConnectedL( TPtr& aItem );
-
-private: // Data
-
- /**
- * Array of WLANs
- * Not Own.
- */
- CWsfWlanInfoArray* iWlanInfoArray;
-
- /**
- * Coe env for loading string from resource
- * Not Own.
- */
- CCoeEnv* iCoeEnv;
-
- /**
- * List that contains the WLAN items
- * Own.
- */
- CDesCArrayFlat* iFormattedWlanList;
-
- /**
- * WlanInfoArrayVisitor
- * Own.
- */
- CWsfWlanInfoArrayVisitor *iWlanInfoBranding;
-
- /**
- * The scanning status flag
- */
- TBool iScanning;
-
- /**
- * Connected status flag
- */
- TBool iConnected;
-
- /**
- * Connected status flag
- */
- TBool iConnecting;
-
- /**
- * Info of the connected WLAN
- */
- TWsfWlanInfo iConnectedWlanInfo;
-
- /**
- * List of animation states of refreshing icon
- */
- TFixedArray<TInt, 4> iRefreshIcons;
-
- /**
- * List of animation states of connecting icon
- */
- TFixedArray<TInt, 4> iConnectingIcons;
-
- /**
- * The refreshing animation frame index
- */
- TInt iRefreshIndex;
-
- /**
- * The connecting animation frame index
- */
- TInt iConnectingIndex;
-
- /**
- * Constants for 'WLAN scanning off' text
- * Own.
- */
- HBufC* iStatusScanningOff;
-
- /**
- * Constants for 'Refreshing' text
- * Own.
- */
- HBufC* iStatusRefreshing;
-
- /**
- * Constants for 'Connecting' text
- * Own.
- */
- HBufC* iStatusConnecting;
-
- /**
- * Constants for 'Other (hidden netw.)' text
- * Own.
- */
- HBufC* iManualSSIDInputting;
-
- /**
- * Constants for 'No WLAN network found' text
- * Own.
- */
- HBufC* iNoWLANsAvailable;
-
- };
-
-
-#include "wsfaimodel.inl"
-
-
-#endif // C_WSFAIMODEL_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaimodel.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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: Inline for CWsfAiModel
-*
-*/
-
-
-// INLINE FUNCTIONS
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::SetScanningOn
-// --------------------------------------------------------------------------
-//
-inline void CWsfAiModel::SetScanningOn()
- {
- // Set the scanning status flag on
- iScanning = ETrue;
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::SetScanningOff
-// --------------------------------------------------------------------------
-//
-inline void CWsfAiModel::SetScanningOff()
- {
- // Set the scanning status flag off
- iScanning = EFalse;
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::ScanningOn
-// --------------------------------------------------------------------------
-//
-inline TBool CWsfAiModel::ScanningOn()
- {
- return iScanning;
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::Connected
-// --------------------------------------------------------------------------
-//
-inline TBool CWsfAiModel::Connected()
- {
- return iConnected;
- }
-
-// -----------------------------------------------------------------------------
-// CWsfAiModel::SetConnected
-// -----------------------------------------------------------------------------
-//
-void CWsfAiModel::SetConnected( TBool aConnected )
- {
- iConnected = aConnected;
- }
-
-// -----------------------------------------------------------------------------
-// CWsfAiModel::SetConnected
-// -----------------------------------------------------------------------------
-//
-void CWsfAiModel::SetConnecting( TBool aConnecting )
- {
- iConnecting = aConnecting;
- }
-
-// -----------------------------------------------------------------------------
-// CWsfAiModel::SetConnectedWlanInfo
-// -----------------------------------------------------------------------------
-//
-void CWsfAiModel::SetConnectedWlanInfo( TWsfWlanInfo& aWlanInfo )
- {
- iConnectedWlanInfo = aWlanInfo;
- }
-
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,372 +0,0 @@
-/*
-* 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 CWsfAiPlugin
-*
-*/
-
-
-#ifndef C_WSFAIPLUGIN_H
-#define C_WSFAIPLUGIN_H
-
-// EXTERNAL INCLUDES
-#include <hscontentpublisher.h>
-#include <e32cmn.h>
-#include <eikenv.h>
-
-// INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-#include "wsfaipublishobserver.h"
-#include "wsfaiplugincontentmodel.h"
-
-// CONSTANTS
-LOCAL_D const TInt KDeferredWaitTime = 1000 * 1000;
- // one second in milliseconds
-
-// FORWARD DECLARATIONS
-class MAiPluginSettings;
-class MAiContentObserver;
-class MAiContentItemIterator;
-
-class CWsfModel;
-class CWsfAiModel;
-class CWsfAiView;
-class CAknIconArray;
-class CGulIcon;
-class CWsfDbObserver;
-
-
-// CLASS DECLARATION
-
-/**
- * The main class, containing the plugin behavior.
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWsfAiPlugin ): public CHsContentPublisher,
- public MWsfAiPublishObserver
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @return instance of CWsfAiPlugin class
- */
- static CWsfAiPlugin* NewL();
-
- /**
- * Destructor of CWsfAiPlugin class
- * @since S60 5.0
- */
- virtual ~CWsfAiPlugin();
-
- private:// Constructors
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfAiPlugin();
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- /**
- * Steps
- * @param ptr Pointer to an instance of this class
- */
- static TInt DoRefreshingStepL( TAny* ptr );
-
- /**
- * Steps the refresh animation
- */
- void DoRefreshingStepL();
-
- /**
- * Steps
- * @param ptr Pointer to an instance of this class
- */
- static TInt DoConnectingStepL( TAny* ptr );
-
- /**
- * Steps the refresh animation
- */
- void DoConnectingStepL();
-
- public: // from CHSContentPublisher
-
- /**
- * @see CHsContentPublisher
- */
- void Start( TStartReason aReason );
-
- /**
- * @see CHsContentPublisher
- */
- void Stop( TStopReason aReason );
-
- /**
- * @see CHsContentPublisher
- */
- void Resume( TResumeReason aReason );
-
- /**
- * @see CHsContentPublisher
- */
- void Suspend( TSuspendReason aReason );
-
- /**
- * @see CHsContentPublisher
- */
- void SubscribeL( MAiContentObserver& aObserver );
-
- /**
- * @see CHsContentPublisher
- */
- void ConfigureL( RAiSettingsItemArray& aSettings );
-
- /**
- * @see CHsContentPublisher
- */
- TAny* GetProperty( TProperty aProperty );
-
- /**
- * @see CHsContentPublisher
- */
- void HandleEvent( TInt aEvent, const TDesC& aParam );
-
-
- public: // From MWsfAiPublishObserver
-
- /**
- * Publishes images from array and text
- * @since S60 5.0
- * @param aPublishIconArray the published icons
- * @param aText1 title text label
- */
- void PublishContentL( CArrayFix<TInt>* aPublishIconArray,
- CEikLabel* aText1 );
-
- /**
- * Sets Scanning status on/off.
- * @since S60 5.0
- * @param aScanState Scanning satus flag
- */
- void SetScanningState( TBool aScanState );
-
- /**
- * Sets refreshing status on/off.
- * @since S60 5.0
- * @param aScanState Refreshing status flag
- */
- void SetRefreshingL( TBool aRefreshing );
-
- /**
- * Set connecting status on.
- * @since S60 5.0
- */
- void StartConnectingL();
-
- /**
- * Publishes just status image from array
- * @since S60 5.0
- * @param aPublishIconArray the published icons
- * @param aText1 title text label
- */
- void PublishStatusIconL( CArrayFix<TInt>* aPublishIconArray,
- CEikLabel* aText1 );
-
- private:
-
- /**
- * Allocates Engine, Model and functional UI for plugin
- */
- void AllocateResourcesL();
-
- /**
- * Unpublishes (clears) all plugin content from AI2 view
- */
- void ClearL();
-
- /**
- * Launch WLAN Wizard application
- */
- void LaunchApplicationL();
-
- /**
- * Set the value of Middle Soft Key based on the
- * Scanning status of the WLAN Wizard
- */
- void SetMskL();
-
- /**
- * Publish the given text
- * @param aObserver - pointer to the observer
- * @param aContentId - content ID
- * @param aText1 - title text label
- * @return ETrue - if it can be published
- * EFalse - if it can not be published
- */
- TBool PublishText( MAiContentObserver* aObserver,
- TWsfAiWizardContentIds aContentId,
- const TDesC16& aText );
-
- /**
- * Publish the given icon
- * @param aObserver - pointer to the observer
- * @param aContentId - content ID
- * @param aIconId - icon ID
- * @return ETrue - if it can be published
- * EFalse - if it can not be published
- */
- TBool PublishIconL( MAiContentObserver* aObserver,
- TWsfAiWizardContentIds aContentId,
- TInt aIconId );
-
- /**
- * Cleanup function to to cancel publish transaction
- * @since S60 5.0
- * @param aPtr Pointer for the observer class
- */
- static void PublishCleanup( TAny* aPtr );
-
-
- private: // Data
-
- /**
- * Handle to Eikon environment.
- */
- CEikonEnv* iEnv;
-
- /**
- * Array of content observers
- */
- RPointerArray<MAiContentObserver> iObservers;
-
- /**
- * Iterator for plugin content
- * Own.
- */
- MAiContentItemIterator* iContent;
-
- /**
- * Iterator for plugin resources
- * Own.
- */
- MAiContentItemIterator* iResources;
-
- /**
- * Iterator for plugin events
- * Own.
- */
- MAiContentItemIterator* iEvents;
-
- /**
- * Pointer to CWsfModel
- * Own.
- */
- CWsfModel* iModel;
-
- /**
- * Pointer to AI Model
- * Own.
- */
- CWsfAiModel* iAiModel;
-
- /**
- * AI Controller
- * Own.
- */
- TWsfAiController iController;
-
- /**
- * Pointer to CWsfAiView
- * Own.
- */
- CWsfAiView* iUi;
-
- /**
- * The database observer observing changes in
- * show WLAN availablity
- */
- CWsfDbObserver* iDbObserver;
-
- /**
- * The resource file offset
- */
- TInt iResourceFileOffset;
-
- /**
- * Constants for MSK activate text
- * Own.
- */
- HBufC* iMskActivate;
-
- /**
- * Scanning status flag
- */
- TBool iScanState;
-
- /**
- * Flag for focus of information area
- */
- TBool iInfoAreaFocus;
-
- /**
- * The current observer item index
- */
- TInt iCurrentObserverIndex;
-
- /**
- * The current refreshing state
- */
- TBool iRefreshing;
-
- /*
- * The periodic that steps the refreshing animation
- */
- CPeriodic* iAnimationPeriodic;
-
- /**
- * Constants for 'Connected to:' text
- * Own.
- */
- HBufC* iConnectedTo;
-
- /**
- * Constants for 'Known network found:' text
- * Own.
- */
- HBufC* iKnownNetworkFound;
-
- /**
- * A pointer to CWsfActiveWrappers
- */
- CWsfActiveWrappers* iActiveWrappers;
-
- /**
- * Flag to publish network status text
- */
- TBool iPublishNetworkStatusText;
-
- };
-
-
-#endif // C_WSFAIPLUGIN_H
-
-// End of File.
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincommon.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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: PluginIcons
-*
-*/
-
-
-#ifndef WSFAIPLUGINCOMMON_H
-#define WSFAIPLUGINCOMMON_H
-
-#include <data_caging_path_literals.hrh>
-#include <e32base.h>
-
-// the drive letter
-_LIT( KResourceDrive, "z:" );
-// resource file
-_LIT( KResourceFile, "wsfaipluginrsc.rsc" );
-// icons
-_LIT( KBitmapFile, "wsficons.mif" );
-
-/** Icon ID constants */
-enum TWsfPluginIcons
- {
- //Constants
- ESecureNetworkIcon,
- ENoSignalIcon,
- EPoorSignal,
- EAverageSignal,
- EExcelentSignal,
- EConnectedNWIcon,
- EKnownNWIcon,
- ETransparentIcon,
- EWlanOnIcon,
- EWlanOnIcon_0,
- EWlanOnIcon_1,
- EWlanOffIcon,
- EWlanNaviBarIcon
- };
-
-#endif // WSFAIPLUGINCOMMON_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincontentmodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,82 +0,0 @@
-/*
-* 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: Content enums
-*
-*/
-
-
-#ifndef WSFAIPLUGINCONTENTMODEL_H
-#define WSFAIPLUGINCONTENTMODEL_H
-
-
-#include <aicontentmodel.h>
-
-#include "wsfaipluginuids.hrh"
-
-// Plug-in Implementation UID.
-const TInt KImplUidWlanWizardPlugin =
- AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN;
-const TUid KUidWlanWizardPlugin = { KImplUidWlanWizardPlugin };
-
-
-// ================================= Content ================================
-
-/**
- * Content Ids
- */
-enum TWsfAiWizardContentIds
- {
- EAiWizardContentStatusIcon
- ,EAiWizardContentStrengthIcon
- ,EAiWizardContentSecureIcon
- ,EAiWizardContentNetworkStatus
- ,EAiWizardContentNetworkName
- };
-
-/**
- * Content that the plugin will publish
- */
-const TAiContentItem KAiWizardContent[] =
- {
- { EAiWizardContentStatusIcon, L"StatusIcon", KAiContentTypeBitmap }
- ,{ EAiWizardContentStrengthIcon, L"StrengthIcon", KAiContentTypeBitmap }
- ,{ EAiWizardContentSecureIcon, L"SecureIcon", KAiContentTypeBitmap }
- ,{ EAiWizardContentNetworkStatus, L"NetworkStatus",KAiContentTypeText }
- ,{ EAiWizardContentNetworkName, L"NetworkName", KAiContentTypeText }
- };
-
-// ============================ Events ==============================
-/**
- * Event Ids.
- */
-enum TWsfAiWizardEventIds
- {
- EAiWizardEventLaunchApplication,
- EAiWizardGainFocusInfoArea,
- EAiWizardLostFocusInfoArea,
- EAiWizardOpenMenu
- };
-
-/**
- * Services that the plugin can perform
- */
-const TAiContentItem KAiWizardEvents[] =
- {
- { EAiWizardEventLaunchApplication, L"LaunchApplication", "" }
- ,{ EAiWizardGainFocusInfoArea, L"GainFocusInfoArea", "" }
- ,{ EAiWizardLostFocusInfoArea, L"LostFocusInfoArea", "" }
- ,{ EAiWizardOpenMenu, L"OpenMenu", "" }
- };
-
-#endif // WSFAIPLUGINCONTENTMODEL_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaipluginuids.hrh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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: Resource headers for project AiPlugin
-*
-*/
-
-
-#ifndef WSFAIPLUGINUIDS_HRH
-#define WSFAIPLUGINUIDS_HRH
-
-/**
- * Ecom implementation uid for WLAN wizard plugin.
- */
-#define AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN 0x10281CAF
-
-/**
- * Ecom dll uid for WLAN wizard plugin.
- */
-#define AI_UID_ECOM_DLL_CONTENTPUBLISHER_WIZARDPLUGIN 0x10281CAE
-
-
-#endif // WSFAIPLUGINUIDS_HRH
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaipublishobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* 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 MWsfAiPublishObserver
-*
-*/
-
-
-#ifndef M_WSFAIPUBLISHOBSERVER_H
-#define M_WSFAIPUBLISHOBSERVER_H
-
-#include <e32std.h>
-
-class CAknIconArray;
-class CEikLabel;
-
-/**
- * Abstract interface for wlan active idle plugin
- *
- */
-class MWsfAiPublishObserver
- {
-public:
-
- /**
- * Publishes images from array and text
- * @since S60 5.0
- * @param aPublishIconArray the published icons
- * @param aText1 title text label
- */
- virtual void PublishContentL( CArrayFix< TInt >* aPublishIconArray,
- CEikLabel* aText1 ) = 0;
-
- /**
- * Sets Scanning status on/off.
- * @since S60 5.0
- * @param aScanState Scanning satus flag
- */
- virtual void SetScanningState( TBool aScanState ) = 0;
-
- /**
- * Sets refreshing status on/off.
- * @since S60 5.0
- * @param aScanState Refreshing status flag
- */
- virtual void SetRefreshingL( TBool aRefreshing ) = 0;
-
- /**
- * Sets connecting status on.
- * @since S60 5.0
- * @param aScanState Refreshing status flag
- */
- virtual void StartConnectingL() = 0;
-
- /**
- * Publishes state image from array
- * @since S60 5.0
- * @param aPublishIconArray the published icons
- * @param aText1 title text label
- */
- virtual void PublishStatusIconL( CArrayFix<TInt>* aPublishIconArray,
- CEikLabel* aText1 ) = 0;
-
- };
-
-
-#endif // M_WSFAIPUBLISHOBSERVER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiuiobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* 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: Interface for wlan active idle plugin ui control
-*
-*/
-
-
-#ifndef M_WSFAIUIOBSERVER_H
-#define M_WSFAIUIOBSERVER_H
-
-
-#include <e32std.h>
-/**
- * Abstract interface for wlan active idle plugin ui control
- * - from the point of view of model
- * @since S60 5.0
- */
-class MWsfAiUiObserver
- {
-
- public:
-
- /**
- * Update the contents of control
- * Set the focus on aCurrentImte
- * @since S60 5.0
- * @param aItemTextArray text of the current item
- * @param aCurrentItem index of the current item
- */
- virtual void UpdateHotSpotsL( MDesCArray* aItemTextArray,
- TInt aCurrentItem ) = 0;
-
- /**
- * Gives back the index of the selected item
- * @since S60 5.0
- * @return the index of the selected item
- */
- virtual TInt SelectedItem() = 0;
-
-
- /*
- * Check if the control is multiline capable control
- * @since S60 5.0
- * @return Etrue if control is multiline capable control
- */
- virtual TBool MultilineControl() = 0;
-
- /*
- * Display engine off text in UI
- * @since S60 5.0
- */
- virtual void DisplayEngineOffL() = 0;
-
- /*
- * Set the refressing UI note visible
- * @since S60 5.0
- */
- virtual void ForceRefreshingL() = 0;
-
- /**
- * Update the contents of control
- * @since S60 5.0
- * @param aItemTextArray text of the current item
- */
- virtual void UpdateViewL( MDesCArray* aItemTextArray ) = 0;
-
- /**
- * Update the contents of control
- * @since S60 5.0
- * @param aItemTextArray text of the current item
- */
- virtual void StartConnectingAnimationL() = 0;
- };
-
-
-#endif // M_WSFAIUIOBSERVER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiview.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* 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 CWsfAiView
-*
-*/
-
-
-#ifndef C_WSFAIVIEW_H
-#define C_WSFAIVIEW_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-// INTERNAL INCLUDES
-#include "wsfaiuiobserver.h"
-#include "wsfaiplugincommon.h"
-
-
-// CONSTANTS
-// MACROS
-// DATA TYPES
-// FORWARD DECLARATIONS
-class CEikLabel;
-class MWsfAiPublishObserver;
-
-class CWsfAiView : public CBase,
- public MWsfAiUiObserver
- {
- public: // Constructors
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @param aPublishObserver - reference to the plugin's
- * abstract interface
- * @return instance of CWsfAiView class
- */
- static CWsfAiView* NewL( MWsfAiPublishObserver& aPublishObserver );
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @param aPublishObserver - reference to the plugin's
- * abstract interface
- * @return instance of CWsfAiView class
- */
- static CWsfAiView* NewLC( MWsfAiPublishObserver& aPublishObserver );
-
- /**
- * Destructor of CWsfAiView class
- * @since S60 5.0
- */
- ~CWsfAiView();
-
- private:
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- * @param aPublishObserver - reference to the plugin's
- * abstract interface
- */
- CWsfAiView( MWsfAiPublishObserver& aPublishObserver );
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- public: // from MWsfAiUiObserver
-
- /**
- * Update the contents of control
- * Set the focus on aCurrentImte
- * @since S60 5.0
- * @param aItemTextArray text of the current item
- * @param aCurrentItem index of the current item
- */
- void UpdateHotSpotsL( MDesCArray* aItemTextArray,
- TInt aCurrentItem );
-
- /**
- * Gives back the index of the selected item
- * @since S60 5.0
- * @return the index of the selected item
- */
- TInt SelectedItem();
-
- /*
- * Check if the control is multiline capable control
- * @since S60 5.0
- * @return Etrue if control is multiline capable control
- */
- TBool MultilineControl();
-
- /*
- * Display engine off text in UI
- * @since S60 5.0
- */
- void DisplayEngineOffL();
-
- /*
- * Set the refressing UI note visible
- * @since S60 5.0
- */
- void ForceRefreshingL();
-
- /*
- * Set the refressing UI note visible
- * @since S60 5.0
- */
- void StartConnectingAnimationL();
-
- /**
- * Update the contents of control
- * @since S60 5.0
- * @param aItemTextArray text of the current item
- */
- void UpdateViewL( MDesCArray* aItemTextArray );
-
- private:
-
- /*
- * Parses the string into ui component data
- * @since S60 5.0
- * @param aString - a string into ui
- * @return - TBool - ETrue if deferred update is executed
- */
- TBool ParseStringL( const TDesC& aString );
-
- /*
- * Complete the change for new data - this is
- * a callback for deferred update
- * @since S60 5.0
- * @param aPtr pointer to this
- * @return ETrue if update is completed
- */
- static TInt DoCompleteUpdateL( TAny* aPtr );
-
- /*
- * Commit the update change
- * @since S60 5.0
- */
- void DoCompleteUpdateL();
-
- /**
- * Activates refresh timer
- * @since S60 5.0
- */
- void ActivateRefreshTimer();
-
- /**
- * 'MakePublishIconsL' and 'MakeTransparentPublishIconsL'
- * create arrays consisting of icon ids for the icons to publish
- * @since S60 5.0
- */
- void MakePublishIconsL();
-
- /**
- * 'MakePublishIconsL' and 'MakeTransparentPublishIconsL'
- * create arrays consisting of icon ids for the icons to publish
- * @since S60 5.0
- */
- void MakeTransparentPublishIconsL();
-
- private: // Data
-
- /**
- * Coe env for loading string from resource
- * Not Own.
- */
- CCoeEnv* iEnv;
-
- /**
- * Publish images in array
- * Own.
- */
- CArrayFix< TInt >* iPublishIconArray;
-
- /**
- * Timer for update
- * Own.
- */
- CPeriodic* iDeferredUpdater;
-
- /**
- * Times callback
- * Own.
- */
- TCallBack* iDeferredUpdateCallBack;
-
- /**
- * Title text label
- * Own.
- */
- CEikLabel* iTextLabel;
-
- /**
- * The label text
- */
- TName iCurrentText;
-
- /**
- * ID constants for Secure Icon
- */
- TWsfPluginIcons iUpdateSecureIconDeferred;
-
- /**
- * ID constants for Signal Strength Icon
- */
- TWsfPluginIcons iUpdateSignalStrengthIconDeferred;
-
- /**
- * ID constants for Status Icon
- */
- TWsfPluginIcons iUpdateStatusIconDeferred;
-
- /**
- * ID constants for Status Icon saved to remember after refreshing
- */
- TWsfPluginIcons iSavedUpdateStatusIconDeferred;
-
- /**
- * Pointer to Publish Observer interface
- * Not Own.
- */
- MWsfAiPublishObserver* iPublishObserver;
-
- /**
- * Constants for 'WLAN scanning off' text
- * Own.
- */
- HBufC* iStatusScanningOff;
-
- /**
- * Constants for 'Refreshing' text
- * Own.
- */
- HBufC* iStatusRefreshing;
-
- /**
- * Constants for 'Connecting' text
- * Own.
- */
- HBufC* iStatusConnecting;
- };
-
-
-
-#endif // C_WSFAIVIEW_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfconnectactivewrapper.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
- * 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: Implementation of CWsfConnectActiveWrapper.
- *
- */
-
-#ifndef CWSFCONNECTACTIVEWRAPPER_H
-#define CWSFCONNECTACTIVEWRAPPER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-#include "wsfcommon.h"
-
-// FORWARD DECLARATIONS
-class CWsfModel;
-
-/**
- * Active object that connects WLAN
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.2
- */
-class CWsfConnectActiveWrapper : public CActive
- {
-public:
- // Constructors and destructor
-
- /**
- * Destructor
- * @since S60 5.2
- */
- ~CWsfConnectActiveWrapper();
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfConnectActiveWrapper* NewL( CWsfModel* aModel );
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfConnectActiveWrapper* NewLC( CWsfModel* aModel );
-
-public:
-
- /**
- * Function for making the initial request
- * @since S60 5.2
- * @param aIapId WLAN IAP id to connect to.
- * @param aConnectOnly ETrue if Connect selected
- * @param aPersistence Persistence property of the IAP
- */
- void Start( TUint aIapID, TBool aConnectOnly,
- TWsfIapPersistence aPersistence );
-
-private:
-
- /**
- * constructor
- */
- CWsfConnectActiveWrapper();
-
- /**
- * Factory function.
- * @since S60 5.2
- * @param aModel CWsfModel pointer
- */
- void ConstructL( CWsfModel* aModel );
-
-private:
- // From CActive
- /**
- * @see CActive
- */
- void RunL();
-
- /**
- * @see CActive
- */
- void DoCancel();
-
- /**
- * @see CActive
- */
- TInt RunError( TInt aError );
-
-private:
- /**
- * States of the active object
- */
- enum CWsfConnectActiveWrapperState
- {
- EUninitialized, // Uninitialized
- EInitialized, // Initalized
- EError
- // Error condition
- };
-
-private:
-
- /**
- * State of the active object
- */
- TInt iState; // State of the active object
-
- /**
- * Result
- */
- TPckgBuf<TBool> iPckg;
-
- /**
- * Reference to Model
- */
- CWsfModel* iModel;
-
- /**
- * IAP ID
- */
- TUint iIapID;
-
- /**
- * Indicates whether Connect or Start Web browsing was selected
- */
- TBool iConnectOnly;
-
- /**
- * Persistence value of IAP
- */
- TWsfIapPersistence iPersistence;
-
- };
-
-#endif // CWSFCONNECTACTIVEWRAPPER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfdbobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,133 +0,0 @@
-/*
-* 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 CWsfDbObserver class.
-*
-*/
-
-
-#ifndef C_WLAN_PLUGIN_DB_OBSERVER
-#define C_WLAN_PLUGIN_DB_OBSERVER
-
-// System includes
-#include <e32base.h>
-#include <wlancontainer.h>
-#include <d32dbms.h>
-#include <WlanCdbCols.h>
-#include <commsdat.h>
-#include <wlanmgmtclient.h>
-
-//forward declaration
-class TWsfAiController;
-
-/**
-* Database observer class.
-*/
-NONSHARABLE_CLASS( CWsfDbObserver ) : public CActive
- {
- public:
- /**
- * The Constructor.
- */
- CWsfDbObserver();
-
- /**
- * First phase of two phased construction.
- */
- static CWsfDbObserver* NewL();
-
- /**
- * This function activates this object as an active object.
- */
- void ActivateItL();
-
- /**
- * Destructor.
- */
- virtual ~CWsfDbObserver();
-
- /**
- * Set the controller
- */
- void SetController( TWsfAiController* aController );
-
- /**
- * Set WLAN availablity to scanning
- */
- void EnableScanL();
-
- /*
- * Set WLAN availablity to not scanning
- */
- void DisableScanL();
-
- protected:
- /**
- * When the WLAN device settings table is accessed this function
- * is called. Handle of the active object.
- */
- void RunL();
-
- /**
- * Whan waiting for a database access is stopped this function
- * is called.
- */
- void DoCancel();
-
- /**
- * @see CActive
- */
- TInt RunError( TInt aError );
-
- private:
- /**
- * Second phase of two phase construction.
- */
- void ConstructL();
-
- /*
- * Get default scanning interval
- */
- TInt DefaultScanIntervalL();
-
- private:
- /**
- * A CommsDat session fod database access.
- */
- CMDBSession* iSession;
-
- /**
- * A class representing a recor of WLAN Devive Settings table.
- */
- CCDWlanDeviceSettingsRecord* iRecord;
-
- /**
- * The value of it shows the scan state of the WLAN availablity
- */
- TBool iOuterScanState;
-
- /**
- * Reference to the controller class of the module.
- */
- TWsfAiController* iController;
-
- /**
- * Handle to the WLAN management client (owned)
- */
- CWlanMgmtClient* iWlanMgmtClient;
-
- };
-
-
-#endif //C_WLAN_PLUGIN_DB_OBSERVER
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfdisconnectactivewrapper.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
- * 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: Implementation of CWsfDisconnectActiveWrapper.
- *
- */
-
-#ifndef CWSFDISCONNECTACTIVEWRAPPER_H
-#define CWSFDISCONNECTACTIVEWRAPPER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfModel;
-
-/**
- * Active object that disconnects wlan
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.2
- */
-class CWsfDisconnectActiveWrapper : public CActive
- {
-public:
- // Constructors and destructor
-
- /**
- * Destructor
- * @since S60 5.2
- */
- ~CWsfDisconnectActiveWrapper();
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfDisconnectActiveWrapper* NewL( CWsfModel* aModel );
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfDisconnectActiveWrapper* NewLC( CWsfModel* aModel );
-
-public:
-
- /**
- * Function for making the initial request
- * @since S60 5.2
- */
- void Start();
-
-private:
-
- /**
- * constructor
- */
- CWsfDisconnectActiveWrapper();
-
- /**
- * Factory function.
- * @since S60 5.2
- * @param aModel CWsfModel pointer
- */
- void ConstructL( CWsfModel* aModel );
-
-private:
- // From CActive
- /**
- * @see CActive
- */
- void RunL();
-
- /**
- * @see CActive
- */
- void DoCancel();
-
- /**
- * @see CActive
- */
- TInt RunError( TInt aError );
-
-private:
- /**
- * States of the active object
- */
- enum CWsfDisconnectActiveWrapperState
- {
- EUninitialized, // Uninitialized
- EInitialized, // Initalized
- EError
- // Error condition
- };
-
-private:
-
- /**
- * State of the active object
- */
- TInt iState; // State of the active object
-
- /**
- * Request result
- */
- TPckgBuf<TBool> iPckg;
-
- /**
- * Reference to Model
- */
- CWsfModel* iModel;
-
- };
-
-#endif // CWSFDISCONNECTACTIVEWRAPPER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsficonarraycreator.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-/*
-* 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 CWsfIconArrayCreator
-*
-*/
-
-
-#ifndef C_WSFICONARRAYCREATOR_H
-#define C_WSFICONARRAYCREATOR_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class CAknIconArray;
-class CGulIcon;
-
-// CLASS DEFINITION
-/**
- * Responsible for the creation of the suitable needed icons.
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfIconArrayCreator ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Create an icon array
- * @since S60 5.0
- * @return The constructed icon array. Ownership passed.
- */
- static CAknIconArray* CreateArrayL();
-
- /**
- * Returns the pointer to icon loaded by the AknIconUtils/AknUtil
- * @param aIconId The id of the icon to load
- * @return Pointer of the icon.
- */
- static CGulIcon* GetIconLC( TInt aIconId );
-
- };
-
-#endif // C_WSFICONARRAYCREATOR_H
-
-// end of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsflaunchaihelperactivewrapper.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
- * 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: Implementation of CWsfLaunchAiHelperActiveWrapper.
- *
- */
-
-#ifndef CWSFLAUNCHAIHELPERACTIVEWRAPPER_H
-#define CWSFLAUNCHAIHELPERACTIVEWRAPPER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfModel;
-
-/**
- * Active object launches ai helper
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.2
- */
-class CWsfLaunchAiHelperActiveWrapper : public CActive
- {
-public: // Constructors and destructor
-
- /**
- * Destructor
- * @since S60 5.2
- */
- ~CWsfLaunchAiHelperActiveWrapper();
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfLaunchAiHelperActiveWrapper* NewL( CWsfModel* aModel,
- TWsfAiController &aController );
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfLaunchAiHelperActiveWrapper* NewLC( CWsfModel* aModel,
- TWsfAiController &aController );
-
-public:
- /**
- * Function for making the initial request
- * @since S60 5.2
- * @param aWlanInfo The WlanInfo object to be passed to the helper app
- * @param aConnectOnly ETrue if we are only connecting,
- * EFalse if we should also launch the browser
- * @param aTestAccessPoint ETrue if ICT is executed,
- * EFalse if ICT is not executed
- */
- void Start( TWsfWlanInfo& aInfo, TBool aConnectOnly,
- TBool aTestAccessPoint );
-
-private:
-
- /**
- * constructor
- */
- CWsfLaunchAiHelperActiveWrapper();
-
- /**
- * Factory function.
- * @since S60 5.2
- * @param aModel Whether to react to screensaver events
- * @param aController Whether to react to screensaver events
- */
- void ConstructL( CWsfModel* aModel, TWsfAiController &aController );
-
-private: // From CActive
-
- /**
- * @see CActive
- */
- void RunL();
-
- /**
- * @see CActive
- */
- void DoCancel();
-
- /**
- * @see CActive
- */
- TInt RunError( TInt aError );
-
-private:
-
- /**
- * States of the active object
- */
- enum TCWsfWLANListActiveWrapperState
- {
- EUninitialized, // Uninitialized
- EInitialized, // Initalized
- EError // Error condition
- };
-
-private:
-
- /**
- * State of the active object
- */
- TInt iState;
-
- /**
- * Reference to Model
- */
- CWsfModel* iModel;
-
- /**
- * Pointer to TWsfAiController
- */
- TWsfAiController *iController;
-
- /**
- * Handle to the ai helper exit code property value
- */
- RProperty iAiHelperAppExitCode;
-
- /**
- * Handle to the ai helper iap id property value
- */
- RProperty iAiHelperAppIapId;
-
- /**
- * Cache of the used info
- */
- TWsfWlanInfo iUsedInfo;
-
- /**
- * Indicates if "Connect" or "Start Web browsing" is selected.
- */
- TBool iConnectOnly;
-
- /**
- * Indicates if ICT needs to be executed
- */
- TBool iTestAccessPoint;
-
- /**
- * Indicates if ai helper was stopped
- */
- TBool iStoppingHelper;
-
- /**
- * Timer to wait for ai helper to close
- */
- RTimer iTimer;
-
- };
-
-#endif // CWSFLAUNCHAIHELPERACTIVEWRAPPER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfrefreshscanactivewrapper.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
- * 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: Implementation of CWsfRefreshScanActiveWrapper.
- *
- */
-
-#ifndef CWSFREFRESHSCANACTIVEWRAPPER_H
-#define CWSFREFRESHSCANACTIVEWRAPPER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfModel;
-
-/**
- * Active object that requests scans
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.2
- */
-class CWsfRefreshScanActiveWrapper : public CActive
- {
-public:
- // Constructors and destructor
-
- /**
- * Destructor
- * @since S60 5.2
- */
- ~CWsfRefreshScanActiveWrapper();
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfRefreshScanActiveWrapper* NewL(CWsfModel* aModel);
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfRefreshScanActiveWrapper* NewLC(CWsfModel* aModel);
-
-public:
-
- /**
- * Function for making the initial request
- * @since S60 5.2
- */
- void Start();
-
-private:
-
- /**
- * constructor
- */
- CWsfRefreshScanActiveWrapper();
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aModel CWsfModel pointer
- */
- void ConstructL(CWsfModel* aModel);
-
-private:
- // From CActive
- /**
- * @see CActive
- */
- void RunL();
-
- /**
- * @see CActive
- */
- void DoCancel();
-
- /**
- * @see CActive
- */
- TInt RunError(TInt aError);
-
-private:
- /**
- * States of the active object
- */
- enum CWsfRefreshScanActiveWrapperState
- {
- EUninitialized, // Uninitialized
- EInitialized, // Initalized
- EError
- // Error condition
- };
-
-private:
-
- /**
- * State of the active object
- */
- TInt iState; // State of the active object
-
- /**
- * Request result
- */
- TPckgBuf<TBool> iPckg;
-
- /**
- * Reference to Model
- */
- CWsfModel* iModel;
-
- };
-
-#endif // CWSFREFRESHSCANACTIVEWRAPPER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfsearchwlansdialog.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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 CWsfSearchWlansDialog
-*
-*/
-
-
-#ifndef C_WSFSEARCHWLANSDIALOG_H
-#define C_WSFSEARCHWLANSDIALOG_H
-
-#include <e32base.h>
-#include <aknlistquerydialog.h>
-
-// INTERNAL INCLUDES
-#include "wsfaiuiobserver.h"
-
-
-NONSHARABLE_CLASS( CWsfSearchWlansDialog ) : public CAknListQueryDialog,
- public MWsfAiUiObserver
- {
-public:
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @param aSelectedItem - reference of the selected item
- * @return instance of CWsfSearchWlansDialog class
- */
- static CWsfSearchWlansDialog* NewL( TInt &aSelectedItem );
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @param aSelectedItem - reference of the selected item
- * @return instance of CWsfSearchWlansDialog class
- */
- static CWsfSearchWlansDialog* NewLC( TInt &aSelectedItem );
-
- /**
- * Destructor of CWsfSearchWlansDialog class
- * @since S60 5.0
- */
- ~CWsfSearchWlansDialog();
-
-private:
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- * @param aSelectedItem - reference of the selected item
- */
- CWsfSearchWlansDialog( TInt &aSelectedItem );
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
-private: // from CEikDialog
-
- /**
- * From CEikDialog
- * Framework method called to processs a command ID
- * @param aCommandId ID of the command to respond to.
- */
- void ProcessCommandL( TInt aCommandId );
-
- /**
- * Sets the default value to the dialog.
- */
- void PreLayoutDynInitL();
-
-private: // from MWsfAiUiObserver
-
- /**
- * Update the contents of control
- * Set the focus on aCurrentImte
- * @since S60 5.0
- * @param aItemTextArray text of the current item
- * @param aCurrentItem index of the current item
- */
- void UpdateHotSpotsL( MDesCArray* aItemTextArray,
- TInt aCurrentItem );
-
- /**
- * Gives back the index of the selected item
- * @since S60 5.0
- * @return the index of the selected item
- */
- TInt SelectedItem();
-
- /*
- * Check if the control is multiline capable control
- * @since S60 5.0
- * @return Etrue if control is multiline capable control
- */
- TBool MultilineControl();
-
- /*
- * Display engine off text in UI
- * @since S60 5.0
- */
- void DisplayEngineOffL();
-
- /*
- * Set the refressing UI note visible
- * @since S60 5.0
- */
- void ForceRefreshingL();
-
- /*
- * Starts connecting animation
- * @since S60 5.2
- */
- void StartConnectingAnimationL();
-
- /**
- * Update the contents of control
- * @since S60 5.0
- * @param aItemTextArray text of the current item
- */
- void UpdateViewL( MDesCArray* aItemTextArray );
-
-
-private:
-
- /**
- * Reference of the selecte item
- */
- TInt *iSelectedItem;
- };
-
-
-
-#endif // C_WSFSEARCHWLANSDIALOG_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfwlanlistactivewrapper.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,195 +0,0 @@
-/*
- * 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: Implementation of CWsfWLANListActiveWrapper.
- *
- */
-
-#ifndef CWSFWLANLISTACTIVEWRAPPER_H
-#define CWSFWLANLISTACTIVEWRAPPER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfModel;
-class CWsfWlanInfoArray;
-
-/**
- * Active object that fetches wlan list data
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.2
- */
-class CWsfWLANListActiveWrapper : public CActive
- {
-public: // Constructors and destructor
-
- /**
- * Destructor
- * @since S60 5.2
- */
- ~CWsfWLANListActiveWrapper();
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfWLANListActiveWrapper* NewL( CWsfModel* aModel,
- TWsfAiController &aController );
-
- /**
- * Two-phased constructor.
- * @since S60 5.2
- */
- static CWsfWLANListActiveWrapper* NewLC( CWsfModel* aModel,
- TWsfAiController &aController );
-
-public:
- /**
- * Function for making the initial request
- * @since S60 5.2
- * @param aStarUp is start called from plugin start up
- */
- void Start( TBool aStarUp );
-
- /**
- * Returns the list of found WLANs.
- * Ownership not passed.
- * @since S60 5.2
- * @return Array of WLANs
- */
- CWsfWlanInfoArray* GetWlanList();
-
- /**
- * Returns the connected WLAN network
- * @since S60 5.2
- * @return TWsfWlanInfo
- */
- TWsfWlanInfo GetConnectedWLANNetwork();
-
-private:
-
- /**
- * constructor
- */
- CWsfWLANListActiveWrapper();
-
- /**
- * Factory function.
- * @since S60 5.2
- * @param aModel Whether to react to screensaver events
- * @param aController Whether to react to screensaver events
- */
- void ConstructL( CWsfModel* aModel, TWsfAiController &aController );
-
-private: // From CActive
-
- /**
- * @see CActive
- */
- void RunL();
-
- /**
- * @see CActive
- */
- void DoCancel();
-
- /**
- * @see CActive
- */
- TInt RunError( TInt aError );
-
-private:
-
- /**
- * States of the active object
- */
- enum TCWsfWLANListActiveWrapperState
- {
- EUninitialized, // Uninitialized
- EInitialized, // Initalized
- EProcessWLANListData, // Create wlan array from results
- EGetConnectedNetwork, // Request connected network
- EError
- // Error condition
- };
-
-private:
-
- /**
- * State of the active object
- */
- TInt iState; // State of the active object
-
- /**
- * Needed size to allocate result data
- */
- TPckgBuf<TUint> iPckgNeededSize;
-
- /**
- * Data size in engine
- */
- TPckgBuf<TUint> iPckgAllocatedSize;
-
- /**
- * Connected network request result
- */
- TPckgBuf<TBool> iPckg;
-
- /**
- * Reference to Model
- */
- CWsfModel* iModel;
-
- /**
- * Array to store WLAN scan results. Owned.
- */
- CWsfWlanInfoArray* iArray;
-
- /**
- * TPtr to wlan data
- */
- TPtr8 iPtr;
-
- /**
- * Wlan data buffer
- */
- HBufC8* iBuffer;
-
- /**
- * Pointer to TWsfAiController
- */
- TWsfAiController *iController;
-
- /**
- * Is this object called from plugin startup
- */
- TBool iStartUp;
-
- /**
- * Retries to fetch data
- */
- TInt iRetriesLeft;
-
- /**
- * Cache of the connected WLAN data
- */
- TWsfWlanInfo iConnectedWlan;
-
- };
-
-#endif // CWSFWLANLISTACTIVEWRAPPER_H
--- a/wlanutilities/wlansniffer/aiplugin/loc/wsfaiplugin.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2006 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: Localization strings for project AP Wizard
-*
-*/
-
-
-// d:Text to indicate that the data is changing in the view - visible for one second
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_refreshing "Refreshing"
-
-// d:Text to indicate that the wlan scanning is off.
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_scanning_off "WLAN scanning off"
-
-// d:Text indicate that wlan scan did not find any wlan in the range
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_no_wlans_found "No WLAN network found"
-
-// d:Text used to tell that a preconfigured wlan accesspoint is found.
-// d:%U stands for wlan ssid( max 50 digits )
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_ssid_found "'%U' found"
-
-// d:Text use to indicate that a non-configured wlan is in the range
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_unknown_wlan_found "WLAN network found"
-
-// d:Text use to indicate that multiple non-configured wlans is in the range
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_unknown_wlans_found "WLAN networks found"
-
-// d:Text used the show connected wlan
-// d: %U wlan ssid ( max 50 digits )
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_iap_connected "'%U' connected"
-
-// d:Menu command text
-// d:(one row)
-// l: list_single_pane_t1_cp2
-#define qtn_sniffer_plug_in_options_search_wlan_networks "Search for WLAN"
-
-// d:Menu command text. Sets WLAN scanning off.
-// d:(one row)
-// l: list_single_pane_t1_cp2
-#define qtn_sniffer_opt_set_scanning_off "Switch WLAN scan off"
-
-// d: Dialog title text in select wlan network dialog
-// d:(one row)
-// l: heading_pane_t1
-#define qtn_wlan_prmpt_select_network "Select WLAN network:"
-
-//d: Connect to WLAN network softkey
-//d: The command is used to connect WLAN using selected IAP
-//l: control_pane_t1/opt7
-//r:3.0
-//
-#define qtn_sniffer_softkey_connect "Connect"
-
-// d:List item in WLAN results
-// d:(one row)
-// l: list_single_graphic_pane_t1_cp2
-#define qtn_wlan_manual_ssid_input "Other (hidden netw.)"
-
-// d:Text for WLAN Wizard Active Idle2 Middle Soft Key
-// d:This value is used when WLAN scanning is 'off'
-// d:(one row)
-// l:control_pane_t1/opt7
-#define qtn_msk_sniffer_activate "Activate"
-
-// d:Text for WLAN Wizard Active Idle2 Navigation Bar theme title
-// d:(one row)
-// l:heading_ai2_gene_pane_t1
-#define qtn_ai_wizard_title "WLAN"
-
-// d:Text used the show connected state
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_connected_to "Connected to:"
-
-// d:Text used the show one known network found state
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_wlan_network_found "WLAN network found:"
-
-// d: Text for a network that a connection is being established
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_connecting "Connecting"
-
--- a/wlanutilities/wlansniffer/aiplugin/rom/wsfaiplugin.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 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: Image description file for project WlanInfoSorting
-*
-*/
-
-
-#ifndef WSFAIPLUGIN_IBY
-#define WSFAIPLUGIN_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-#include <bldvariant.hrh>
-
-
-ECOM_PLUGIN(wsfaiplugin.dll, 0x10281CAE.rsc)
-
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAIPLUGIN_IBY
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/rom/wsfaipluginresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 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: Active Idle plugin resources
-*
-*/
-
-#ifndef WSFAIPLUGINRESOURCES_IBY
-#define WSFAIPLUGINRESOURCES_IBY
-
-#include <bldvariant.hrh>
-
-data = DATAZ_\RESOURCE_FILES_DIR\wsfaipluginrsc.rsc RESOURCE_FILES_DIR\wsfaipluginrsc.rsc
-
-#endif // WSFAIPLUGINRESOURCES_IBY
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfactivewaiter.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* 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: Implementation of CWsfActiveWaiter
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL()
- {
- CWsfActiveWaiter* self = NewLC();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewLC
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewLC()
- {
- CWsfActiveWaiter* self = new ( ELeave ) CWsfActiveWaiter();
- CleanupStack::PushL( self );
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter():
- CActive( CActive::EPriorityStandard )
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::~CWsfActiveWaiter()
- {
- Cancel();
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::DoCancel()
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::RunL()
- {
- LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
- if ( iWait.IsStarted() )
- {
- LOG_WRITE("async call completed, resuming.");
- iWait.AsyncStop();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest
-// ---------------------------------------------------------
-//
-TInt CWsfActiveWaiter::WaitForRequest()
- {
- LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
- SetActive();
- iWait.Start();
-
- return iStatus.Int();
- }
-
-// End of File
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfactivewrappers.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
- * 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: Implementation of CWsfActiveWrappers.
- *
- */
-
-
-
-// INCLUDE FILES
-#include "wsflogger.h"
-#include "wsfactivewrappers.h"
-#include "wsfwlanlistactivewrapper.h"
-#include "wsfrefreshscanactivewrapper.h"
-#include "wsfdisconnectactivewrapper.h"
-#include "wsfconnectactivewrapper.h"
-#include "wsflaunchaihelperactivewrapper.h"
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::CWsfActiveWrappers
-// ----------------------------------------------------------------------------
-//
-CWsfActiveWrappers::CWsfActiveWrappers()
- {
- // No implementation required
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::~CWsfActiveWrappers
-// ----------------------------------------------------------------------------
-//
-CWsfActiveWrappers::~CWsfActiveWrappers()
- {
- delete iWLANListActiveWrapper;
- delete iRefreshScanActiveWrapper;
- delete iDisconnectActiveWrapper;
- delete iConnectActiveWrapper;
- delete iLaunchAiHelperActiveWrapper;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfActiveWrappers* CWsfActiveWrappers::NewLC( CWsfModel* aModel,
- TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfActiveWrappers::NewLC" );
- CWsfActiveWrappers* self = new ( ELeave ) CWsfActiveWrappers();
- CleanupStack::PushL( self );
- self->ConstructL( aModel, aController );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfActiveWrappers* CWsfActiveWrappers::NewL( CWsfModel* aModel,
- TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfActiveWrappers::NewL" );
- CWsfActiveWrappers* self = CWsfActiveWrappers::NewLC( aModel, aController );
- CleanupStack::Pop(); // self;
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfActiveWrappers::ConstructL( CWsfModel* aModel,
- TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfActiveWrappers::ConstructL" );
- iWLANListActiveWrapper = CWsfWLANListActiveWrapper::NewL( aModel,
- aController );
-
- iRefreshScanActiveWrapper = CWsfRefreshScanActiveWrapper::NewL( aModel );
-
- iDisconnectActiveWrapper = CWsfDisconnectActiveWrapper::NewL( aModel );
-
- iConnectActiveWrapper = CWsfConnectActiveWrapper::NewL( aModel );
-
- iLaunchAiHelperActiveWrapper = CWsfLaunchAiHelperActiveWrapper::NewL(
- aModel, aController );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::Disconnect
-// ----------------------------------------------------------------------------
-//
-void CWsfActiveWrappers::Disconnect()
- {
- LOG_ENTERFN( "CWsfActiveWrappers::Disconnect" );
- iDisconnectActiveWrapper->Start();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::Connect
-// ----------------------------------------------------------------------------
-//
-void CWsfActiveWrappers::Connect( TUint aIapID, TBool aConnectOnly,
- TWsfIapPersistence aPersistence )
- {
- LOG_ENTERFN( "CWsfActiveWrappers::Connect" );
- iConnectActiveWrapper->Start( aIapID, aConnectOnly, aPersistence );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::RefreshScan
-// ----------------------------------------------------------------------------
-//
-void CWsfActiveWrappers::RefreshScan()
- {
- LOG_ENTERFN( "CWsfActiveWrappers::RefreshScan" );
- iRefreshScanActiveWrapper->Start();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::RefreshWLANList
-// ----------------------------------------------------------------------------
-//
-void CWsfActiveWrappers::RefreshWLANList( TBool aStarUp )
- {
- LOG_ENTERFN( "CWsfActiveWrappers::RefreshWLANList" );
- iWLANListActiveWrapper->Start( aStarUp );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::LaunchHelperApplicationL
-// ----------------------------------------------------------------------------
-//
-void CWsfActiveWrappers::LaunchHelperApplicationL( TWsfWlanInfo& aInfo,
- TBool aConnectOnly,
- TBool aTestAccessPoint )
- {
- LOG_ENTERFN( "CWsfActiveWrappers::LaunchHelperApplicationL" );
- iLaunchAiHelperActiveWrapper->Start( aInfo, aConnectOnly, aTestAccessPoint );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::GetWLANList
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoArray* CWsfActiveWrappers::GetWLANList()
- {
- LOG_ENTERFN( "CWsfActiveWrappers::GetWLANList" );
- return iWLANListActiveWrapper->GetWlanList();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfActiveWrappers::GetConnectedWLANNetwork
-// ----------------------------------------------------------------------------
-//
-TWsfWlanInfo CWsfActiveWrappers::GetConnectedWLANNetwork()
- {
- LOG_ENTERFN( "CWsfActiveWrappers::GetConnectedWLANNetwork" );
- return iWLANListActiveWrapper->GetConnectedWLANNetwork();
- }
-
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1207 +0,0 @@
-/*
-* 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: Implementation of TWsfAiController.
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <apgcli.h>
-#include <centralrepository.h>
-#include <browseruisdkcrkeys.h>
-#include <AknIconArray.h>
-#include <AknQueryDialog.h>
-#include <cmpluginwlandef.h>
-#include <ErrorUI.h>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-#include <wsfaipluginrsc.rsg>
-#include <rconnmon.h>
-#include <utf.h>
-#include <cmmanager.h>
-#include <internetconnectivitycrkeys.h>
-#include <wlanerrorcodes.h>
-#include <ConnectionUiUtilities.h>
-
-// CLASS HEADER
-#include "wsfaicontroller.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfaiuiobserver.h"
-#include "wsfaimodel.h"
-#include "wsficonarraycreator.h"
-#include "wsfmodel.h"
-#include "wsfsearchwlansdialog.h"
-#include "wsfaicontrollercmds.h"
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-#include "wsfdbobserver.h"
-#include "wsfactivewrappers.h"
-
-
-// MACROS
-#ifdef _DEBUG
- _LIT( KControllerPanic, "CWsfAiController" );
- #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KControllerPanic, __LINE__) )
-#else
- #define _ASS_D( cond )
-#endif //_DEBUG
-
-
-// LOCAL DEFINITIONS
-LOCAL_D const TInt KFirstItemArrayIndex = 0;
-
-// index value to suppress 1 second refreshing state
-static const TInt KSuppressRefreshIndex = 1024;
-
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::TWsfAiController
-// --------------------------------------------------------------------------
-//
-TWsfAiController::TWsfAiController():
- iModel( NULL ),
- iAiModel( NULL ),
- iUi( NULL ),
- iDbObserver( NULL ),
- iConnectOnly( EFalse )
- {
- // null the pointers
- iConnectedWlan.iConnectionState = ENotConnected;
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DeInitializeL
-// ---------------------------------------------------------
-//
-void TWsfAiController::DeInitializeL()
- {
- LOG_ENTERFN( "TWsfAiController::DeInitializeL" );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::Initialize
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::InitializeL( CEikonEnv* aEnv, CWsfModel* aModel,
- CWsfAiModel* aAiModel,
- CWsfDbObserver* aObserver,
- CWsfActiveWrappers* aActiveWrappers )
- {
- LOG_ENTERFN( "TWsfAiController::InitializeL" );
- iEnv = aEnv;
- iModel = aModel;
- iAiModel = aAiModel;
- iDbObserver = aObserver;
- iActiveWrappers = aActiveWrappers;
- iDbObserver->SetController( this );
- iDbObserver->ActivateItL();
- iModel->SetEngineObserver( this );
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchCompleteL
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::BrowserLaunchCompleteL()
- {
- LOG_ENTERFN( "TWsfAiController::BrowserLaunchCompleteL" );
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserExitL
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::BrowserExitL()
- {
- LOG_ENTERFN( "TWsfAiController::BrowserExitL" );
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchFailed
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void TWsfAiController::BrowserLaunchFailed( TInt aError )
- {
- LOG_ENTERFN( "TWsfAiController::BrowserLaunchFailed" );
- LOG_WRITEF( "error = %d", aError );
-#else
-void TWsfAiController::BrowserLaunchFailed( TInt /*aError*/ )
- {
- // no implementation required
-#endif
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingL
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::ConnectingL( TUint32 /*aIapId*/ )
- {
- LOG_ENTERFN( "TWsfAiController::ConnectingL" );
- iModel->SetConnecting( ETrue );
- iAiModel->SetConnecting( ETrue );
- iUi->StartConnectingAnimationL();
- RefreshUiL();
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void TWsfAiController::ConnectingFinishedL( TInt aResult )
- {
- LOG_ENTERFN( "TWsfAiController::ConnectingFinishedL" );
- LOG_WRITEF( "aResult = %d", aResult );
-#else
-void TWsfAiController::ConnectingFinishedL( TInt /*aResult*/ )
- {
-#endif
- if ( iModel->IsConnecting() )
- {
- iModel->SetConnecting( EFalse );
- }
- iAiModel->SetConnecting( EFalse );
- RefreshUiL();
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::StartupRefresh
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::StartupRefresh()
- {
- LOG_ENTERFN( "TWsfAiController::StartupRefresh" );
- iActiveWrappers->RefreshWLANList( ETrue );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::StartupRefreshDataReadyL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::StartupRefreshDataReadyL()
- {
- LOG_ENTERFN( "TWsfAiController::StartupRefreshDataReadyL" );
-
- iInfoArray = iActiveWrappers->GetWLANList();
- iConnectedWlan = iActiveWrappers->GetConnectedWLANNetwork();
- iAiModel->SetConnected( iConnectedWlan.Connected() );
- iAiModel->SetConnectedWlanInfo( iConnectedWlan );
-
- LOG_WRITEF( "Connected = %d", iConnectedWlan.Connected() );
-
- MDesCArray* data = iAiModel->FormatSingleLineWlanListL( iInfoArray );
-
- iUi->UpdateHotSpotsL( data, KSuppressRefreshIndex );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::SetUi
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::SetUi( MWsfAiUiObserver& aUi )
- {
- LOG_ENTERFN( "TWsfAiController::SetUi" );
- iUi = &aUi;
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleSelectionKeyL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleSelectionKeyL()
- {
- LOG_ENTERFN( "TWsfAiController::HandleSelectionKeyL" );
- _ASS_D( iAiModel );
-
- if ( !iAiModel->ScanningOn() && !iAiModel->Connected() )
- {
- // scanning was off and there wasn't a connected network
- EnableScanL();
- }
- else
- {
- // scanning was on
- // menu contents depend on the connection and browser status
- if ( iModel->IsConnecting() )
- {
- // connecting
- HandleMskIfConnectingL();
- }
- else if ( !iAiModel->Connected() )
- {
- // not connected
- HandleMskIfOfflineL();
- }
- else
- {
- // connected
- if ( IsWlanUsedByBrowserL() )
- {
- // browser is using active WLAN connection
- HandleMskIfBrowsingL();
- }
- else
- {
- // browser is not running or not using the WLAN
- HandleMskIfConnectedL();
- }
- }
- }
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::WlanListChangedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::WlanListChangedL()
- {
- LOG_ENTERFN("TWsfAiController::WlanListChangedL" );
-
- _ASS_D( iAiModel );
-
- if ( !iAiModel->ScanningOn() )
- {
- return;
- }
-
- iActiveWrappers->RefreshWLANList( EFalse );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::WlanListDataReadyL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::WlanListDataReadyL()
- {
- LOG_ENTERFN("TWsfAiController::WlanListDataReadyL" );
-
- _ASS_D( iAiModel );
-
- iInfoArray = iActiveWrappers->GetWLANList();
- iConnectedWlan = iActiveWrappers->GetConnectedWLANNetwork();
- iAiModel->SetConnected( iConnectedWlan.Connected() );
- iAiModel->SetConnectedWlanInfo( iConnectedWlan );
-
- LOG_WRITEF( "Connected = %d", iConnectedWlan.Connected() );
-
- if ( !iAiModel->ScanningOn() && !iAiModel->Connected() )
- {
- return;
- }
-
- _ASS_D( iModel );
- _ASS_D( iUi );
-
- TBool match( EFalse );
- TWsfWlanInfo previousSelected;
- CWsfWlanInfoArray* modelArr = iAiModel->GetInfoArray();
-
- if ( modelArr )
- {
- TInt selectedItem = iUi->SelectedItem();
- if ( selectedItem >= KFirstItemArrayIndex &&
- selectedItem < modelArr->Count() )
- {
- TWsfWlanInfo* temp = modelArr->At( selectedItem );
- if ( temp )
- {
- match = ETrue;
- previousSelected = *temp;
- }
- }
- }
-
- MDesCArray* data = iUi->MultilineControl() ?
- iAiModel->FormatWlanListL( iInfoArray, ETrue ):
- iAiModel->FormatSingleLineWlanListL( iInfoArray );
-
-
- TInt index( KErrNotFound );
- if ( match )
- {
- TWsfWlanInfo* currentMatch = iInfoArray->Match(
- previousSelected.iSsid,
- iInfoArray->Count() );
- if ( currentMatch )
- {
- index = iInfoArray->GetArrayIndex( currentMatch );
- }
- }
-
- if ( !iUi->MultilineControl() && iModel->IsConnecting() )
- {
- index = KSuppressRefreshIndex;
- }
-
- iUi->UpdateHotSpotsL( data, index );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::NotifyEngineError
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::NotifyEngineError( TInt aError )
- {
- LOG_ENTERFN( "TWsfAiController::NotifyEngineError" );
- //Let the user know about the error.
- LOG_WRITEF( "error = %d", aError );
- TRAP_IGNORE( DoHandleEngineErrorL( aError ) );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::ScanDisabledL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ScanDisabledL()
- {
- LOG_ENTERFN( "TWsfAiController::ScanDisabledL" );
- // no implementation required
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::ScanEnabledL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ScanEnabledL()
- {
- LOG_ENTERFN( "TWsfAiController::ScanEnabledL" );
- iActiveWrappers->RefreshScan();
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::WlanConnectionActivatedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::WlanConnectionActivatedL()
- {
- LOG_ENTERFN( "TWsfAiController::WlanConnectionActivatedL" );
- iModel->SetConnecting( EFalse );
- iAiModel->SetConnected( ETrue );
- iAiModel->SetConnecting( EFalse );
-
- iActiveWrappers->RefreshWLANList( EFalse );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::WlanConnectionClosedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::WlanConnectionClosedL()
- {
- LOG_ENTERFN( "TWsfAiController::WlanConnectionClosedL" );
- iModel->SetConnecting( EFalse );
- iAiModel->SetConnected( EFalse );
- iAiModel->SetConnecting( EFalse );
- if ( iAiModel->ScanningOn() )
- {
- iActiveWrappers->RefreshWLANList( EFalse );
- }
- else
- {
- iUi->DisplayEngineOffL();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectionCreationProcessFinished
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::ConnectionCreationProcessFinishedL( TInt aResult )
- {
- LOG_ENTERFN( "TWsfAiController::ConnectionCreationProcessFinished" );
- LOG_WRITEF( "aResult = %d", aResult );
- // release flags if we leave occures
- CleanupStack::PushL( TCleanupItem( CleanUpConnectingL, this ) );
- if ( iModel->IsConnecting() )
- {
- iModel->SetConnecting( EFalse );
- }
- iAiModel->SetConnecting( EFalse );
- if ( aResult == KErrNone )
- {
- iAiModel->SetConnected( ETrue );
- if ( !iConnectOnly )
- {
- StartWebBrowserL( iUsedInfo );
- }
- }
- else
- {
- iAiModel->SetConnected( EFalse );
- }
- // pop cleanup item
- CleanupStack::Pop();
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::StartBrowsingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::StartBrowsingL( TWsfWlanInfo& aInfo )
- {
- LOG_ENTERFN( "TWsfAiController::StartBrowsingL" );
-
- _ASS_D( iModel );
-
- iUsedInfo = aInfo;
-
- // Prevent connections to ad-hoc + WPA
- if ( iUsedInfo.iNetMode == CMManager::EAdhoc
- && iUsedInfo.iSecurityMode == CMManager::EWlanSecModeWpa )
- {
- CErrorUI* errorUi = CErrorUI::NewLC();
- errorUi->ShowGlobalErrorNoteL( KErrNotSupported );
- CleanupStack::PopAndDestroy( errorUi ); // errorUi
- return;
- }
-
- // make sure we don't show connecting stuff forever
- CleanupStack::PushL( TCleanupItem( CleanUpConnectingL, this ) );
-
- if ( !iUsedInfo.Connected() )
- {
- ConnectL( iUsedInfo, EFalse, EFalse );
- }
- else
- {
- LOG_WRITE("Start browser to connected network...");
- iConnectOnly = EFalse;
- StartWebBrowserL( iUsedInfo );
- }
-
- // pop cleanup item
- CleanupStack::Pop();
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::StartWebBrowserL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::StartWebBrowserL( TWsfWlanInfo& aInfo )
- {
- LOG_ENTERFN( "TWsfAiController::StartWebBrowserL" );
-
- _ASS_D( iModel );
-
- TUint32 passedIap( aInfo.iIapId );
-
- if ( aInfo.Connected() && !passedIap )
- {
- // in case we have an EasyWLAN here
- RCmManager cmmanager;
- cmmanager.OpenLC();
-
- passedIap = cmmanager.EasyWlanIdL();
-
- CleanupStack::PopAndDestroy( &cmmanager );
- }
-
- // launch the browser
- iModel->LaunchBrowserL( passedIap );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::ConnectL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ConnectL( TWsfWlanInfo& aInfo, TBool aConnectOnly,
- TBool aTestAccessPoint )
- {
- LOG_ENTERFN( "TWsfAiController::ConnectL" );
-
- _ASS_D( iModel );
- TBool testAccessPoint = aTestAccessPoint;
- iConnectOnly = aConnectOnly;
- iUsedInfo = aInfo;
-
- // Prevent connections to ad-hoc + WPA
- if ( iUsedInfo.iNetMode == CMManager::EAdhoc
- && iUsedInfo.iSecurityMode == CMManager::EWlanSecModeWpa )
- {
- CErrorUI* errorUi = CErrorUI::NewLC();
- errorUi->ShowGlobalErrorNoteL(KErrNotSupported);
- CleanupStack::PopAndDestroy(errorUi); // errorUi
- return;
- }
-
- // make sure we don't show connecting stuff forever
- CleanupStack::PushL( TCleanupItem( CleanUpConnectingL, this ) );
-
- if ( !iUsedInfo.iIapId && !iUsedInfo.Hidden() &&
- iUsedInfo.iSecurityMode == CMManager::EWlanSecModeOpen )
- {
- TBool success( EFalse );
- // just create the IAP
- TRAPD( accessPointCreatedError,
- success = iModel->CreateAccessPointL(
- iUsedInfo, EFalse );
- );
-
- // notify user that Disk is full or creation of a WAPI IAP
- // is not supported on-the-fly and leave
- if ( accessPointCreatedError == KErrDiskFull ||
- accessPointCreatedError == KErrWlanProtectedSetupSetupLocked )
- {
- LOG_WRITE( "showing error note" );
- CErrorUI* errorUi = CErrorUI::NewLC();
- errorUi->ShowGlobalErrorNoteL( accessPointCreatedError );
- CleanupStack::PopAndDestroy( errorUi );
- User::Leave( accessPointCreatedError );
- }
- // just leave because we failed to create accesspoint
- else if ( accessPointCreatedError != KErrNone || !success )
- {
- User::Leave( accessPointCreatedError );
- }
- ConnectingL( iUsedInfo.iIapId );
- testAccessPoint = ETrue;
- }
- else if ( !iUsedInfo.iIapId )
- {
- testAccessPoint = ETrue;
- // let the helper app do the query if necessary
- LOG_WRITE("AiHelper needs to be launched");
- iActiveWrappers->LaunchHelperApplicationL( iUsedInfo,
- iConnectOnly,
- testAccessPoint );
- }
-
- // Connect
- if ( iUsedInfo.iIapId )
- {
- if ( testAccessPoint )
- {
- iActiveWrappers->Connect( iUsedInfo.iIapId, iConnectOnly,
- EIapExpireOnDisconnect );
-
- }
- else
- {
- iActiveWrappers->Connect( iUsedInfo.iIapId, iConnectOnly,
- EIapPersistent );
- }
- }
- // pop cleanup item
- CleanupStack::Pop();
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfAiController::CleanUpConnectingL
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::CleanUpConnectingL( TAny* aPtr )
- {
- LOG_ENTERFN( "TWsfAiController::CleanUpConnectingL" );
- TWsfAiController* self = static_cast<TWsfAiController*>( aPtr );
- self->iModel->SetConnecting( EFalse );
- self->iAiModel->SetConnecting( EFalse );
- TRAP_IGNORE( self->RefreshUiL());
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::ContinueBrowsingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ContinueBrowsingL()
- {
- LOG_ENTERFN( "TWsfAiController::ContinueBrowsingL" );
-
- _ASS_D( iModel );
-
- iModel->ContinueBrowsingL();
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::LaunchSearchDialogL
-// --------------------------------------------------------------------------
-//
-TBool TWsfAiController::LaunchSearchDialogL( TWsfWlanInfo& aInfo )
- {
- LOG_ENTERFN( "TWsfAiController::LaunchSearchDialogL" );
-
- _ASS_D( iAiModel );
- _ASS_D( iUi );
-
- MWsfAiUiObserver* temp = iUi;
- TInt selectedWlan( KFirstItemArrayIndex );
- TBool success( EFalse );
-
- TRAPD( err, success = DoLaunchSearchDialogL( selectedWlan ) );
-
- iUi = temp;
- User::LeaveIfError( err );
-
- if ( success )
- {
- if ( iAiModel->Connected() )
- {
- // show the error note of double connections
- HBufC* txt = StringLoader::LoadLC(
- R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE );
-
- CAknErrorNote* errorNote = new (ELeave) CAknErrorNote;
- errorNote->ExecuteLD( *txt );
-
- CleanupStack::PopAndDestroy( txt );
- success = EFalse;
- }
- else
- {
- CWsfWlanInfoArray* wlanArray = iAiModel->GetInfoArray();
- // check that the model still has the entry
- if ( wlanArray && selectedWlan < wlanArray->Count() )
- {
- // get wlan info
- aInfo = *wlanArray->At( selectedWlan );
- }
- else
- {
- // other unlisted item was selected
- }
- }
- }
- return success;
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DoLaunchSearchDialogL
-// --------------------------------------------------------------------------
-//
-TBool TWsfAiController::DoLaunchSearchDialogL( TInt& aSelectedItem )
- {
- LOG_ENTERFN( "TWsfAiController::DoLaunchSearchDialogL" );
-
- _ASS_D( iAiModel );
- _ASS_D( iModel );
-
- CWsfSearchWlansDialog* dialog = CWsfSearchWlansDialog::NewL(
- aSelectedItem );
- dialog->PrepareLC( R_QTN_PLUGIN_SEARCH_WLAN_NETWORKS );
-
- // ownership of the icon array is passed
- CAknIconArray* icons = CWsfIconArrayCreator::CreateArrayL();
- CleanupStack::PushL( icons );
- iAiModel->AppendBrandIconsL( *icons );
- dialog->SetIconArrayL( icons ); // ownership of the icon array is passed
- CleanupStack::Pop( icons );
-
- // the dialog is ready to receive data...
- iUi = dialog;
- iUi->UpdateHotSpotsL( iAiModel->FormatWlanListL(
- iActiveWrappers->GetWLANList(), EFalse ),
- KFirstItemArrayIndex );
-
- return dialog->RunLD();
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::RefreshUiL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::RefreshUiL()
- {
- LOG_ENTERFN( "TWsfAiController::RefreshUiL" );
-
- _ASS_D( iAiModel );
- _ASS_D( iUi );
-
- if ( !iInfoArray )
- {
- return;
- }
-
- MDesCArray* data = iUi->MultilineControl() ?
- iAiModel->FormatWlanListL( iInfoArray, ETrue ):
- iAiModel->FormatSingleLineWlanListL( iInfoArray );
-
- TInt currentItem = ( iModel->IsConnecting() )?
- KSuppressRefreshIndex: KFirstItemArrayIndex;
-
- iUi->UpdateHotSpotsL( data, currentItem );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::EnableScanL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::EnableScanL()
- {
- LOG_ENTERFN( "TWsfAiController::EnableScanL" );
-
- _ASS_D( iAiModel );
- _ASS_D( iModel );
- _ASS_D( iUi );
-
- if ( iAiModel->ScanningOn() )
- {
- return;
- }
- iModel->EnableScanL();
- iAiModel->SetScanningOn();
-
- LOG_WRITE( "DbObserver enable scan" );
- iDbObserver->EnableScanL();
-
- MDesCArray *data = iAiModel->FormatRefreshingL();
- iUi->UpdateHotSpotsL( data, KFirstItemArrayIndex );
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DisableScanL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::DisableScanL()
- {
- LOG_ENTERFN( "TWsfAiController::DisableScanL" );
-
- _ASS_D( iAiModel );
- _ASS_D( iModel );
- _ASS_D( iUi );
-
- if ( !iAiModel->ScanningOn() )
- {
- return;
- }
- iModel->DisableScanL();
- iAiModel->SetScanningOff();
- iDbObserver->DisableScanL();
- iUi->DisplayEngineOffL();
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DoHandleEngineErrorL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::DoHandleEngineErrorL( TInt aError )
- {
- LOG_ENTERFN( "TWsfAiController::DoHandleEngineErrorL" );
- // start by freeing some resources...
- // we could start by freeing wlan search results
- _ASS_D( iAiModel );
-
- // show error to user...
- iEnv->ResolveError( aError );
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfAiController::IsWlanUsedByBrowserL
-// ---------------------------------------------------------------------------
-//
-TBool TWsfAiController::IsWlanUsedByBrowserL()
- {
- LOG_ENTERFN( "CWsfMainView::IsWlanUsedByBrowserL" );
-
- _ASS_D( iAiModel );
-
- const TInt KBrowserUid = 0x10008D39;
- TUid id( TUid::Uid( KBrowserUid ) );
-
- // Check if the Browser application is already running.
- TApaTaskList taskList( iEnv->WsSession() );
- TApaTask task = taskList.FindApp( id );
- TBool isWlanUsed( EFalse );
-
-#ifndef __WINS__
-
- if ( task.Exists() )
- {
- LOG_WRITE( "The Browser is running." );
- // The Browser is already running.
- // Check if the selected WLAN is connected.
- TBool connected( iAiModel->Connected() );
- LOG_WRITEF("Connected? %d", connected);
-
- if ( connected )
- {
- RConnectionMonitor connectionMonitor;
- connectionMonitor.ConnectL();
- // We have to check if the Browser using the selected
- // connection.
- // We have get the connectiond ID first.
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- // first call, need to get the connection parameters
- TUint connectionCount( 0 );
-
- connectionMonitor.GetConnectionCount( connectionCount,
- waiter->iStatus );
- waiter->WaitForRequest();
-
- // find the connection with WLAN bearer
- // that will be the selected WLAN
- TUint connectionId( 0 );
- for ( TUint i = 1; i <= connectionCount; ++i )
- {
- TUint tmpConnectionId( 0 );
- TUint subConnectionCount( 0 );
- TConnMonBearerType bearerType( EBearerUnknown );
-
- connectionMonitor.GetConnectionInfo( i,
- tmpConnectionId,
- subConnectionCount );
- connectionMonitor.GetIntAttribute( tmpConnectionId,
- 0,
- KBearer,
- ( TInt& )bearerType,
- waiter->iStatus );
- waiter->WaitForRequest();
- if ( bearerType == EBearerWLAN )
- {
- connectionId = tmpConnectionId;
- break;
- }
- }
- // Now we have the connectiond ID.
- LOG_WRITEF( "connectionId: %d", connectionId );
-
- TInt count( 0 );
- TConnMonClientEnumBuf clientBuf;
-
- connectionMonitor.GetPckgAttribute( connectionId,
- 0,
- KClientInfo,
- clientBuf,
- waiter->iStatus );
- waiter->WaitForRequest();
- if ( !waiter->iStatus.Int() )
- {
- count = clientBuf().iCount;
- }
-
- RApaLsSession appSess;
- TApaAppInfo appInfo;
-
- // The connection could be shared by several applications
- User::LeaveIfError( appSess.Connect() );
-
- for ( TUint i = 0; i < count; i++ )
- {
- appInfo.iCaption.Zero();
- TInt result = appSess.GetAppInfo( appInfo,
- clientBuf().iUid[i] );
-
- LOG_WRITEF( "result: %d", result );
- LOG_WRITEF( "iClientInfo.iUid[i].iUid: %x",
- clientBuf().iUid[i].iUid );
-
- if ( clientBuf().iUid[i].iUid == KBrowserUid )
- {
- isWlanUsed = ETrue;
- }
- }
- CleanupStack::PopAndDestroy( waiter );
- appSess.Close();
- connectionMonitor.Close();
- }
- }
- else
- {
- LOG_WRITE( "No Browser running." );
- }
-
-#endif // __WINS__
-
- LOG_WRITEF( "isWlanUsedByBrowser: %d", isWlanUsed );
- return isWlanUsed;
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfOfflineL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfOfflineL()
- {
- LOG_ENTERFN( "TWsfAiController::HandleMskIfOfflineL" );
-
- // create the dialog with options
- TInt selectedMode( 0 );
- CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog(
- &selectedMode );
- listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_OFFLINE );
-
- if ( !listQuery->RunLD() )
- {
- // cancelled
- return;
- }
-
- CWsfWlanInfoArray* wlanArray = iAiModel->GetInfoArray();
-
- switch ( selectedMode )
- {
- case EAiOfflineStartBrowsing:
- {
- // Start web browsing was selected
- if ( !wlanArray || !wlanArray->Count() ||
- !wlanArray->At( KFirstItemArrayIndex )->Known() )
- {
- // no known networks, let the user choose one
- TWsfWlanInfo info;
-
- if ( LaunchSearchDialogL( info ) )
- {
- StartBrowsingL( info );
- }
- }
- else
- {
- // there are known networks
- StartBrowsingL( *wlanArray->At( KFirstItemArrayIndex ) );
- }
-
- break;
- }
-
- case EAiOfflineConnect:
- {
- // Connect was selected
- if ( !wlanArray || !wlanArray->Count() ||
- !wlanArray->At( KFirstItemArrayIndex )->Known() )
- {
- // no known networks, let the user choose one
- TWsfWlanInfo info;
-
- if ( LaunchSearchDialogL( info ) )
- {
- ConnectL( info, ETrue, EFalse );
- }
- }
- else
- {
- // there are known networks
- ConnectL( *wlanArray->At( KFirstItemArrayIndex ), ETrue,
- EFalse );
- }
-
- break;
- }
-
- case EAiOfflineSearchWlans:
- {
- // Search for wlans was selected
- if ( !wlanArray || !wlanArray->Count() )
- {
- // there are no available networks
- CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();
- connUiUtils->NoWLANNetworksAvailableNote();
- delete connUiUtils;
- }
-
- // launch the search dialog
- TWsfWlanInfo info;
-
- if ( LaunchSearchDialogL( info ) )
- {
- ConnectL( info, ETrue, EFalse );
- }
- else
- {
- // User canceled Search Wlans dialog and probably did not
- // find anything interesting from the list - request scan
- iActiveWrappers->RefreshScan();
- }
-
- break;
- }
-
- case EAiOfflineDisableScan:
- {
- // disable the scan
- DisableScanL();
- break;
- }
-
- default:
- {
- }
- }
- }
-
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfConnectedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfConnectedL()
- {
- LOG_ENTERFN( "TWsfAiController::HandleMskIfConnectedL" );
-
- _ASS_D( iModel );
-
- TInt selectedMode( 0 );
- CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog(
- &selectedMode );
- listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_CONNECTED );
-
- if ( listQuery->RunLD() )
- {
- if ( selectedMode == EAiConnectedStartBrowsing )
- {
- StartBrowsingL( iConnectedWlan );
- }
- else if ( selectedMode == EAiConnectedDisconnect )
- {
- // disconnect wlan
- iActiveWrappers->Disconnect();
- }
- }
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfConnectingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfConnectingL()
- {
- LOG_ENTERFN( "TWsfAiController::HandleMskIfConnectingL" );
-
- _ASS_D( iModel );
-
- TInt selectedMode( 0 );
- CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog(
- &selectedMode );
- listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_CONNECTING );
-
- if ( listQuery->RunLD() )
- {
- if ( selectedMode == EAiConnectingDisconnect )
- {
- if ( !iModel->IsConnecting() )
- {
- // disconnect wlan
- iActiveWrappers->Disconnect();
- }
- else
- {
- // disconnect wlan
- iModel->AbortConnectingL();
- ConnectingFinishedL( KErrCancel );
- }
- }
- }
- }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfBrowsingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfBrowsingL()
- {
- LOG_ENTERFN( "TWsfAiController::HandleMskIfBrowsingL" );
-
- _ASS_D( iModel );
-
- TInt selectedMode( KFirstItemArrayIndex );
- CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog(
- &selectedMode );
- listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_BROWSING );
-
- if ( listQuery->RunLD() )
- {
- if ( selectedMode == EAiBrowsingContinueBrowsing )
- {
- // launch the browser...
- ContinueBrowsingL();
- }
- else if ( selectedMode == EAiBrowsingDisconnect )
- {
- // disconnect wlan
- iActiveWrappers->Disconnect();
- }
- }
- }
-
-// --------------------------------------------------------------------------
-// TWsfAiController::RefreshRefreshingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::RefreshRefreshingL()
- {
- LOG_ENTERFN( "TWsfAiController::RefreshRefreshingL" );
- if ( !iUi->MultilineControl() )
- {
- MDesCArray *data = iAiModel->FormatRefreshingL();
- iUi->UpdateViewL( data );
- }
- else
- {
- LOG_WRITE( "Multiline control in use - no update done" );
- }
- }
-
-// --------------------------------------------------------------------------
-// TWsfAiController::RefreshConnectingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::RefreshConnectingL()
- {
- LOG_ENTERFN( "TWsfAiController::RefreshConnectingL" );
- if ( !iUi->MultilineControl() )
- {
- MDesCArray *data = iAiModel->FormatConnectingL();
- iUi->UpdateViewL( data );
- }
- else
- {
- LOG_WRITE( "Multiline control in use - no update done" );
- }
- }
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaimodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,681 +0,0 @@
-/*
-* 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: Implementation of CWsfAiModel.
-*
-*/
-
-// EXTERNAL INCLUDES
-#include <badesca.h>
-#include <coemain.h>
-#include <StringLoader.h>
-#include <wsfaipluginrsc.rsg>
-
-// INTERNAL INCLUDES
-#include "wsfaimodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfaiplugincommon.h"
-#include "wsfwlaninfoarrayvisitor.h"
-#include "wsflogger.h"
-
-// MACROS
-#ifdef _DEBUG
- _LIT( KModelPanic, "CWsfAiModel" );
- #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KModelPanic, __LINE__) )
-#else
- #define _ASS_D( cond ) {}
-#endif //_DEBUG
-
-// LOCAL DEFINITIONS
-const TInt KListBoxItemMaxLength = 128;
-const TUint KWLanListGranularity = 4;
-
-// List item format
-_LIT( KListItemFormat, "%d\t%S\t%d\t%d" );
-
-// List item format for "Other (unlisted)" item
-_LIT( KHiddenItemFormat, "\t%S" );
-
-
-// CONSTRUCTION AND DESTRUCTION
-// --------------------------------------------------------------------------
-// CWsfAiModel::NewL
-// --------------------------------------------------------------------------
-//
-CWsfAiModel* CWsfAiModel::NewL()
- {
- CWsfAiModel* self = CWsfAiModel::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::NewLC
-// --------------------------------------------------------------------------
-//
-CWsfAiModel* CWsfAiModel::NewLC()
- {
- CWsfAiModel* self = new( ELeave ) CWsfAiModel;
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::~CWsfAiModel
-// --------------------------------------------------------------------------
-//
-CWsfAiModel::~CWsfAiModel()
- {
- delete iWlanInfoBranding;
- delete iFormattedWlanList;
- if ( iStatusRefreshing )
- {
- delete iStatusRefreshing;
- }
- if ( iStatusConnecting )
- {
- delete iStatusConnecting;
- }
- if ( iStatusScanningOff )
- {
- delete iStatusScanningOff;
- }
- if ( iManualSSIDInputting )
- {
- delete iManualSSIDInputting;
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::CWsfAiModel
-// --------------------------------------------------------------------------
-//
-CWsfAiModel::CWsfAiModel():
- iCoeEnv( CCoeEnv::Static() ),
- iScanning( EFalse ),
- iConnected( EFalse ),
- iRefreshIndex( iRefreshIcons.Count() - 1 ),
- iConnectingIndex( iConnectingIcons.Count() - 1 )
- {
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::ConstructL()
- {
- iFormattedWlanList = new (ELeave) CDesCArrayFlat( KWLanListGranularity );
- iWlanInfoBranding = CWsfWlanInfoArrayVisitor::NewL( ETrue );
- iWlanInfoBranding->LoadFilterDefinitionsL();
-
- iRefreshIcons[0] = EWlanOnIcon_0;
- iRefreshIcons[1] = EWlanOnIcon_1;
- iRefreshIcons[2] = EWlanOnIcon;
- iRefreshIcons[3] = EWlanOnIcon_1;
-
- iConnectingIcons[0] = EWlanOnIcon_0;
- iConnectingIcons[1] = EWlanOnIcon_1;
- iConnectingIcons[2] = EWlanOnIcon;
- iConnectingIcons[3] = EWlanOnIcon_1;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatWlanListL
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatWlanListL( CWsfWlanInfoArray* aWlanList, const TBool aUIPrioritySort )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatWlanListL" );
- HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
- TPtr ptr( item->Des() );
- iFormattedWlanList->Reset();
-
- // Function expects that items in list are already in proper order
- iWlanInfoArray = aWlanList;
-
- if ( iWlanInfoArray )
- {
- if ( aUIPrioritySort )
- {
- iWlanInfoArray->SetUIPrioritySort( ETrue );
- iWlanInfoArray->SortArrayL( *iWlanInfoBranding );
- // Sort Array with default sort
- // this sets the highest UI priority networks on top
- iWlanInfoArray->SortArrayL( );
- iWlanInfoArray->SetUIPrioritySort( EFalse );
- }
- else
- {
- iWlanInfoArray->SortArrayL( *iWlanInfoBranding );
- }
-
- for (TInt i = 0; i < iWlanInfoArray->Count(); ++i )
- {
- TWsfWlanInfo* wlanInfo = iWlanInfoArray->At(i);
-
- // Hidden WLAN item is appended later for unknown hidden networks
- if ( !wlanInfo || ( wlanInfo->Hidden() && !wlanInfo->iIapId ) )
- {
- continue;
- }
-
- // known hidden wlans are also "visible"
- ptr.Zero();
- FormatWlanSingleLineL( *wlanInfo, ptr, EFalse );
- iFormattedWlanList->AppendL( ptr );
- }
- }
-
- // now add "Other (unlisted)..." for hidden networks (always visible)
- // make up a dummy wlaninfo
- TWsfWlanInfo dummy;
-
- ptr.Zero();
- FormatHiddenWlanItemL( dummy, ptr );
- iFormattedWlanList->AppendL( ptr );
-
- CleanupStack::PopAndDestroy ( item );
- return iFormattedWlanList;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::GetWlanList
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::GetWlanList()
- {
- LOG_ENTERFN( "CWsfAiModel::GetWlanList" );
- return iFormattedWlanList;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::GetInfoArray
-// --------------------------------------------------------------------------
-//
-CWsfWlanInfoArray* CWsfAiModel::GetInfoArray()
- {
- LOG_ENTERFN( "CWsfAiModel::GetInfoArray" );
- return iWlanInfoArray;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatSingleLineWlanListL
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatSingleLineWlanListL(
- CWsfWlanInfoArray* aWlanList )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatSingleLineWlanListL" );
- iWlanInfoArray = aWlanList;
-
- if ( iWlanInfoArray )
- {
- iWlanInfoArray->SetUIPrioritySort( ETrue );
- iWlanInfoArray->SortArrayL( *iWlanInfoBranding );
-
- // Sort Array with default sort
- // this sets the highest UI priority networks on top
- iWlanInfoArray->SortArrayL();
- iWlanInfoArray->SetUIPrioritySort( EFalse );
- }
-
- iFormattedWlanList->Reset();
-
- HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
- TPtr ptr( item->Des() );
-
- if ( iConnected )
- {
- FormatConnectedL( ptr );
- iFormattedWlanList->AppendL( ptr );
- }
- else if ( iConnecting )
- {
- FormatConnectingL();
- }
- else if ( !iScanning )
- {
- FormatStatusOffL( ptr );
- iFormattedWlanList->AppendL( ptr );
- }
- // if there's wlans avail
- else if ( iWlanInfoArray && iWlanInfoArray->Count() )
- {
- CheckWlansL( iWlanInfoArray, ptr );
- iFormattedWlanList->AppendL( ptr );
- }
- else
- {
- // no wlans available
- FormatNoWlansAvailableL( ptr );
- iFormattedWlanList->AppendL( ptr );
- }
-
- CleanupStack::PopAndDestroy( item );
-
- return iFormattedWlanList;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatRefreshingL
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatRefreshingL()
- {
- LOG_ENTERFN( "CWsfAiModel::FormatRefreshingL" );
- iFormattedWlanList->Reset();
- HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
- TPtr ptr( item->Des() );
-
- if ( !iStatusRefreshing )
- {
- iStatusRefreshing = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_REFRESHING );
- }
-
- ptr.Format( KListItemFormat, ScanningOn() ?
- iRefreshIcons[ iRefreshIndex ]
- : EWlanOffIcon,
- iStatusRefreshing,
- ETransparentIcon,
- ETransparentIcon );
-
- iFormattedWlanList->AppendL( ptr );
- CleanupStack::PopAndDestroy ( item );
-
- return iFormattedWlanList;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatConnecting
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatConnectingL()
- {
- LOG_ENTERFN( "CWsfAiModel::FormatConnectingL" );
- iFormattedWlanList->Reset();
- HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
- TPtr ptr( item->Des() );
-
- if ( !iStatusConnecting )
- {
- iStatusConnecting = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_CONNECTING );
- }
-
- ptr.Format( KListItemFormat, iConnectingIcons[ iConnectingIndex ],
- iStatusConnecting,
- ETransparentIcon,
- ETransparentIcon );
-
- iFormattedWlanList->AppendL( ptr );
- CleanupStack::PopAndDestroy ( item );
- return iFormattedWlanList;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AppendBrandIconsL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::AppendBrandIconsL( CAknIconArray& aIconArray )
- {
- LOG_ENTERFN( "CWsfAiModel::AppendBrandIconsL" );
- iWlanInfoBranding->AppendBrandingIconsL( aIconArray );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatHiddenWlanItemL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatHiddenWlanItemL( TWsfWlanInfo& /*aWlan*/,
- TPtr& aItem )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatHiddenWlanItemL" );
- if ( !iManualSSIDInputting )
- {
- iManualSSIDInputting = StringLoader::LoadL(
- R_QTN_WLAN_MANUAL_SSID_INPUT );
- }
-
- // Only Hidden WLAN text is shown.
- // No icons for this item
- aItem.Format( KHiddenItemFormat, iManualSSIDInputting );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatStatusOffL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatStatusOffL( TPtr& aItem )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatStatusOffL" );
- if ( !iStatusScanningOff )
- {
- iStatusScanningOff = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_SCANNING_OFF );
- }
-
- aItem.Format( KListItemFormat,
- EWlanOffIcon,
- iStatusScanningOff,
- ETransparentIcon,
- ETransparentIcon );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatNoWlansAvailableL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatNoWlansAvailableL( TPtr& aItem )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatNoWlansAvailableL" );
-
- if ( !iNoWLANsAvailable )
- {
- iNoWLANsAvailable = StringLoader::LoadL(
- R_QTN_STATUS_NO_WLANS_AVAILABLE );
- }
-
- aItem.Format( KListItemFormat,
- ScanningOn()? EWlanOnIcon: EWlanOffIcon,
- iNoWLANsAvailable,
- ETransparentIcon,
- ETransparentIcon );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatWlanSingleLineL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatWlanSingleLineL( TWsfWlanInfo& aWlan,
- TPtr& aItem,
- TBool aSingleLine )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatWlanSingleLineL" );
- //Ssid as primary text
- HBufC* ssid( NULL );
- HBufC* formatData( NULL );
- TInt column1Icon( 0 );
-
- if ( aWlan.iNetworkName.Length() ) // If there is IAP
- {
- ssid = aWlan.GetIapNameAsUnicodeLC();
- }
- else // If there no IAP
- {
- ssid = aWlan.GetSsidAsUnicodeLC();
- }
-
-
- column1Icon = ETransparentIcon;
-
- if ( aSingleLine )
- {
- // AI single line mode
- if ( aWlan.Connected() )
- {
- column1Icon = EConnectedNWIcon;
- }
- else if ( aWlan.Known() )
- {
- column1Icon = EWlanOnIcon;
- }
-
- // format ssid into string '<ssid>'
- formatData = StringLoader::LoadLC( R_SSID, *ssid, iCoeEnv );
- }
- else
- {
- // Search wlans dialog multiline mode
-
- if ( aWlan.BrandId() )
- {
- column1Icon = EWlanOffIcon + aWlan.BrandId();
- }
- else if ( aWlan.Connected() )
- {
- column1Icon = EConnectedNWIcon; // qgn_prop_wlan_bearer.svg
- }
- else if ( aWlan.Known() )
- {
- column1Icon = EKnownNWIcon; // qgn_prop_wlan_bearer.svg
- }
- }
-
-
- // Signal strenght for column 4
- // No signal icon is set by default in case is SingleLine mode off
- TInt column3Icon = aSingleLine ? ETransparentIcon:
- ENoSignalIcon; //qgn_transparent.svg
- TInt column4Icon = ETransparentIcon;
-
- if ( aWlan.Connected() || !aSingleLine )
- {
- // Column 3
- // Show secure icon if network is secure.
- // By default show transparant icon.
- column4Icon = aWlan.Secure()? ESecureNetworkIcon: ETransparentIcon;
-
- switch ( aWlan.SignalStrength() )
- {
- case EPoor:
- {
- //qgn_indi_wlan_signal_low_add.svg
- column3Icon = EPoorSignal;
- break;
- }
- case EAverage:
- {
- //qgn_indi_wlan_signal_med_add.svg
- column3Icon = EAverageSignal;
- break;
- }
- case EExcelent:
- {
- //qgn_indi_wlan_signal_good_add.svg
- column3Icon = EExcelentSignal;
- break;
- }
-
- case ENoSignal:
- default:
- {
- //qgn_indi_wlan_signal_no_wlan.svg
- column3Icon = ENoSignalIcon;
- break;
- }
- }
- }
-
- if ( aSingleLine )
- {
- aItem.Format( KListItemFormat,
- column1Icon,
- formatData,
- column3Icon,
- column4Icon );
- CleanupStack::PopAndDestroy( formatData );
- }
- else
- {
- aItem.Format( KListItemFormat,
- column1Icon,
- ssid,
- column3Icon,
- column4Icon );
- }
- CleanupStack::PopAndDestroy( ssid );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatUnknownWlansSingleLineL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatUnknownWlansSingleLineL(
- const TBool aMultipleUnknownWlans,
- TPtr& aItem )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatUnknownWlansSingleLineL" );
- TInt unknownItemResource = aMultipleUnknownWlans ?
- R_QTN_SNIFFER_PLUG_IN_UNKNOWN_SSIDS_FOUND :
- R_QTN_SNIFFER_PLUG_IN_UNKNOWN_SSID_FOUND;
-
- HBufC* unknownWlansStatusText = iCoeEnv->AllocReadResourceLC(
- unknownItemResource );
-
- aItem.Format( KListItemFormat, ScanningOn()? EWlanOnIcon: EWlanOffIcon,
- unknownWlansStatusText,
- ETransparentIcon,
- ETransparentIcon );
-
- CleanupStack::PopAndDestroy( unknownWlansStatusText );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FindPreferredKnownWlan
-// --------------------------------------------------------------------------
-//
-TInt CWsfAiModel::FindPreferredKnownWlan( CWsfWlanInfoArray* aWlanList )
- {
- LOG_ENTERFN( "CWsfAiModel::FindPreferredKnownWlan" );
- _ASS_D( aWlanList );
- _ASS_D( aWlanList->Count() );
-
- TWsfWlanInfo *preferred = NULL;
- TWsfWlanInfo *temp = NULL;
- TInt loopIndex( 0 );
- TInt preferredIndex( 0 );
- //loop through the list and find Max signal strength amont know wlans...
-
- preferred = aWlanList->At( loopIndex );
- loopIndex++;
-
- for ( ; loopIndex < aWlanList->Count(); ++loopIndex )
- {
- temp = aWlanList->At( loopIndex );
- if ( !temp->Known() )
- {
- // not known net any more...
- break;
- }
- // check the signal strength
- if ( temp->SignalStrength() > preferred->SignalStrength() )
- {
- preferredIndex = loopIndex;
- preferred = temp;
- }
- }
- return preferredIndex;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::CheckWlansL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::CheckWlansL( CWsfWlanInfoArray* aWlanList, TPtr& aItem )
- {
- LOG_ENTERFN( "CWsfAiModel::CheckWlansL" );
- _ASS_D( aWlanList );
- _ASS_D( aWlanList->Count() );
- // first check the connected
- // if there's connection... it is the first item in array
-
- if ( aWlanList->At( 0 )->Known() )
- {
- FormatWlanSingleLineL( *aWlanList->At( 0 ), aItem, ETrue );
- }
- else
- {
- TBool multipleUnknownWlans = ( aWlanList->Count() > 1 );
- FormatUnknownWlansSingleLineL( multipleUnknownWlans, aItem );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatConnectedL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatConnectedL( TPtr& aItem )
- {
- LOG_ENTERFN( "CWsfAiModel::FormatConnectedL" );
- // Ssid as primary text
- FormatWlanSingleLineL( iConnectedWlanInfo, aItem, ETrue );
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::InitializeRefreshAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::InitializeRefreshAnimation()
- {
- LOG_ENTERFN( "CWsfAiModel::InitializeRefreshAnimation" );
- iRefreshIndex = 0;
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::InitializeRefreshAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::InitializeConnectingAnimation()
- {
- LOG_ENTERFN( "CWsfAiModel::InitializeConnectingAnimation" );
- iConnectingIndex = 0;
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AnimateRefresh
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::AnimateRefresh()
- {
- LOG_ENTERFN( "CWsfAiModel::AnimateRefresh" );
- ++iRefreshIndex %= iRefreshIcons.Count();
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AnimateRefresh
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::AnimateConnecting()
- {
- LOG_ENTERFN( "CWsfAiModel::AnimateConnecting" );
- ++iConnectingIndex %= iConnectingIcons.Count();
- }
-
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,884 +0,0 @@
-/*
-* 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: Implementation of CWsfAiPlugin
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <aicontentobserver.h>
-#include <aiutility.h>
-#include <apgcli.h>
-#include <wsfaipluginrsc.rsg>
-
-#include <e32std.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-#include <f32file.h>
-#include <AknsConstants.h>
-#include <AknUtils.h>
-#include <StringLoader.h>
-#include <bautils.h>
-#include <avkon.rsg>
-#include <apgtask.h>
-#include <eiklabel.h>
-
-#include <data_caging_path_literals.hrh> // KDC_APP_BITMAP_DIR
-
-// INTERNAL INCLUDES
-#include "wsfaiplugin.h"
-#include "wsfaipluginuids.hrh"
-#include "wsfaiplugincontentmodel.h"
-#include "wsfaimodel.h"
-#include "wsfmodel.h"
-#include "wsfaiview.h"
-#include "wsficonarraycreator.h"
-#include "wsfdbobserver.h"
-#include "wsflogger.h"
-#include "wsfactivewrappers.h"
-
-
-// define icon id for Navigation Bar icon
-LOCAL_D const TUid KUidSnifferApp = {0x10281CAA};
-LOCAL_D const TInt KRefreshStepTime = 200 * 1000;
-LOCAL_D const TInt KConnectingStepTime = 200 * 1000;
-
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::NewL
-// --------------------------------------------------------------------------
-//
-CWsfAiPlugin* CWsfAiPlugin::NewL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::NewL" );
- CWsfAiPlugin* self = new (ELeave) CWsfAiPlugin;
-
- CleanupStack::PushL(self);
- self->ConstructL();
- CleanupStack::Pop(self);
-
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::~CWsfAiPlugin
-// --------------------------------------------------------------------------
-//
-CWsfAiPlugin::~CWsfAiPlugin()
- {
- LOG_ENTERFN( "CWsfAiPlugin::~CWsfAiPlugin" );
- // Cancel periodic animation update
- if ( iAnimationPeriodic )
- {
- LOG_WRITE( "Cancel animation update" );
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
-
- delete iDbObserver;
-
- delete iActiveWrappers;
-
- delete iModel;
- delete iAiModel;
- delete iUi;
-
- if ( iMskActivate )
- {
- delete iMskActivate;
- }
-
- if ( iConnectedTo )
- {
- delete iConnectedTo;
- }
-
- if ( iKnownNetworkFound )
- {
- delete iKnownNetworkFound;
- }
-
- iEnv->DeleteResourceFile( iResourceFileOffset );
-
- iObservers.Close();
-
- Release( iContent );
- Release( iEvents );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::CWsfAiPlugin
-// --------------------------------------------------------------------------
-//
-CWsfAiPlugin::CWsfAiPlugin()
- {
- iEnv = CEikonEnv::Static();
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::ConstructL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::ConstructL" );
- AllocateResourcesL();
-
- iContent = AiUtility::CreateContentItemArrayIteratorL(
- KAiWizardContent );
- iEvents = AiUtility::CreateContentItemArrayIteratorL( KAiWizardEvents );
-
- // create the engine first...
- iModel = CWsfModel::NewL( iController, EFalse );
-
- // then model
- iAiModel = CWsfAiModel::NewL();
- iUi = CWsfAiView::NewL( *this );
-
- iActiveWrappers = CWsfActiveWrappers::NewL( iModel, iController );
-
- iDbObserver = CWsfDbObserver::NewL();
-
- iController.SetUi( *static_cast<CWsfAiView*>( iUi ) );
-
- iController.InitializeL( iEnv, iModel, iAiModel, iDbObserver,
- iActiveWrappers );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::PublishContentL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::PublishContentL( CArrayFix<TInt>* aPublishIconArray,
- CEikLabel* aText1 )
- {
- LOG_ENTERFN( "CWsfAiPlugin::PublishContentL" );
- TInt leftBoundary( 0 );
- TInt rightBoundary( 0 );
- TChar boundary('\'');
- HBufC* localCurrentStatusText( NULL );
-
- HBufC* localCurrentNetworkStatus( NULL );
- HBufC* localCurrentNetworkName( NULL );
-
- HBufC* localFullText = ( aText1->Text() )->AllocLC();
-
- // Locate ' chars from the full string
- TPtrC fullText = localFullText->Des();
- leftBoundary = fullText.Locate( boundary ); // char = '
- rightBoundary = fullText.LocateReverse( boundary );
-
- // if we have status name then we parse it
- if ( leftBoundary != rightBoundary &&
- leftBoundary != KErrNotFound &&
- rightBoundary != KErrNotFound )
- {
- LOG_WRITE( "status name exists" );
- TPtrC begin = fullText.Mid( leftBoundary,
- rightBoundary - leftBoundary + 1 );
- localCurrentStatusText = begin.AllocLC();
- localCurrentNetworkName = begin.AllocLC();
-
- TPtrC end = fullText.Mid( rightBoundary + 1 );
- }
- else
- {
- LOG_WRITE( "status name does not exist" );
- localCurrentStatusText = fullText.AllocLC();
- }
-
- //Connected
- if ( localCurrentNetworkName )
- {
- if ( iAiModel->Connected() )
- {
- LOG_WRITE( "ai model is connected" );
- if ( !iConnectedTo )
- {
- iConnectedTo = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_CONNECTED_TO );
- }
- localCurrentNetworkStatus = iConnectedTo;
- }
- else
- {
- if ( !iKnownNetworkFound )
- {
- iKnownNetworkFound = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_WLAN_NETWORK_FOUND );
- }
- LOG_WRITE( "there is known network" );
- localCurrentNetworkStatus = iKnownNetworkFound;
- }
- }
- else
- {
- LOG_WRITE( "use current status text" );
- localCurrentNetworkStatus = localCurrentStatusText;
- }
-
- TBool published( EFalse );
- TInt iconId( 0 );
-
- ClearL(); // Clear all WLAN Wizard content from the AI2
-
- for ( iCurrentObserverIndex = 0;
- iCurrentObserverIndex < iObservers.Count();
- ++iCurrentObserverIndex )
- {
- LOG_WRITEF( "Start publish - index = %d", iCurrentObserverIndex );
-
- MAiContentObserver* observer = iObservers[iCurrentObserverIndex];
- observer->StartTransaction( reinterpret_cast<TInt32>( this ) );
- // make sure we cancel the tracsaction if leaves
- CleanupStack::PushL( TCleanupItem( PublishCleanup, this ) );
-
- if ( localCurrentStatusText )
- {
- LOG_WRITE( "Publish -> status icon" );
- // Publish Status icon: EAiWizardContentStatusIcon
- iconId = aPublishIconArray->At( 0 );
- published = PublishIconL( observer,
- EAiWizardContentStatusIcon,
- iconId ) || published;
- }
-
- LOG_WRITE( "Publish -> Strength icon" );
- // Publish Strength icon: EAiWizardContentStrengthIcon
- iconId = aPublishIconArray->At( 2 );
- published = PublishIconL( observer,
- EAiWizardContentStrengthIcon,
- iconId ) || published;
-
- LOG_WRITE( "Publish -> secure icon" );
- // Publish Secure icon: EAiWizardContentSecureIcon
- iconId = aPublishIconArray->At( 1 );
- published = PublishIconL( observer,
- EAiWizardContentSecureIcon,
- iconId ) || published;
-
- if ( localCurrentNetworkName )
- {
- LOG_WRITE( "Publish -> localCurrentNetworkName" );
- // Publish NetworkName text: EAiWizardContentNetworkName
- published = PublishText( observer,
- EAiWizardContentNetworkName,
- *localCurrentNetworkName ) || published;
- }
-
- if ( localCurrentNetworkStatus )
- {
- LOG_WRITE( "Publish -> localCurrentNetworkStatus" );
- // Publish NetworkName text: EAiWizardContentNetworkName
- published = PublishText( observer,
- EAiWizardContentNetworkStatus,
- *localCurrentNetworkStatus ) || published;
- }
-
- // If we published something then commit,
- // otherwise cancel transaction
- if ( published )
- {
- LOG_WRITE( "Commit" );
- observer->Commit( reinterpret_cast<TInt32>( this ) );
- published = EFalse;
- }
- else
- {
- LOG_WRITE( "Cancel transaction" );
- observer->CancelTransaction( reinterpret_cast<TInt32>( this ) );
- }
- CleanupStack::Pop( 1 ); // PublishCleanup()
- }
-
- LOG_WRITE( "Publishing ready" );
-
- if ( localCurrentNetworkName )
- {
- CleanupStack::PopAndDestroy( localCurrentNetworkName );
- }
-
- if ( localCurrentStatusText )
- {
- CleanupStack::PopAndDestroy( localCurrentStatusText );
- }
-
- CleanupStack::PopAndDestroy( localFullText );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::AllocateResourcesL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::AllocateResourcesL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::AllocateResourcesL" );
- // create resourcefile
- TFileName resourceFile;
- resourceFile.Append( KResourceDrive );
- resourceFile.Append( KDC_RESOURCE_FILES_DIR );
- resourceFile.Append( KResourceFile );
-
- BaflUtils::NearestLanguageFile( iEnv->FsSession(), resourceFile );
- iResourceFileOffset = iEnv->AddResourceFileL( resourceFile );
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Start
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::Start( TStartReason /*aReason*/ )
- {
- LOG_ENTERFN( "CWsfAiPlugin::Start");
- iController.StartupRefresh();
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Stop
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::Stop( TStopReason /*aReason*/ )
- {
- LOG_ENTERFN( "CWsfAiPlugin::Stop" );
- TRAP_IGNORE( iController.DeInitializeL() );
- if ( iAnimationPeriodic )
- {
- LOG_WRITE( "Cancel animation update" );
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Resume
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::Resume( TResumeReason aReason )
- {
- LOG_ENTERFN( "CWsfAiPlugin::Resume" );
- if( aReason == EForeground )
- {
- // HS came to foreground -> make refresh scan
- if ( !iAiModel->Connected() && !iModel->IsConnecting() )
- {
- LOG_WRITE( "Call Refresh scan" );
- iActiveWrappers->RefreshScan();
- }
- else
- {
- LOG_WRITE( "Connected no need to refresh scan results" );
- }
- }
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Suspend
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::Suspend( TSuspendReason aReason )
- {
- LOG_ENTERFN( "CWsfAiPlugin::Suspend" );
-
- if( aReason == EBackground )
- {
- if ( iAnimationPeriodic )
- {
- LOG_WRITE( "Cancel animation update" );
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
- }
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SubscribeL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SubscribeL( MAiContentObserver& aObserver )
- {
- LOG_ENTERFN( "CWsfAiPlugin::Subscribe" );
- iObservers.AppendL( &aObserver );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::ConfigureL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::ConfigureL( RAiSettingsItemArray& /*aSettings*/ )
- {
- LOG_ENTERFN( "CWsfAiPlugin::ConfigureL" );
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::GetPropertyL
-// --------------------------------------------------------------------------
-//
-TAny* CWsfAiPlugin::GetProperty( TProperty aProperty )
- {
- if( aProperty == EPublisherContent )
- {
- return iContent;
- }
- else if( aProperty == EPublisherEvents )
- {
- return iEvents;
- }
-
- return NULL;
- }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::HandleEvent
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::HandleEvent( TInt aEvent, const TDesC& /*aParam*/ )
- {
- LOG_ENTERFN( "CWsfAiPlugin::HandleEvent" );
- switch ( aEvent )
- {
- case EAiWizardEventLaunchApplication:
- {
- TRAP_IGNORE( LaunchApplicationL() );
- break;
- }
-
- case EAiWizardGainFocusInfoArea:
- {
- iInfoAreaFocus = ETrue;
- TRAP_IGNORE( SetMskL() );
- break;
- }
-
- case EAiWizardLostFocusInfoArea:
- {
- iInfoAreaFocus = EFalse;
- break;
- }
-
- case EAiWizardOpenMenu:
- {
- if ( !iRefreshing )
- {
- TRAP_IGNORE( iController.HandleSelectionKeyL() );
- }
- break;
- }
-
- default:
- {
- }
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::ClearL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::ClearL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::ClearL" );
- for ( TInt i = 0; i < iObservers.Count(); ++i )
- {
- MAiContentObserver* observer = iObservers[i];
-
- observer->StartTransaction( reinterpret_cast<TInt32>( this ) );
-
- observer->Clean( *this, EAiWizardContentStatusIcon,
- EAiWizardContentStatusIcon );
- observer->Clean( *this, EAiWizardContentStrengthIcon,
- EAiWizardContentStrengthIcon );
- observer->Clean( *this, EAiWizardContentSecureIcon,
- EAiWizardContentSecureIcon );
- observer->Clean( *this, EAiWizardContentNetworkName,
- EAiWizardContentNetworkName );
-
- observer->Commit( reinterpret_cast<TInt32>( this ) );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetScanningState
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SetScanningState( TBool aScanState )
- {
- LOG_ENTERFN( "CWsfAiPlugin::SetScanningState" );
- iScanState = aScanState;
- TRAP_IGNORE( SetMskL() );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetRefreshingL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SetRefreshingL( TBool aRefreshing )
- {
- LOG_ENTERFN( "CWsfAiPlugin::SetRefreshingL" );
- if( iRefreshing != aRefreshing )
- {
- LOG_WRITEF( "iRefreshing = %d and aRefreshing = %d ",
- iRefreshing, aRefreshing );
- if( aRefreshing )
- {
- if ( iAnimationPeriodic )
- {
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
- iPublishNetworkStatusText = ETrue;
- iAiModel->InitializeRefreshAnimation();
- iAnimationPeriodic = CPeriodic::NewL(
- CActive::EPriorityStandard );
-
- iAnimationPeriodic->Start(
- TTimeIntervalMicroSeconds32( KRefreshStepTime ),
- TTimeIntervalMicroSeconds32( KRefreshStepTime ),
- TCallBack(
- CWsfAiPlugin::DoRefreshingStepL,
- this
- ) );
- }
- else
- {
- if ( iAnimationPeriodic )
- {
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
- }
- }
- iRefreshing = aRefreshing;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetRefreshingL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::StartConnectingL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::StartConnectingL" );
-
- if ( iAnimationPeriodic )
- {
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
-
- iPublishNetworkStatusText = ETrue;
- iAiModel->InitializeConnectingAnimation();
- iAnimationPeriodic = CPeriodic::NewL(
- CActive::EPriorityStandard );
-
- iAnimationPeriodic->Start(
- TTimeIntervalMicroSeconds32( KConnectingStepTime ),
- TTimeIntervalMicroSeconds32( KConnectingStepTime ),
- TCallBack(
- CWsfAiPlugin::DoConnectingStepL,
- this
- ) );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::NewL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::LaunchApplicationL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::LaunchApplication" );
- RApaLsSession appArcSession;
-
- // connect to AppArc server
- User::LeaveIfError( appArcSession.Connect() );
- CleanupClosePushL( appArcSession );
-
-
- // check if the app is already running ... and brings it to foreground.
- TUid id( TUid::Uid( KUidSnifferApp.iUid ) );
- TApaTaskList taskList( iEnv->WsSession() );
- TApaTask task = taskList.FindApp( id );
-
- if ( task.Exists() )
- {
- task.BringToForeground();
- }
- else
- {
- TThreadId threadId;
- User::LeaveIfError( appArcSession.StartDocument(
- KNullDesC,
- TUid::Uid( KUidSnifferApp.iUid ),
- threadId ) );
- }
-
- CleanupStack::PopAndDestroy( &appArcSession ); //appArcSession
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetMskL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SetMskL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::SetMsk" );
-
- if ( AknLayoutUtils::PenEnabled() )
- {
- // MSK not updated in touch products
- return;
- }
-
- CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
-
- if( cba )
- {
- if ( iAiModel->ScanningOn() || iAiModel->Connected() )
- {
- // Show context menu icon
- cba->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- EAknSoftkeyContextOptions,
- KNullDesC );
- }
- else
- {
- if ( !iMskActivate )
- {
- iMskActivate = StringLoader::LoadL( R_QTN_MSK_SNIFFER_ACTIVATE );
- }
- // Show 'Activate'
- cba->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition,
- EAknSoftkeyOk,
- *iMskActivate );
- }
- cba->DrawDeferred();
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::PublishText
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiPlugin::PublishText( MAiContentObserver* aObserver,
- TWsfAiWizardContentIds aContentId,
- const TDesC16& aText )
- {
- LOG_ENTERFN( "CWsfAiPlugin::PublishText" );
- TBool published( EFalse );
- TInt error( 0 );
- if ( aObserver->CanPublish( *this, aContentId, aContentId ) )
- {
- error = aObserver->Publish( *this,
- aContentId,
- aText,
- aContentId );
-
- if ( error == KErrNone )
- {
- published = ETrue;
- }
- }
- return published;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::PublishIconL
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiPlugin::PublishIconL( MAiContentObserver* aObserver,
- TWsfAiWizardContentIds aContentId,
- TInt aIconId )
- {
- LOG_ENTERFN( "CWsfAiPlugin::PublishIcon" );
- TBool published( EFalse );
- TInt error( 0 );
- if ( aObserver->CanPublish( *this, aContentId, aContentId ) )
- {
- error = aObserver->PublishPtr(
- *this,
- aContentId,
- CWsfIconArrayCreator::GetIconLC( aIconId ),
- aContentId );
-
- CleanupStack::Pop(); // pop the icon
-
- if ( error == KErrNone )
- {
- published = ETrue;
- }
- }
- return published;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::PublishCleanup
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::PublishCleanup( TAny* aPtr )
- {
- LOG_ENTERFN( "CWsfAiPlugin::PublishCleanup" );
- CWsfAiPlugin* self = static_cast<CWsfAiPlugin*>( aPtr );
-
- if ( self && self->iCurrentObserverIndex < self->iObservers.Count() )
- {
- LOG_WRITE( "Cancel transaction" );
- self->iObservers[self->iCurrentObserverIndex]
- ->CancelTransaction( reinterpret_cast<TInt32>( self ) );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoRefreshingStepL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiPlugin::DoRefreshingStepL( TAny* ptr )
- {
- LOG_ENTERFN( "CWsfAiPlugin::DoRefreshingStepL( ptr )" );
- static_cast<CWsfAiPlugin*>( ptr )->DoRefreshingStepL();
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoRefreshingStepL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::DoRefreshingStepL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::DoRefreshingStepL" );
-
- if ( !iAiModel->ScanningOn() )
- {
- LOG_WRITE( "Disable refreshing" );
- if ( iAnimationPeriodic )
- {
- LOG_WRITE( "Cancel animation update" );
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
- iRefreshing = EFalse;
- }
- else
- {
- iAiModel->AnimateRefresh();
- iController.RefreshRefreshingL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingStepL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiPlugin::DoConnectingStepL( TAny* ptr )
- {
- LOG_ENTERFN( "CWsfAiPlugin::DoConnectingStepL( ptr )" );
- static_cast<CWsfAiPlugin*>( ptr )->DoConnectingStepL();
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingStepL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::DoConnectingStepL()
- {
- LOG_ENTERFN( "CWsfAiPlugin::DoConnectingStepL" );
-
- if ( !iModel->IsConnecting() )
- {
- LOG_WRITE( "Disable refreshing" );
- if ( iAnimationPeriodic )
- {
- LOG_WRITE( "Cancel animation update" );
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
- }
- else
- {
- iAiModel->AnimateConnecting();
- iController.RefreshConnectingL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::PublishStatusIconL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::PublishStatusIconL( CArrayFix<TInt>* aPublishIconArray,
- CEikLabel* aText1 )
- {
- LOG_ENTERFN( "CWsfAiPlugin::PublishStatusIconL" );
- TBool published( EFalse );
- TInt iconId( 0 );
-
- ClearL(); // Clear all WLAN Wizard content from the AI2
-
- for ( iCurrentObserverIndex = 0;
- iCurrentObserverIndex < iObservers.Count();
- ++iCurrentObserverIndex )
- {
- MAiContentObserver* observer = iObservers[iCurrentObserverIndex];
-
- // Publish Status icon: EAiWizardContentStatusIcon
- iconId = aPublishIconArray->At( 0 );
- published = PublishIconL( observer,
- EAiWizardContentStatusIcon,
- iconId ) || published;
-
- if ( iPublishNetworkStatusText && aText1 )
- {
- iPublishNetworkStatusText = EFalse;
- HBufC *statusText = aText1->Text()->AllocLC();
- published = PublishText( observer,
- EAiWizardContentNetworkStatus,
- *statusText ) || published;
- CleanupStack::PopAndDestroy( statusText );
- }
-
- // If we published something then commit,
- // otherwise cancel transaction
- if ( published )
- {
- published = EFalse;
- }
- }
- }
-
-
-// End of File.
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaipluginproxy.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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: ECOM proxy table for AiPlugin
-*
-*/
-
-
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-#include "wsfaiplugin.h"
-#include "wsfaipluginuids.hrh"
-
-// Provide a key pair value table for ECOM.
-// Used to identify the correct construction function for
-// the requested interface.
-const TImplementationProxy ImplementationTable[] =
-{
- IMPLEMENTATION_PROXY_ENTRY(
- AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN,
- CWsfAiPlugin::NewL )
-};
-
-
-// --------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Return an instance of the proxy table.
-// --------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
- TInt& aTableCount )
-{
- aTableCount = sizeof( ImplementationTable ) / sizeof(
- TImplementationProxy );
- return ImplementationTable;
-}
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaiview.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,483 +0,0 @@
-/*
-* 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: Implementation of CWsfAiView
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <AknsUtils.h>
-#include <AknUtils.h>
-#include <aknlists.h>
-#include <eikfrlbd.h>
-#include <eikclbd.h>
-#include <wsfaipluginrsc.rsg>
-#include <eikimage.h>
-#include <eiklabel.h>
-#include <gulicon.h>
-#include <AknIconUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <gdi.h>
-#include <aknlayout.cdl.h>
-#include <skinlayout.cdl.h>
-#include <AknBidiTextUtils.h>
-#include <StringLoader.h>
-
-// INTERNAL INCLUDES
-#include "wsfaiview.h"
-#include "wsfaipublishobserver.h"
-#include "wsflogger.h"
-
-// LOCAL DEFINITIONS
-// one second in milliseconds
-LOCAL_D const TInt KDeferredWaitTime = 1000 * 1000;
-LOCAL_D const TInt KAIPublishIconArrayGranularity = 3;
-
-// index value to suppress 1 second refreshing state
-LOCAL_D const TInt KSuppressRefreshIndex = 1024;
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::NewL()
-// --------------------------------------------------------------------------
-//
-CWsfAiView* CWsfAiView::NewL( MWsfAiPublishObserver& aPublishObserver )
- {
- CWsfAiView *thisPtr = NewLC( aPublishObserver );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::NewLC()
-// --------------------------------------------------------------------------
-//
-CWsfAiView* CWsfAiView::NewLC( MWsfAiPublishObserver& aPublishObserver )
- {
- CWsfAiView *thisPtr = new (ELeave) CWsfAiView( aPublishObserver );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::~CWsfAiView()
-// --------------------------------------------------------------------------
-//
-CWsfAiView::~CWsfAiView()
- {
- delete iPublishIconArray;
- delete iDeferredUpdateCallBack;
- delete iTextLabel;
-
- if ( iDeferredUpdater )
- {
- iDeferredUpdater->Cancel();
- delete iDeferredUpdater;
- }
-
- if ( iStatusScanningOff )
- {
- delete iStatusScanningOff;
- }
- if ( iStatusRefreshing )
- {
- delete iStatusRefreshing;
- }
- if ( iStatusConnecting )
- {
- delete iStatusConnecting;
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::CWsfAiView()
-// --------------------------------------------------------------------------
-//
-CWsfAiView::CWsfAiView( MWsfAiPublishObserver& aPublishObserver ) :
- iUpdateSecureIconDeferred( ETransparentIcon ),
- iUpdateSignalStrengthIconDeferred( ETransparentIcon ),
- iUpdateStatusIconDeferred( ETransparentIcon ),
- iSavedUpdateStatusIconDeferred( ETransparentIcon ),
- iPublishObserver( &aPublishObserver )
- {
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ConstructL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::ConstructL()
- {
- LOG_ENTERFN( "CWsfAiView::ConstructL" );
- iEnv = CCoeEnv::Static();
-
- iDeferredUpdateCallBack = new ( ELeave )
- TCallBack( CWsfAiView::DoCompleteUpdateL, this );
- iDeferredUpdater = CPeriodic::NewL( CActive::EPriorityStandard );
-
- iPublishIconArray = new ( ELeave ) CArrayFixFlat<TInt>(
- KAIPublishIconArrayGranularity );
-
- iTextLabel = new (ELeave) CEikLabel;
- if ( !iStatusScanningOff )
- {
- iStatusScanningOff = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_SCANNING_OFF );
- }
- iTextLabel->SetTextL( *iStatusScanningOff );
-
- iUpdateStatusIconDeferred = EWlanOffIcon;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::UpdateHotSpotsL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::UpdateHotSpotsL( MDesCArray* aItemTextArray,
- TInt aCurrentItem )
- {
- LOG_ENTERFN( "CWsfAiView::UpdateHotSpotsL" );
- if ( ParseStringL( aItemTextArray->MdcaPoint( 0 ) ) )
- {
- if ( aCurrentItem != KSuppressRefreshIndex )
- {
- // init the deferred callback
- ActivateRefreshTimer();
- }
- else
- {
- // immediate callback (no Refreshing text)
- DoCompleteUpdateL();
- return;
- }
- }
- if ( !iStatusRefreshing )
- {
- iStatusRefreshing = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_REFRESHING );
- }
-
- if ( !iStatusConnecting )
- {
- iStatusConnecting = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_CONNECTING );
- }
-
- TInt resultRefreshing = iTextLabel->Text()->Compare( *iStatusRefreshing );
- TInt resultConnecting = iCurrentText.Compare( *iStatusConnecting );
-
- if ( !resultConnecting )
- {
- MakeTransparentPublishIconsL(); // all icons transparent
- }
- else if ( !resultRefreshing )
- {
- iPublishObserver->SetRefreshingL( ETrue );
- MakeTransparentPublishIconsL(); // all icons transparent
- }
- else
- {
- MakePublishIconsL(); // icons based on the member info
- }
-
- iPublishObserver->SetScanningState( ETrue );
-
- TRAPD( error,
- iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ) );
- if ( error )
- {
- LOG_WRITEF( "Publish failed - %d error ignored", error );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::SelectedItem()
-// --------------------------------------------------------------------------
-//
-TInt CWsfAiView::SelectedItem()
- {
- LOG_ENTERFN( "CWsfAiView::SelectedItem" );
- return 0;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ForceRefreshingL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::ForceRefreshingL()
- {
- LOG_ENTERFN( "CWsfAiView::ForceRefreshingL" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetRefreshingL
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::StartConnectingAnimationL()
- {
- LOG_ENTERFN( "CWsfAiView::StartConnectingAnimationL" );
- iPublishObserver->StartConnectingL();
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::MultilineControl
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiView::MultilineControl()
- {
- LOG_ENTERFN( "CWsfAiView::MultilineControl" );
- return EFalse;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ParseStringL()
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiView::ParseStringL( const TDesC& aString )
- {
- LOG_ENTERFN( "CWsfAiView::ParseStringL" );
- // start looking for '\t' digits and parse
- // the icon identifiers and label text
-
- // if the data changes - ie - label text has changed
- // - launch deferred update...
- TChar delimiter('\t');
- TWsfPluginIcons statusIcon;
- TWsfPluginIcons secureicon;
- TWsfPluginIcons strengthIcon;
- TInt firstTabPos = aString.Locate( delimiter );
- TInt secondTabPos = aString.Mid(
- firstTabPos +1 ).Locate(
- delimiter ) + firstTabPos + 1;
- TInt thirdTabPos = aString.Mid(
- secondTabPos +1 ).Locate(
- delimiter ) + secondTabPos + 1;
-
- // ok we have the tab positions read the values...
- //read the icons
- TLex( aString.Mid( 0, firstTabPos )).Val( (TInt&)statusIcon );
- TLex( aString.Mid(
- secondTabPos+1 , thirdTabPos - (secondTabPos+1) )
- ).Val( (TInt&) strengthIcon);
-
- TLex( aString.Mid(
- thirdTabPos+1 , aString.Length() - ( thirdTabPos + 1 ) )
- ).Val( (TInt&) secureicon );
-
- // and the label text
- TPtrC labelText = aString.Mid( firstTabPos+1,
- secondTabPos - ( firstTabPos + 1 ) );
-
- iCurrentText.Copy( labelText );
-
- if ( !iStatusRefreshing )
- {
- iStatusRefreshing = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_REFRESHING );
- }
- iTextLabel->SetTextL( *iStatusRefreshing );
-
- iUpdateSecureIconDeferred = secureicon;
- iUpdateSignalStrengthIconDeferred = strengthIcon;
- iUpdateStatusIconDeferred = statusIcon;
- iSavedUpdateStatusIconDeferred = statusIcon;
-
- return ETrue;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::DoCompleteUpdateL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::DoCompleteUpdateL()
- {
- LOG_ENTERFN( "CWsfAiView::DoCompleteUpdateL" );
- // cancel the periodic
- iDeferredUpdater->Cancel();
-
- // update the label text
- iTextLabel->SetTextL( iCurrentText );
- iCurrentText = KNullDesC();
-
- iUpdateStatusIconDeferred = iSavedUpdateStatusIconDeferred;
-
- MakePublishIconsL();
-
- TRAPD( error,
- iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ) );
- if ( error )
- {
- LOG_WRITEF( "Publish failed - %d error ignored", error );
- }
-
- iPublishObserver->SetRefreshingL( EFalse );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::DoCompleteUpdateL()
-// --------------------------------------------------------------------------
-//
-TInt CWsfAiView::DoCompleteUpdateL( TAny* aPtr )
- {
- LOG_ENTERFN( "CWsfAiView::DoCompleteUpdateL" );
- static_cast<CWsfAiView*>( aPtr )->DoCompleteUpdateL();
- return ETrue;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::DisplayEngineOffL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::DisplayEngineOffL()
- {
- LOG_ENTERFN( "CWsfAiView::DisplayEngineOffL" );
- iDeferredUpdater->Cancel();
- iPublishObserver->SetRefreshingL( EFalse );
-
- if ( !iStatusScanningOff )
- {
- iStatusScanningOff = StringLoader::LoadL(
- R_QTN_SNIFFER_PLUG_IN_SCANNING_OFF );
- }
-
- iTextLabel->SetTextL( *iStatusScanningOff );
-
- iUpdateSecureIconDeferred = ETransparentIcon;
- iUpdateSignalStrengthIconDeferred = ETransparentIcon;
- iUpdateStatusIconDeferred = EWlanOffIcon;
- iPublishObserver->SetScanningState( EFalse );
- MakePublishIconsL();
-
- TRAPD( error,
- iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ) );
- if ( error )
- {
- LOG_WRITEF( "Publish failed - %d error ignored", error );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ActivateRefreshTimer()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::ActivateRefreshTimer()
- {
- LOG_ENTERFN( "CWsfAiView::ActivateRefreshTimer" );
- iDeferredUpdater->Cancel();
- iDeferredUpdater->Start(
- TTimeIntervalMicroSeconds32( KDeferredWaitTime ),
- TTimeIntervalMicroSeconds32( KDeferredWaitTime ),
- *iDeferredUpdateCallBack );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::MakePublishIconsL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::MakePublishIconsL()
- {
- LOG_ENTERFN( "CWsfAiView::MakePublishIconsL" );
- if ( iPublishIconArray )
- {
- iPublishIconArray->Reset();
- iPublishIconArray->AppendL( iUpdateStatusIconDeferred );
- iPublishIconArray->AppendL( iUpdateSecureIconDeferred );
- iPublishIconArray->AppendL( iUpdateSignalStrengthIconDeferred );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::MakeTransparentPublishIconsL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::MakeTransparentPublishIconsL()
- {
- LOG_ENTERFN( "CWsfAiView::MakeTransparentPublishIconsL" );
- TWsfPluginIcons tmp2, tmp3;
-
- tmp2 = iUpdateSecureIconDeferred;
- tmp3 = iUpdateSignalStrengthIconDeferred;
-
- iUpdateSecureIconDeferred = ETransparentIcon;
- iUpdateSignalStrengthIconDeferred = ETransparentIcon;
-
- MakePublishIconsL();
-
- iUpdateSecureIconDeferred = tmp2;
- iUpdateSignalStrengthIconDeferred = tmp3;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::UpdateViewL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::UpdateViewL( MDesCArray* aItemTextArray )
- {
- LOG_ENTERFN( "CWsfAiView::UpdateViewL" );
- TChar delimiter('\t');
- TWsfPluginIcons statusIcon;
- TWsfPluginIcons secureicon;
- TWsfPluginIcons strengthIcon;
- const TDesC& aString = aItemTextArray->MdcaPoint( 0 ) ;
-
- TInt firstTabPos = aString.Locate( delimiter );
- TInt secondTabPos = aString.Mid(
- firstTabPos +1 ).Locate(
- delimiter ) + firstTabPos + 1;
- TInt thirdTabPos = aString.Mid(
- secondTabPos +1 ).Locate(
- delimiter ) + secondTabPos + 1;
-
- //read the icons
- TLex( aString.Mid( 0, firstTabPos )).Val( (TInt&)statusIcon );
- TLex( aString.Mid(
- secondTabPos+1 , thirdTabPos - (secondTabPos+1) )
- ).Val( (TInt&) strengthIcon);
-
- TLex( aString.Mid(
- thirdTabPos+1 , aString.Length() - ( thirdTabPos + 1 ) )
- ).Val( (TInt&) secureicon );
-
- // and the label text
- TPtrC labelText = aString.Mid( firstTabPos+1,
- secondTabPos - ( firstTabPos + 1 ) );
-
- iTextLabel->SetTextL( labelText );
-
- iUpdateStatusIconDeferred = statusIcon;
-
- MakeTransparentPublishIconsL();
-
- iPublishObserver->PublishStatusIconL( iPublishIconArray, iTextLabel );
- }
-
-// END OF FILE
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfconnectactivewrapper.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* 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: Implementation of CWsfConnectActiveWrapper.
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "wsflogger.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfconnectactivewrapper.h"
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::CWsfConnectActiveWrapper
-// --------------------------------------------------------------------------
-//
-CWsfConnectActiveWrapper::CWsfConnectActiveWrapper() :
- CActive(EPriorityStandard) // Standard priority
- {
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::NewLC
-// --------------------------------------------------------------------------
-//
-CWsfConnectActiveWrapper* CWsfConnectActiveWrapper::NewLC( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfConnectActiveWrapper::NewLC" );
- CWsfConnectActiveWrapper* self =
- new (ELeave) CWsfConnectActiveWrapper();
- CleanupStack::PushL(self);
- self->ConstructL( aModel );
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::NewL
-// --------------------------------------------------------------------------
-//
-CWsfConnectActiveWrapper* CWsfConnectActiveWrapper::NewL( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfConnectActiveWrapper::NewL" );
- CWsfConnectActiveWrapper* self =
- CWsfConnectActiveWrapper::NewLC( aModel );
- CleanupStack::Pop(); // self;
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfConnectActiveWrapper::ConstructL( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfConnectActiveWrapper::ConstructL" );
- CActiveScheduler::Add(this); // Add to scheduler
- iModel = aModel;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::~CWsfConnectActiveWrapper
-// --------------------------------------------------------------------------
-//
-CWsfConnectActiveWrapper::~CWsfConnectActiveWrapper()
- {
- LOG_ENTERFN(
- "CWsfConnectActiveWrapper::~CWsfConnectActiveWrapper" );
- Cancel(); // Cancel any request, if outstanding
- // Delete instance variables if any
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::DoCancel
-// --------------------------------------------------------------------------
-//
-void CWsfConnectActiveWrapper::DoCancel()
- {
- LOG_ENTERFN( "CWsfConnectActiveWrapper::DoCancel" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::StartL
-// --------------------------------------------------------------------------
-//
-void CWsfConnectActiveWrapper::Start( TUint aIapID, TBool aConnectOnly,
- TWsfIapPersistence aPersistence )
- {
- LOG_ENTERFN( "CWsfConnectActiveWrapper::Start" );
- Cancel(); // Cancel any request, just to be sure
- iState = EUninitialized;
- iIapID = aIapID;
- iConnectOnly = aConnectOnly;
- iPersistence = aPersistence;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::RunL
-// --------------------------------------------------------------------------
-//
-void CWsfConnectActiveWrapper::RunL()
- {
- LOG_ENTERFN( "CWsfConnectActiveWrapper::RunL" );
- if ( iStatus == KErrNone )
- {
- if ( iState == EUninitialized )
- {
- LOG_WRITE( "Start connect" );
- iModel->ConnectL( iPckg, iIapID, iConnectOnly, iPersistence, iStatus );
- iState = EInitialized;
- SetActive(); // Tell scheduler a request is active
- }
- else if ( iState == EInitialized )
- {
- LOG_WRITEF( "request result = %d", iPckg() );
- iModel->SetConnectResultL( iPckg(), iIapID );
- }
- else
- {
- LOG_WRITEF( "iState = %d", iState );
- }
- }
- else
- {
- LOG_WRITEF( "ConnectActiveWrapper iStatus = %d", iStatus.Int() );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfConnectActiveWrapper::RunError
-// --------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfConnectActiveWrapper::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfConnectActiveWrapper::RunError" );
- LOG_WRITEF( "aError = %d", aError );
- TRAP_IGNORE( iModel->SetConnectResultL(iPckg(), iIapID ) );
- return aError;
- }
-#else
-TInt CWsfConnectActiveWrapper::RunError( TInt /*aError*/ )
- {
- TRAP_IGNORE( iModel->SetConnectResultL(iPckg(), iIapID ) );
- return KErrNone;
- }
-#endif
-
-
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfdbobserver.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,276 +0,0 @@
-/*
-* 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:
-* Implementation of utilities functions.
-*
-*
-*/
-
-
-
-//User includes
-#include "wsfdbobserver.h"
-#include "wsfaicontroller.h"
-#include "wsflogger.h"
-
-#include <featmgr.h>
-
-#include <wlandevicesettingsinternalcrkeys.h>
-#include <centralrepository.h>
-
-
-const TInt KWlanSettingsUiDefaultScanNetwork = 300;
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::CWsfDbObserver
-// ---------------------------------------------------------
-CWsfDbObserver::CWsfDbObserver( )
-: CActive( EPriorityNormal ),
-iOuterScanState( EFalse )
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::NewL
-// ---------------------------------------------------------
-CWsfDbObserver* CWsfDbObserver::NewL( )
- {
- CWsfDbObserver* self = new ( ELeave ) CWsfDbObserver( );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop();
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::ConstructL
-// ---------------------------------------------------------
-void CWsfDbObserver::ConstructL()
- {
-#ifndef __WINS__ // client is not available on wins
- iWlanMgmtClient = CWlanMgmtClient::NewL();
-#endif
-
- FeatureManager::InitializeLibL();
-
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::~CWsfDbObserver
-// ---------------------------------------------------------
-CWsfDbObserver::~CWsfDbObserver()
- {
- Cancel();
-
- delete iRecord;
-
- delete iSession;
-
- delete iWlanMgmtClient;
-
- FeatureManager::UnInitializeLib();
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::RunL
-// ---------------------------------------------------------
-void CWsfDbObserver::RunL()
- {
- LOG_ENTERFN( "CWsfDbObserver::RunL" );
- iRecord->LoadL( *iSession );
-
- //if scanning state changed start or stop the server
- TInt i = iRecord->iBgScanInterval;
- TInt j = iRecord->iSavedBgScanInterval;
- LOG_WRITEF( "CWsfDbObserver::RunL -- Bg:%d bg2:%d O:%d", i, j,
- iOuterScanState );
- if ( iRecord->iBgScanInterval == 0 && iOuterScanState )
- {
- LOG_WRITE( "CWsfDbObserver::RunL -- Scan disabled" );
- iController->DisableScanL();
- iOuterScanState = EFalse;
- }
- else if(iRecord->iBgScanInterval != 0 && !iOuterScanState )
- {
- LOG_WRITE( "CWsfDbObserver::RunL -- Scan enabled" );
- iController->EnableScanL();
- iOuterScanState = ETrue;
- }
-
- SetActive();
-
- iRecord->RequestNotification(*iSession,iStatus);
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::DoCancel
-// ---------------------------------------------------------
-void CWsfDbObserver::DoCancel()
- {
- iRecord->CancelNotification( *iSession, iStatus );
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::ActivateIt
-// ---------------------------------------------------------
-void CWsfDbObserver::ActivateItL()
- {
- LOG_ENTERFN( "CWsfDbObserver::ActivateItL" );
-
- iSession = CMDBSession::NewL( KCDLatestVersion );
-
- TMDBElementId tableId = 0;
-
- tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-
- iRecord = new (ELeave) CCDWlanDeviceSettingsRecord( tableId );
-
- iRecord->iWlanDeviceSettingsType = KWlanUserSettings;
-
-
- if(iRecord->FindL( *iSession ))
- {
- iRecord->LoadL( *iSession );
- }
-
- if ( iRecord->iBgScanInterval != 0 )
- {
- iController->EnableScanL();
- iOuterScanState = ETrue;
- }
- SetActive();
-
- iRecord->RequestNotification(*iSession,iStatus);
-
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::SetController
-// ---------------------------------------------------------
-void CWsfDbObserver::SetController( TWsfAiController* aController )
- {
- iController = aController;
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::EnableScanL
-// ---------------------------------------------------------
-void CWsfDbObserver::EnableScanL()
- {
- LOG_ENTERFN( "CWsfDbObserver::EnableScanL" );
- if ( !iOuterScanState )
- {
- iRecord->RefreshL( *iSession );
- if ( iRecord->iBgScanInterval == 0 ) // not scanning
- {
- TInt j;
- j = iRecord->iSavedBgScanInterval;
- if ( j == 0 )
- {
- j = DefaultScanIntervalL();
- }
- iRecord->iBgScanInterval = j;
- iRecord->ModifyL( *iSession );
- iOuterScanState = ETrue;
- }
-#ifndef __WINS__
- // Notifying WLAN Engine about changes in settings
- iWlanMgmtClient->NotifyChangedSettings();
-#endif
- }
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::DisableScanL
-// ---------------------------------------------------------
-void CWsfDbObserver::DisableScanL()
- {
- LOG_ENTERFN( "CWsfDbObserver::DisableScanL" );
- if ( iOuterScanState )
- {
- iRecord->RefreshL(*iSession);
- if ( iRecord->iBgScanInterval != 0 ) // scanning
- {
- TInt i;
- i = iRecord->iBgScanInterval;
- iRecord->iBgScanInterval = 0;
- iRecord->iSavedBgScanInterval = i;
- iRecord->ModifyL( *iSession );
- iOuterScanState = EFalse;
- }
-#ifndef __WINS__
- // Notifying WLAN Engine about changes in settings
- iWlanMgmtClient->NotifyChangedSettings();
-#endif
- }
- }
-
-
-// ---------------------------------------------------------
-// CWsfDbObserver::DefaultScanInterval
-// ---------------------------------------------------------
-TInt CWsfDbObserver::DefaultScanIntervalL()
- {
- LOG_ENTERFN( "CWsfDbObserver::DefaultScanIntervalL" );
- TBool iPsmSupported = FeatureManager::FeatureSupported(
- KFeatureIdPowerSave );
- if ( iPsmSupported )
- {
- // Read the default value from CenRep (different in PSM mode)
- TInt defaultScanInterval( KWlanSettingsUiDefaultScanNetwork );
-
- CRepository* repository = CRepository::NewLC(
- KCRUidWlanDeviceSettingsRegistryId );
- if ( repository )
- {
- repository->Get( KWlanDefaultBGScanInterval, defaultScanInterval );
- }
- CleanupStack::PopAndDestroy( repository );
- return defaultScanInterval;
- }
- else
- {
- return KWlanSettingsUiDefaultScanNetwork;
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfDbObserver::RunError
-// ----------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfDbObserver::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfDbObserver::RunError" );
- LOG_WRITEF( "aError = %d", aError );
-#else
-TInt CWsfDbObserver::RunError( TInt /*aError*/ )
- {
-#endif
- return KErrNone;
- }
-
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfdisconnectactivewrapper.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* 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: Implementation of CWsfDisconnectActiveWrapper.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsflogger.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfdisconnectactivewrapper.h"
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::CWsfDisconnectActiveWrapper
-// --------------------------------------------------------------------------
-//
-CWsfDisconnectActiveWrapper::CWsfDisconnectActiveWrapper() :
- CActive(EPriorityStandard) // Standard priority
- {
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::NewLC
-// --------------------------------------------------------------------------
-//
-CWsfDisconnectActiveWrapper* CWsfDisconnectActiveWrapper::NewLC( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfDisconnectActiveWrapper::NewLC" );
- CWsfDisconnectActiveWrapper* self =
- new (ELeave) CWsfDisconnectActiveWrapper();
- CleanupStack::PushL(self);
- self->ConstructL( aModel );
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::NewL
-// --------------------------------------------------------------------------
-//
-CWsfDisconnectActiveWrapper* CWsfDisconnectActiveWrapper::NewL( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfDisconnectActiveWrapper::NewL" );
- CWsfDisconnectActiveWrapper* self =
- CWsfDisconnectActiveWrapper::NewLC( aModel );
- CleanupStack::Pop(); // self;
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfDisconnectActiveWrapper::ConstructL( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfDisconnectActiveWrapper::ConstructL" );
- CActiveScheduler::Add(this); // Add to scheduler
- iModel = aModel;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::~CWsfDisconnectActiveWrapper
-// --------------------------------------------------------------------------
-//
-CWsfDisconnectActiveWrapper::~CWsfDisconnectActiveWrapper()
- {
- LOG_ENTERFN(
- "CWsfDisconnectActiveWrapper::~CWsfDisconnectActiveWrapper" );
- Cancel(); // Cancel any request, if outstanding
- // Delete instance variables if any
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::DoCancel
-// --------------------------------------------------------------------------
-//
-void CWsfDisconnectActiveWrapper::DoCancel()
- {
- LOG_ENTERFN( "CWsfDisconnectActiveWrapper::DoCancel" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::StartL
-// --------------------------------------------------------------------------
-//
-void CWsfDisconnectActiveWrapper::Start()
- {
- LOG_ENTERFN( "CWsfDisconnectActiveWrapper::Start" );
- Cancel(); // Cancel any request, just to be sure
- iState = EUninitialized;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::RunL
-// --------------------------------------------------------------------------
-//
-void CWsfDisconnectActiveWrapper::RunL()
- {
- LOG_ENTERFN( "CWsfDisconnectActiveWrapper::RunL" );
- if ( iStatus == KErrNone )
- {
- if (iState == EUninitialized)
- {
- LOG_WRITE( "disconnect" );
- iModel->Disconnect( iPckg, iStatus );
- iState = EInitialized;
- SetActive(); // Tell scheduler a request is active
- }
- else if (iState == EInitialized )
- {
- LOG_WRITEF( "request result = %d", iPckg() );
- }
- else
- {
- LOG_WRITEF( "iState = %d", iState );
- }
- }
- else
- {
- LOG_WRITEF( "DisconnectActiveWrapper iStatus = %d", iStatus.Int() );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfDisconnectActiveWrapper::RunError
-// --------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfDisconnectActiveWrapper::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfDisconnectActiveWrapper::RunError" );
- LOG_WRITEF( "aError = %d", aError );
- return aError;
- }
-#else
-TInt CWsfDisconnectActiveWrapper::RunError( TInt /*aError*/ )
- {
- return KErrNone;
- }
-#endif
-
-
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsficonarraycreator.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,366 +0,0 @@
-/*
-* 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: Implementation of CWsfIconArrayCreator.
-*
-*/
-
-// EXTERNAL INCLUDES
-#include <AknIconArray.h>
-#include <AknIconUtils.h>
-#include <AknsUtils.h>
-#include <eikenv.h>
-#include <AknsConstants.h>
-#include <wsficons.mbg>
-#include <gulicon.h>
-
-// INTERNAL INCLUDES
-#include "wsfaiplugincommon.h"
-#include "wsficonarraycreator.h"
-
-
-// LOCAL DEFINITIONS
-const TInt KAIShortcutPluginGranularity = 10;
-#ifdef _DEBUG
- _LIT( KIconArrayCreatorPanic, "CWsfIconArrayCreator" );
- #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KIconArrayCreatorPanic, __LINE__) )
-#else
- #define _ASS_D( cond ) {}
-#endif //_DEBUG
-
-// --------------------------------------------------------------------------
-// CleanUpResetAndDestroy
-// --------------------------------------------------------------------------
-//
-void CleanUpResetAndDestroy(TAny* aArray)
- {
- if(aArray)
- {
- CArrayPtrFlat<CBase>* array=(CArrayPtrFlat<CBase>*)aArray;
- array->ResetAndDestroy();
- delete array;
- }
- }
-
-// --------------------------------------------------------------------------
-// LoadIconLC
-// --------------------------------------------------------------------------
-//
-CGulIcon* LoadIconLC( const TInt aIconId, const TFileName aBitmapFile )
- {
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
- AknIconUtils::CreateIconL( bitmap,
- mask,
- aBitmapFile,
- aIconId,
- aIconId+1 );
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- return icon;
- }
-
-// --------------------------------------------------------------------------
-// LoadSkinnableIconLC
-// --------------------------------------------------------------------------
-//
-CGulIcon* LoadSkinnableIconLC( const TAknsItemID aAknItemId,
- const TInt aIconId,
- const TFileName aBitmapFile )
- {
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
- AknsUtils::CreateIconL( AknsUtils::SkinInstance(),
- aAknItemId,
- bitmap,
- mask,
- aBitmapFile,
- aIconId,
- aIconId + 1 );
-
- icon->SetBitmap(bitmap);
- icon->SetMask(mask);
- return icon;
- }
-
-// ---------------------------------------------------------
-// LoadSkinnableBlackIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* LoadSkinnableBlackIconLC( const TAknsItemID aAknItemId,
- const TInt aIconId,
- const TFileName aBitmapFile )
- {
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
- AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
- aAknItemId,
- KAknsIIDQsnIconColors,
- EAknsCIQsnIconColorsCG13,
- bitmap,
- mask,
- aBitmapFile,
- aIconId,
- aIconId+1,
- KRgbBlack );
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- return icon;
- }
-
-// --------------------------------------------------------------------------
-// CWsfIconArrayCreator::CreateArrayL
-// --------------------------------------------------------------------------
-//
-CAknIconArray* CWsfIconArrayCreator::CreateArrayL()
- {
- // Used bitmap file name
- TFileName bitmapFileName;
- bitmapFileName.Append( KDC_APP_BITMAP_DIR );
- bitmapFileName.Append( KBitmapFile );
-
- CAknIconArray* icons = new(ELeave) CAknIconArray(
- KAIShortcutPluginGranularity );
-
- CleanupStack::PushL( TCleanupItem( CleanUpResetAndDestroy,icons) );
-
- //ESecureNetworkIcon
- icons->InsertL( ESecureNetworkIcon, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSecureNetworkAdd,
- EMbmWsficonsQgn_indi_wlan_secure_network_add,
- bitmapFileName ) );
-
- CleanupStack::Pop(); /*icon*/
-
- //ENoSignalIcon
- icons->InsertL( ENoSignalIcon, LoadIconLC(
- EMbmWsficonsEmpty13x13,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- //EPoorSignal
- icons->InsertL( EPoorSignal, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSignalLowAdd,
- EMbmWsficonsQgn_indi_wlan_signal_low_add,
- bitmapFileName ) );
-
- CleanupStack::Pop(); /*icon*/
-
- //EAverageSignal
- icons->InsertL( EAverageSignal, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSignalMedAdd,
- EMbmWsficonsQgn_indi_wlan_signal_med_add,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- //EExcelentSignal
- icons->InsertL( EExcelentSignal, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSignalGoodAdd ,
- EMbmWsficonsQgn_indi_wlan_signal_good_add,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- //EConnectedNWIcon
- icons->InsertL( EConnectedNWIcon,
- LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on,
- bitmapFileName ) );
-
- CleanupStack::Pop(); /*icon*/
-
- //EKnownNWIcon
- icons->InsertL( EKnownNWIcon, LoadSkinnableIconLC(
- KAknsIIDQgnIndiWlanSnifferPluginOn,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- //ETransparentIcon
- icons->InsertL( ETransparentIcon, LoadIconLC(
- EMbmWsficonsQgn_prop_empty,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- //EWlanOnIcon
- icons->InsertL( EWlanOnIcon, LoadSkinnableIconLC(
- KAknsIIDQgnIndiWlanSnifferPluginOn,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- icons->InsertL( EWlanOnIcon_0, LoadSkinnableIconLC(
- KAknsIIDQgnIndiWlanSnifferPluginOn0,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_0,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- icons->InsertL( EWlanOnIcon_1, LoadSkinnableIconLC(
- KAknsIIDQgnIndiWlanSnifferPluginOn1,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_1,
- bitmapFileName ) );
- CleanupStack::Pop(); /*icon*/
-
- //ETransparentIcon
- icons->InsertL( EWlanOffIcon, LoadSkinnableIconLC(
- KAknsIIDQgnIndiWlanSnifferPluginOff,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_off,
- bitmapFileName ) );
- CleanupStack::Pop();
-
- icons->InsertL( EWlanNaviBarIcon, LoadSkinnableIconLC(
- KAknsIIDQgnMenuWlanSniffer,
- EMbmWsficonsQgn_menu_wlan_sniffer,
- bitmapFileName ) );
-
- CleanupStack::Pop(); /*icon*/
- CleanupStack::Pop( icons );
-
- return icons;
- }
-
-// --------------------------------------------------------------------------
-// CWsfIconArrayCreator::GetIconLC
-// --------------------------------------------------------------------------
-//
-CGulIcon* CWsfIconArrayCreator::GetIconLC( TInt aIconId )
- {
- // Used bitmap file name
- TFileName bitmapFileName;
- bitmapFileName.Append( KDC_APP_BITMAP_DIR );
- bitmapFileName.Append( KBitmapFile );
- TAknsItemID localAknItemId( KAknsIIDQgnMenuWlanSniffer );
- TInt iconId( EMbmWsficonsQgn_menu_wlan_sniffer );
-
- switch( aIconId )
- {
- case ESecureNetworkIcon:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSecureNetworkAdd;
- iconId = EMbmWsficonsQgn_indi_wlan_secure_network_add;
- break;
- }
-
- case ENoSignalIcon:
- return LoadIconLC( EMbmWsficonsEmpty13x13, bitmapFileName );
-
- case EPoorSignal:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSignalLowAdd;
- iconId = EMbmWsficonsQgn_indi_wlan_signal_low_add;
- break;
- }
-
- case EAverageSignal:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSignalMedAdd;
- iconId = EMbmWsficonsQgn_indi_wlan_signal_med_add;
- break;
- }
-
- case EExcelentSignal:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSignalGoodAdd;
- iconId = EMbmWsficonsQgn_indi_wlan_signal_good_add;
- break;
- }
-
- case EConnectedNWIcon:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn;
- iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on;
- break;
- }
-
- case EKnownNWIcon:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn;
- iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on;
- break;
- }
-
- case ETransparentIcon:
- return LoadIconLC( EMbmWsficonsQgn_prop_empty, bitmapFileName );
-
- case EWlanOnIcon:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn;
- iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on;
- break;
- }
-
- case EWlanOnIcon_0:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn0;
- iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_0;
- break;
- }
-
- case EWlanOnIcon_1:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn1;
- iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_1;
- break;
- }
-
- case EWlanOffIcon:
- {
- localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOff;
- iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_off;
- break;
- }
-
- case EWlanNaviBarIcon:
- {
- localAknItemId = KAknsIIDQgnMenuWlanSniffer;
- iconId = EMbmWsficonsQgn_menu_wlan_sniffer;
- break;
- }
- default:
- {
- _ASS_D( 0 );
- }
- }
-
- switch( aIconId )
- {
- case ESecureNetworkIcon:
- case EPoorSignal:
- case EAverageSignal:
- case EExcelentSignal:
- {
- return LoadSkinnableBlackIconLC( localAknItemId,
- iconId,
- bitmapFileName );
- }
- default:
- {
- break;
- }
- }
- return LoadSkinnableIconLC( localAknItemId,
- iconId,
- bitmapFileName );
- }
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsflaunchaihelperactivewrapper.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,230 +0,0 @@
-/*
- * 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: Implementation of CWsfLaunchAiHelperActiveWrapper.
- *
- */
-
-
-// INCLUDE FILES
-#include "wsflogger.h"
-#include "wsfmodel.h"
-#include "wsfaicontroller.h"
-#include "wsflaunchaihelperactivewrapper.h"
-
-// Category UID of AiHelper property
-static const TUid KWsfAiHelperCategoryUid = { 0x10281CEB };
-
-// key numbers within the property
-static const TUint KWsfAiHelperExitCodeKey = 0;
-static const TUint KWsfAiHelperIapIdKey = 1;
-
-/**
-* Delay that we wait for the aihelper to terminate
-*/
-static const TInt KTimerTickInterval = 1 * 1000 * 1000;
-
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::CWsfLaunchAiHelperActiveWrapper
-// ----------------------------------------------------------------------------
-//
-CWsfLaunchAiHelperActiveWrapper::CWsfLaunchAiHelperActiveWrapper() :
- CActive( EPriorityStandard ) // Standard priority
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfLaunchAiHelperActiveWrapper* CWsfLaunchAiHelperActiveWrapper::NewLC(
- CWsfModel* aModel, TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfLaunchAiHelperActiveWrapper::NewLC" );
- CWsfLaunchAiHelperActiveWrapper* self =
- new (ELeave) CWsfLaunchAiHelperActiveWrapper();
- CleanupStack::PushL( self );
- self->ConstructL( aModel, aController );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfLaunchAiHelperActiveWrapper* CWsfLaunchAiHelperActiveWrapper::NewL(
- CWsfModel* aModel, TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfLaunchAiHelperActiveWrapper::NewL" );
- CWsfLaunchAiHelperActiveWrapper* self =
- CWsfLaunchAiHelperActiveWrapper::NewLC( aModel, aController );
- CleanupStack::Pop(); // self;
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfLaunchAiHelperActiveWrapper::ConstructL( CWsfModel* aModel,
- TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfLaunchAiHelperActiveWrapper::ConstructL" );
- CActiveScheduler::Add( this ); // Add to scheduler
- iModel = aModel;
- iController = &aController;
- User::LeaveIfError( iTimer.CreateLocal() );
- User::LeaveIfError( iAiHelperAppExitCode.Attach( KWsfAiHelperCategoryUid,
- KWsfAiHelperExitCodeKey ) );
-
- User::LeaveIfError( iAiHelperAppIapId.Attach( KWsfAiHelperCategoryUid,
- KWsfAiHelperIapIdKey ) );
- }
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::~CWsfLaunchAiHelperActiveWrapper
-// ----------------------------------------------------------------------------
-//
-CWsfLaunchAiHelperActiveWrapper::~CWsfLaunchAiHelperActiveWrapper()
- {
- LOG_ENTERFN(
- "CWsfLaunchAiHelperActiveWrapper::~CWsfWLANListActiveWrapper" );
- Cancel(); // Cancel any request, if outstanding
- // Delete instance variables if any
- iAiHelperAppExitCode.Close();
- iAiHelperAppIapId.Close();
- iTimer.Close();
- }
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfLaunchAiHelperActiveWrapper::DoCancel()
- {
- iAiHelperAppExitCode.Cancel();
- iAiHelperAppIapId.Cancel();
- iTimer.Cancel();
- iStoppingHelper = iModel->CloseHelperApplication();
- }
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::Start
-// ----------------------------------------------------------------------------
-//
-void CWsfLaunchAiHelperActiveWrapper::Start( TWsfWlanInfo& aInfo,
- TBool aConnectOnly,
- TBool aTestAccessPoint )
- {
- LOG_ENTERFN( "CWsfLaunchAiHelperActiveWrapper::Start" );
- iStoppingHelper = EFalse;
- Cancel(); // Cancel any request, just to be sure
- iState = EUninitialized;
- iUsedInfo = aInfo;
- iConnectOnly = aConnectOnly;
- iTestAccessPoint = aTestAccessPoint;
-
- if ( iStoppingHelper )
- {
- LOG_WRITE( "Helper was stopped - wait for a while" );
- iTimer.Cancel();
- iTimer.After( iStatus, KTimerTickInterval );
- }
- else
- {
- LOG_WRITE( "Helper was not alive" );
- TRequestStatus* status = &iStatus;
- User::RequestComplete(status, KErrNone);
- }
- SetActive();
- }
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfLaunchAiHelperActiveWrapper::RunL()
- {
- LOG_ENTERFN( "CWsfLaunchAiHelperActiveWrapper::RunL" );
- if ( iStatus == KErrNone )
- {
- if ( iState == EUninitialized )
- {
- LOG_WRITE( "Start launching ai helper" );
- // register for notification
- iAiHelperAppExitCode.Subscribe( iStatus );
- iModel->LaunchHelperApplicationL( iUsedInfo );
- iState = EInitialized;
- SetActive(); // Tell scheduler a request is active
- }
- else if (iState == EInitialized)
- {
- TInt exitCode( KErrNone );
- iAiHelperAppExitCode.Get( exitCode );
-
- LOG_WRITEF( "AiHelper returned %d", exitCode );
-
- if ( exitCode == KErrNone )
- {
- TInt iapId(0);
- iAiHelperAppIapId.Get( iapId );
- iUsedInfo.iIapId = TUint32( iapId );
- LOG_WRITEF( "AiHelper iap id = %d", iapId );
- if ( iUsedInfo.iIapId )
- {
- LOG_WRITE( "Iap id exist - connect" );
- iController->ConnectL( iUsedInfo, iConnectOnly,
- iTestAccessPoint );
- }
- else
- {
- LOG_WRITE( "No iap id from ai helper" );
- }
- }
- else
- {
- User::Leave(exitCode);
- }
- }
- else
- {
- LOG_WRITEF( "iState = %d", iState );
- }
- }
- else
- {
- LOG_WRITEF( "CWsfLaunchAiHelperActiveWrapper iStatus = %d",
- iStatus.Int() );
- }
- }
-
-// ----------------------------------------------------------------------------
-// CWsfLaunchAiHelperActiveWrapper::RunError
-// ----------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfLaunchAiHelperActiveWrapper::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfLaunchAiHelperActiveWrapper::RunError" );
- LOG_WRITEF( "aError = %d", aError );
-#else
-TInt CWsfLaunchAiHelperActiveWrapper::RunError( TInt /*aError*/ )
- {
-#endif
- return KErrNone;
- }
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfrefreshscanactivewrapper.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* 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: Implementation of CWsfRefreshScanActiveWrapper.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsflogger.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfrefreshscanactivewrapper.h"
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::CWsfRefreshScanActiveWrapper
-// --------------------------------------------------------------------------
-//
-CWsfRefreshScanActiveWrapper::CWsfRefreshScanActiveWrapper() :
- CActive(EPriorityStandard) // Standard priority
- {
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::NewLC
-// --------------------------------------------------------------------------
-//
-CWsfRefreshScanActiveWrapper* CWsfRefreshScanActiveWrapper::NewLC( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::NewLC" );
- CWsfRefreshScanActiveWrapper* self =
- new (ELeave) CWsfRefreshScanActiveWrapper();
- CleanupStack::PushL(self);
- self->ConstructL( aModel );
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::NewL
-// --------------------------------------------------------------------------
-//
-CWsfRefreshScanActiveWrapper* CWsfRefreshScanActiveWrapper::NewL( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::NewL" );
- CWsfRefreshScanActiveWrapper* self =
- CWsfRefreshScanActiveWrapper::NewLC( aModel );
- CleanupStack::Pop(); // self;
- return self;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfRefreshScanActiveWrapper::ConstructL( CWsfModel* aModel )
- {
- LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::ConstructL" );
- CActiveScheduler::Add(this); // Add to scheduler
- iModel = aModel;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::~CWsfRefreshScanActiveWrapper
-// --------------------------------------------------------------------------
-//
-CWsfRefreshScanActiveWrapper::~CWsfRefreshScanActiveWrapper()
- {
- LOG_ENTERFN(
- "WsfRefreshScanActiveWrapper::~WsfRefreshScanActiveWrapper" );
- Cancel(); // Cancel any request, if outstanding
- // Delete instance variables if any
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::DoCancel
-// --------------------------------------------------------------------------
-//
-void CWsfRefreshScanActiveWrapper::DoCancel()
- {
- LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::DoCancel" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::StartL
-// --------------------------------------------------------------------------
-//
-void CWsfRefreshScanActiveWrapper::Start()
- {
- LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::Start" );
- Cancel(); // Cancel any request, just to be sure
- iState = EUninitialized;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::RunL
-// --------------------------------------------------------------------------
-//
-void CWsfRefreshScanActiveWrapper::RunL()
- {
- LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::RunL" );
- if (iStatus == KErrNone)
- {
- if (iState == EUninitialized)
- {
- LOG_WRITE( "request scan" );
- iModel->RefreshScan( iPckg, iStatus );
- iState = EInitialized;
- SetActive(); // Tell scheduler a request is active
- }
- else if (iState == EInitialized )
- {
- LOG_WRITEF( "request result = %d", iPckg() );
- iModel->SetRefreshState( iPckg() );
- }
- else
- {
- LOG_WRITEF( "iState = %d", iState );
- }
- }
- else
- {
- LOG_WRITEF( "RefreshScanActiveWrapper iStatus = %d", iStatus.Int() );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfRefreshScanActiveWrapper::RunError
-// --------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfRefreshScanActiveWrapper::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfRefreshScanActiveWrapper::RunError" );
- LOG_WRITEF( "aError = %d", aError );
- return aError;
- }
-#else
-TInt CWsfRefreshScanActiveWrapper::RunError( TInt /*aError*/ )
- {
- return KErrNone;
- }
-#endif
-
-
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfsearchwlansdialog.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,218 +0,0 @@
-/*
-* 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: Implementation of CWsfSearchWlansDialog
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <badesca.h>
-#include <coemain.h>
-#include <eiklbx.h>
-#include <eikclbd.h>
-#include <eikclb.h>
-#include <AknIconArray.h>
-#include <wsfaipluginrsc.rsg>
-
-// INTERNAL INCLUDES
-#include "wsfsearchwlansdialog.h"
-#include "wsflogger.h"
-
-// MACROS
-#ifdef _DEBUG
- _LIT( KSearchDialogPanic, "CWsfSearchWlansDialog" );
- #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KSearchDialogPanic, __LINE__) )
-#else
- #define _ASS_D( cond ) {}
-#endif // DEBUG
-
-
-// CONSTRUCTION AND DESTRUCTION
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::NewL
-// --------------------------------------------------------------------------
-//
-CWsfSearchWlansDialog* CWsfSearchWlansDialog::NewL( TInt &aSelectedItem )
- {
- CWsfSearchWlansDialog* thisPtr = NewLC( aSelectedItem );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::NewLC
-// --------------------------------------------------------------------------
-//
-CWsfSearchWlansDialog* CWsfSearchWlansDialog::NewLC( TInt &aSelectedItem )
- {
- CWsfSearchWlansDialog* thisPtr =
- new ( ELeave ) CWsfSearchWlansDialog( aSelectedItem );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::~CWsfSearchWlansDialog
-// --------------------------------------------------------------------------
-//
-CWsfSearchWlansDialog::~CWsfSearchWlansDialog()
- {
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::CWsfSearchWlansDialog
-// --------------------------------------------------------------------------
-//
-CWsfSearchWlansDialog::CWsfSearchWlansDialog( TInt &aSelectedItem ) :
- CAknListQueryDialog( &aSelectedItem ),
- iSelectedItem( &aSelectedItem )
- {
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::ConstructL()
- {
- // nothing at the moment...
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::ProcessCommandL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::ProcessCommandL( TInt aCommandId )
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::ProcessCommandL" );
- CAknListQueryDialog::ProcessCommandL( aCommandId );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::UpdateHotSpotsL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::UpdateHotSpotsL( MDesCArray* aItemTextArray,
- TInt aCurrentItem )
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::UpdateHotSpotsL" );
- _ASS_D( ListBox() );
-
- SetItemTextArray( aItemTextArray );
- SetOwnershipType( ELbmDoesNotOwnItemArray );
- ListBox()->HandleItemAdditionL();
- if ( aCurrentItem < 0 || aCurrentItem >= aItemTextArray->MdcaCount() )
- {
- ListBox()->ClearSelection();
- }
- else
- {
- ListBox()->SetCurrentItemIndex( aCurrentItem );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::SelectedItem
-// --------------------------------------------------------------------------
-//
-TInt CWsfSearchWlansDialog::SelectedItem()
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::SelectedItem" );
- _ASS_D( ListBox() );
-
- return ListBox()->CurrentItemIndex();
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::StartConnectingAnimationL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::StartConnectingAnimationL()
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::StartConnectingAnimationL" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::ForceRefreshingL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::ForceRefreshingL()
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::ForceRefreshingL" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::MultilineControl
-// --------------------------------------------------------------------------
-//
-TBool CWsfSearchWlansDialog::MultilineControl()
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::MultilineControl" );
- return ETrue;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::UpdateViewL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::UpdateViewL( MDesCArray* /*aItemTextArray*/ )
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::UpdateViewL" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::DisplayEngineOffL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::DisplayEngineOffL()
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::DisplayEngineOffL" );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::PreLayoutDynInitL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::PreLayoutDynInitL()
- {
- LOG_ENTERFN( "CWsfSearchWlansDialog::PreLayoutDynInitL" );
- _ASS_D( ListBox() );
- // add the empty text here....
- HBufC* noWlansAvailable = iCoeEnv->AllocReadResourceLC(
- R_QTN_STATUS_NO_WLANS_AVAILABLE );
-
- ListBox()->View()->SetListEmptyTextL( *noWlansAvailable );
-
- CleanupStack::PopAndDestroy( noWlansAvailable );
- CAknListQueryDialog::PreLayoutDynInitL();
- }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfwlanlistactivewrapper.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,281 +0,0 @@
-/*
- * 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: Implementation of CWsfWLANListActiveWrapper.
- *
- */
-
-
-// INCLUDE FILES
-#include "wsflogger.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfaicontroller.h"
-#include "wsfwlanlistactivewrapper.h"
-
-
-/**
-* Number of retries to fetch wlan data
-*/
-static const TInt KRetries = 5;
-
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::CWsfWLANListActiveWrapper
-// ----------------------------------------------------------------------------
-//
-CWsfWLANListActiveWrapper::CWsfWLANListActiveWrapper() :
- CActive( EPriorityStandard ), // Standard priority
- iPtr( NULL, 0 )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWLANListActiveWrapper* CWsfWLANListActiveWrapper::NewLC( CWsfModel* aModel,
- TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::NewLC" );
- CWsfWLANListActiveWrapper* self =
- new (ELeave) CWsfWLANListActiveWrapper();
- CleanupStack::PushL(self);
- self->ConstructL( aModel, aController );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWLANListActiveWrapper* CWsfWLANListActiveWrapper::NewL( CWsfModel* aModel,
- TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::NewL" );
- CWsfWLANListActiveWrapper* self = CWsfWLANListActiveWrapper::NewLC(
- aModel, aController );
- CleanupStack::Pop(); // self;
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWLANListActiveWrapper::ConstructL( CWsfModel* aModel,
- TWsfAiController &aController )
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::ConstructL" );
- CActiveScheduler::Add(this); // Add to scheduler
- iModel = aModel;
- iController = &aController;
- iArray = CWsfWlanInfoArray::NewL();
- }
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::~CWsfWLANListActiveWrapper
-// ----------------------------------------------------------------------------
-//
-CWsfWLANListActiveWrapper::~CWsfWLANListActiveWrapper()
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::~CWsfWLANListActiveWrapper" );
- Cancel(); // Cancel any request, if outstanding
- // Delete instance variables if any
- if ( iBuffer )
- {
- delete iBuffer;
- }
- delete iArray;
- }
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfWLANListActiveWrapper::DoCancel()
- {
- }
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::Start
-// ----------------------------------------------------------------------------
-//
-void CWsfWLANListActiveWrapper::Start( TBool aStarUp )
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::Start" );
- Cancel(); // Cancel any request, just to be sure
- iStartUp = aStarUp;
- iState = EUninitialized;
- iRetriesLeft = KRetries;
- iPckgAllocatedSize() = 0;
- iPckgNeededSize() = 0;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete(status, KErrNone);
- }
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::GetWlanList
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoArray* CWsfWLANListActiveWrapper::GetWlanList()
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::GetWlanList" );
- return iArray;
- }
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::GetConnectedWLANNetwork
-// ----------------------------------------------------------------------------
-//
-TWsfWlanInfo CWsfWLANListActiveWrapper::GetConnectedWLANNetwork()
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::GetConnectedWLANNetwork" );
- return iConnectedWlan;
- }
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfWLANListActiveWrapper::RunL()
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::RunL" );
- if (iStatus == KErrNone)
- {
- if ( iState == EUninitialized )
- {
- LOG_WRITE( "Get WLAN list size" );
- iModel->GetWlanListSize( iPckgNeededSize, iStatus );
- iState = EInitialized;
- SetActive(); // Tell scheduler a request is active
- }
- else if ( iState == EInitialized )
- {
- LOG_WRITEF( "WLAN data buffer size = %d", iPckgNeededSize() );
-
- if ( !iPckgNeededSize() )
- {
- LOG_WRITE( "no data.." );
- iState = EProcessWLANListData;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete(status, KErrNone);
- }
- else
- {
- // alloc the required size buffer...
- delete iBuffer;
- iBuffer = NULL;
- iBuffer = HBufC8::NewL( iPckgNeededSize() );
- iPtr.Set( iBuffer->Des() );
-
- LOG_WRITE( "Get WLAN list" );
- iModel->GetWlanList( iPckgAllocatedSize, iPtr, iStatus );
- iState = EProcessWLANListData;
- SetActive(); // Tell scheduler a request is active
- }
- }
- else if ( iState == EProcessWLANListData )
- {
- LOG_WRITEF( "actual bytes occupied = %d", iPckgAllocatedSize() );
-
- if ( iPckgNeededSize() != iPckgAllocatedSize() )
- {
- // the buffer is not long enough... stop
- if ( iRetriesLeft > 0 )
- {
- LOG_WRITEF( "iRetriesLeft = %d", iRetriesLeft );
- iRetriesLeft--;
- iState = EUninitialized;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- return;
- }
- else
- {
- // no more retries
- User::Leave( KErrOverflow );
- }
- }
-
- iArray->Reset();
-
- if ( iPckgAllocatedSize() )
- {
- iArray->AppendFromStreamBufferL( iPtr );
- }
-
- LOG_WRITEF( "Array count=%d startup=%d", iArray->Count(), iStartUp );
-
- iModel->GetConnectedWlanDetails( iPckg, iConnectedWlan, iStatus );
- iState = EGetConnectedNetwork;
- SetActive(); // Tell scheduler a request is active
- }
- else if ( iState == EGetConnectedNetwork )
- {
- LOG_WRITEF( "request result = %d", iPckg() );
-
- if ( !iPckg() )
- {
- LOG_WRITE( "result is false, so wlaninfo is marked not connected" );
- iConnectedWlan.iConnectionState = ENotConnected;
- }
-
- LOG_WRITEF( "Connected = %d", iConnectedWlan.Connected() );
-
- LOG_WRITEF( "iConnectedWlan state = %d",
- iConnectedWlan.iConnectionState );
-
- if ( iStartUp )
- {
- iController->StartupRefreshDataReadyL();
- }
- else
- {
- iController->WlanListDataReadyL();
- }
- }
- else
- {
- LOG_WRITEF( "iState = %d", iState );
- }
- }
- else
- {
- LOG_WRITEF( "WLANListActiveWrapper iStatus = %d", iStatus.Int() );
- }
- }
-
-// ----------------------------------------------------------------------------
-// CWsfWLANListActiveWrapper::RunError
-// ----------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfWLANListActiveWrapper::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfWLANListActiveWrapper::RunError" );
- LOG_WRITEF( "aError = %d", aError );
- return aError;
- }
-#else
-TInt CWsfWLANListActiveWrapper::RunError( TInt /*aError*/ )
- {
- return KErrNone;
- }
-#endif
--- a/wlanutilities/wlansniffer/apwizard/bwins/wsfapwizardu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
- ??1CWsfWlanIapWizard@@UAE@XZ @ 1 NONAME ; CWsfWlanIapWizard::~CWsfWlanIapWizard(void)
- ?CreateAccessPointL@CWsfWlanIapWizard@@QAEHXZ @ 2 NONAME ; int CWsfWlanIapWizard::CreateAccessPointL(void)
- ?LaunchWizardL@CWsfWlanIapWizard@@QAEHAAVTWsfWlanInfo@@H@Z @ 3 NONAME ; int CWsfWlanIapWizard::LaunchWizardL(class TWsfWlanInfo &, int)
- ?NewL@CWsfWlanIapWizard@@SAPAV1@XZ @ 4 NONAME ; class CWsfWlanIapWizard * CWsfWlanIapWizard::NewL(void)
- ?NewLC@CWsfWlanIapWizard@@SAPAV1@XZ @ 5 NONAME ; class CWsfWlanIapWizard * CWsfWlanIapWizard::NewLC(void)
-
--- a/wlanutilities/wlansniffer/apwizard/data/wsfapwizard.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-/*
-* 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: Resource definitions for project ApWizard
-*
-*/
-
-
-
-NAME WLWZ
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <AvkonIcons.hrh>
-
-
-#include <wsfapwizard.loc>
-#include <wsfmainapplication.loc>
-#include "wsfapwizard.hrh"
-
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE TBUF16 { buf=""; }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_enter_network_ssid
-// String for WLAN network name prompt
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_enter_network_ssid
- {
- buf = qtn_wlan_prmpt_network_name;
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_cmon_quest_create_wlan_iap
-// String for create AP query
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_cmon_quest_create_wlan_iap
- {
- buf = qtn_cmon_quest_create_wlan_iap;
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_netw_conset_info_eap_settings_default
-// String for default EAP settings infonote
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_netw_conset_info_eap_settings_default
- {
- buf = qtn_netw_conset_info_eap_settings_default;
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wlan_info_no_networks_found
-// String for no networks infonote
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_wlan_info_no_networks_found
- {
- buf = qtn_wlan_info_no_networks_found;
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_query_general
-// Multi-purpose textfield + ok-cancel dialog
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_wizard_query_general
- {
- flags = EGeneralQueryFlags | EEikDialogFlagNotifyEsc;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_DATA_QUERY
- {
- layout = EDataLayout;
- control = EDWIN
- {
- default_case = EAknEditorLowerCase;
- avkon_flags = EAknEditorFlagNoT9;
- };
- };
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_modes
-// Security mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_auth_modes
- {
- items =
- {
- LBUF
- {
- txt = qtn_netw_conset_wlan_security_mode_open;
- },
- LBUF
- {
- txt = qtn_netw_conset_wlan_security_mode_wep;
- },
- LBUF
- {
- txt = qtn_netw_conset_wlan_security_mode_802_1x;
- },
- LBUF
- {
- txt = qtn_netw_conset_wlan_security_mode_wpa;
- }
- };
- }
-
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_mode
-// Security mode query
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_auth_mode
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_wizard_auth_modes;
- };
- heading = qtn_netw_conset_prmpt_wlan_nw_security_mode;
- };
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_modes_ad_hoc
-// Security mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_auth_modes_ad_hoc
- {
- items =
- {
- LBUF
- {
- txt = qtn_netw_conset_wlan_security_mode_open;
- },
- LBUF
- {
- txt = qtn_netw_conset_wlan_security_mode_wep;
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_mode_ad_hoc
-// Security mode query
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_auth_mode_ad_hoc
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_wizard_auth_modes_ad_hoc;
- };
- heading = qtn_netw_conset_prmpt_wlan_nw_security_mode;
- };
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_network_modes
-// Network mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_network_modes
- {
- items =
- {
- LBUF
- {
- txt = qtn_wlan_network_mode_infra_public;
- },
- LBUF
- {
- txt = qtn_wlan_network_mode_infra_hidden;
- },
- LBUF
- {
- txt = qtn_wlan_network_mode_adhoc_public;
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_network_mode
-// Query of network modes
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_network_mode
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_wizard_network_modes;
- };
- heading = qtn_netw_conset_prmpt_wlan_nw_mode_and_status;
- };
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_wpa_modes
-// WPA mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_wpa_modes
- {
- items =
- {
- LBUF
- {
- txt = qtn_netw_conset_prmpt_wpa_mode_eap;
- },
- LBUF
- {
- txt = qtn_netw_conset_prmpt_wpa_mode_psk;
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_wpa_mode
-// Query of WPA modes
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_wpa_mode
- {
- flags = EGeneralQueryFlags;
- softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSinglePopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- array_id = r_qtn_wizard_wpa_modes;
- };
- heading = qtn_netw_conset_prmpt_wlan_wpa_mode;
- };
- }
- };
- }
-
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_confirmation_query
-// Multi-purpose yes-no query
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_wizard_confirmation_query
- {
- flags = EGeneralQueryFlags;
- buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
- items =
- {
- DLG_LINE
- {
- type = EAknCtQuery;
- id = EGeneralQuery;
- control = AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- };
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_searching_wlan_wait_note
-// Wait note while searching for networks
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_searching_wlan_wait_note
- {
- flags = EAknWaitNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EWaitNoteSearchingWlans;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- singular_label = qtn_wlan_wait_searching_networks;
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- };
- }
- };
- }
-
--- a/wlanutilities/wlansniffer/apwizard/eabi/wsfapwizardu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
- _ZN17CWsfWlanIapWizard13LaunchWizardLER12TWsfWlanInfoi @ 1 NONAME
- _ZN17CWsfWlanIapWizard18CreateAccessPointLEv @ 2 NONAME
- _ZN17CWsfWlanIapWizard4NewLEv @ 3 NONAME
- _ZN17CWsfWlanIapWizard5NewLCEv @ 4 NONAME
- _ZN17CWsfWlanIapWizardD0Ev @ 5 NONAME
- _ZN17CWsfWlanIapWizardD1Ev @ 6 NONAME
- _ZN17CWsfWlanIapWizardD2Ev @ 7 NONAME
-
--- a/wlanutilities/wlansniffer/apwizard/group/apwizard.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* 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: Project definition file for project ApWizard
-*
-*/
-
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET wsfapwizard.dll
-TARGETTYPE dll
-UID 0x1000008e 0x10281CAD
-
-CAPABILITY CAP_GENERAL_DLL
-
-
-START RESOURCE ../data/wsfapwizard.rss
-HEADER
-TARGETPATH resource
-LANGUAGE_IDS
-END
-
-
-// Source files
-SOURCEPATH ../src
-SOURCE wsfwlaniapwizard.cpp
-SOURCE wsfwlaniapcreator.cpp
-SOURCE wsfwlanssiddiscovery.cpp
-SOURCE wsfactivewaiter.cpp
-
-
-// own headers
-USERINCLUDE ../inc
-
-// inner API
-USERINCLUDE ../../inc
-
-// private API
-USERINCLUDE ../../../inc
-
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-
-
-// Used system libraries
-LIBRARY euser.lib
-LIBRARY efsrv.lib
-LIBRARY bafl.lib
-LIBRARY estor.lib
-LIBRARY commsdat.lib
-LIBRARY avkon.lib
-LIBRARY cone.lib
-LIBRARY commonengine.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikdlg.lib
-LIBRARY eikcore.lib
-LIBRARY esock.lib
-LIBRARY commonui.lib
-LIBRARY charconv.lib
-
-// Used project libraries
-LIBRARY wsfwlaninfo.lib
-LIBRARY cmmanagerdatabase.lib
-LIBRARY cmmanager.lib
-LIBRARY connectionuiutilities.lib
-LIBRARY ecom.lib
-
-DEBUGLIBRARY flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/apwizard/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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: Build information file for project ApWizard
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-../inc/wsfwlaniapwizard.h |../../inc/wsfwlaniapwizard.h
-
-// export localised loc file
-../loc/wsfapwizard.loc MW_LAYER_LOC_EXPORT_PATH(wsfapwizard.loc)
-
-../rom/wsfapwizard.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfapwizard.iby)
-../rom/wsfapwizardresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfapwizardresources.iby)
-
-
-PRJ_MMPFILES
-apwizard.mmp
-
-
-// End of file
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfactivewaiter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* 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 CWsfActiveWaiter
-*
-*/
-
-
-
-#ifndef C_WSFACTIVEWAITER_H
-#define C_WSFACTIVEWAITER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-// CLASS DEFINITION
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest()
- *
- * Usage:
- * @code
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest() == KErrNone )
- * {
- * // handle success
- * }
- * else
- * {
- * // handle failure
- * }
- * CleanupStack::PopAndDestroy( waiter );
- * @endcode
- *
- * @lib wsfserver.exe
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ): public CActive
- {
- public:
- /**
- * Factory function
- * @since S60 5.0
- * @return CWsfActiveWaiter instance.
- */
- static CWsfActiveWaiter* NewL();
-
- /**
- * Factory function
- * @since S60 5.0
- * @return CWsfActiveWaiter instance.
- */
- static CWsfActiveWaiter* NewLC();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- virtual ~CWsfActiveWaiter();
-
- protected:
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfActiveWaiter();
-
- protected: // from CActive
-
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- public: // new methods
- /**
- * Waits for its TRequestStatus to be completed
- * @since S60 5.0
- * @return Error code returned from server after request is completed
- */
- TInt WaitForRequest();
-
- protected: // data
- /**
- * Nested waitloop
- */
- CActiveSchedulerWait iWait;
- };
-
-#endif // C_WSFACTIVEWAITER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfapwizard.hrh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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: Resource headers for project ApWizard
-*
-*/
-
-
-
-#ifndef WSFAPWIZARD_HRH
-#define WSFAPWIZARD_HRH
-
-/**
-* Dialog ID's in ApWizard
-*/
-enum TWsfApWizardDialogIds
- {
- EWaitNoteSearchingWlans = 5000
- };
-
-
-#endif // WSFAPWIZARD_HRH
-
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfwlaniapcreator.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* 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 CWsfWlanIapCreator
-*
-*/
-
-
-
-
-#ifndef C_WSFWLANIAPCREATOR_H
-#define C_WSFWLANIAPCREATOR_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <cmmanagerext.h>
-#include <cmpluginwlandef.h>
-
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-
-// CLASS DEFINITION
-/**
-* Class collects various IAP creation related functions.
-*
-* @lib wsfapwizard.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanIapCreator ): public CBase
- {
- public:
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance
- */
- static CWsfWlanIapCreator* NewL();
-
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance
- */
- static CWsfWlanIapCreator* NewLC();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- ~CWsfWlanIapCreator();
-
-
- private: // constructors
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfWlanIapCreator();
-
- /**
- * Second-phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
-
- public: // new methods
- /**
- * Sets the default destination for subsequent access point
- * creation calls
- * @since S60 5.0
- * @param aDestinationId The id of the new default destination
- */
- void SetDefaultDestination( const TUint32 aDestinationId );
-
- /**
- * Creates an access point to wlan.
- * @since S60 5.0
- * @param aWlanInfo Contains all available data from wlan scanner.
- * Note: the network name field may change if
- * IAP already exists, e.g. MyWlan -> MyWlan(01).
- * Also the IAP id is changed on successful creation
- * @param aPresharedKey The used key to access network
- * @param aIsHex ETrue if the key is given in hexadecimal string format.
- * Applicable only in case of WEP authentication.
- */
- void CreateAccessPointL( TWsfWlanInfo& aWlanInfo,
- const TDesC& aPresharedKey,
- const TBool aIsHex );
-
-
- private: // new methods
- /**
- * Creates connection method using the given WLAN parameters
- * @since S60 5.0
- * @param aWlanInfo WLAN parameters.
- * Note: the network name field may change if
- * IAP already exists, e.g. MyWlan -> MyWlan(01)
- * @return The id of the created IAP
- */
- TUint32 CreateConnectionMethodL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Stores WPA data
- * @since S60 5.0
- * @param aIapId The IAP for which WPA data are to be stored
- * @param aPresharedKey WPA key string. MUST be correct as the function
- * DOES NOT verify its correctness!
- * @param aSecMode Security mode (to tell apart WPA-PSK/EAP)
- */
- void StoreWPADataL( const TInt aIapId,
- const TDesC& aPresharedKey,
- const CMManager::TWlanSecMode aSecMode );
-
- /**
- * Stores WEP key data
- * @param S60 5.0
- * @param aIapId The IAP for which WEP data are to be stored
- * @param aWepKey WEP key string. MUST be correct as the function
- * DOES NOT verify its correctness!
- * @param aIsHexWep To indicate whether the passed key is in hex format
- */
- void StoreWEPDataL( const TInt aIapId,
- const TDesC& aWepKey,
- const TBool aIsHexWep );
-
- /**
- * Converts an ascii sequence to hexadecimal character string
- * @since S60 5.0
- * @param aSource The ASCII string
- * @param aDest The destination for the hex string
- */
- void ConvertAsciiToHex( const TDesC8& aSource, TDes8& aDest );
-
- /**
- * Cleanup function for commsdat session
- * @since S60 5.0
- * @param aDbSession The commsdat session to clean up
- */
- static void RollbackCommsDat( TAny* aDbSession );
-
-
- private: // data
- /**
- * Commsdat session object (owned)
- */
- CommsDat::CMDBSession *iDbSession;
-
- /**
- * Handle to the CmManager
- */
- RCmManagerExt iCmManagerExt;
-
- /**
- * Default destination id
- */
- TUint32 iDestinationId;
- };
-
-#endif // C_WSFWLANIAPCREATOR_H
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfwlaniapwizard.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* 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 CWsfWlanIapCreator
-*
-*/
-
-
-
-#ifndef C_WSFWLANIAPWIZARD_H
-#define C_WSFWLANIAPWIZARD_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <AknWaitDialog.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanIapCreator;
-class CWsfWlanSsidDiscovery;
-
-
-// CLASS DEFINITION
-/**
-* Class to control the user interaction during access point creation
-*
-* @lib wsfapwizard.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanIapWizard ): public CBase,
- public MProgressDialogCallback
- {
- public:
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance
- */
- IMPORT_C static CWsfWlanIapWizard* NewL();
-
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance
- */
- IMPORT_C static CWsfWlanIapWizard* NewLC();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- IMPORT_C ~CWsfWlanIapWizard();
-
-
- private:
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfWlanIapWizard();
-
- /**
- * Second-phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
-
- private: // from MProgressDialogCallback
-
- /**
- * Callback method. Gets called when a dialog is dismissed.
- * @since S60 5.0
- * @param aButtonId The button which caused the dismiss
- */
- void DialogDismissedL( TInt aButtonId );
-
-
- public: // new methods
- /**
- * Starts the IAP creation wizard using the given wlaninfo item
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo with the already known network details
- * @param aDefineAccessPoint If ETrue, 'Define access point' was
- * selected from 'Options' menu
- * @return ETrue on success, otherwise EFalse
- */
- IMPORT_C TBool LaunchWizardL( TWsfWlanInfo& aWlanInfo,
- TBool aDefineAccessPoint );
-
- /**
- * Creates the accesspoint using the entered data
- * @since S60 5.0
- * @return ETrue on success, EFalse if IAP creation was cancelled
- */
- IMPORT_C TBool CreateAccessPointL();
-
-
- private:
- /**
- * Makes necessary questions when creating the IAP
- * @since S60 5.0
- */
- void AskNetworkDetailsL();
-
- /**
- * Prompts for the WLAN SSID in case of hidden/unlisted networks
- * @since S60 5.0
- * @return Buffer containing the entered SSID
- */
- HBufC* AskSsidL();
-
- /**
- * General purpose text query
- * @since S60 5.0
- * @param aQueryStringResource Resource id of the caption string
- * @param aVariable The buffer to put the entered data into
- * @param aMaxLength Max length of the buffer
- * @return Id of the button which dismissed the query
- */
- TInt QueryTextL( TInt aQueryStringResource,
- TDes& aVariable,
- const TInt& aMaxLength );
-
- /**
- * Queries the secure key
- * @since S60 5.0
- * @return ETrue if query was accepted, EFalse on cancel
- */
- TBool QuerySecureKeyL();
-
- /**
- * Cleanup function for the searching for wlan waitnote
- * @since S60 5.0
- * @param aPtr Pointer to this class
- */
- static void DismissWaitNote( TAny* aPtr );
-
-
- /**
- * Initializes the resource file in the given UI context
- * @since S60 5.0
- * @param aEnv The current UI environment
- * @return Resource file offset
- */
- static TInt InitResourcesL( CEikonEnv& aEnv );
-
- /**
- * Frees the given resource in the current UI context
- * @since S60 5.0
- * @param aEnv The current UI environment
- * @param aResOffset The resource to release
- */
- static void ReleaseResources( CEikonEnv& aEnv, TInt aResOffset );
-
-
- private: // data
- /**
- * Reference to the Eikon environment (not owned)
- */
- CEikonEnv& iEnv;
-
- /**
- * Password for the current network (owned)
- */
- HBufC* iUsedPassword;
-
- /**
- * In case of WEP networks it indicates whether the password is given
- * in hexadecimal format
- */
- TBool iIsHexWep;
-
- /**
- * IAP creator object (owned)
- */
- CWsfWlanIapCreator* iCreator;
-
- /**
- * Resource file offset
- */
- TInt iResourceFileOffset;
-
- /**
- * Pointer to the wlaninfo of the current network (not owned)
- */
- TWsfWlanInfo* iWlanInfo;
-
- /**
- * If ETrue, 'Define access point' was selected
- */
- TBool iDefineNewAccessPoint;
-
- /**
- * "Searching WLAN networks" wait dialog (owned)
- */
- CAknWaitDialog* iWaitDialog;
-
- /**
- * WLAN discovery object (owned)
- */
- CWsfWlanSsidDiscovery* iSsidDiscovery;
-
- };
-
-
-#endif // C_WSFWLANIAPWIZARD_H
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfwlanssiddiscovery.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* 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 CWsfWlanSsidDiscovery
-*
-*/
-
-
-
-#ifndef C_WSFWLANSSIDDISCOVERY_H
-#define C_WSFWLANSSIDDISCOVERY_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <cmpluginwlandef.h>
-
-
-// FORWARD DECLARATIONS
-class CWlanMgmtClient;
-class CWlanScanInfo;
-
-
-// CLASS DEFINITION
-/**
-* Class to carry out WLAN SSID discovery
-*
-* @since S60 5.0
-* @lib wsfapwizard.lib
-*/
-NONSHARABLE_CLASS( CWsfWlanSsidDiscovery ): public CActive
- {
- /**
- * States of the WLAN discovery
- */
- enum TWsfWlanDiscoveryState
- {
- /**
- * Scanning has been started
- */
- EScanning,
-
- /**
- * Scanning finished
- */
- EDone,
-
- /**
- * Scanning was aborted
- */
- EAborted
- };
-
-
- public:
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance
- */
- static CWsfWlanSsidDiscovery* NewL();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- ~CWsfWlanSsidDiscovery();
-
-
- private:
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfWlanSsidDiscovery();
-
- /**
- * Second-phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
-
- public: // new methods
- /**
- * Executes a direct/broadcast scan
- * @since S60 5.0
- * @param aSsid The SSID to look for in case of direct scan
- * @param aBroadcast If set to ETrue, does a broadcast scan,
- * otherwise direct
- * @param aNetworkMode Network mode for the found network
- * @param aSecurityMode Security mode for the found network
- * @param aUsesPsk ETrue if the found network uses PSK in WPA mode
- * @return ETrue if the scan was successful, otherwise EFalse
- */
- TBool ScanForSsidL( TWlanSsid& aSsid,
- TBool aBroadcast,
- CMManager::TWlanNetMode& aNetworkMode,
- CMManager::TWlanSecMode& aSecurityMode,
- TBool& aUsesPsk );
-
- /**
- * Aborts the scanning process
- * @since S60 5.0
- */
- void AbortScanning();
-
-
- private: // from CActive
-
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
-
- private: // data
- /**
- * Progress state
- */
- TUint32 iProgState;
-
- /**
- * Nested waitloop
- */
- CActiveSchedulerWait iWait;
-
- /**
- * Wlan management client interface (owned)
- */
- CWlanMgmtClient* iWlanMgmt;
-
- /**
- * Scan info object (owned)
- */
- CWlanScanInfo* iScanInfo;
- };
-
-
-#endif // C_WSFWLANSSIDDISCOVERY_H
--- a/wlanutilities/wlansniffer/apwizard/loc/wsfapwizard.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* 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: Localization strings for project AP Wizard
-*
-*/
-
-
-//d: Query to make sure the user wants to create an IAP for the given WLAN network
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_cmon_quest_create_wlan_iap "Create internet access point for WLAN network '%U'?"
-
-//d: An information note with the text is shown if access point creation succeed
-//d: %U = Name of the access point which was created.
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_cmon_conf_wlan_iap_created "Internet access point defined for WLAN network '%U'"
-
-
-
-//------------------------------------------------------------------------------
-// Following string are defined on networking specification *
-//------------------------------------------------------------------------------
-
-
-//d: A data query prompt text
-//d: copied from S60: qtn_wlan_prmpt_network_name
-//l: popup_query_data_window
-//r:3.0
-//
-#define qtn_wlan_prmpt_network_name "WLAN network name:"
-
-
-
-//d: Title of the Network mode dialog
-//d: in the manual configuration of a new WLAN connection method
-//l: heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wlan_nw_mode_and_status "Network mode and status:"
-
-//d:Network mode selection list, sets the network mode setting
-//d:to 'infrastructure' and network status to 'Public'
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_wlan_network_mode_infra_public "Infrastructure (public)"
-
-//d:Network mode selection list, sets the network mode setting
-//d:to 'infrastructure' and network status to 'hidden'
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_wlan_network_mode_infra_hidden "Infrastructure (hidden)"
-
-//d:Network mode selection list, sets the network mode setting
-//d:to 'Ad-hoc' and network status to 'Public'
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_wlan_network_mode_adhoc_public "Ad-hoc (public)"
-
-//d: Title of the Security Mode selection dialog
-//d: in the manual configuration of a new WLAN connection method
-//l: heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wlan_nw_security_mode "Security Mode:"
-
-//d:Default value for WLAN security mode
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_open "Open network"
-
-//d:Security settings mode "WEP"
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_wep "WEP"
-
-//d:Security settings mode "802.1x"
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_802_1x "802.1x"
-
-//d:Security settings mode "WPA/WPA2"
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_wpa "WPA/WPA2"
-
-
-
-//d: Title of the WPA/WPA2 mode selection dialog in the manual
-//d: configuration of a new WLAN connection method
-//l: heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wlan_wpa_mode "WPA/WPA2 mode:"
-
-//d:EAP item in the WPA/WPA2 mode selection dialog
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wpa_mode_eap "EAP"
-
-//d:Pre-shared item item in the WPA/WPA2 mode selection dialog
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wpa_mode_psk "Pre-shared key"
-
-//d: Note to indicate to user that the default EAP values have
-//d: been set and advanced values can be edited in the
-//d: security settings of the connection method
-//l: popup_note_window
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_info_eap_settings_default "Default EAP values set. Configure advanced settings by editing the method."
-
-//d: Text of an information note used to ensure the user the a new connection
-//d: method has been added successfully.
-//l: popup_note_window
-//w:
-//r: 5.0
-//
-#define qtn_netw_conset_conf_new_method_added "New connection method for '%U' added"
-
--- a/wlanutilities/wlansniffer/apwizard/rom/wsfapwizard.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* 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: Image description file for project ApWizard
-*
-*/
-
-
-
-
-
-#ifndef WSFAPWIZARD_IBY
-#define WSFAPWIZARD_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApWizard
-
-#include <data_caging_paths_for_iby.hrh>
-
-file=ABI_DIR\BUILD_DIR\wsfapwizard.dll SHARED_LIB_DIR\wsfapwizard.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAPWIZARD_IBY
--- a/wlanutilities/wlansniffer/apwizard/rom/wsfapwizardresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* 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: Image description file for project ApWizard
-*
-*/
-
-
-
-
-#ifndef WSFAPWIZARDRESOURCES_IBY
-#define WSFAPWIZARDRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApWizardResources
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=DATAZ_\RESOURCE_FILES_DIR\wsfapwizard.rsc RESOURCE_FILES_DIR\wsfapwizard.rsc
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAPWIZARDRESOURCES_IBY
--- a/wlanutilities/wlansniffer/apwizard/src/wsfactivewaiter.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* 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: Implementation of CWsfActiveWaiter
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL()
- {
- CWsfActiveWaiter* self = NewLC();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewLC
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewLC()
- {
- CWsfActiveWaiter* self = new ( ELeave ) CWsfActiveWaiter();
- CleanupStack::PushL( self );
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter():
- CActive( CActive::EPriorityStandard )
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::~CWsfActiveWaiter()
- {
- Cancel();
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::DoCancel()
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::RunL()
- {
- LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
- if ( iWait.IsStarted() )
- {
- LOG_WRITE("async call completed, resuming.");
- iWait.AsyncStop();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest
-// ---------------------------------------------------------
-//
-TInt CWsfActiveWaiter::WaitForRequest()
- {
- LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
- SetActive();
- iWait.Start();
-
- return iStatus.Int();
- }
-
-// End of File
-
--- a/wlanutilities/wlansniffer/apwizard/src/wsfwlaniapcreator.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,609 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanIapCreator
-*
-*/
-
-
-
-
-// EXTERNAL INCLUDES
-#include <wlancontainer.h>
-#include <EapType.h>
-#include <cmdestinationext.h>
-#include <utf.h>
-
-// CLASS HEADER
-#include "wsfwlaniapcreator.h"
-
-// INTERNAL INCLUDES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-using namespace CMManager;
-
-
-/**
-* Order of first WEP key
-*/
-static const TInt KFirstWepKey = 0;
-
-/**
-* WEP authentication modes
-*/
-static const TInt KWepAuthOpen = 0; // Open authentication
-
-/**
-* Max length of WPA key
-*/
-static const TUint KWpaKeyMaxLength = 64;
-
-/**
-* Max length of WEP key
-*/
-static const TUint KMaxWepKeyLen = 26;
-
-
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator* CWsfWlanIapCreator::NewL()
- {
- CWsfWlanIapCreator* thisPtr = NewLC();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator* CWsfWlanIapCreator::NewLC()
- {
- CWsfWlanIapCreator* thisPtr = new (ELeave) CWsfWlanIapCreator();
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::~CWsfWlanIapCreator
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator::~CWsfWlanIapCreator()
- {
- delete iDbSession;
- iCmManagerExt.Close();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::CWsfWlanIapCreator
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator::CWsfWlanIapCreator()
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::ConstructL()
- {
- iDbSession = CommsDat::CMDBSession::NewL( CMDBSession::LatestVersion() );
- iCmManagerExt.OpenL();
- iDestinationId = 0;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::StoreWPADataL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::StoreWPADataL( const TInt aIapId,
- const TDesC& aPresharedKey,
- const CMManager::TWlanSecMode aSecMode )
- {
- LOG_ENTERFN( "CWsfWlanIapCreator::StoreWPADataL" );
-
- CCDIAPRecord *iapRec = static_cast<CCDIAPRecord*>
- ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
-
- CleanupStack::PushL( iapRec );
-
- iapRec->SetRecordId( aIapId );
- iapRec->LoadL( *iDbSession );
-
- TUint32 serviceId = TUint32( iapRec->iService );
-
- LOG_WRITEF("IAP(%d).serviceID = %d", aIapId, serviceId );
-
- // we have the service id, now we can flush the iap record
- CleanupStack::PopAndDestroy( iapRec );
-
- // search for the record
- CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>(
- CCDRecordBase::RecordFactoryL( 0 ) );
- CleanupStack::PushL( generic );
- generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
- generic->LoadL( *iDbSession );
-
- CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
- ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
-
- // prime with service id
- *sidField = serviceId;
-
- TBool found = generic->FindL( *iDbSession );
-
- LOG_WRITE( "saving common WPA settings..." );
- TBool usesPsk( aPresharedKey.Length() > 0 );
-
- // Save PreShared Key as 8 bit string
- TBuf8<KWpaKeyMaxLength> keyWPA;
- keyWPA.Copy( aPresharedKey );
- TInt len( keyWPA.Length() );
- LOG_WRITEF( "PSK:[%S] len = %d", &aPresharedKey, len );
-
-
- CMDBField<TUint>* enableWpaPskField = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) );
- enableWpaPskField->SetL( usesPsk );
-
- CMDBField<TUint>* secModeField = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) );
- secModeField->SetL( aSecMode );
-
- CMDBField<TDesC8>* wpaPskField = static_cast<CMDBField<TDesC8>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) );
- wpaPskField->SetL( keyWPA );
-
- // Save PreShared Key length
- CMDBField<TUint>* keyLengthField = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) );
- keyLengthField->SetL( keyWPA.Length() );
-
-
- if ( !usesPsk )
- {
- // not PSK -> must be EAP
- LOG_WRITE( "saving EAP info..." );
- RImplInfoPtrArray eapArray;
- REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray );
- CleanupClosePushL( eapArray );
-
- for ( TInt i = 0; i < eapArray.Count(); ++i )
- {
- // IsDisallowedOutsidePEAP actually means IsDisallowedOutsideTunnel
- if ( !CEapType::IsDisallowedOutsidePEAP( *eapArray[i] ) )
- {
- CEapType* eapType = CEapType::NewL( eapArray[i]->DataType(),
- ELan,
- serviceId );
- CleanupStack::PushL( eapType );
-
- eapType->SetIndexL( ELan, serviceId );
- CleanupStack::PopAndDestroy( eapType );
- }
- }
-
- eapArray.ResetAndDestroy();
- CleanupStack::PopAndDestroy( &eapArray );
- }
-
- if ( !found )
- {
- // there wasn't any wlan service record, we have to create it now
- LOG_WRITE("new service record");
- generic->SetRecordId( KCDNewRecordRequest );
- generic->StoreL( *iDbSession );
- }
- else
- {
- // modify existing record
- LOG_WRITE("existing service record");
- generic->ModifyL( *iDbSession );
- }
-
- CleanupStack::PopAndDestroy( generic );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::StoreWEPDataL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::StoreWEPDataL( const TInt aIapId,
- const TDesC& aWepKey,
- const TBool aIsHexWep )
- {
- LOG_ENTERFN( "CWsfWlanIapCreator::StoreWEPDataL" );
-
- CCDIAPRecord *iapRec = static_cast<CCDIAPRecord*>
- ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
-
- CleanupStack::PushL( iapRec );
-
- iapRec->SetRecordId( aIapId );
- iapRec->LoadL( *iDbSession );
-
- TUint32 serviceId = TUint32( iapRec->iService );
- LOG_WRITEF("IAP(%d).serviceID = %d", aIapId, serviceId );
-
- CleanupStack::PopAndDestroy( iapRec );
-
-
- CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
- ( CCDRecordBase::RecordFactoryL( 0 ) );
- CleanupStack::PushL( generic );
- generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
- generic->LoadL( *iDbSession );
-
- CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
- ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
-
- // prime with service id
- *sidField = serviceId;
-
- TBool found = generic->FindL( *iDbSession );
-
- LOG_WRITE( "saving WEP settings..." );
-
-
- CMDBField<TUint>* indexField = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) );
- indexField->SetL( KFirstWepKey );
-
- // Save authentication mode
- CMDBField<TUint>* authenticationField = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) );
- authenticationField->SetL( KWepAuthOpen );
-
-
-
- // now we need to convert the key to 8bit and to hex
- // and again detect the required bits
- TBuf8<KMaxWepKeyLen> key;
-
- // convert to 8 bit
- key.Copy( aWepKey );
-
-
- if ( !aIsHexWep )
- {
- // Must be converted to hexa and stored as a hexa
- // Ascii key is half the length of Hex
- HBufC8* buf8Conv = HBufC8::NewLC( key.Length()*2 );
- TPtr8 bufptr( buf8Conv->Des() );
- ConvertAsciiToHex( key, bufptr );
-
- CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
- wepKey1Field->SetL( buf8Conv->Des() );
-
- CleanupStack::PopAndDestroy( buf8Conv );
- }
- else
- {
- // already in hexa format
- CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
- wepKey1Field->SetL( key );
- }
-
-
- // write default values to the rest of the columns
- key.Zero();
-
- CMDBField<TDesC8>* wepKey2Field = static_cast<CMDBField<TDesC8>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) );
- wepKey2Field->SetL( key );
- CMDBField<TDesC8>* wepKey3Field = static_cast<CMDBField<TDesC8>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) );
- wepKey3Field->SetL( key );
- CMDBField<TDesC8>* wepKey4Field = static_cast<CMDBField<TDesC8>*>
- ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) );
- wepKey4Field->SetL( key );
-
-
- // write format data
- TUint fmt( aIsHexWep );
-
- CMDBField<TUint>* formatKey1Field = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) );
- formatKey1Field->SetL( fmt );
- CMDBField<TUint>* formatKey2Field = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) );
- formatKey2Field->SetL( fmt );
- CMDBField<TUint>* formatKey3Field = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) );
- formatKey3Field->SetL( fmt );
- CMDBField<TUint>* formatKey4Field = static_cast<CMDBField<TUint>*>
- ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) );
- formatKey4Field->SetL( fmt );
-
-
- if ( !found )
- {
- // there wasn't any wlan service record, we have to create it now
- LOG_WRITE("new service record");
- generic->SetRecordId( KCDNewRecordRequest );
- generic->StoreL( *iDbSession );
- }
- else
- {
- // modify existing record
- LOG_WRITE("existing service record");
- generic->ModifyL( *iDbSession );
- }
-
- CleanupStack::PopAndDestroy( generic );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::ConvertAsciiToHex
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::ConvertAsciiToHex( const TDesC8& aSource,
- TDes8& aDest )
- {
- LOG_ENTERFN( "CWsfWlanIapCreator::ConvertAsciiToHex" );
- _LIT8( hex, "0123456789ABCDEF" );
- TInt size = aSource.Size();
- aDest.Zero();
-
- for ( TInt ii = 0; ii < size; ii++ )
- {
- TText8 ch = aSource[ii];
- aDest.Append( hex()[(ch/16)&0x0f] );
- aDest.Append( hex()[ch&0x0f] );
- }
- }
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::SetDefaultDestination
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::SetDefaultDestination( const TUint32 aDestinationId )
- {
- LOG_ENTERFN( "CWsfWlanIapCreator::SetDefaultDestination" );
- LOG_WRITEF( "destId = %d", aDestinationId );
- iDestinationId = aDestinationId;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::CreateAccessPointL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::CreateAccessPointL( TWsfWlanInfo& aWlanInfo,
- const TDesC& aPresharedKey,
- const TBool aIsHex )
- {
- LOG_ENTERFN( "CWsfWlanIapCreator::CreateAccessPointL" );
- TUint32 iapId( 0 );
-
- // create connection method
- iapId = CreateConnectionMethodL( aWlanInfo );
-
-
- // open a transaction
- const TUint KMaxOpenTransAttempts = 10;
- const TUint KRetryAfter = 100000;
-
- TInt err( KErrNone );
- TUint attempts( KMaxOpenTransAttempts );
-
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
- RTimer timer;
- timer.CreateLocal();
- CleanupClosePushL( timer );
-
- do
- {
- TRAP( err, iDbSession->OpenTransactionL() );
- if ( err )
- {
- timer.After( waiter->iStatus,
- TTimeIntervalMicroSeconds32( KRetryAfter ) );
- waiter->WaitForRequest();
- }
- }
- while ( err && attempts-- );
-
- User::LeaveIfError( err );
-
- CleanupStack::PopAndDestroy( &timer );
- CleanupStack::PopAndDestroy( waiter );
-
- CleanupStack::PushL( TCleanupItem( RollbackCommsDat, iDbSession ) );
-
-
- // now we have a valid transaction, save security settings
-
- switch ( aWlanInfo.iSecurityMode )
- {
- case EWlanSecModeWep:
- {
- StoreWEPDataL( iapId, aPresharedKey, aIsHex );
- break;
- }
- case EWlanSecMode802_1x:
- case EWlanSecModeWpa:
- case EWlanSecModeWpa2:
- {
- StoreWPADataL( iapId, aPresharedKey, aWlanInfo.iSecurityMode );
- break;
- }
- case EWlanSecModeOpen: // fall through on purpose
- default:
- {
- }
- }
-
- CleanupStack::Pop( 1 ); // transaction rollback popped
-
- // commit changes
- if ( iDbSession->IsInTransaction() )
- {
- iDbSession->CommitTransactionL();
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::RollbackCommsDat
-// ----------------------------------------------------------------------------
-void CWsfWlanIapCreator::RollbackCommsDat( TAny* aDbSession )
- {
- CommsDat::CMDBSession* session = static_cast<CommsDat::CMDBSession*>(
- aDbSession );
- TRAP_IGNORE( session->RollbackTransactionL() );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::CreateConnectionMethodL
-// ----------------------------------------------------------------------------
-//
-TUint32 CWsfWlanIapCreator::CreateConnectionMethodL( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanIapCreator::CreateConnectionMethodL" );
-
- HBufC* name16 = NULL;
- HBufC* ssid16 = NULL;
-
- if ( aWlanInfo.iRawSsid.Length() )
- {
- // ssid is from scan result store it as it is
- // since the encoding of ssid is unknown
- name16 = HBufC::NewLC( aWlanInfo.iRawSsid.Length() );
- name16->Des().Copy( aWlanInfo.iRawSsid );
- ssid16 = HBufC::NewLC( aWlanInfo.iRawSsid.Length() );
- ssid16->Des().Copy( aWlanInfo.iRawSsid );
- }
- else
- {
- // user has inputted ssid store it to name as unicode since it is utf-8
- name16 = aWlanInfo.GetSsidAsUnicodeLC();
- ssid16 = HBufC::NewLC( aWlanInfo.iSsid.Length() );
- ssid16->Des().Copy( aWlanInfo.iSsid );
- }
-
- TUint32 iapId( 0 );
-
- if ( !iDestinationId )
- {
- // possibly temporary iap to uncategorized
- LOG_WRITE( "destId not set -> temporary into Uncategorised" );
-
- RCmConnectionMethodExt cm = iCmManagerExt.CreateConnectionMethodL(
- KUidWlanBearerType );
- CleanupClosePushL( cm );
-
- cm.SetStringAttributeL( ECmName, *name16 );
- cm.SetStringAttributeL( EWlanSSID, *ssid16 );
- cm.SetIntAttributeL( EWlanSecurityMode, aWlanInfo.iSecurityMode );
- cm.SetIntAttributeL( EWlanConnectionMode, aWlanInfo.iNetMode );
- cm.SetBoolAttributeL( EWlanScanSSID, !aWlanInfo.iVisibility );
-
- // commit changes
- cm.UpdateL();
-
- // get the iap id
- iapId = cm.GetIntAttributeL( ECmId );
-
- // now retrieve the name again to see if it has been changed
- // (ExistingCmName -> ExistingCmName(01) and alike)
- HBufC* cmName = cm.GetStringAttributeL( ECmName );
-
- TInt error = CnvUtfConverter::ConvertFromUnicodeToUtf8(
- aWlanInfo.iNetworkName,
- *cmName );
- if ( error )
- {
- LOG_WRITE( "ConvertFromUnicodeToUtf8 failed");
- aWlanInfo.iNetworkName.Copy( *cmName );
- }
-
- delete cmName;
-
- CleanupStack::PopAndDestroy( &cm );
- }
- else
- {
- // final iap to the default destination
- LOG_WRITEF( "destId = %d", iDestinationId );
-
- RCmDestinationExt destination = iCmManagerExt.DestinationL(
- iDestinationId );
- CleanupClosePushL( destination );
-
- RCmConnectionMethodExt cm = destination.CreateConnectionMethodL(
- KUidWlanBearerType );
- CleanupClosePushL( cm );
-
- cm.SetStringAttributeL( ECmName, *name16 );
- cm.SetStringAttributeL( EWlanSSID, *ssid16 );
- cm.SetIntAttributeL( EWlanSecurityMode, aWlanInfo.iSecurityMode );
- cm.SetIntAttributeL( EWlanConnectionMode, aWlanInfo.iNetMode );
- cm.SetBoolAttributeL( EWlanScanSSID, !aWlanInfo.iVisibility );
-
- // commit changes
- destination.UpdateL();
-
- // get the iap id
- iapId = cm.GetIntAttributeL( ECmId );
-
- // now retrieve the name again to see if it has been changed
- // (ExistingCmName -> ExistingCmName(01) and alike)
- HBufC* cmName = cm.GetStringAttributeL( ECmName );
- TInt error = CnvUtfConverter::ConvertFromUnicodeToUtf8(
- aWlanInfo.iNetworkName,
- *cmName );
- if ( error )
- {
- LOG_WRITE( "ConvertFromUnicodeToUtf8 failed");
- aWlanInfo.iNetworkName.Copy( *cmName );
- }
-
- delete cmName;
-
- CleanupStack::PopAndDestroy( &cm );
- CleanupStack::PopAndDestroy( &destination );
- }
-
- CleanupStack::PopAndDestroy( ssid16 );
- CleanupStack::PopAndDestroy( name16 );
-
- aWlanInfo.iIapId = iapId;
- LOG_WRITEF( "new iapId = %d", iapId );
-
- return iapId;
- }
-
-
--- a/wlanutilities/wlansniffer/apwizard/src/wsfwlaniapwizard.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,679 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanIapWizard
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <e32std.h>
-#include <utf.h>
-#include <wlanmgmtcommon.h>
-#include <StringLoader.h>
-#include <cmpluginwlandef.h>
-#include <cmsettingsui.h>
-#include <ConnectionUiUtilities.h>
-#include <data_caging_path_literals.hrh>
-#include <bautils.h>
-#include <AknQueryDialog.h>
-#include <aknnotewrappers.h>
-#include <wsfapwizard.rsg>
-
-// CLASS HEADER
-#include "wsfwlaniapwizard.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaniapcreator.h"
-#include "wsfwlanssiddiscovery.h"
-#include "wsflogger.h"
-
-
-
-using namespace CMManager;
-
-
-/**
-* ROM folder
-*/
-_LIT( KDriveZ, "z:" );
-
-/**
-* Resource file name
-*/
-_LIT( KResourceFileName, "wsfapwizard.rsc" );
-
-/**
-* the longest possible key is the 64 character long hex WPA key
-*/
-static const TInt KMaxSecureKeyLength = 64;
-
-
-
-#ifdef _DEBUG
- _LIT( KApWizardPanic, "wsfapwizard" );
- #define __ASSERTD( v ) __ASSERT_DEBUG( (v), \
- User::Panic( KApWizardPanic, 0 ) )
-#else
- #define __ASSERTD( v )
-#endif
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanIapWizard* CWsfWlanIapWizard::NewL()
- {
- CWsfWlanIapWizard* thisPtr = NewLC();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanIapWizard* CWsfWlanIapWizard::NewLC()
- {
- CWsfWlanIapWizard* thisPtr = new (ELeave) CWsfWlanIapWizard();
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::CWsfWlanIapWizard
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapWizard::CWsfWlanIapWizard():
- iEnv( *CEikonEnv::Static() ),
- iResourceFileOffset( -1 ),
- iWlanInfo( NULL )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::ConstructL()
- {
- iResourceFileOffset = InitResourcesL( iEnv );
-
- iCreator = CWsfWlanIapCreator::NewL();
- iSsidDiscovery = CWsfWlanSsidDiscovery::NewL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::~CWsfWlanIapWizard
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanIapWizard::~CWsfWlanIapWizard()
- {
- delete iCreator;
-
- ReleaseResources( iEnv, iResourceFileOffset );
-
- delete iUsedPassword;
- delete iWaitDialog;
- delete iSsidDiscovery;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanIapWizard::InitResourcesL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanIapWizard::InitResourcesL( CEikonEnv& aEnv )
- {
- // The resource has to be loaded manually since it is not an application.
- TFileName resourceFileName;
-
- resourceFileName.Append( KDriveZ );
- resourceFileName.Append( KDC_RESOURCE_FILES_DIR );
- resourceFileName.Append( KResourceFileName );
-
- BaflUtils::NearestLanguageFile( aEnv.FsSession(), resourceFileName );
-
- return aEnv.AddResourceFileL( resourceFileName );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanIapWizard::ReleaseResources
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::ReleaseResources( CEikonEnv& aEnv, TInt aResOffset )
- {
- if ( aResOffset != -1 )
- {
- aEnv.DeleteResourceFile( aResOffset );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::LaunchWizardL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfWlanIapWizard::LaunchWizardL( TWsfWlanInfo& aWlanInfo,
- TBool aDefineNewAccessPoint )
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::LaunchWizardL" );
- LOG_WRITEF( "defineAp = %d", aDefineNewAccessPoint );
-
- if ( aDefineNewAccessPoint &&
- !( aWlanInfo.Hidden() && !aWlanInfo.Known() ) )
- {
- HBufC* ssid16 = aWlanInfo.GetSsidAsUnicodeLC();
- LOG_WRITEF( "ssid = %S", ssid16 );
- HBufC* infoText = StringLoader::LoadLC(
- R_QTN_CMON_QUEST_CREATE_WLAN_IAP,
- *ssid16 );
-
- CAknQueryDialog* confirmQuery = CAknQueryDialog::NewL();
- TBool result = confirmQuery->ExecuteLD(
- R_QTN_WIZARD_CONFIRMATION_QUERY,
- *infoText );
-
- CleanupStack::PopAndDestroy( infoText );
- CleanupStack::PopAndDestroy( ssid16 );
-
- if ( !result )
- {
- return result;
- }
- }
-
- iWlanInfo = &aWlanInfo;
- iDefineNewAccessPoint = aDefineNewAccessPoint;
-
- TRAPD( err, AskNetworkDetailsL() );
- if ( err )
- {
- // We are here also if selection of
- // the hidden network AP leaves or is
- // cancelled by the end-user
- LOG_WRITE( "AskNetworkDetailsL failed" );
- }
-
- return ( !err );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::CreateAccessPointL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfWlanIapWizard::CreateAccessPointL()
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::CreateAccessPointL" );
- __ASSERTD( iWlanInfo );
-
-
- if ( iWlanInfo->iIapId != 0 )
- {
- // Access Point already exists
- User::Leave( KErrAlreadyExists );
- }
-
-
- // otherwise new Access Point will be created
- if ( !iWlanInfo->iSsid.Length() )
- {
- User::Leave( KErrGeneral );
- }
-
- TPtrC sharedKey = iUsedPassword ? *iUsedPassword : KNullDesC();
-
- TUint32 destId( 0 );
-
- if ( iDefineNewAccessPoint )
- {
- // define access point was selected, select destination query follows
- LOG_WRITE( "defineAp = ETrue, opening select destination dialog..." );
-
- CCmSettingsUi* settings = CCmSettingsUi::NewL();
- CleanupStack::PushL( settings );
-
- TBool result( EFalse );
- result = settings->SelectDestinationDlgL( destId );
-
- CleanupStack::PopAndDestroy( settings ); //settings
-
- if ( !result )
- {
- LOG_WRITE( "dialog cancelled" );
- // cancel was pressed, abort creation
- return EFalse;
- }
- LOG_WRITEF( "target destination = %d", destId );
- }
-
- iCreator->SetDefaultDestination( destId );
-
- iCreator->CreateAccessPointL( *iWlanInfo, sharedKey, iIsHexWep );
-
- return ETrue;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::QueryTextL
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanIapWizard::QueryTextL( TInt aQueryStringResource,
- TDes& aVariable,
- const TInt &aMaxLength )
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::QueryTextL" );
- HBufC* queryText = StringLoader::LoadLC( aQueryStringResource );
- CAknTextQueryDialog* textQuery = CAknTextQueryDialog::NewL( aVariable );
- CleanupStack::PushL( textQuery );
- textQuery->SetPromptL( *queryText );
- textQuery->SetMaxLength( aMaxLength );
- CleanupStack::Pop( textQuery );
- TInt result = textQuery->ExecuteLD( R_QTN_WIZARD_QUERY_GENERAL );
- CleanupStack::PopAndDestroy( queryText );
- return result;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::QuerySecureKeyL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanIapWizard::QuerySecureKeyL()
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::QuerySecureKeyL" );
- TBool okPressed( ETrue );
-
- switch ( iWlanInfo->iSecurityMode )
- {
- case EWlanSecModeWep:
- {
- LOG_WRITE( "secmode WEP" );
- CConnectionUiUtilities* connUiUtils =
- CConnectionUiUtilities::NewL();
- CleanupStack::PushL( connUiUtils );
- iUsedPassword = HBufC::NewL( KMaxSecureKeyLength );
- TPtr ptr( iUsedPassword->Des() );
- okPressed = connUiUtils->EasyWepDlg( &ptr, iIsHexWep );
- CleanupStack::PopAndDestroy( connUiUtils );
- break;
- }
-
- case EWlanSecModeWpa:
- case EWlanSecModeWpa2:
- case EWlanSecMode802_1x:
- {
- if ( iWlanInfo->UsesPreSharedKey() )
- {
- // WPA-PSK
- LOG_WRITE( "secmode WPA-PSK" );
-
- CConnectionUiUtilities* connUiUtils =
- CConnectionUiUtilities::NewL();
- CleanupStack::PushL( connUiUtils );
- iUsedPassword = HBufC::NewL( KMaxSecureKeyLength );
- TPtr ptr( iUsedPassword->Des() );
- okPressed = connUiUtils->EasyWpaDlg( &ptr );
- CleanupStack::PopAndDestroy( connUiUtils );
- }
- else
- {
- // no key prompt in EAP mode, but the usual note is shown
- LOG_WRITE( "secmode WPA-EAP" );
-
- HBufC* eapText = StringLoader::LoadLC(
- R_QTN_NETW_CONSET_INFO_EAP_SETTINGS_DEFAULT );
- CAknInformationNote* informationNote =
- new (ELeave) CAknInformationNote( ETrue );
- informationNote->ExecuteLD( *eapText );
-
- CleanupStack::PopAndDestroy( eapText );
- }
-
- break;
- }
-
- case EWlanSecModeOpen:
- default:
- {
- LOG_WRITE( "secmode Open" );
-
- delete iUsedPassword;
- iUsedPassword = NULL;
- }
- }
-
- return okPressed;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::DismissWaitNote
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::DismissWaitNote( TAny* aPtr )
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::DismissWaitNote" );
- CWsfWlanIapWizard* self = static_cast<CWsfWlanIapWizard*>( aPtr );
-
- if ( self->iWaitDialog )
- {
- // close waitnote
- LOG_WRITE( "closing waitnote..." );
- TRAP_IGNORE( self->iWaitDialog->ProcessFinishedL() );
-
- // cleanup
- delete self->iWaitDialog;
- self->iWaitDialog = NULL;
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::AskNetworkDetailsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::AskNetworkDetailsL()
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::AskNetworkDetailsL" );
-
-
- // check the wlan info, and make proper questions....
- if ( iWlanInfo->Hidden() && !iWlanInfo->Known() )
- {
- LOG_WRITE( "unlisted network" );
-
- // query network SSID
- HBufC* ssid16 = AskSsidL();
- LOG_WRITEF( "SSID: [%S]", ssid16 );
-
- // update SSID
- CnvUtfConverter::ConvertFromUnicodeToUtf8( iWlanInfo->iSsid, *ssid16 );
- delete ssid16;
-
- // pop up waitnote
- iWaitDialog = new ( ELeave ) CAknWaitDialog(
- reinterpret_cast<CEikDialog**>( &iWaitDialog ), ETrue );
- iWaitDialog->SetCallback( this );
- iWaitDialog->ExecuteLD( R_SEARCHING_WLAN_WAIT_NOTE );
-
- CleanupStack::PushL( TCleanupItem( DismissWaitNote, this ) );
-
- // start to scan for surrounding WLAN networks
- TBool foundSsid( EFalse );
- TBool usePsk( EFalse );
- TWlanSsid ssid( iWlanInfo->iSsid );
-
- // make a broadcast scan
- LOG_WRITE( "broadcast scanning for SSID" );
- foundSsid = iSsidDiscovery->ScanForSsidL( ssid, ETrue,
- iWlanInfo->iNetMode,
- iWlanInfo->iSecurityMode,
- usePsk );
-
- // SSID found?
- if ( !foundSsid )
- {
- // must be really hidden, direct scan for SSID
- LOG_WRITE( "broadcast scan failed, direct scanning for SSID" );
- foundSsid = iSsidDiscovery->ScanForSsidL( ssid, EFalse,
- iWlanInfo->iNetMode,
- iWlanInfo->iSecurityMode,
- usePsk );
-
- // it can only be found as hidden
- iWlanInfo->iVisibility = EFalse;
-
- CleanupStack::PopAndDestroy( 1 ); // DismissWaitNote
-
- if ( !foundSsid )
- {
- LOG_WRITE( "direct scan failed, entering fully manual mode" );
-
- // pop up discreet popup: No WLANs found
- CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();
- connUiUtils->NoWLANNetworksAvailableNote();
- delete connUiUtils;
-
- // now entering fully manual mode
-
- // query network mode
- TInt mode( 0 );
- CAknListQueryDialog* listQuery =
- new (ELeave) CAknListQueryDialog( &mode );
- listQuery->PrepareLC( R_QTN_WIZARD_NETWORK_MODE );
- TInt retval = listQuery->RunLD();
- if ( !retval )
- {
- User::Leave( KErrCancel );
- }
-
- const TInt KModeInfraPublic = 0;
- const TInt KModeInfraHidden = 1;
- const TInt KModeAdhocPublic = 2;
-
- TBool adhoc( EFalse );
-
- switch ( mode )
- {
- case KModeInfraPublic:
- {
- LOG_WRITE( "infra public mode" );
- iWlanInfo->iNetMode = EInfra;
- iWlanInfo->iVisibility = ETrue;
- break;
- }
-
- case KModeInfraHidden:
- {
- LOG_WRITE( "infra hidden mode" );
- iWlanInfo->iNetMode = EInfra;
- iWlanInfo->iVisibility = EFalse;
- break;
- }
-
- case KModeAdhocPublic:
- {
- LOG_WRITE( "adhoc public mode" );
- adhoc = ETrue;
- iWlanInfo->iNetMode = EAdhoc;
- iWlanInfo->iVisibility = ETrue;
- break;
- }
- }
-
-
- // query security mode
- const TInt KSecModeOpen = 0;
- const TInt KSecModeWep = 1;
- const TInt KSecMode8021x = 2;
- const TInt KSecModeWpa = 3;
-
- mode = KSecModeOpen;
- listQuery = new (ELeave) CAknListQueryDialog( &mode );
-
- if ( adhoc )
- {
- listQuery->PrepareLC( R_QTN_WIZARD_AUTH_MODE_AD_HOC );
- }
- else
- {
- listQuery->PrepareLC( R_QTN_WIZARD_AUTH_MODE );
- }
-
- retval = listQuery->RunLD();
-
- if ( !retval )
- {
- User::Leave( KErrCancel );
- }
-
- // map the security mode
-
- switch ( mode )
- {
- case KSecModeWep:
- {
- LOG_WRITE( "security: WEP" );
- iWlanInfo->iSecurityMode = EWlanSecModeWep;
- break;
- }
- case KSecMode8021x:
- {
- LOG_WRITE( "security: 802.1x" );
- iWlanInfo->iSecurityMode = EWlanSecMode802_1x;
- break;
- }
- case KSecModeWpa:
- {
- LOG_WRITE( "security: WPA" );
- iWlanInfo->iSecurityMode = EWlanSecModeWpa;
- break;
- }
-
- case KSecModeOpen:
- default:
- {
- LOG_WRITE( "security: Open" );
- iWlanInfo->iSecurityMode = EWlanSecModeOpen;
- }
- }
-
- // if WPA, query WPA mode
- if ( iWlanInfo->iSecurityMode == EWlanSecModeWpa )
- {
- const TInt KWpaModeEap = 0;
- const TInt KWpaModePsk = 1;
-
- mode = KWpaModeEap;
- listQuery = new (ELeave) CAknListQueryDialog( &mode );
- listQuery->PrepareLC( R_QTN_WIZARD_WPA_MODE );
- retval = listQuery->RunLD();
- if ( !retval )
- {
- User::Leave( KErrCancel );
- }
-
- // 0 - EAP, 1 - PSK
-
- usePsk = ( mode == KWpaModePsk );
- if ( usePsk )
- {
- LOG_WRITE( "WPA-PSK" );
- }
- else
- {
- LOG_WRITE( "WPA-EAP" );
- }
- }
-
- } // if !foundssid (direct)
-
-
- } // if !foundssid (broadcast)
- else
- {
- // it was thought to be hidden but actually it isn't
- LOG_WRITE( "broadcast scan succeeded, "
- L"network isn't hidden as it was thought" );
- LOG_WRITEF( "netmode: %d, secmode: %d, usepsk: %d",
- iWlanInfo->iNetMode,
- iWlanInfo->iSecurityMode,
- usePsk );
-
- CleanupStack::PopAndDestroy( 1 ); // DismissWaitNote
-
- // set WLAN to public
- iWlanInfo->iVisibility = ETrue;
- }
-
- // convey PSK settings to iwlaninfo
- // (netmode and secmode are already updated)
- iWlanInfo->SetUsesPreSharedKey( usePsk );
-
- }
- else
- {
- // if NOT hidden
- LOG_WRITE( "visible network" );
- LOG_WRITEF( "netmode: %d, secmode: %d, usepsk: %d",
- iWlanInfo->iNetMode,
- iWlanInfo->iSecurityMode,
- iWlanInfo->UsesPreSharedKey() );
- }
-
- // query the key and leave if cancelled
- if ( !QuerySecureKeyL() )
- {
- User::Leave( KErrCancel );
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::AskSsidL
-// ----------------------------------------------------------------------------
-//
-HBufC* CWsfWlanIapWizard::AskSsidL()
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::AskSsidL" );
-
- HBufC* apName = HBufC::NewLC( KWlanMaxSsidLength );
- TPtr namePtr( apName->Des() );
- if ( iWlanInfo->iSsid.Length() )
- {
- CnvUtfConverter::ConvertToUnicodeFromUtf8( namePtr, iWlanInfo->iSsid );
- }
- TInt response = QueryTextL( R_QTN_ENTER_NETWORK_SSID,
- namePtr,
- KWlanMaxSsidLength );
- if ( response != EEikBidOk )
- {
- User::Leave( KErrCancel );
- }
-
- CleanupStack::Pop( apName );
- return apName;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::DialogDismissedL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::DialogDismissedL( TInt aButtonId )
- {
- LOG_ENTERFN( "CWsfWlanIapWizard::DialogDismissedL" );
- iWaitDialog = NULL;
-
- if ( aButtonId == EEikBidCancel )
- {
- // dialog was cancelled by the user
- LOG_WRITE( "dialog was cancelled" );
- iSsidDiscovery->AbortScanning();
- }
- }
-
-
--- a/wlanutilities/wlansniffer/apwizard/src/wsfwlanssiddiscovery.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* Copyright (c) 2006 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: Implementation of WLAN SSID discovery class
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <wlanmgmtclient.h>
-#include <wlanmgmtcommon.h>
-
-// CLASS HEADER
-#include "wsfwlanssiddiscovery.h"
-
-// INTERNAL INCLUDES
-#include "wsflogger.h"
-
-
-using namespace CMManager;
-
-
-/**
-* Management frame information element IDs.
-* needed to determine SSID
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11InformationElementID
- {
- E802Dot11SsidIE = 0,
- E802Dot11SupportedRatesIE = 1,
- E802Dot11FhParameterSetIE = 2,
- E802Dot11DsParameterSetIE = 3,
- E802Dot11CfParameterSetIE = 4,
- E802Dot11TimIE = 5,
- E802Dot11IbssParameterSetIE = 6,
- E802Dot11CountryIE = 7,
- E802Dot11HoppingPatternParamIE = 8,
- E802Dot11HoppingPatternTableIE = 9,
- E802Dot11RequestIE = 10,
-
- E802Dot11ChallengeTextIE = 16,
- // Reserved for challenge text extension 17 - 31
- E802Dot11ErpInformationIE = 42,
- E802Dot11ExtendedRatesIE = 50,
- E802Dot11AironetIE = 133,
- E802Dot11ApIpAddressIE = 149,
- E802Dot11RsnIE = 221
- };
-
-
-/**
-* Bit masks for Capability Information field.
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11CapabilityBitMask
- {
- E802Dot11CapabilityEssMask = 0x0001,
- E802Dot11CapabilityIbssMask = 0x0002,
- E802Dot11CapabilityCfPollableMask = 0x0004,
- E802Dot11CapabilityCfPollRequestMask= 0x0008,
- E802Dot11CapabilityPrivacyMask = 0x0010,
- E802Dot11ShortPreambleMask = 0x0020,
- E802Dot11PbccMask = 0x0040,
- E802Dot11ChannelAgilityMask = 0x0080
- };
-
-
-// ======================= MEMBER FUNCTIONS =================================
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidDiscovery* CWsfWlanSsidDiscovery::NewL()
- {
- CWsfWlanSsidDiscovery* self = new (ELeave) CWsfWlanSsidDiscovery();
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::CWsfWlanSsidDiscovery
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidDiscovery::CWsfWlanSsidDiscovery(): CActive( EPriorityStandard )
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::ConstructL()
- {
- LOG_ENTERFN( "CWsfWlanSsidDiscovery::ConstructL" );
-#ifndef __WINS__
- iWlanMgmt = CWlanMgmtClient::NewL();
- iScanInfo = CWlanScanInfo::NewL();
-#endif
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::~CWsfWlanSsidDiscovery()
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidDiscovery::~CWsfWlanSsidDiscovery()
- {
- LOG_ENTERFN( "CWsfWlanSsidDiscovery::~CWsfWlanSsidDiscovery" );
- Cancel();
- delete iWlanMgmt;
- delete iScanInfo;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::DoCancel()
- {
- LOG_ENTERFN( "CWsfWlanSsidDiscovery::DoCancel" );
-#ifndef __WINS__
- iWlanMgmt->CancelGetScanResults();
-#endif
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::AbortScanning
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::AbortScanning()
- {
- LOG_ENTERFN( "CWsfWlanSsidDiscovery::AbortScanning" );
- if ( iWait.IsStarted() )
- {
- LOG_WRITE( "aborting..." );
- Cancel();
-
- iProgState = EAborted;
- iWait.AsyncStop();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::RunL()
- {
- LOG_ENTERFN( "CWsfWlanSsidDiscovery::RunL" );
-
- if ( iProgState == EScanning )
- {
- if ( !iStatus.Int() )
- // The list is ready
- {
- LOG_WRITE( "No error" );
- iProgState = EDone;
- }
- else
- // something went wrong -> no coverage.
- {
- LOG_WRITE( "error" );
- }
- }
-
- // stop blocking
- if ( iWait.IsStarted() )
- {
- iWait.AsyncStop();
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::ScanForSsidL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanSsidDiscovery::ScanForSsidL( TWlanSsid& aEnteredSsid,
- TBool aBroadcast,
- CMManager::TWlanNetMode& aNetworkMode,
- CMManager::TWlanSecMode& aSecurityMode,
- TBool& aUsesPsk )
- {
- LOG_ENTERFN( "CWsfWlanSsidDiscovery::ScanForSsidL" );
-
- if ( IsActive() )
- {
- return EFalse;
- }
-
- TBool found = EFalse;
-#ifndef __WINS__
- iProgState = EScanning;
-
- if ( aBroadcast )
- {
- LOG_WRITE( "performing broadcast scan" );
- iWlanMgmt->GetScanResults( iStatus, *iScanInfo );
- }
- else
- {
- LOG_WRITE( "performing direct scan" );
- iWlanMgmt->GetScanResults( aEnteredSsid, iStatus, *iScanInfo );
- }
-
- SetActive();
- iWait.Start();
-
- // now we have the results and might start to work on them...
- if ( iProgState == EDone )
- {
- LOG_WRITE( "iProgState = EDone" );
- //finished without error, work on the result...
- for ( iScanInfo->First(); !found && !iScanInfo->IsDone();
- iScanInfo->Next() )
- {
- TUint8 ieLen( 0 );
- const TUint8* ieData;
-
- TInt ret = iScanInfo->InformationElement( E802Dot11SsidIE, ieLen,
- &ieData );
- User::LeaveIfError( ret );
-
- // get the ssid
- TWlanSsid ssid;
- ssid.Copy( ieData, ieLen );
-
- if ( !aEnteredSsid.Compare( ssid ) )
- {
- // SSID matched
- LOG_WRITE( "SSID matched, processing security settings" );
- found = ETrue;
-
- // adhoc or infrastructure
- aNetworkMode = ( iScanInfo->Capability() &
- E802Dot11CapabilityEssMask ) ?
- EInfra : EAdhoc;
-
- // security mode
- TWlanConnectionSecurityMode connSec =
- iScanInfo->SecurityMode();
-
- // convert TWlanConnectionSecurityMode to
- // CMManager::TWlanSecMode
- switch ( connSec )
- {
- case EWlanConnectionSecurityOpen:
- {
- aSecurityMode = EWlanSecModeOpen;
- break;
- }
- case EWlanConnectionSecurityWep:
- {
- aSecurityMode = EWlanSecModeWep;
- break;
- }
- case EWlanConnectionSecurity802d1x:
- {
- aSecurityMode = EWlanSecMode802_1x;
- break;
- }
- case EWlanConnectionSecurityWpa:
- case EWlanConnectionSecurityWpaPsk:
- {
- aSecurityMode = EWlanSecModeWpa;
- break;
- }
- default:
- {
- }
- }
-
- aUsesPsk = ( connSec == EWlanConnectionSecurityWpaPsk );
-
- } // if aEnteredSsid
-
- } // for
-
- }
- else if ( iProgState == EAborted )
- {
- LOG_WRITE( "iProgState = EAborted" );
- User::Leave( KErrCancel );
- }
- else
- {
- LOG_WRITEF( "iProgState = ???, iStatus = %d", iStatus.Int() );
- User::LeaveIfError( iStatus.Int() );
- }
-
-#else // __WINS__
-
- // we don't like warnings
- aEnteredSsid, aBroadcast, aNetworkMode, aSecurityMode, aUsesPsk;
-
-#endif // __WINS__
-
- return found;
- }
-
-
--- a/wlanutilities/wlansniffer/engine/client/bwins/wsfclientu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-EXPORTS
- ?SetIapPersistenceL@RWsfSession@@QAEHW4TWsfIapPersistence@@@Z @ 1 NONAME ; int RWsfSession::SetIapPersistenceL(enum TWsfIapPersistence)
- ?GetWlanList@RWsfSession@@QAEXAAV?$TPckgBuf@I@@AAVTPtr8@@AAVTRequestStatus@@@Z @ 2 NONAME ; void RWsfSession::GetWlanList(class TPckgBuf<unsigned int> &, class TPtr8 &, class TRequestStatus &)
- ?DisconnectWlanBearer@RWsfSession@@QAEXAAV?$TPckgBuf@H@@AAVTRequestStatus@@@Z @ 3 NONAME ; void RWsfSession::DisconnectWlanBearer(class TPckgBuf<int> &, class TRequestStatus &)
- ?GetConnectedWlanDetails@RWsfSession@@QAEXAAV?$TPckgBuf@H@@AAVTWsfWlanInfo@@AAVTRequestStatus@@@Z @ 4 NONAME ; void RWsfSession::GetConnectedWlanDetails(class TPckgBuf<int> &, class TWsfWlanInfo &, class TRequestStatus &)
- ?RequestScanL@RWsfSession@@QAEHXZ @ 5 NONAME ; int RWsfSession::RequestScanL(void)
- ??0RWsfSession@@QAE@XZ @ 6 NONAME ; RWsfSession::RWsfSession(void)
- ?ConnectWlanBearerL@RWsfSession@@QAEHKHW4TWsfIapPersistence@@@Z @ 7 NONAME ; int RWsfSession::ConnectWlanBearerL(unsigned long, int, enum TWsfIapPersistence)
- ?CancelNotifyEvent@RWsfSession@@QAEXXZ @ 8 NONAME ; void RWsfSession::CancelNotifyEvent(void)
- ?CancelAll@RWsfSession@@QAEXXZ @ 9 NONAME ; void RWsfSession::CancelAll(void)
- ?GetConnectedWlanDetailsL@RWsfSession@@QAEHAAVTWsfWlanInfo@@@Z @ 10 NONAME ; int RWsfSession::GetConnectedWlanDetailsL(class TWsfWlanInfo &)
- ?EnableScanL@RWsfSession@@QAEHXZ @ 11 NONAME ; int RWsfSession::EnableScanL(void)
- ?DisconnectWlanBearerL@RWsfSession@@QAEHXZ @ 12 NONAME ; int RWsfSession::DisconnectWlanBearerL(void)
- ?UpdateWlanListL@RWsfSession@@QAEXPAVCWsfWlanInfoArray@@@Z @ 13 NONAME ; void RWsfSession::UpdateWlanListL(class CWsfWlanInfoArray *)
- ?NotifyEventL@RWsfSession@@QAEXAAVMWsfStateChangeObserver@@@Z @ 14 NONAME ; void RWsfSession::NotifyEventL(class MWsfStateChangeObserver &)
- ?MonitorAccessPointL@RWsfSession@@QAEXK@Z @ 15 NONAME ; void RWsfSession::MonitorAccessPointL(unsigned long)
- ?GetWlanListSize@RWsfSession@@QAEXAAV?$TPckgBuf@I@@AAVTRequestStatus@@@Z @ 16 NONAME ; void RWsfSession::GetWlanListSize(class TPckgBuf<unsigned int> &, class TRequestStatus &)
- ?AbortConnectingL@RWsfSession@@QAEXXZ @ 17 NONAME ; void RWsfSession::AbortConnectingL(void)
- ?ConnectedAccountNameL@RWsfSession@@QAEPAVHBufC16@@XZ @ 18 NONAME ; class HBufC16 * RWsfSession::ConnectedAccountNameL(void)
- ?ConnectWlanBearer@RWsfSession@@QAEXAAV?$TPckgBuf@H@@KHW4TWsfIapPersistence@@AAVTRequestStatus@@@Z @ 19 NONAME ; void RWsfSession::ConnectWlanBearer(class TPckgBuf<int> &, unsigned long, int, enum TWsfIapPersistence, class TRequestStatus &)
- ?SetConnectWlanBearerResult@RWsfSession@@QAEXH@Z @ 20 NONAME ; void RWsfSession::SetConnectWlanBearerResult(int)
- ?AbortScanningL@RWsfSession@@QAEXXZ @ 21 NONAME ; void RWsfSession::AbortScanningL(void)
- ?RequestScan@RWsfSession@@QAEXAAV?$TPckgBuf@H@@AAVTRequestStatus@@@Z @ 22 NONAME ; void RWsfSession::RequestScan(class TPckgBuf<int> &, class TRequestStatus &)
- ?IsConnectedL@RWsfSession@@QAEHXZ @ 23 NONAME ; int RWsfSession::IsConnectedL(void)
- ?Close@RWsfSession@@QAEXXZ @ 24 NONAME ; void RWsfSession::Close(void)
- ?IsScanEnabledL@RWsfSession@@QAEHXZ @ 25 NONAME ; int RWsfSession::IsScanEnabledL(void)
- ?ControlDisconnectTimerL@RWsfSession@@QAEHI@Z @ 26 NONAME ; int RWsfSession::ControlDisconnectTimerL(unsigned int)
- ?Connect@RWsfSession@@QAEHXZ @ 27 NONAME ; int RWsfSession::Connect(void)
- ?DisableScanL@RWsfSession@@QAEHXZ @ 28 NONAME ; int RWsfSession::DisableScanL(void)
-
--- a/wlanutilities/wlansniffer/engine/client/eabi/wsfclientu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-EXPORTS
- _ZN11RWsfSession11EnableScanLEv @ 1 NONAME
- _ZN11RWsfSession11GetWlanListER8TPckgBufIjER5TPtr8R14TRequestStatus @ 2 NONAME
- _ZN11RWsfSession11RequestScanER8TPckgBufIiER14TRequestStatus @ 3 NONAME
- _ZN11RWsfSession12DisableScanLEv @ 4 NONAME
- _ZN11RWsfSession12IsConnectedLEv @ 5 NONAME
- _ZN11RWsfSession12NotifyEventLER23MWsfStateChangeObserver @ 6 NONAME
- _ZN11RWsfSession12RequestScanLEv @ 7 NONAME
- _ZN11RWsfSession14AbortScanningLEv @ 8 NONAME
- _ZN11RWsfSession14IsScanEnabledLEv @ 9 NONAME
- _ZN11RWsfSession15GetWlanListSizeER8TPckgBufIjER14TRequestStatus @ 10 NONAME
- _ZN11RWsfSession15UpdateWlanListLEP17CWsfWlanInfoArray @ 11 NONAME
- _ZN11RWsfSession16AbortConnectingLEv @ 12 NONAME
- _ZN11RWsfSession17CancelNotifyEventEv @ 13 NONAME
- _ZN11RWsfSession17ConnectWlanBearerER8TPckgBufIiEmi18TWsfIapPersistenceR14TRequestStatus @ 14 NONAME
- _ZN11RWsfSession18ConnectWlanBearerLEmi18TWsfIapPersistence @ 15 NONAME
- _ZN11RWsfSession18SetIapPersistenceLE18TWsfIapPersistence @ 16 NONAME
- _ZN11RWsfSession19MonitorAccessPointLEm @ 17 NONAME
- _ZN11RWsfSession20DisconnectWlanBearerER8TPckgBufIiER14TRequestStatus @ 18 NONAME
- _ZN11RWsfSession21ConnectedAccountNameLEv @ 19 NONAME
- _ZN11RWsfSession21DisconnectWlanBearerLEv @ 20 NONAME
- _ZN11RWsfSession23ControlDisconnectTimerLEj @ 21 NONAME
- _ZN11RWsfSession23GetConnectedWlanDetailsER8TPckgBufIiER12TWsfWlanInfoR14TRequestStatus @ 22 NONAME
- _ZN11RWsfSession24GetConnectedWlanDetailsLER12TWsfWlanInfo @ 23 NONAME
- _ZN11RWsfSession26SetConnectWlanBearerResultEi @ 24 NONAME
- _ZN11RWsfSession5CloseEv @ 25 NONAME
- _ZN11RWsfSession7ConnectEv @ 26 NONAME
- _ZN11RWsfSessionC1Ev @ 27 NONAME
- _ZN11RWsfSessionC2Ev @ 28 NONAME
-
--- a/wlanutilities/wlansniffer/engine/client/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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: Build information file for project Engine/Client
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// private API
-../inc/wsfsession.h |../../../../inc/wsfsession.h
-../inc/wsfstatechangeobserver.h |../../../../inc/wsfstatechangeobserver.h
-
-../rom/wsfclient.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfclient.iby)
-
-
-PRJ_MMPFILES
-client.mmp
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/engine/client/group/client.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* 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: Project definition file for project Engine/Client
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-
-TARGET wsfclient.dll
-TARGETTYPE dll
-UID 0x1000008d 0x10281CAC
-
-CAPABILITY ALL -TCB
-
-
-SOURCEPATH ../src
-SOURCE wsfsession.cpp
-SOURCE wsfeventhandler.cpp
-SOURCE wsfactivewaiter.cpp
-
-// own headers
-USERINCLUDE ../inc
-
-// server-client common headers
-USERINCLUDE ../../inc
-
-// inner API
-USERINCLUDE ../../../inc
-
-// private API
-USERINCLUDE ../../../../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY charconv.lib
-LIBRARY wsfwlaninfo.lib
-
-DEBUGLIBRARY flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfactivewaiter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* 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: Declaration of CWsfActiveWaiter
-*
-*/
-
-
-
-
-#ifndef __WSFCLIENT_ACTIVE_WAITER_H__
-#define __WSFCLIENT_ACTIVE_WAITER_H__
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest
- *
- * Usage:
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest == KErrNone )
- * {
- * // handle success
- * }
- * else
- * {
- * // handle failure
- * }
- * CleanupStack::PopAndDestroy( waiter );
- *
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ) : public CActive
- {
- public:
- /**
- * NewL function
- * @param aPlugin a pointer to notifier plugin
- */
- static CWsfActiveWaiter* NewL( );
-
- /**
- * Destructor
- */
- virtual ~CWsfActiveWaiter();
-
- /**
- * Waits for it's TRequestStatus to be completed
- * @return Error code returned from server after request is
- * completed
- */
- TInt WaitForRequest( );
-
- protected:
- /**
- * ConstructL
- */
- void ConstructL();
-
- /**
- * Constructor
- * @param aPlugin a pointer to notifier plugin
- */
- CWsfActiveWaiter();
-
- /**
- * DoCancel from CActive
- */
- virtual void DoCancel();
-
- /**
- * RunL from CActive
- */
- virtual void RunL();
-
- protected:
- CActiveSchedulerWait iWait;
- };
-
-#endif // __WSFCLIENT_ACTIVE_WAITER_H__
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfeventhandler.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,171 +0,0 @@
-/*
-* 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 CWsfEventHandler
-*
-*/
-
-
-
-
-
-#ifndef C_WSFEVENTHANDLER_H
-#define C_WSFEVENTHANDLER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfservercommon.h"
-#include "wsfstatechangeobserver.h"
-
-
-// CLASS DEFINITION
-/**
- * Class to handle callbacks from the server
- *
- * CWsfEventHandler acts as a gateway between the client and the server.
- * Its main task is to hand over notifications of server events if the client
- * has requested that.
- *
- * @lib wsfclient.lib
- * @since S60 5.0
- */
-
-NONSHARABLE_CLASS( CWsfEventHandler ): public CActive
- {
- public: // Constructors and destructor
- /**
- * Factory function.
- * @since S60 5.0
- * @param aSession Client-side handle to the server session
- * Ownership not passed.
- * @param aObserver The object which should be notified on event
- * Ownership not passed.
- */
- static CWsfEventHandler* NewL( RWsfSession& aSession,
- MWsfStateChangeObserver& aObserver );
-
- ~CWsfEventHandler();
-
-
- private:
- /**
- * Constructor
- * @since S60 5.0
- * @param aSession Client-side handle to the server session.
- * Ownership not passed.
- * @param aObserver The object which should be notified on event.
- * Ownership not passed.
- */
- CWsfEventHandler( RWsfSession& aSession,
- MWsfStateChangeObserver& aObserver );
-
- void ConstructL();
-
-
- public: // new methods
- /**
- * Set the listening active object as active
- * @since S60 5.0
- */
- void Start();
-
- /**
- * Get reference to the event container
- * @since S60 5.0
- * @return Reference to the event container.
- */
- TPckgBuf<TWsfNotifyEventContainer>& EventContainer();
-
- /**
- * Change the event observer by resetting the reference
- * @since S60 5.0
- * @param aObserver The object which should be notified on event.
- * Ownership not passed.
- */
- void ResetObserver( MWsfStateChangeObserver& aObserver );
-
- /**
- * Prevents the ongoing connecting process from notifying the observer
- * if the connecting flag is set
- * @since S60 5.0
- */
- void BlockNextConnectedEvent();
-
- /**
- * Resets the flag that prevents the ongoing connecting process
- * from notifying the observer
- * @since S60 5.2
- */
- void UnBlockNextConnectedEvent();
-
- /**
- * Sets the connecting flag. Used by RWsfSession to mark the interval
- * of the connection creation.
- * @since S60 5.0
- * @param aConnecting The value of the flag.
- */
- void SetConnecting( TBool aConnecting );
-
- /**
- * Gets the connecting flag.
- * @since S60 5.0
- * @return The value of the flag.
- */
- TBool Connecting() const;
-
-
- private: // from CActive
- void RunL();
- void DoCancel();
- TInt RunError( TInt aError );
-
- private:
- /**
- * Handle the RunL trapped
- * @since S60 5.0
- */
- void DoRunL();
-
- private:
- /**
- * Client-side handle for the server session. Not owned.
- */
- RWsfSession* iSession;
-
- /**
- * The object which should be notified on event. Not owned.
- */
- MWsfStateChangeObserver* iObserver;
-
- /**
- * Event container
- */
- TPckgBuf<TWsfNotifyEventContainer> iEvent;
-
- /**
- * Indicates whether the connection created event should be suppressed
- */
- TBool iBlockConnectedEvent;
-
- /**
- * Indicates whether there is an ongoing connecting process
- */
- TBool iConnecting;
-
- };
-
-
-#endif // C_WSFEVENTHANDLER_H
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfsession.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,354 +0,0 @@
-/*
-* 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 RWsfSession
-*
-*/
-
-
-
-
-
-#ifndef R_WSFSESSION_H
-#define R_WSFSESSION_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfcommon.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class CWsfEventHandler;
-class MWsfStateChangeObserver;
-class TWsfWlanInfo;
-class CWsfActiveWaiter;
-
-
-// CLASS DEFINITION
-/**
- * Client-side handle to server session
- *
- * RWsfSession is the client-side session of a connection to the server.
- * It provides an interface through which the different scanning services
- * can be reached and results obtained.
- *
- * @lib wsfclient.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( RWsfSession ): public RSessionBase
- {
- friend class CWsfEventHandler;
-
-
- public: // Constructor
-
- IMPORT_C RWsfSession();
-
-
- public: // New methods
-
- /**
- * Initiates a connection to the server and also launches it
- * if it was not running yet.
- * @since S60 5.0
- */
- IMPORT_C TInt Connect();
-
- /**
- * Returns the version number of the session class
- * @since S60 5.0
- * @return A version structure
- */
- inline TVersion Version() const;
-
- /**
- * Closes this session.
- * @since S60 5.0
- */
- IMPORT_C void Close();
-
- /**
- * Subscribes to server events
- * @since S60 5.0
- * @param aObserver The object which should be notified on event
- */
- IMPORT_C void NotifyEventL( MWsfStateChangeObserver& aObserver );
-
- /**
- * Cancels the subscription
- * @since S60 5.0
- */
- IMPORT_C void CancelNotifyEvent();
-
- /**
- * Sets the wlan scanning on if not already active
- * @since S60 5.0
- * @return ETrue on success.
- */
- IMPORT_C TBool EnableScanL();
-
- /**
- * Disables the scanning
- * @since S60 5.0
- * @return ETrue on success.
- */
- IMPORT_C TBool DisableScanL();
-
- /**
- * Queries the current scanning status.
- * @since S60 5.0
- * @return ETrue if scanning is enabled, EFalse otherwise.
- */
- IMPORT_C TBool IsScanEnabledL();
-
- /**
- * Requests the scan results from the server
- * @since S60 5.0
- * @param aInfoArray Array for the scan results. Ownership not changed.
- */
- IMPORT_C void UpdateWlanListL( CWsfWlanInfoArray* aInfoArray );
-
- /**
- * Asyncronous request to the server to return wlan list size
- * @since S60 5.2
- * @param aPckg request result
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void GetWlanListSize( TPckgBuf<TUint>& aPckg,
- TRequestStatus& aStatus );
-
-
- /**
- * Asyncronous request to the server to return wlan list
- * @since S60 5.2
- * @param aPckg request result
- * @param aPtr wlan list
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void GetWlanList( TPckgBuf<TUint>& aPckg, TPtr8& aPtr,
- TRequestStatus& aStatus );
-
- /**
- * Cancel all pending tasks.
- * @since S60 5.0
- */
- IMPORT_C void CancelAll();
-
- /**
- * Return the connected wlan network name
- * @since S60 5.0
- * @return The connected account name, or NULL if not connected
- */
- IMPORT_C HBufC* ConnectedAccountNameL();
-
- /**
- * Return the connected wlan's details
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo object to fill
- * @return ETrue if success, EFalse otherwise
- */
- IMPORT_C TBool GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Asyncronous request to the server to return connected wlan network
- * @since S60 5.2
- * @param aPckg request result
- * @param aWlanInfo The wlaninfo object to fill
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void GetConnectedWlanDetails( TPckgBuf<TBool>& aPckg,
- TWsfWlanInfo& aWlanInfo,
- TRequestStatus& aStatus );
-
- /**
- * Start monitoring events for the specified access point
- * @since S60 5.0
- * @param aMonitoredIap The id of the IAP to be monitored
- */
- IMPORT_C void MonitorAccessPointL( TUint32 aMonitoredIap );
-
- /**
- * Connect to the given WLAN IAP. The function requests the server,
- * then starts a synchronous wait until the connection is established.
- * @since S60 5.0
- * @param aIapId The id of the IAP to connect to
- * @param aConnectOnly ETrue if Connect selected
- * @param aPersistence The value of the persistence property
- * @return KErrNone if managed to connect, otherwise error code
- */
- IMPORT_C TInt ConnectWlanBearerL( TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence = EIapPersistent );
-
- /**
- * Asyncronous request to the server to connect
- * @since S60 5.2
- * @param aPckg request result
- * @param aIapId The id of the IAP to connect to
- * @param aConnectOnly ETrue if Connect selected
- * @param aPersistence The value of the persistence property
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void ConnectWlanBearer( TPckgBuf<TBool>& aPckg,
- TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence,
- TRequestStatus& aStatus );
-
- /**
- * Sets connection result
- * @since S60 5.2
- * @param aResult The connection request result
- */
- IMPORT_C void SetConnectWlanBearerResult( TInt aResult );
-
- /**
- * Sets the persistence property of the currently monitored IAP
- * @since S60 5.0
- * @param aPersistence The value of the property
- * @return ETrue on success, otherwise false
- */
- IMPORT_C TBool SetIapPersistenceL( TWsfIapPersistence aPersistence );
-
- /**
- * Disconnect the current wlan connection
- * @since S60 5.0
- * @return ETrue if there was an active connection and it was
- * disconnected successfully, otherwise EFalse
- */
- IMPORT_C TBool DisconnectWlanBearerL();
-
- /**
- * Asyncronous request to the server to disconnect
- * @since S60 5.2
- * @param aPckg request result
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void DisconnectWlanBearer( TPckgBuf<TBool>& aPckg,
- TRequestStatus& aStatus );
-
- /**
- * Request the server to make a forced scan
- * @since S60 5.0
- * @return ETrue on success
- */
- IMPORT_C TBool RequestScanL();
-
- /**
- * Asyncronous request to the server to make a scan
- * @since S60 5.2
- * @param aPckg request result
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void RequestScan( TPckgBuf<TBool>& aPckg,
- TRequestStatus& aStatus );
-
- /**
- * Queries if there is an active WLAN connection.
- * @since S60 5.0
- * @return ETrue if there is an active WLAN connection,
- * * EFalse otherwise.
- */
- IMPORT_C TBool IsConnectedL();
-
- /**
- * Aborts the currently ongoing connecting process
- * @since S60 5.0
- */
- IMPORT_C void AbortConnectingL();
-
- /**
- * Aborts the currently ongoing scanning process
- * @since S60 5.0
- */
- IMPORT_C void AbortScanningL();
-
- /**
- * Controls the auto-disconnect timer in the server
- * for owned connections
- * @since S60 5.0
- * @param aAdcCommand Command bitmask for the timer,
- * see TWsfAutoDisconnectCommand
- * @return ETrue if the timer has been started (also if it had been
- * started earlier), EFalse if the timer couldn't be started
- * (e.g. because there is no owned connection).
- */
- IMPORT_C TBool ControlDisconnectTimerL( TUint aAdcCommand );
-
-
- private:
- /**
- * Starts the server if it was not running already.
- * @since S60 5.0
- * @return KErrNone on success, otherwise error code
- */
- TInt StartServer();
-
-
- private:
- /**
- * Cancels the notifications from the server.
- * Only called by CWsfEventHandler.
- * @since S60 5.0
- */
- void DoCancelNotifyEvent();
-
- /**
- * Tries to restart the server after it died because of an error.
- * Only called by CWsfEventHandler.
- * @since S60 5.0
- * @param aObserver The object which should be notified on
- * server events. (This call just passes the current
- * observer of the event handler, which is needed
- * for the initialisation.)
- * @return ETrue if the restart succeeded
- */
- TBool RecoverFromServerTermination(
- MWsfStateChangeObserver& aObserver );
-
- /**
- * Stops the waiting for connection creation started by
- * ConnectWlanBearerL.
- * @since S60 5.0
- */
- void StopConnectingWait();
-
-
- private: // Data
- /**
- * Event handler active object for the server-generated events. Owned.
- */
- CWsfEventHandler* iEventHandler;
-
- /**
- * Indicates the result of the connecting process
- */
- TInt iConnectingResult;
-
- /**
- * Waiter to make the asynchronous connect call synchronous
- * on client-side
- */
- CActiveSchedulerWait* iConnWaiter;
- };
-
-#endif // R_WSFSESSION_H
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfstatechangeobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/*
-* 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 MWsfStateChangeObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFSTATECHANGEOBSERVER_H
-#define M_WSFSTATECHANGEOBSERVER_H
-
-// EXTERNAL INCLUDES
-#include <e32std.h>
-
-
-// CLASS DEFINITION
-/**
- * Mixin class to handle server events
- *
- * MWsfStateChangeObserver provides an interface through which
- * the implementing class can receive notifications of different server events
- * communicated by the client-side event handler.
- *
- * @since S60 5.0
- */
-class MWsfStateChangeObserver
- {
- public:
- /**
- * The current wlan data has changed and it is ready to be retrieved
- * @since S60 5.0
- */
- virtual void WlanListChangedL() = 0;
-
- /**
- * Engine error occured
- * @since S60 5.0
- * @param aError System wide error code
- */
- virtual void NotifyEngineError( TInt aError ) = 0;
-
- /**
- * Scanning has been disabled
- * @since S60 5.0
- */
- virtual void ScanDisabledL() = 0;
-
- /**
- * Scanning has been enabled
- * @since S60 5.0
- */
- virtual void ScanEnabledL() = 0;
-
- /**
- * A WLAN connection has been established
- * @since S60 5.0
- */
- virtual void WlanConnectionActivatedL() = 0;
-
- /**
- * A WLAN connection has been closed
- * @since S60 5.0
- */
- virtual void WlanConnectionClosedL() = 0;
-
- /**
- * A WLAN connection creation finished
- * @since S60 5.2
- * @param aError System wide error code
- */
- virtual void ConnectionCreationProcessFinishedL( TInt aError ) = 0;
-
-
- };
-
-
-#endif // M_WSFSTATECHANGEOBSERVER_H
--- a/wlanutilities/wlansniffer/engine/client/rom/wsfclient.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* 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: Image description file for project Engine/Client
-*
-*/
-
-
-
-
-#ifndef WSFCLIENT_IBY
-#define WSFCLIENT_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferClient
-
-#include <data_caging_paths_for_iby.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfclient.dll SHARED_LIB_DIR\wsfclient.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFCLIENT_IBY
--- a/wlanutilities/wlansniffer/engine/client/src/wsfactivewaiter.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* 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: Implementation of CWsfActiveWaiter.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL( )
- {
- CWsfActiveWaiter* self =
- new ( ELeave ) CWsfActiveWaiter( );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::ConstructL()
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter()
-: CActive( EPriorityNormal )
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::~CWsfActiveWaiter()
- {
- Cancel();
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::DoCancel()
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::RunL()
- {
- LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
- if ( iWait.IsStarted() )
- {
- LOG_WRITE("async call completed, resuming.");
- iWait.AsyncStop();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest()
-// ---------------------------------------------------------
-//
-TInt CWsfActiveWaiter::WaitForRequest()
- {
- LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
- SetActive();
- iWait.Start();
-
- return iStatus.Int();
- }
-// End of File
-
--- a/wlanutilities/wlansniffer/engine/client/src/wsfeventhandler.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,341 +0,0 @@
-/*
-* 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: Implementation of CWsfEventHandler
-*
-*/
-
-
-
-
-// CLASS HEADER
-#include "wsfeventhandler.h"
-
-// INTERNAL INCLUDES
-#include "wsfstatechangeobserver.h"
-#include "wsflogger.h"
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfEventHandler* CWsfEventHandler::NewL( RWsfSession& aSession,
- MWsfStateChangeObserver& aObserver )
- {
- CWsfEventHandler* thisPtr = new (ELeave) CWsfEventHandler( aSession,
- aObserver );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::~CWsfEventHandler
-// ---------------------------------------------------------------------------
-//
-CWsfEventHandler::~CWsfEventHandler()
- {
- Cancel();
- iSession = NULL;
- iObserver = NULL;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::CWsfEventHandler
-// ---------------------------------------------------------------------------
-//
-CWsfEventHandler::CWsfEventHandler( RWsfSession& aSession,
- MWsfStateChangeObserver& aObserver ):
- CActive( CActive::EPriorityStandard )
- {
- iSession = &aSession;
- iObserver = &aObserver;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::ConstructL()
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::DoRunL
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::DoRunL()
- {
- LOG_ENTERFN( "CWsfEventHandler::DoRunL" );
- LOG_WRITEF( "CWsfEventHandler::DoRunL event = %d", iEvent().iEvent );
-
- switch ( iEvent().iEvent )
- {
- case EEngineWlanDataChanged:
- {
- iObserver->WlanListChangedL();
- break;
- }
-
- case EEngineScanDisabled:
- {
- iObserver->ScanDisabledL();
- break;
- }
-
- case EEngineScanEnabled:
- {
- iObserver->ScanEnabledL();
- break;
- }
-
- case EEngineConnected:
- {
- if ( !iBlockConnectedEvent )
- {
- // if the event wasn't blocked, notify the observer
- iObserver->WlanConnectionActivatedL();
- }
- else
- {
- // if it was blocked, just clear the flag
- iBlockConnectedEvent = EFalse;
- }
-
- // anyhow, connecting process is finished
- if ( iConnecting )
- {
- iConnecting = EFalse;
- iSession->StopConnectingWait();
- iObserver->ConnectionCreationProcessFinishedL(
- KErrNone );
- }
- break;
- }
-
- case EEngineDisconnected:
- {
- iObserver->WlanConnectionClosedL();
- break;
- }
-
- case EEngineError:
- {
- iObserver->NotifyEngineError( iEvent().iError );
- break;
- }
-
- case EEngineConnectingFailed:
- {
- if ( iConnecting )
- {
- // connecting is over
- iConnecting = EFalse;
-
- // make client return with KErrCancel
- iSession->iConnectingResult = iEvent().iError;
- iSession->StopConnectingWait();
- iObserver->ConnectionCreationProcessFinishedL(
- iSession->iConnectingResult );
- }
- break;
- }
-
- default:
- __ASSERT_DEBUG(0, _L("CWsfEventHandler - Invalid EngineEvent"));
- break;
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::RunL()
- {
- LOG_ENTERFN( "CWsfEventHandler::RunL" );
- TInt notifyError( KErrNone );
- TBool reissue( ETrue );
-
- if ( iStatus.Int() >= KErrNone && iObserver )
- {
- TRAP( notifyError, DoRunL() );
- }
-
- if ( notifyError )
- {
- // notified class leaved
- LOG_WRITEF( "CWsfEventHandler::RunL notify error %d", notifyError );
- }
- else if ( iStatus.Int() != KErrNone )
- {
- if ( iStatus.Int() == KErrCancel )
- {
- // KErrCancel is the signal that we are going down
- LOG_WRITE( "going down..." );
- reissue = EFalse;
- }
- else
- {
- // error on the server side
- LOG_WRITEF( "CWsfEventHandler::RunL engine error %d",
- iStatus.Int() );
-
- TBool notify( ETrue );
-
- if ( iStatus.Int() == KErrServerTerminated )
- {
- reissue = EFalse;
-
- if ( iObserver
- && iSession->RecoverFromServerTermination( *iObserver ) )
- {
- // no need to reissue if recovered since it is already
- // done in the recovery process
- notify = EFalse;
- }
- }
-
- if ( notify && iObserver )
- {
- // let the client decide what to do
- iObserver->NotifyEngineError( iStatus.Int() );
- }
- }
- }
-
-
- if ( reissue && iObserver )
- {
- // reissue callback request
- iSession->NotifyEventL( *iObserver );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::DoCancel()
- {
- LOG_ENTERFN( "CWsfEventHandler::DoCancel" );
- iSession->DoCancelNotifyEvent();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWsfEventHandler::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfEventHandler::RunError" );
- LOG_WRITEF( "CWsfEventHandler::RunError error = %d", aError );
- if ( iObserver )
- {
- iObserver->NotifyEngineError( aError ) ;
- }
- return KErrNone; // we don't wan't to panic euser-47 - do we?
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::Start
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::Start()
- {
- SetActive();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::EventContainer
-// ---------------------------------------------------------------------------
-//
-TPckgBuf<TWsfNotifyEventContainer>& CWsfEventHandler::EventContainer()
- {
- return iEvent;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::ResetObserver
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::ResetObserver( MWsfStateChangeObserver& aObserver )
- {
- LOG_ENTERFN( "CWsfEventHandler::ResetObserver" );
- iObserver = &aObserver;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::BlockNextConnectedEvent
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::BlockNextConnectedEvent()
- {
- LOG_ENTERFN( "CWsfEventHandler::BlockNextConnectedEvent" );
- if ( iConnecting )
- {
- LOG_WRITE( "iBlockConnectedEvent to true" );
- // set the flag only if we are the ones who are connecting
- iBlockConnectedEvent = ETrue;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::UnBlockNextConnectedEvent
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::UnBlockNextConnectedEvent()
- {
- LOG_ENTERFN( "CWsfEventHandler::UnBlockNextConnectedEvent" );
- LOG_WRITE( "iBlockConnectedEvent to false" );
- iBlockConnectedEvent = EFalse;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::SetConnecting
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::SetConnecting( TBool aConnecting )
- {
- LOG_ENTERFN( "CWsfEventHandler::SetConnecting" );
- LOG_WRITEF( "iConnecting=%d, aConnecting=%d", iConnecting, aConnecting );
- iConnecting = aConnecting;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::Connecting
-// ---------------------------------------------------------------------------
-//
-TBool CWsfEventHandler::Connecting() const
- {
- return iConnecting;
- }
-
--- a/wlanutilities/wlansniffer/engine/client/src/wsfsession.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,807 +0,0 @@
-/*
-* 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: Implementation of RWsfSession
-*
-*/
-
-
-
-// CLASS HEADER
-#include "wsfsession.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-#include "wsfeventhandler.h"
-#include "wsfactivewaiter.h"
-#include "wsfservercommon.h"
-#include "wsflogger.h"
-
-
-
-// LOCAL DEFINITIONS
-/**
-* Number of message slots at the server
-*/
-static const TInt KIPCSlots = 6;
-
-/**
-* Number of retries to start the server
-*/
-static const TInt KRetries = 3;
-
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::RWsfSession
-// ---------------------------------------------------------------------------
-EXPORT_C RWsfSession::RWsfSession():
- RSessionBase(),
- iEventHandler( 0 ),
- iConnectingResult( KErrNone )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::StartServer
-// ---------------------------------------------------------------------------
-TInt RWsfSession::StartServer()
- {
- LOG_ENTERFN( "RWsfSession::StartServerL" );
-
- TInt res( KErrNone );
- // create server - if one of this name does not already exist
- TFindServer findServer( KWlanSnifferServerName );
- TFullName name;
-
- if ( findServer.Next( name ) != KErrNone ) // we don't exist already
- {
- RProcess server;
- // Create the server process
- res = server.Create( KWlanSnifferServerExe, KNullDesC );
-
- if ( res != KErrNone ) // thread created ok - now start it going
- {
- return res;
- }
-
- // Rendezvous is used to detect server start
- TRequestStatus status;
- server.Rendezvous( status );
-
- if ( status != KRequestPending )
- {
- LOG_WRITEF( "StartServer Rendezvous ERROR: %d", status.Int() );
- server.Kill( 0 ); // abort startup
- }
- else
- {
- server.Resume(); // logon OK - start the server
- }
-
- LOG_WRITE( "StartServer wait for start" );
- User::WaitForRequest( status ); // wait for start or death
-
- // We can't use the 'exit reason' if the server paniced as this
- // is the panic 'reason' and may be '0' which cannot be distinguished
- // from KErrNone
- res = ( server.ExitType() == EExitPanic ) ? KErrGeneral : status.Int();
-
- // we're no longer interested in the other process
- server.Close();
- }
-
- return res;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::Connect
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RWsfSession::Connect()
- {
- LOG_ENTERFN( "RWsfSession::Connect" );
- TInt err = StartServer();
-
- for (TInt tries = 0; tries < KRetries; tries++)
- {
- LOG_WRITE( "server started" );
-
- err = CreateSession( KWlanSnifferServerName, Version(), KIPCSlots );
-
- LOG_WRITEF( "CreateSession() returned %d", err );
-
- if (!err)
- {
- LOG_WRITE( "connected" );
- TRAP( err, iConnWaiter = new (ELeave) CActiveSchedulerWait() );
- break;
- }
- if (err != KErrNotFound && err != KErrServerTerminated)
- {
- LOG_WRITE( "problems session creation - break" );
- break;
- }
-
- TInt err = StartServer(); // try to launch the server
-
- if (!err)
- {
- LOG_WRITE( "ok - try to connect again" );
- continue;
- }
-
- if (err == KErrAlreadyExists)
- {
- LOG_WRITE( "someone else started - try to connect again" );
- continue;
- }
-
- LOG_WRITE( "problems - break" );
- break;
- }
-
- LOG_WRITEF( "connect exit value = %d", err );
-
- return err;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::Version
-// ---------------------------------------------------------------------------
-//
-TVersion RWsfSession::Version() const
- {
- return TVersion( KWlanSnifferServerMajor,
- KWlanSnifferServerMinor,
- KWlanSnifferServerBuild );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::CancelNotifyEvent
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::CancelNotifyEvent()
- {
- LOG_ENTERFN( "RWsfSession::CancelNotifyEvent" );
- if ( iEventHandler )
- {
- iEventHandler->Cancel();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ConnectedAccountNameL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* RWsfSession::ConnectedAccountNameL()
- {
- LOG_ENTERFN("RWsfSession::ConnectedAccountNameL");
- TPckgBuf<TWsfQueryConnectedAccount> package;
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
- SendReceive( ESnifferCmdConnectionName, TIpcArgs( &package ),
- waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdConnectionName,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
-
- if ( package().iConnected )
- {
- return package().iConnectedAccountName.AllocL();
- }
- return KNullDesC().AllocL();
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::GetConnectedWlanDetailsL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN("RWsfSession::GetConnectedWlanDetailsL");
- TPckgBuf<TBool> ret( EFalse );
- TPckg<TWsfWlanInfo> package( aWlanInfo );
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdConnectedDetails, TIpcArgs( &ret, &package ),
- waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdConnectedDetails,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
-
- return ret();
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::GetConnectedWlanDetails
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::GetConnectedWlanDetails( TPckgBuf<TBool>& aPckg,
- TWsfWlanInfo& aWlanInfo,
- TRequestStatus& aStatus )
- {
- LOG_ENTERFN("RWsfSession::GetConnectedWlanDetails");
- TPckg<TWsfWlanInfo> package( aWlanInfo );
-
- SendReceive( ESnifferCmdConnectedDetails, TIpcArgs( &aPckg, &package ),
- aStatus );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::NotifyEventL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::NotifyEventL( MWsfStateChangeObserver& aObserver )
- {
- LOG_ENTERFN("RWsfSession::NotifyEventL");
- if ( !iEventHandler )
- {
- iEventHandler = CWsfEventHandler::NewL( *this, aObserver );
- }
- iEventHandler->ResetObserver( aObserver );
- if ( !iEventHandler->IsActive() )
- {
- iEventHandler->Start();
- SendReceive( ESnifferCmdNotifyEvents,
- TIpcArgs( &iEventHandler->EventContainer() ),
- iEventHandler->iStatus );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::EnableScanL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::EnableScanL()
- {
- LOG_ENTERFN("RWsfSession::EnableScanL");
-
- TInt err = Send( ESnifferCmdActivateScan );
- LOG_WRITEF( "message[%d] call returned %d", ESnifferCmdActivateScan, err );
-
- User::LeaveIfError( err );
-
- return !err;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::DisableScanL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::DisableScanL()
- {
- LOG_ENTERFN("RWsfSession::DisableScanL");
-
- TInt err = Send( ESnifferCmdDisableScan );
- LOG_WRITEF( "message[%d] call returned %d", ESnifferCmdDisableScan, err );
-
- User::LeaveIfError( err );
-
- return !err;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::IsScanEnabledL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::IsScanEnabledL()
- {
- LOG_ENTERFN("RWsfSession::IsScanEnabledL");
- TBool res = 0;
- TPckgBuf<TInt> pckg;
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdIsScanEnabled, TIpcArgs( &pckg ),
- waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdIsScanEnabled,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
-
- res = pckg();
- return res;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::UpdateWlanListL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::UpdateWlanListL( CWsfWlanInfoArray* aInfoArray )
- {
- LOG_ENTERFN("RWsfSession::UpdateWlanListL");
- // first request the buffer size for wlan data...
- TPckgBuf<TUint> pckg;
- TUint infoArrayElementCount = aInfoArray->Count();
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdWlanDataSize, TIpcArgs( &pckg ), waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdWlanDataSize,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
-
- // alloc the required size buffer...
- TInt requiredSize = pckg();
- LOG_WRITEF( "WLAN data buffer size = %d", requiredSize );
-
- if ( !requiredSize )
- {
- // no data ...
- CleanupStack::PopAndDestroy( waiter );
- return;
- }
-
- HBufC8* buffer = HBufC8::NewLC( requiredSize );
- TPtr8 ptr = buffer->Des();
-
- SendReceive( ESnifferCmdGetWlanInfo, TIpcArgs( &pckg, &ptr ),
- waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdGetWlanInfo,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
-
-
- LOG_WRITEF( "actual bytes occupied = %d", pckg() );
-
- if ( requiredSize != pckg() )
- {
- // the buffer is not long enough... we must try again...
- User::Leave( KErrOverflow );
- }
-
- // Check that aInfoArray has not been modified
- // while we waited server response
- if ( aInfoArray->Count() != infoArrayElementCount )
- {
- LOG_WRITEF( "aInfoArray data has changed %d != %d ",
- aInfoArray->Count(), infoArrayElementCount );
- aInfoArray->Reset();
- }
-
- aInfoArray->AppendFromStreamBufferL( ptr );
- CleanupStack::PopAndDestroy( buffer );
- CleanupStack::PopAndDestroy( waiter );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::GetWlanListSize
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::GetWlanListSize( TPckgBuf<TUint> &aPckg, TRequestStatus& aStatus )
- {
- LOG_ENTERFN("RWsfSession::GetWlanListSize");
- SendReceive( ESnifferCmdWlanDataSize, TIpcArgs( &aPckg ), aStatus );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::GetWlanList
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::GetWlanList( TPckgBuf<TUint>& aPckg, TPtr8& aPtr, TRequestStatus& aStatus )
- {
- LOG_ENTERFN("RWsfSession::GetWlanList");
- SendReceive( ESnifferCmdGetWlanInfo, TIpcArgs( &aPckg, &aPtr ), aStatus );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::MonitorAccessPointL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::MonitorAccessPointL( TUint32 aMonitoredIap )
- {
- LOG_ENTERFN("RWsfSession::MonitorAccessPointL");
-
- TInt err = Send( ESnifferCmdMonitorAp, TIpcArgs( aMonitoredIap ));
- LOG_WRITEF( "message[%d] call returned %d", ESnifferCmdMonitorAp, err );
-
- User::LeaveIfError( err );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::RequestScanL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::RequestScanL()
- {
- LOG_ENTERFN("RWsfSession::RequestScanL");
- TPckgBuf<TBool> pckg;
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdRequestScan, TIpcArgs( &pckg ), waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdRequestScan,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
- return pckg();
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::RequestScan
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::RequestScan(TPckgBuf<TBool>& aPckg, TRequestStatus& aStatus )
- {
- LOG_ENTERFN("RWsfSession::RequestScan");
- SendReceive( ESnifferCmdRequestScan, TIpcArgs( &aPckg ), aStatus );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ConnectWlanBearerL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RWsfSession::ConnectWlanBearerL( TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence )
- {
- LOG_ENTERFN( "RWsfSession::ConnectWlanBearerL" );
- LOG_WRITEF( "IAP id = %d", aIapId );
-
- // mark the beginning of the connection process
- iEventHandler->UnBlockNextConnectedEvent();
- iEventHandler->SetConnecting( ETrue );
-
- TInt res( KErrNone );
- TPckgBuf<TInt> pckg;
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdConnect,
- TIpcArgs( &pckg, aIapId, aConnectOnly, aPersistence ),
- waiter->iStatus );
-
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdConnect,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
-
- res = pckg();
-
- if ( res != KErrNone )
- {
- // on any error the flag should be cleared
- iEventHandler->SetConnecting( EFalse );
- }
- else
- {
- // otherwise we must wait until the connected signal arrives
- iConnWaiter->Start();
- }
-
- if ( iConnectingResult )
- {
- // the caller must know if the connecting process was cancelled
- res = iConnectingResult;
- iConnectingResult = KErrNone;
- }
-
- return res;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ConnectWlanBearer
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::ConnectWlanBearer( TPckgBuf<TBool>& aPckg,
- TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence,
- TRequestStatus& aStatus )
- {
- LOG_ENTERFN( "RWsfSession::ConnectWlanBearer" );
- LOG_WRITEF( "IAP id = %d", aIapId );
-
- // mark the beginning of the connection process
- iEventHandler->UnBlockNextConnectedEvent();
- iEventHandler->SetConnecting( ETrue );
-
- SendReceive( ESnifferCmdConnect,
- TIpcArgs( &aPckg, aIapId, aConnectOnly, aPersistence ),
- aStatus );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::SetConnectWlanBearerResult
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::SetConnectWlanBearerResult( TInt aResult )
- {
- LOG_ENTERFN( "RWsfSession::SetConnectWlanBearerResult" );
- LOG_WRITEF( "Result = %d", aResult );
-
- if ( aResult != KErrNone )
- {
- // on any error the flag should be cleared
- iEventHandler->SetConnecting( EFalse );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::StopConnectingWait
-// ---------------------------------------------------------------------------
-//
-void RWsfSession::StopConnectingWait()
- {
- LOG_ENTERFN( "RWsfSession::StopConnectingWait" );
- if ( iConnWaiter->IsStarted() )
- {
- iConnWaiter->AsyncStop();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::DisconnectWlanBearerL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::DisconnectWlanBearerL()
- {
- LOG_ENTERFN("RWsfSession::DisconnectWlanBearerL");
- TBool res = 0;
- TPckgBuf<TInt> pckg;
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdDisconnect, TIpcArgs( &pckg ), waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdDisconnect,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
-
- CleanupStack::PopAndDestroy( waiter );
-
- res = pckg();
- return res;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::DisconnectWlanBearer
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::DisconnectWlanBearer( TPckgBuf<TBool>& aPckg, TRequestStatus& aStatus )
- {
- LOG_ENTERFN("RWsfSession::DisconnectWlanBearer");
- SendReceive( ESnifferCmdDisconnect, TIpcArgs( &aPckg ), aStatus );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::Close
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::Close()
- {
- LOG_ENTERFN("RWsfSession::Close");
- delete iEventHandler; iEventHandler = NULL;
- delete iConnWaiter; iConnWaiter = NULL;
-
- LOG_WRITE( "close session" );
- RSessionBase::Close();
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::DoCancelNotifyEvent
-// ---------------------------------------------------------------------------
-//
-void RWsfSession::DoCancelNotifyEvent()
- {
- LOG_ENTERFN("RWsfSession::DoCancelNotifyEvent");
- // used only by CWsfEventHandler
- TInt err = Send( ESnifferCmdCancelNotifyEvents );
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdCancelNotifyEvents, err );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::CancelAll
-// ---------------------------------------------------------------------------
-//
-void RWsfSession::CancelAll()
- {
- LOG_ENTERFN("RWsfSession::CancelAll");
- TInt err = Send( ESnifferCmdCancelAll );
-
- LOG_WRITEF( "message[%d] call returned %d", ESnifferCmdCancelAll, err );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::IsConnectedL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::IsConnectedL()
- {
- LOG_ENTERFN("RWsfSession::IsConnectedL");
- TPckgBuf<TBool> pckg;
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdIsConnected, TIpcArgs( &pckg ), waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdIsConnected,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
-
- return pckg();
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::RecoverFromServerTermination
-// ---------------------------------------------------------------------------
-//
-TBool RWsfSession::RecoverFromServerTermination(
- MWsfStateChangeObserver& aObserver )
- {
- RSessionBase::Close();
-
- TBool ret( EFalse );
-
- ret = ( Connect() == KErrNone );
- if ( ret )
- {
- TRAPD( err, NotifyEventL( aObserver ) );
- ret = ( err == KErrNone );
- }
-
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::AbortConnectingL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::AbortConnectingL()
- {
- LOG_ENTERFN("RWsfSession::AbortConnectingL");
-
- if ( iEventHandler->Connecting() )
- {
- iConnectingResult = KErrCancel;
- iEventHandler->BlockNextConnectedEvent();
-
- TInt err = Send( ESnifferCmdAbortConnecting );
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdAbortConnecting, err );
-
- User::LeaveIfError( err );
- StopConnectingWait();
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::AbortScanningL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::AbortScanningL()
- {
- LOG_ENTERFN("RWsfSession::AbortScanningL");
-
- TInt err = Send( ESnifferCmdAbortScanning );
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdAbortScanning, err );
-
- User::LeaveIfError( err );
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::SetIapPersistenceL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::SetIapPersistenceL(
- TWsfIapPersistence aPersistence )
- {
- LOG_ENTERFN("RWsfSession::SetIapPersistenceL");
- TPckgBuf<TBool> ret( EFalse );
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdSetIapPersistence, TIpcArgs( &ret, aPersistence ),
- waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdSetIapPersistence,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
-
- return ret();
- }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ControlDisconnectTimerL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::ControlDisconnectTimerL( TUint aAdcCommand )
- {
- LOG_ENTERFN("RWsfSession::ControlDisconnectTimerL");
-
- TPckgBuf<TBool> ret( EFalse );
-
- CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- SendReceive( ESnifferCmdControlDisconnectTimer,
- TIpcArgs( &ret, aAdcCommand ),
- waiter->iStatus );
-
- waiter->WaitForRequest();
- LOG_WRITEF( "message[%d] call returned %d",
- ESnifferCmdControlDisconnectTimer,
- waiter->iStatus.Int() );
- User::LeaveIfError( waiter->iStatus.Int() );
- CleanupStack::PopAndDestroy( waiter );
-
- return ret();
- }
-
-
--- a/wlanutilities/wlansniffer/engine/server/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* 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: Build information file for project Server
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-../inc/wsfservercommon.h |../../inc/wsfservercommon.h
-../inc/wsfcommon.h |../../../../inc/wsfcommon.h
-
-../rom/wsfserver.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfserver.iby)
-
-
-PRJ_MMPFILES
-server.mmp
-
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/group/server.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* 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: Project definition file for project Server
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-
-TARGET wsfserver.exe
-TARGETTYPE exe
-UID 0x00000000 0x10281CAB
-
-
-CAPABILITY ReadDeviceData NetworkServices NetworkControl ProtServ \
- ReadUserData WriteDeviceData WriteUserData
-
-EPOCSTACKSIZE 0x5000
-
-// Source files
-SOURCEPATH ../src
-SOURCE wsfwlanscanner.cpp
-SOURCE wsfengine.cpp
-SOURCE wsfwlansettingsaccessor.cpp
-SOURCE wsfserver.cpp
-SOURCE wsfsession.cpp
-SOURCE wsfservercloser.cpp
-SOURCE wsfwlanbearerconnectionmonitor.cpp
-SOURCE wsfactivewaiter.cpp
-SOURCE wsfict.cpp
-
-
-// own headers
-USERINCLUDE ../inc
-
-// client-server common headers
-USERINCLUDE ../../inc
-
-// inner API
-USERINCLUDE ../../../inc
-
-// private API
-USERINCLUDE ../../../../inc
-
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-
-// Used system libraries
-LIBRARY ws32.lib
-LIBRARY apgrfx.lib
-LIBRARY euser.lib
-LIBRARY bafl.lib
-LIBRARY estor.lib
-LIBRARY ecom.lib
-LIBRARY commsdat.lib
-LIBRARY commdb.lib
-LIBRARY cmmanagerdatabase.lib
-LIBRARY cmmanager.lib
-LIBRARY ictsclientinterface.lib
-
-LIBRARY esock.lib
-LIBRARY charconv.lib
-LIBRARY connmon.lib
-LIBRARY wsfwlaninfo.lib
-LIBRARY centralrepository.lib
-LIBRARY FeatMgr.lib
-
-DEBUGLIBRARY flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfactivewaiter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* 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 CWsfActiveWaiter
-*
-*/
-
-
-#ifndef C_WSFACTIVEWAITER_H
-#define C_WSFACTIVEWAITER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-// CLASS DEFINITION
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest()
- *
- * Usage:
- * @code
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest() == KErrNone )
- * {
- * // handle success
- * }
- * else
- * {
- * // handle failure
- * }
- * CleanupStack::PopAndDestroy( waiter );
- * @endcode
- *
- * @lib wsfserver.exe
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ): public CActive
- {
- public:
- /**
- * Factory function
- * @since S60 5.0
- * @return CWsfActiveWaiter instance.
- */
- static CWsfActiveWaiter* NewL();
-
- /**
- * Factory function
- * @since S60 5.0
- * @return CWsfActiveWaiter instance.
- */
- static CWsfActiveWaiter* NewLC();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- virtual ~CWsfActiveWaiter();
-
- protected:
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfActiveWaiter();
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
- protected: // from CActive
-
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- public: // new methods
- /**
- * Waits for its TRequestStatus to be completed
- * @since S60 5.0
- * @return Error code returned from server after request is completed
- */
- TInt WaitForRequest();
-
- protected: // data
- /**
- * Nested waitloop
- */
- CActiveSchedulerWait iWait;
- };
-
-#endif // C_WSFACTIVEWAITER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfcommon.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* 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: Header for common client-server constants and enums
-*
-*/
-
-
-
-#ifndef WSFCOMMON_H
-#define WSFCOMMON_H
-
-/**
-* Possible values for the persistence property of monitored IAPs
-*/
-enum TWsfIapPersistence
- {
- /**
- * Default persistence value
- */
- EIapDeleted,
-
- /**
- * The IAP won't be deleted at all.
- */
- EIapPersistent,
-
- /**
- * There is an owned active connection whose IAP will be invalidated
- * when a disconnect event occurs.
- */
- EIapExpireOnDisconnect,
-
- /**
- * There is an owned active connection being used by the browser.
- * The IAP will be invalidated when a disconnect event occurs.
- */
- EIapNestedExpireOnDisconnect,
-
- /**
- * The IAP is invalidated only if the server is forced to terminate.
- */
- EIapExpireOnShutdown,
-
- /**
- * The IAP is invalidated when the browser exits or a disconnect occurs.
- */
- EIapExpireOnBrowserExit,
-
- /**
- * Transient state to mark the IAP as immediately invalidated
- */
- EIapForcedExpiry
-
- };
-
-
-/**
-* Possible values for the auto-disconnect timer control commands.
-* Start/stop and Reset can be combined with usual bitfield operations.
-*/
-enum TWsfAutoDisconnectCommand
- {
- /**
- * Stops the timer but does not change its current value
- */
- EAdcStopTimer = 0x0000,
-
- /**
- * Starts the timer from its previous value
- */
- EAdcStartTimer = 0x0001,
-
- /**
- * Resets the value
- */
- EAdcTimerReset = 0x0002
- };
-
-
-
-#endif // WSFCOMMON_H
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfengine.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,351 +0,0 @@
-/*
-* 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 CWsfModel
-*
-*/
-
-
-
-#ifndef C_WSFENGINE_H
-#define C_WSFENGINE_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <commsdattypesv1_1.h>
-#include <cmmanagerext.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlanscannerobserver.h"
-#include "wsfwlanmonitorobserver.h"
-#include "wsfcommon.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanScanner;
-class MWsfEngineObserver;
-class CWsfWlanBearerConnectionMonitor;
-class TWsfWlanInfo;
-class MWsfServerCloserAdapter;
-
-// CLASS DEFINITION
-/**
- * Sniffer engine class.
- * This class manages the objects responsible for connection creation,
- * closing and monitoring, communication with the WLAN engine etc.
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfEngine ): public CBase,
- public MWsfWlanScannerObserver,
- public MWsfWlanMonitorObserver
- {
- public: // Constructors and destructor
- /**
- * Factory function.
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- * @return Server instance
- */
- static CWsfEngine* NewL( MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- * @return Server instance
- */
- static CWsfEngine* NewLC( MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Destructor
- */
- ~CWsfEngine();
-
-
- private: // Constructors
- /**
- * Constructor
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- */
- CWsfEngine( MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
-
- public: // New methods
-
- /**
- * Gets the result of complete wlan scan
- * @since S60 5.0
- * @return Buffer pointer containing a serialized array of
- * wlaninfo items
- */
- HBufC8* GetScanResults();
-
- /**
- * Sets wlan scanning on
- * @since S60 5.0
- */
- void EnableScanningL();
-
- /**
- * Sets wlan scanning off
- * @since S60 5.0
- */
- void DisableScanningL();
-
- /**
- * Returns whether scanning is enabled
- * @since S60 5.0
- * @return ETrue if scanning has been enabled, EFalse otherwise
- */
- TBool IsScanning();
-
- /**
- * Checks if there is an active wlan connection and returns connection
- * name (SSID) if appropriate.
- * @since S60 5.0
- * @return The SSID of connected access point or empty descriptor
- * if not connected
- */
- HBufC* ConnectedWlanSsidL();
-
- /**
- * Fills the wlaninfo with the details of the active WLAN connection
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo record to be filled
- * Ownership not passed.
- * @return ETrue if success, EFalse on failure
- */
- TBool ConnectedWlanConnectionDetailsL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Connects to the given IAP
- * @since S60 5.0
- * @param aIapId The IAP to connect to
- * @param aConnectOnly ETrue if Connect selected
- * @param aPersistence Persistence property of the IAP
- * @return KErrNone if successful, otherwise error code
- */
- TInt ConnectWlanL( TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence );
-
- /**
- * Disconnects the active WLAN connection
- * @since S60 5.0
- * @return ETrue on success, EFalse if there was nothing to disconnect
- */
- TBool DisconnectWlan();
-
- /**
- * Requests a wlan scan
- * @since S60 5.0
- * @return ETrue if scanning is restarted
- */
- TBool RefreshScanResults();
-
- /**
- * Requests the server to monitor an access point
- * @since S60 5.0
- * @param aApId Access Point to be monitored
- */
- void MonitorAccessPointL( TUint32 aApId );
-
- /**
- * Queries if there is an active WLAN connection.
- * @since S60 5.0
- * @return ETrue if there is an active WLAN connection,
- * EFalse otherwise.
- */
- TBool IsConnected();
-
- /**
- * Aborts the currently ongoing connecting process
- * @since S60 5.0
- */
- void AbortConnectingL();
-
- /**
- * Aborts the currently ongoing scanning process
- * @since S60 5.0
- */
- void AbortScanning();
-
- /**
- * Sets the persistence property for the currently monitored IAP
- * @since S60 5.0
- * @param aPersistence The value of the property
- * @return ETrue on success
- */
- TBool SetIapPersistenceL( TWsfIapPersistence aPersistence );
-
- /**
- * Controls the auto-disconnect timer in the server
- * for owned connections
- * @since S60 5.0
- * @param aAdcCommand Command for the timer,
- * see TWsfAutoDisconnectCommand
- * @return ETrue if the timer has been started (also if it had been
- * started earlier), EFalse if the timer couldn't be started
- * (e.g. because there is no owned connection).
- */
- TBool ControlDisconnectTimer( TUint aAdcCommand );
-
- /**
- * Resets the iSuppressIapDeletion flag.
- * @since S60 5.0
- */
- void ResetSuppressIapDeletion ();
-
-
- public: // new methods
-
- /**
- * Adds the given observer to the notification list
- * @since S60 5.0
- * @param aObserver The observer to add. Ownership not passed.
- */
- void AttachL( MWsfEngineObserver* aObserver );
-
- /**
- * Deletes the given observer from the notification list
- * @since S60 5.0
- * @param aObserver The observer to remove. Ownership not passed.
- */
- void Detach( MWsfEngineObserver* aObserver );
-
-
- protected: // from MWsfWlanScannerObserver
-
- /**
- * When the scan cycle has completed this function is called to report
- * the completion.
- * @since S60 5.0
- */
- void WlanScanCompleteL();
-
- /**
- * Called when the scan cycle has started
- * @since S60 5.0
- */
- void WlanScanStarted();
-
- /**
- * Called when an error occured while scanning wlan data
- * @since S60 5.0
- * @param aError System wide error code
- */
- void NotifyError( TInt aError );
-
-
- protected: // from MWsfWlanMonitorObserver
-
- /**
- * Called when a wlan connection is established
- * @since S60 5.0
- * @param aConnectionName WLAN connection name (SSID)
- */
- virtual void ConnectionEstablishedL( const TDesC& aConnectionName );
-
- /**
- * Called when wlan connection has been lost
- * @since S60 5.0
- */
- virtual void ConnectionLostL();
-
- /**
- * Called when the connection process failed for some reason
- * @since S60 5.0
- * @param aError System wide error code
- */
- virtual void ConnectingFailedL( TInt aError );
-
- /**
- * Called when the connection no longer needs the IAP it was using
- * @since S60 5.0
- */
- virtual void ConnectedIapReleasedL();
-
-
- private:
-
- /**
- * Tries to delete the corresponding IAP
- * @since S60 5.0
- * @param aIapId The IAP to be deleted
- */
- void DeleteIapL( TUint32 aIapId );
-
-
- private: // Data
- /**
- * Reference to the server closer (not owned)
- */
- MWsfServerCloserAdapter& iServerCloser;
-
- /**
- * WLAN scanner object (owned)
- */
- CWsfWlanScanner* iScanner;
-
- /**
- * Handle to the commsdat database (owned)
- */
- CommsDat::CMDBSession* iDbSession;
-
- /**
- * WLAN connection monitor object (owned)
- */
- CWsfWlanBearerConnectionMonitor* iWlanBearerMonitor;
-
- /**
- * Reference counter for scan enabling requests
- */
- TInt iEnableScanning;
-
- /**
- * Array of references to the observers of the engine
- * (elements not owned)
- */
- RPointerArray<MWsfEngineObserver> iObservers;
-
- /**
- * Accesspoint to be monitored
- */
- TUint32 iMonitoredIap;
-
- /**
- * Indicates the persistence property of monitored IAP
- */
- TWsfIapPersistence iIapPersistence;
-
- /**
- * Indicates whether to postpone IAP deletion
- */
- TBool iSuppressIapDeletion;
- };
-
-#endif // C_WSFENGINE_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfengineobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* 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 MWsfEngineObserver
-*
-*/
-
-
-
-#ifndef M_WSFENGINEOBSERVER_H
-#define M_WSFENGINEOBSERVER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-// CLASS DEFINITION
-/*
-* Class acts as an interface for the CWsfEngine to be able to call back
-* its clients in case of different events.
-*
-* @since S60 5.0
-*/
-class MWsfEngineObserver
- {
- public: // Abstract methods
-
- /**
- * Called when the WLAN scanning is finished and results are available
- * @since S60 5.0
- */
- virtual void WlanListChangedL() = 0;
-
- /**
- * Called when an error occured in the engine
- * @since S60 5.0
- * @param aError System wide error code
- */
- virtual void NotifyErrorL( TInt aError ) = 0;
-
- /**
- * Called when the WLAN scanning has been enabled
- * @since S60 5.0
- */
- virtual void ScanEnabledL() = 0;
-
- /**
- * Called when the WLAN scanning has been disabled
- * @since S60 5.0
- */
- virtual void ScanDisabledL() = 0;
-
- /**
- * Called when a WLAN connection has been established
- * @since S60 5.0
- */
- virtual void ConnectedL() = 0;
-
- /**
- * Called when the active WLAN connection has been terminated
- * @since S60 5.0
- */
- virtual void DisconnectedL() = 0;
-
- /**
- * Called when an error occured during the connecting process
- * @since S60 5.0
- * @param aError System wide error code
- */
- virtual void ConnectingFailedL( TInt aError ) = 0;
-
- };
-
-#endif // M_WSFENGINEOBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfict.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,142 +0,0 @@
-/*
-* 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 CWsfIct
-*
-*/
-
-
-
-#ifndef C_WSFICT_H
-#define C_WSFICT_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <ictsclientinterface.h>
-
-
-// FORWARD DECLARATIONS
-
-
-// CLASS DEFINITION
-/**
- * Class to monitor and control ICT interface
- *
- * @lib wsfserver.exe
- * @since S60 5.2
- */
-NONSHARABLE_CLASS( CWsfIct ): public CBase,
- public MIctsObserver
- {
- public: // Constructors and destructor
-
- /**
- * Factory function.
- * @since S60 5.2
- * @return CWsfIct instance
- */
- IMPORT_C static CWsfIct* NewL();
-
- /**
- * Factory function.
- * @since S60 5.2
- * @return CWsfIct instance
- */
- IMPORT_C static CWsfIct* NewLC();
-
- IMPORT_C ~CWsfIct();
-
- private: // Constructors
- CWsfIct();
-
- /**
- * Factory function.
- * @since S60 5.2
- */
- void ConstructL();
-
- public: // New methods
-
- /**
- * Tests the connected WLAN access point
- * @since S60 5.2
- * @param aIapId Id of the connection method
- */
- void TestConnectedAccessPointL( TUint aIapId );
-
- /**
- * Initializes ICT parameters
- * @since S60 5.2
- * @param ETrue if ICT needs to be executed
- * @param aIapId Id of the connection method
- * @param aConnectOnly ETrue if connect only case,
- * EFalse if browser is launched after successful connection.
- */
- void InitializeIctL( TBool aTestAccessPoint,
- TUint aIapId,
- TBool aConnectOnly );
-
- public: // from MIctsObserver
-
- /**
- * Called by ICTS during/after connectivity test
- * @since S60 5.2
- * @param aResult Result code of the connectivity test
- * @param aString Parameter to hold auxiliary data
- */
- void ConnectivityObserver( TIctsTestResult aResult, const TDesC& aString );
-
-
- private: // New methods
-
- /**
- * Starts WLAN Login application
- * @param aString Contains redirect URL
- */
- void LaunchWlanLoginL( const TDesC& aString );
-
- /**
- * Moves the IAP to internet SNAP
- * @param aIapId Id of the connection method
- */
- void MoveToInternetSnapL( const TUint32 aIapId );
-
-
- private: // Data
-
- /**
- * Id of currently connected IAP (if applicable)
- */
- TUint iIapId;
-
- /**
- * Network id of currently connected IAP (if applicable)
- */
- TUint iNetId;
-
- /**
- * Indicates if "Connect" or "Start Web browsing" is selected.
- */
- TBool iConnectOnly;
-
- /**
- * ICT class. Owned.
- */
- CIctsClientInterface* iIct;
-
- };
-
-#endif // C_WSFICT_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* 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 CWsfServer
-*
-*/
-
-
-
-#ifndef C_WSFSERVER_H
-#define C_WSFSERVER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfservercloseradapter.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfEngine;
-class CWsfSession;
-
-
-// CLASS DEFINITION
-/**
-* CWsfServer is the server class that realises the necessary server functions
-*
-* @since S60 5.0
-* @lib wsfserver.exe
-*/
-NONSHARABLE_CLASS( CWsfServer ): public CPolicyServer
- {
- private:
-
- /**
- * CWsfServerCloser is an auxiliary class that is responsible for
- * closing the server when there is no need for it any more
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
- NONSHARABLE_CLASS( CWsfServerCloser ): public CTimer,
- public MWsfServerCloserAdapter
- {
- public:
- /**
- * Factory function.
- * @since S60 5.0
- * @return Server closer instance
- */
- static CWsfServerCloser* NewL();
-
- /**
- * Destructor.
- */
- ~CWsfServerCloser();
-
- public: // from MWsfServerCloserAdapter
-
- /**
- * Sets whether the server closer should wait for the
- * termination of the owned connection
- * @since S60 5.0
- * @param aWait If ETrue, the server closer will wait.
- */
- void WaitForOwnedConnection( TBool aWait );
-
- /**
- * Sets whether the server closer should wait for the
- * termination of the browser
- * @since S60 5.0
- * @param aWait If ETrue, the server closer will wait.
- */
- void WaitForBrowserExit( TBool aWait );
-
- /**
- * Sets whether the server closer should wait for the
- * clients of the owned connection to detach
- * @since S60 5.0
- * @param aWait If ETrue, the server closer will wait.
- */
- void WaitForClients( TBool aWait );
-
- private:
-
- /**
- * Constructor.
- * @since S60 5.0
- */
- CWsfServerCloser();
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
-
- private: // from CActive
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
-
- private: // new methods
- /**
- * Start the closing timer
- */
- void StartClosureWait();
-
- private:
- /**
- * Indicates whether the server should wait for the owned
- * connection to terminate.
- */
- TBool iWaitForOwnedConnection;
-
- /**
- * Indicates whether the server should wait for the browser
- * to exit.
- */
- TBool iWaitForBrowserExit;
-
- /**
- * Indicates whether the server should wait for the clients
- * of the owned connection to detach.
- */
- TBool iWaitForClients;
- };
-
- public: // Constructors and destructor
- /**
- * Factory function.
- * @since S60 5.0
- * @return Server instance
- */
- static CWsfServer* NewLC();
-
- /**
- * Destructor.
- * @since S60 5.0
- */
- ~CWsfServer();
-
- private: // Constructors
- /**
- * Constructor
- * @since S60 5.0
- * @param aPriority Active object priority value
- */
- CWsfServer( TInt aPriority );
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
-
- private: // from CActive
- /**
- * Handles a leave occurring in RunL().
- * @since S60 5.0
- * @param aError Leave code
- * @return aError
- */
- TInt RunError( TInt aError );
-
-
- private: // from CPolicyServer
-
- /**
- * Performs a custom security check for IPCs marked with
- * TSpecialCase::ECustomCheck.
- * @since S60 5.0
- * @param aMsg The message to check.
- * @param aAction A reference to the action to take if the security
- * check fails.
- * @param aMissing A reference to the list of security attributes
- * missing from the checked process
- * @return The result of the security check
- * (TCustomResult::EPass/TCustomResult::EFail).
- */
- TCustomResult CustomSecurityCheckL( const RMessage2& aMsg,
- TInt& aAction,
- TSecurityInfo& aMissing );
-
- public: // from CServer2
-
- /**
- * Creates a server-side session object.
- * @since S60 5.0
- * @param aVersion The version information supplied by the client.
- * @param aMessage Represents the details of the client request that is
- * requesting the creation of the session.
- * @return A pointer to the newly created server-side session object.
- */
- CSession2 *NewSessionL( const TVersion& aVersion,
- const RMessage2& /*aMessage*/) const;
-
- public:
- /**
- * The entry point for server startup.
- * Creates the cleanupstack and continues to RunServerL
- * @since S60 5.0
- * @return KErrNone if success, otherwise error code
- */
- static TInt RunServer();
-
- /**
- * Reduce client count and start server shutdown sequence if no client
- * sessions are available
- * @since S60 5.0
- */
- void ClientRelease();
-
- /**
- * Increment the client count counter by one
- * @since S60 5.0
- */
- void ClientAttach();
-
- /**
- * Returns pointer to the engine
- * @since S60 5.0
- * @return Pointer to the engine object
- */
- CWsfEngine* Engine();
-
- private:
- /**
- * Creates active schduler and thread for server and start waiting for
- * client requests
- * @since S60 5.0
- */
- static void RunServerL();
-
-
- private: // Data
- /**
- * Sniffer engine instance (owned)
- */
- CWsfEngine *iEngine;
-
- /**
- * Server closer object (owned)
- */
- CWsfServerCloser* iCloser;
-
- /**
- * Number of currently attached clients
- */
- TInt iClientCount;
-
- };
-
-
-#endif // C_WSFSERVER_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfservercloseradapter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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 MWsfServerCloserAdapter
-*
-*/
-
-
-
-
-#ifndef M_WSFSERVERCLOSERADAPTER_H
-#define M_WSFSERVERCLOSERADAPTER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-
-// CLASS DEFINITION
-/**
-* Class acts as an interface for the Sniffer server closer to let different
-* parts of the engine modify the default closing behaviour. Basically, the
-* functions set the appropriate semaphore in the server closer.
-*
-* @since S60 5.0
-*/
-class MWsfServerCloserAdapter
- {
- public: // Abstract methods
-
- /**
- * Tells the server whether to shut down if there are no clients
- * connected to it.
- * @since S60 5.0
- * @param aWait If ETrue, the server must wait for the clients to
- * disconnect first before closing up.
- */
- virtual void WaitForClients( TBool aWait ) = 0;
-
- /**
- * Tells the server whether to shut down while there is an owned
- * connection open.
- * @since S60 5.0
- * @param aWait If ETrue, the server must wait for the connection to
- * terminate first before closing up.
- */
- virtual void WaitForOwnedConnection( TBool aWait ) = 0;
-
- /**
- * Tells the server whether to shut down while there is an IAP
- * whose deletion is the server's responsibility.
- * @since S60 5.0
- * @param aWait If ETrue, the server must wait for the IAP to be
- * deleted first before closing up.
- */
- virtual void WaitForBrowserExit( TBool aWait ) = 0;
-
- };
-
-
-#endif // M_WSFSERVERCLOSERADAPTER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfservercommon.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* 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: Header for common client-server constants and enums
-*
-*/
-
-
-
-
-#ifndef WSFSERVERCOMMON_H
-#define WSFSERVERCOMMON_H
-
-
-#include <e32base.h>
-
-/**
-* Published name of the sniffer server
-*/
-_LIT( KWlanSnifferServerName, "WlanSnifferServer" );
-
-/**
-* Filename of the server binary
-*/
-_LIT( KWlanSnifferServerExe, "wsfserver.exe" );
-
-/**
-* Version numbers for the sniffer server
-*/
-const TUint KWlanSnifferServerMajor = 1;
-const TUint KWlanSnifferServerMinor = 0;
-const TUint KWlanSnifferServerBuild = 0;
-
-
-/**
-* IPC commands recognised by the sniffer server
-*/
-enum TWsfWlanSnifferCmds
- {
- /**
- * Asks for the size of the scan results in bytes
- */
- ESnifferCmdWlanDataSize,
-
- /**
- * Asks to be notified of server events
- */
- ESnifferCmdNotifyEvents,
-
- /**
- * Asks to cancel notifications
- */
- ESnifferCmdCancelNotifyEvents,
-
- /**
- * Asks for the wlan scan results
- */
- ESnifferCmdGetWlanInfo,
-
- /**
- * Asks to create a connection
- */
- ESnifferCmdConnect,
-
- /**
- * Asks to disconnect the current connection
- */
- ESnifferCmdDisconnect,
-
- /**
- * Asks to start scanning for WLAN networks
- */
- ESnifferCmdActivateScan,
-
- /**
- * Asks to disable WLAN scanning
- */
- ESnifferCmdDisableScan,
-
- /**
- * Asks for the name of the active WLAN connection
- */
- ESnifferCmdConnectionName,
-
- /**
- * Asks to cancel every operation
- */
- ESnifferCmdCancelAll,
-
- /**
- * Asks explicitly for an immediate scan
- */
- ESnifferCmdRequestScan,
-
- /**
- * Asks to monitor the given IAP
- */
- ESnifferCmdMonitorAp,
-
- /**
- * Queries the scanning status
- */
- ESnifferCmdIsScanEnabled,
-
- /**
- * Queries the connection status
- */
- ESnifferCmdIsConnected,
-
- /**
- * Queries the details of the active WLAN connection
- */
- ESnifferCmdConnectedDetails,
-
- /**
- * Aborts the ongoing scanning
- */
- ESnifferCmdAbortScanning,
-
- /**
- * Aborts the ongoing connection process
- */
- ESnifferCmdAbortConnecting,
-
- /**
- * Sets the persistence property of the currently monitored IAP
- */
- ESnifferCmdSetIapPersistence,
-
- /**
- * Sets the behaviour of the auto-disconnect timer
- */
- ESnifferCmdControlDisconnectTimer
- };
-
-
-
-/**
-* Structure for passing back the active connection name
-*/
-class TWsfQueryConnectedAccount
- {
- public:
- /**
- * Maximal length of IAP name that the class should be able to store
- */
- static const TInt KWlanNameMaxLength = 50;
-
- public:
- /**
- * Indicates whether there was a connection
- */
- TBool iConnected;
-
- /**
- * Name of the active WLAN connection
- */
- TBuf<KWlanNameMaxLength> iConnectedAccountName;
-
- };
-
-
-/**
-* Events in the server that clients are notified of
-*/
-enum TWsfEngineEvent
- {
- /**
- * There is a new scan result available.
- */
- EEngineWlanDataChanged,
-
- /**
- * Notifies that scanning has been disabled
- */
- EEngineScanDisabled,
-
- /**
- * Notifies that scanning has been enabled
- */
- EEngineScanEnabled,
-
- /**
- * Notifies that a WLAN connection has been established
- */
- EEngineConnected,
-
- /**
- * Notifies that the active connection was disconnected
- */
- EEngineDisconnected,
-
- /**
- * Notifies that an error occured in the server
- */
- EEngineError,
-
- /**
- * Notifies that the connecting process failed for some reason
- */
- EEngineConnectingFailed
- };
-
-
-/**
-* Data structure for client notification
-*/
-class TWsfNotifyEventContainer
- {
- public:
- /**
- * Server event
- */
- TWsfEngineEvent iEvent;
-
- /**
- * Error code
- */
- TInt iError;
- };
-
-
-
-
-#endif
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfsession.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* 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 CWsfSession
-*
-*/
-
-
-
-#ifndef C_WSFSESSION_H
-#define C_WSFSESSION_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfengineobserver.h"
-#include "wsfservercommon.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfServer;
-
-// CLASS DEFINITION
-/**
- * Server-side session class.
- * This class is instantiated and used each time a client connects to the
- * sniffer server.
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfSession ): public CSession2,
- public MWsfEngineObserver
- {
- public: // Construction and destruction
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aServer Reference to the server object. Ownership not passed.
- * @return Session instance
- */
- static CWsfSession* NewL( CWsfServer& aServer );
-
- /**
- * Destructor.
- */
- ~CWsfSession();
-
- private:
- /**
- * Constructor
- * @since S60 5.0
- * @param aServer Reference to the server object. Ownership not passed.
- */
- CWsfSession( CWsfServer& aServer );
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
-
- public: // from CSession2
- /**
- * Handles the servicing of a client request that has been passed to
- * the server.
- * @since S60 5.0
- * @param aMessage The message containing the details of the
- * client request
- */
- void ServiceL( const RMessage2& aMessage );
-
-
- public: // new functions
- /**
- * Handles messages by reading the function id and passing
- * the request forward.
- * @since S60 5.0
- * @param aMessage The received message containing function and
- * descriptors.
- */
- void DispatchMessageL( const RMessage2& aMessage );
-
-
- private: // new functions
- /**
- * Returns whether wlan scanning is scheduled at the moment
- * @since S60 5.0
- * @param aMessage The message to process
- * @return ETrue if active or efalse.
- */
- TBool ScanActiveL( const RMessage2& aMessage );
-
- /**
- * Enables the engine scanning
- * @since S60 5.0
- */
- void ActivateScanL();
-
- /**
- * Disables the engine scanning
- * @since S60 5.0
- */
- void DisableScanL();
-
- /**
- * Returns the wlan bearer status
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void IsConnectedL( const RMessage2& aMessage );
-
- /**
- * Activates asynchronous request to engine events
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void RequestNotifyL( const RMessage2& aMessage );
-
- /**
- * Cancels pending notify request
- * @since S60 5.0
- */
- void CancelNotifyEvents();
-
- /**
- * Cancels all pending tasks
- * @since S60 5.0
- */
- void CancelPendingTasks();
-
- /**
- * Gets the connected wlan connection name
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void GetConnectedAccountNameL( const RMessage2& aMessage );
-
- /**
- * Gets the connected wlan's details in a TWsfWlanInfo
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void GetConnectedDetailsL( const RMessage2& aMessage );
-
- /**
- * Checks the required buffer size for serialized wlan data
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void ReplyWlanDataSizeL( const RMessage2& aMessage );
-
- /**
- * Copies serialized wlan data
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void WriteWlanDataL( const RMessage2& aMessage );
-
- /**
- * Passes connect wlan commands to engine
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void ConnectWlanL( const RMessage2& aMessage );
-
- /**
- * Passes disconnect wlan commands to engine
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void DisconnectWlanL( const RMessage2& aMessage );
-
- /**
- * Request the engine to scan asap
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void RequestScanL( const RMessage2& aMessage );
-
- /**
- * Starts to monitor UI defined AP
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void MonitorApL( const RMessage2& aMessage );
-
- /**
- * Aborts the currently ongoing connecting process
- * @since S60 5.0
- */
- void AbortConnectingL();
-
- /**
- * Aborts the currently ongoing scanning process
- * @since S60 5.0
- */
- void AbortScanning();
-
- /**
- * Sets the persistence property for the currently monitored IAP
- * @param aMessage The message to process
- * @since S60 5.0
- */
- void SetIapPersistenceL( const RMessage2& aMessage );
-
- /**
- * Controls the auto-disconnect timer in the server
- * for owned connections
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void ControlDisconnectTimerL( const RMessage2& aMessage );
-
- /**
- * Returns whether scanning is enabled
- * @since S60 5.0
- * @param aMessage The message to process
- */
- void ReplyIsScanningL( const RMessage2& aMessage );
-
-
- public: // from MWsfEngineObserver
- /**
- * Called when the WLAN scanning is finished and results are available
- * @since S60 5.0
- */
- void WlanListChangedL();
-
- /**
- * Called when an error occured in the engine
- * @since S60 5.0
- * @param aError System wide error code
- */
- void NotifyErrorL( TInt aError );
-
- /**
- * Called when the WLAN scanning has been enabled
- * @since S60 5.0
- */
- void ScanEnabledL();
-
- /**
- * Called when the WLAN scanning has been disabled
- * @since S60 5.0
- */
- void ScanDisabledL();
-
- /**
- * Called when a WLAN connection has been established
- * @since S60 5.0
- */
- void ConnectedL();
-
- /**
- * Called when the active WLAN connection has been terminated
- * @since S60 5.0
- */
- void DisconnectedL();
-
- /**
- * Called when an error occured during the connecting process
- * @since S60 5.0
- * @param aError System wide error code
- */
- void ConnectingFailedL( TInt aError );
-
-
- private: // new methods
- /**
- * Notifies the client of the next server event in the event queue
- * @since S60 5.0
- */
- void NotifyClientL();
-
-
- private: // data
- /**
- * Reference to the server object (not owned)
- */
- CWsfServer& iServer;
-
- /**
- * Indicates if notification has been requested
- */
- TBool iRequestNotify;
-
- /**
- * Client message to complete when notifying
- */
- RMessage2 iNotifyChangesMessage;
-
- /**
- * Queue of server events
- */
- RArray<TWsfNotifyEventContainer> iEventQueue;
-
- /**
- * Indicates whether scanning is enabled
- */
- TBool iEnabledScanning;
-
- /**
- * Indicates if an event is being processed
- */
- TBool iProcessingEvent;
- };
-
-#endif // C_WSFSESSION_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,419 +0,0 @@
-/*
-* 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 CWsfWlanBearerConnectionMonitor
-*
-*/
-
-
-
-#ifndef C_WSFWLANBEARERCONNECTIONMONITOR_H
-#define C_WSFWLANBEARERCONNECTIONMONITOR_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-#include <es_sock.h>
-#include <cmdefconnvalues.h>
-#include <cmmanagerext.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfwlanconnectiondetailsprovider.h"
-
-
-// FORWARD DECLARATIONS
-class MWsfWlanMonitorObserver;
-class MWsfServerCloserAdapter;
-class CWsfIct;
-
-
-// CLASS DEFINITION
-/**
- * Class to monitor and control all WLAN bearer related events and actions
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfWlanBearerConnectionMonitor ): public CActive,
- public MConnectionMonitorObserver,
- public MWsfWlanConnectionDetailsProvider
- {
- private:
- /**
- * Connecting states when creating an owned connection
- */
- enum TWsfConnectingState
- {
- /**
- * Not connected, neither requested
- */
- ECsIdle,
-
- /**
- * Requested to connect
- */
- ECsNotConnected,
-
- /**
- * Socket server and connection handler opened
- */
- ECsSocketOpened,
-
- /**
- * Connection has been established
- */
- ECsConnectionCreated,
-
- /**
- * Connection environment fully initialized
- */
- ECsConnected
- };
-
-
- public: // Constructors and destructor
- /**
- * Factory function.
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanBearerConnectionMonitor* NewL(
- MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanBearerConnectionMonitor* NewLC(
- MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Destructor.
- */
- ~CWsfWlanBearerConnectionMonitor();
-
- private: // Constructors
- /**
- * Constructor
- * @since S60 5.0
- * @param aServerCloser Reference to the server closer object.
- * Ownership not passed.
- */
- CWsfWlanBearerConnectionMonitor(
- MWsfServerCloserAdapter& aServerCloser );
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
- public: // New methods
-
- /**
- * Returns the name of the active wlan connection
- * @since S60 5.0
- * @return Connection name or KNullDesC if not connected
- */
- const TDesC& GetWlanBearerNameL();
-
- /*
- * Starts monitoring WLAN events through the given observer
- * @since S60 5.0
- * @param aObserver The object to use for monitoring. Ownership
- * not passed.
- */
- void StartMonitoringL( MWsfWlanMonitorObserver* aObserver );
-
- /*
- * Stops monitoring WLAN events
- * @since S60 5.0
- */
- void StopMonitoring();
-
- /*
- * Connects to the given IAP
- * @since S60 5.0
- * @param aIapId WLAN IAP id to connect to.
- * @param aConnectOnly ETrue if Connect selected
- * @param aTestAccessPoint ETrue if accesspoint needs testing
- * @return KErrNone on success, error code otherwise
- */
- TInt ConnectBearer( TUint32 aIapId,
- TBool aConnectOnly,
- TBool aTestAccessPoint );
-
- /*
- * Disconnects active connection
- * @since S60 5.0
- * @return ETrue if the was something to disconnect otherwise EFalse
- */
- TBool DisconnectBearer();
-
- /**
- * Starts to monitor Access Point
- * @since S60 5.0
- * @param aIapId Access point to be monitored
- */
- void MonitorAccessPoint( TUint32 aIapId );
-
- /**
- * Queries if there is an active WLAN connection.
- * @since S60 5.0
- * @return ETrue if there is an active WLAN connection,
- * EFalse otherwise.
- */
- TBool IsConnected();
-
- /**
- * Aborts the currently ongoing connecting process
- * @since S60 5.0
- * @return KErrNone on success, error code otherwise
- */
- TInt AbortConnecting();
-
- /**
- * Controls the auto-disconnect timer in the server
- * for owned connections
- * @since S60 5.0
- * @param aAdcCommand Command for the timer,
- * see TWsfAutoDisconnectCommand
- * @return ETrue if the timer has been started (also if it had been
- * started earlier), EFalse if the timer couldn't be started
- * (e.g. because there is no owned connection).
- */
- TBool ControlDisconnectTimer( TUint aAdcCommand );
-
-
- private: // From CActive
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- /**
- * Handles a leave occurring in RunL().
- * @since S60 5.0
- * @param aError Leave code
- * @return aError
- */
- TInt RunError( TInt aError );
-
-
- protected: // From MConnectionMonitorObserver
-
- /**
- * Event method is called every time an event occures.
- * @since S60 5.0
- * @param aConnMonEvent The event information.
- */
- void EventL( const CConnMonEventBase& aConnMonEvent );
-
-
- public: // from MWsfWlanConnectionDetailsProvider
-
- /**
- * Fills TWsfWlanInfo with the connected wlan's properties
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo structure to be filled
- * @return ETrue if there is a connection and returned data is valid,
- * EFalse otherwise
- */
- TBool ConnectedWlanConnectionDetailsL( TWsfWlanInfo* aWlanInfo );
-
-
- private: // New methods
-
- /**
- * Loops through the list of current connections and searches for one
- * with wlan bearer
- * @since S60 5.0
- */
- void FindWlanBearerConnectedL();
-
- /**
- * Checks connection details and retrieves WLAN connection name
- * @since S60 5.0
- * @param aConnectionId The connection in question
- * @return ETrue on success (WLAN connection was found),
- * EFalse otherwise
- */
- TBool CheckConnectionDetailsL( TUint aConnectionId );
-
- /**
- * Shuts down the owned connection
- * @since S60 5.0
- */
- void ShutdownOwnedConnectionL();
-
- /**
- * Cleanup function to release the shutdown mutex if shutdown leaves
- * @since S60 5.0
- * @param aPtr Pointer for this class
- */
- static void ReleaseShutdownMutex( TAny* aPtr );
-
- /**
- * Callback for CPeriodic to check the client count and
- * start inactivity timer if needed.
- * @since S60 5.0
- * @param aPtr Pointer for this class
- * @return KErrNone if successful, system-wide error code otherwise.
- */
- static TInt CheckClientCount( TAny* aPtr );
-
- /**
- * Function that does actual processing in checking the client count.
- * Called by CheckClientCount().
- * @since S60 5.0
- */
- void CheckClientCountL();
-
-
- private: // Data
-
- /**
- * Reference to the observer of this class (not owned)
- */
- MWsfWlanMonitorObserver* iObserver;
-
- /**
- * Handle to the connection monitor
- */
- RConnectionMonitor iMonitor;
-
- /**
- * Name of the currently active WLAN connection
- */
- TBuf<KWlanMaxAccessPointNameLength> iWlanNetworkName;
-
- /**
- * Id of the currently active WLAN connection
- */
- TInt iConnectionId;
-
- /**
- * Indicates whether connection monitoring is on
- */
- TBool iMonitoring;
-
- /**
- * The access point to be monitored
- */
- TUint32 iMonitoredAp;
-
- /**
- * Handle to the socket server for making a connection
- */
- RSocketServ iSocketServ;
-
- /**
- * Handle to the owned connection
- */
- RConnection iConnection;
-
- /**
- * Indicates whether the connection was initiated from within Sniffer
- */
- TBool iConnectionOwned;
-
- /**
- * Default connection settings before creating an own connection
- */
- TCmDefConnValue iOriginalDefConn;
-
- /**
- * Default connection settings after the owned connection has been
- * established
- */
- TCmDefConnValue iCurrentDefConn;
-
- /**
- * Periodic polling for connection client count
- */
- CPeriodic* iClientPoll;
-
- /**
- * Indicates whether timer-based auto-disconnect is enabled
- */
- TBool iAutoDisconnect;
-
- /**
- * Count of clients using the connection
- */
- TInt iClientCount;
-
- /**
- * Timer to measure time elapsed without activity
- */
- TTime iInactivityStart;
-
- /**
- * Status of currently ongoing connecting process
- */
- TWsfConnectingState iConnectingState;
-
- /**
- * IAP id to connect to. Used by the connecting active object.
- */
- TUint32 iConnIap;
-
- /**
- * Indicates whether the connection is being aborted
- */
- TBool iAborting;
-
- /**
- * Asserts that the shutdown process is not reentered
- */
- TBool iShutdownMutex;
-
- /**
- * Asserts that the client counting process is not reentered
- */
- TBool iClientCountMutex;
-
- /**
- * Handle to the CmManager
- */
- RCmManagerExt iCmMgr;
-
- /**
- * Reference to the server closer (not owned)
- */
- MWsfServerCloserAdapter& iServerCloser;
-
- /**
- * Reference to ICT handler
- */
- CWsfIct* iIct;
-
- };
-
-
-#endif // C_WSFWLANBEARERCONNECTIONMONITOR_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanconnectiondetailsprovider.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* 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 MWsfWlanConnectionDetailsProvider
-*
-*/
-
-
-
-#ifndef M_WSFWLANCONNECTIONDETAILSPROVIDER_H
-#define M_WSFWLANCONNECTIONDETAILSPROVIDER_H
-
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-// FORWARD DECLARATIONS
-class TWsfWlanInfo;
-
-
-// CLASS DEFINITION
-/**
-* Class acts as an interface to the WLAN bearer monitor to let different
-* parts of the engine query the properties of the current WLAN connection.
-*
-* @since S60 5.0
-*/
-class MWsfWlanConnectionDetailsProvider
- {
- public: // Abstract methods
-
- /**
- * Fills TWsfWlanInfo with the connected wlan's properties
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo structure to be filled
- * @return ETrue if there is a connection and returned data is valid,
- * EFalse otherwise
- */
- virtual TBool ConnectedWlanConnectionDetailsL(
- TWsfWlanInfo* aWlanInfo ) = 0;
-
- /**
- * Queries if there is an active WLAN connection.
- * @since S60 5.2
- * @return ETrue if there is an active WLAN connection,
- * EFalse otherwise.
- */
- virtual TBool IsConnected() = 0;
-
- };
-
-#endif // M_WSFWLANCONNECTIONDETAILSPROVIDER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanmonitorobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* 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 MWsfWlanMonitorObserver
-*
-*/
-
-
-
-#ifndef M_WSFWLANMONITOROBSERVER_H
-#define M_WSFWLANMONITOROBSERVER_H
-
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-// CLASS DEFINITION
-/**
- * Abstact interface definition class for wlan connection detection
- * @since S60 5.0
- */
-class MWsfWlanMonitorObserver
- {
- public: // Abstract methods
-
- /**
- * Called when a wlan connection is established
- * @since S60 5.0
- * @param aConnectionName WLAN connection name (SSID)
- */
- virtual void ConnectionEstablishedL(
- const TDesC& aConnectionName ) = 0;
-
- /**
- * Called when wlan connection has been lost
- * @since S60 5.0
- */
- virtual void ConnectionLostL() = 0;
-
- /**
- * Called when the connection process failed for some reason
- * @since S60 5.0
- * @param aError System wide error code
- */
- virtual void ConnectingFailedL( TInt aError ) = 0;
-
- /**
- * Called when the connection no longer needs the IAP it was using
- * @since S60 5.0
- */
- virtual void ConnectedIapReleasedL() = 0;
-
- };
-
-
-#endif // M_WSFWLANMONITOROBSERVER_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscaninfodefines.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,75 +0,0 @@
-/*
-* 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: Header for WLAN scaninfo related constants and enums
-*
-*/
-
-
-
-#ifndef WSFWLANSCANINFODEFINES_H
-#define WSFWLANSCANINFODEFINES_H
-
-/**
-* Maximal number of data rate types
-*/
-const TUint8 KMaxNumberOfRates = 8;
-
-/**
-* Bit masks for Capability Information field.
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11CapabilityBitMask
- {
- E802Dot11CapabilityEssMask = 0x0001,
- E802Dot11CapabilityIbssMask = 0x0002,
- E802Dot11CapabilityCfPollableMask = 0x0004,
- E802Dot11CapabilityCfPollRequestMask= 0x0008,
- E802Dot11CapabilityPrivacyMask = 0x0010,
- // these little critters are from 802.11b spec
- E802Dot11ShortPreambleMask = 0x0020,
- E802Dot11PbccMask = 0x0040,
- E802Dot11ChannelAgilityMask = 0x0080
- };
-
-/**
-* Management frame information element IDs.
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11InformationElementID
- {
- E802Dot11SsidIE = 0,
- E802Dot11SupportedRatesIE = 1,
- E802Doi11FhParameterSetIE = 2,
- E802Dot11DsParameterSetIE = 3,
- E802Dot11CfParameterSetIE = 4,
- E802Dot11TimIE = 5,
- E802Dot11IbssParameterSetIE = 6,
- E802Dot11CountryIE = 7,
- E802Dot11HoppingPatternParamIE = 8,
- E802Dot11HoppingPatternTableIE = 9,
- E802Dot11RequestIE = 10,
-
- E802Dot11ChallengeTextIE = 16,
- // Reserved for challenge text extension 17 - 31
- E802Dot11ErpInformationIE = 42,
- E802Dot11HtCapabilitiesIE = 45,
- E802Dot11ExtendedRatesIE = 50,
- E802Dot11AironetIE = 133,
- E802Dot11ApIpAddressIE = 149,
- E802Dot11RsnIE = 221
- };
-
-
-#endif // WSFWLANSCANINFODEFINES_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanintervalchangeobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* 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 MWsfWlanScanIntervalChangeObserver
-*
-*/
-
-
-#ifndef M_WSFWLANSCANINTERVALCHANGEOBSERVER_H
-#define M_WSFWLANSCANINTERVALCHANGEOBSERVER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-// CLASS DEFINITION
-/**
-* Class acts as an interface for the class monitoring the background scan
-* interval to notify its clients of changes in that property.
-*
-* @since S60 5.0
-*/
-class MWsfWlanScanIntervalChangeObserver
- {
- public: // Abstract methods
- /**
- * Called when the value of the background scan interval or the
- * show availability flag has been changed
- * @since S60 5.0
- * @param aNewScanInterval The new value for the scan interval
- * @param aShowAvailability The new value for the
- * Show WLAN availability flag
- */
- virtual void WlanScanIntervalChangedL( TUint aNewScanInterval,
- TBool aShowAvailability ) = 0;
-
- };
-
-#endif // M_WSFWLANSCANINTERVALCHANGEOBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanner.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,604 +0,0 @@
-/*
-* 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 CWsfWlanScanner
-*
-*/
-
-
-
-#ifndef C_WSFWLANSCANNER_H
-#define C_WSFWLANSCANNER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <wlanmgmtcommon.h>
-#include <commsdattypesv1_1.h>
-#include <cmmanagerext.h>
-
-
-
-// INTERNAL INCLUDES
-#include "wsfwlanscannerobserver.h"
-#include "wsfwlanmonitorobserver.h"
-#include "wsfwlanscanintervalchangeobserver.h"
-#include "wsfwlaninfo.h"
-
-
-const TUint8 TX_RATE_BASIC_MASK = 0x80;
-
-
-/**
- * Defines the possible TX rate values.
- */
-typedef enum _core_tx_rate_e
- {
- core_tx_rate_none = 0x00000000,
- core_tx_rate_1mbit = 0x00000001,
- core_tx_rate_2mbit = 0x00000002,
- core_tx_rate_5p5mbit = 0x00000004,
- core_tx_rate_6mbit = 0x00000008,
- core_tx_rate_9mbit = 0x00000010,
- core_tx_rate_11mbit = 0x00000020,
- core_tx_rate_12mbit = 0x00000040,
- core_tx_rate_18mbit = 0x00000080,
- core_tx_rate_22mbit = 0x00000100,
- core_tx_rate_24mbit = 0x00000200,
- core_tx_rate_33mbit = 0x00000400,
- core_tx_rate_36mbit = 0x00000800,
- core_tx_rate_48mbit = 0x00001000,
- core_tx_rate_54mbit = 0x00002000
- } core_tx_rate_e;
-
-const TUint32 CORE_TX_RATES_802P11B =
- core_tx_rate_1mbit |
- core_tx_rate_2mbit |
- core_tx_rate_5p5mbit |
- core_tx_rate_11mbit;
-
-const TUint32 CORE_TX_RATES_802P11G =
- core_tx_rate_6mbit |
- core_tx_rate_9mbit |
- core_tx_rate_12mbit |
- core_tx_rate_18mbit |
- core_tx_rate_22mbit |
- core_tx_rate_24mbit |
- core_tx_rate_33mbit |
- core_tx_rate_36mbit |
- core_tx_rate_48mbit |
- core_tx_rate_54mbit;
-
-/**
- * Define the possible TX rate value as units of 500kbit/s.
- */
-typedef enum _core_tx_rate_value_e
- {
- core_tx_rate_value_none = 0,
- core_tx_rate_value_1mbit = 2,
- core_tx_rate_value_2mbit = 4,
- core_tx_rate_value_5p5mbit = 11,
- core_tx_rate_value_6mbit = 12,
- core_tx_rate_value_9mbit = 18,
- core_tx_rate_value_11mbit = 22,
- core_tx_rate_value_12mbit = 24,
- core_tx_rate_value_18mbit = 36,
- core_tx_rate_value_22mbit = 44,
- core_tx_rate_value_24mbit = 48,
- core_tx_rate_value_33mbit = 66,
- core_tx_rate_value_36mbit = 72,
- core_tx_rate_value_48mbit = 96,
- core_tx_rate_value_54mbit = 108,
- } _core_tx_rate_value_e;
-
-
-// FORWARD DECLARATIONS
-class CWlanMgmtClient;
-class CWlanScanInfo;
-class CWsfWlanSettingsAccessor;
-class CWsfWlanInfoArray;
-class TWsfWlanInfo;
-class MWsfWlanConnectionDetailsProvider;
-class MWsfKnownIapRecognizer;
-
-
-// CLASS DEFINITION
-/**
- * Class to schedule WLAN scanning and process the resultant data
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfWlanScanner ): public CActive,
- public MWlanMgmtNotifications,
- public MWsfWlanMonitorObserver,
- public MWsfWlanScanIntervalChangeObserver
- {
- private: // Type definitions
-
- /**
- * States of the scanning process
- */
- enum TWsfScanState
- {
- /**
- * Not scanning but scheduled
- */
- EIdle,
-
- /**
- * Do broadcast scan
- */
- EBroadcastScan,
-
- /**
- * Processing broadcast scan results
- */
- EProcessBroadcastScan,
-
- /**
- * Processing direct scan results
- */
- EDirectScan,
-
- /**
- * Scanning finished, cleanup and notification
- */
- EFinished
- };
-
- public: // Constructors and destructor
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDbSession Reference to the database session to use
- * @return Class instance
- */
- static CWsfWlanScanner* NewL( CommsDat::CMDBSession& aDbSession );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDbSession Reference to the database session to use
- * @return Class instance
- */
- static CWsfWlanScanner* NewLC( CommsDat::CMDBSession& aDbSession );
-
- /**
- * Destructor.
- */
- ~CWsfWlanScanner();
-
-
- private: // Constructors
-
- /**
- * Constructor
- * @since S60 5.0
- * @param aDbSession Reference to the database session to use
- */
- CWsfWlanScanner( CommsDat::CMDBSession& aSession );
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
-
- public: // New methods
- /**
- * Sets the observer of this class
- * @since S60 5.0
- * @param aObserver The observer to be notified of scanning events
- */
- void SetObserver( MWsfWlanScannerObserver& aObserver );
-
- /**
- * Enables scanning for wlans
- * @since S60 5.0
- */
- void StartScanningL();
-
- /**
- * Stops the activation timer and cancels the mgmt client to
- * give notifications
- * @since S60 5.0
- */
- void StopScanning();
-
- /**
- * Initiates a new scanning if it was already enabled but was idle.
- * @since S60 5.0
- * @return ETrue if scanning was in fact restarted
- */
- TBool RestartScanning();
-
- /**
- * Aborts the scanning process if it was active. However, it does not
- * disable scanning
- * @since S60 5.0
- */
- void AbortScanning();
-
- /**
- * Returns the serialized contents of scan results
- * @since S60 5.0
- * @return A serialized array of wlaninfo items
- */
- HBufC8* ScanResults();
-
- /**
- * Sets ConnectionDetails provider handle to get data about
- * connected wlans
- * @since S60 5.0
- * @param aProvider The object to be asked for connection details
- */
- void SetConnectionDetailProvider(
- MWsfWlanConnectionDetailsProvider& aProvider );
-
-
- public: // From MWlanMgmtNotifications
- /**
- * Connection status has changed.
- * @since S60 5.0
- * @param aNewState The new connection state
- */
- void ConnectionStateChanged( TWlanConnectionMode aNewState );
-
- /**
- * BSSID has changed (i.e. AP handover).
- * @since S60 5.0
- * @param aNewBssid The new BSSID
- */
- void BssidChanged( TWlanBssid& aNewBssid );
-
- /**
- * Connection has been lost.
- * @since S60 5.0
- */
- void BssLost();
-
- /**
- * Connection has been regained.
- * @since S60 5.0
- */
- void BssRegained();
-
- /**
- * New networks have been detected during scan.
- * @since S60 5.0
- */
- void NewNetworksDetected();
-
- /**
- * One or more networks have been lost since the last scan.
- * @since S60 5.0
- */
- void OldNetworksLost();
-
- /**
- * The used transmit power has been changed.
- * @since S60 5.0
- * @param aPower The transmit power in mW.
- */
- void TransmitPowerChanged( TUint aPower );
-
- /**
- * Received signal strength level has been changed.
- * @since S60 5.0
- * @param aRssClass specifies the current class of the received signal
- * @param aRss RSS level in absolute dBm values.
- */
- void RssChanged( TWlanRssClass aRssClass, TUint aRss );
-
-
- private: // New methods
- /**
- * Processes the results of the broadcast scan
- * @since S60 5.0
- */
- void DoScanForNetworksL();
-
- /**
- * Compares two SSIDs
- * @since S60 5.0
- * @param aSsid1 First SSID
- * @param aSsid2 Second SSID
- * @return ETrue if the SSIDs are the same, EFalse otherwise
- */
- static TBool SsidIdentity( const TWlanSsid& aSsid1,
- const TWlanSsid& aSsid2 );
-
-#ifdef _DEBUG
- /**
- * Dumps the scan results to the log
- * @since S60 5.0
- * @param aArray Array of wlaninfo items added during scanning
- */
- static void DumpScanResultsL( CWsfWlanInfoArray* aArray );
-#endif
-
- /**
- * Check if the given SSID implies a hidden WLAN
- * @since S60 5.0
- * @param aSsidLength Length of the SSID passed
- * @param aSsid SSID as array of bytes
- * @return ETrue if the network in question is hidden, EFalse otherwise
- */
- TBool IsHiddenSsid( TUint aSsidLength, const TUint8* aSsid );
-
- /**
- * Parses the scan results for the network name
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo to put the results in
- * @return ETrue if the network is a hidden one
- */
- TBool RefreshNetworkNameL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Parses the scan results for the wlan signal stregth
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo to put the results in
- */
- void RefreshSignalStrength( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Parses the scan results for the network mode
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo to put the results in
- */
- void RefreshNetworkMode( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Parses the scan results for the security mode
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo to put the results in
- */
- void RefreshSecurityMode( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Convert the given rate value (500kbit/s per unit)
- * to a corresponding enum.
- * @since S60 5.2
- * @param aRate Rate value to be converted.
- * @return Corresponding rate enum.
- */
- core_tx_rate_e ConvertTxRateToTxRateEnum( TUint8 aRate );
-
- /**
- * Parses the scan results for the technology information
- * @since S60 5.2
- * @param aWlanInfo The wlaninfo to put the results in
- */
- void RefreshTechnology( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Prepares for direct scanning
- * @since S60 5.0
- */
- void PrepareDirectScan();
-
- /**
- * Processes the result of the last direct scan
- * @since S60 5.0
- */
- void ProcessDirectScanResultL();
-
- /**
- * Checks iScanArray and replaces SSIDs of known networks
- * with their IAP names.
- * @param aWlanInfo The wlaninfo to put the results in
- * @since S60 5.0
- */
- void ReplaceSsidsWithIapName(TWsfWlanInfo& aWlanInfo);
-
- /**
- * Updates IAPs priority
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo to put the results in
- */
- void UpdatePriorityL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Finds the security mode, network mode from WLAN table
- * with their IAP names.
- * @param aWlanInfo The wlaninfo to put the results in
- * @since S60 5.0
- */
- void GetWlanInfoFromIapL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Add connected wlan info to scan results
- * @since S60 5.0
- */
- void AddConnectedWLANInfoL();
-
- private: // From CActive
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- /**
- * Handles a leave occurring in RunL().
- * @since S60 5.0
- * @param aError Leave code
- * @return aError
- */
- TInt RunError( TInt aError );
-
-
- public: // from MWsfWlanMonitorObserver
-
- /**
- * Called when a wlan connection is established
- * @since S60 5.0
- * @param aConnectionName WLAN connection name (SSID)
- */
- void ConnectionEstablishedL( const TDesC& aConnectionName );
-
- /**
- * Called when wlan connection has been lost
- * @since S60 5.0
- */
- void ConnectionLostL();
-
- /**
- * Called when the connection process failed for some reason
- * @since S60 5.0
- * @param aError System wide error code
- */
- void ConnectingFailedL( TInt aError );
-
- /**
- * Called when the connection no longer needs the IAP it was using
- * @since S60 5.0
- */
- void ConnectedIapReleasedL();
-
-
- public: // from MWsfWlanScanIntervalChangeObserver
- /**
- * Called when the value of the background scan interval or the
- * show availability flag has been changed
- * @since S60 5.0
- * @param aNewScanInterval The new value for the scan interval
- * @param aShowAvailability The new value for the
- * Show WLAN availability flag
- */
- void WlanScanIntervalChangedL( TUint aNewScanInterval,
- TBool aShowAvailability );
-
- private: // Data
- /**
- * Reference to the observer of this class (not owned)
- */
- MWsfWlanScannerObserver* iObserver;
-
- /**
- * Reference to the database session to use (not owned)
- */
- CommsDat::CMDBSession* iDbSession;
-
- /**
- * Reference to the connection details providing object (not owned)
- */
- MWsfWlanConnectionDetailsProvider* iConnectionDetailsProvider;
-
- /**
- * Handle to the WLAN management client (owned)
- */
- CWlanMgmtClient* iWlanMgmtClient;
-
- /**
- * Scan info object (owned)
- */
- CWlanScanInfo* iScanInfo;
-
- /**
- * WLAN settings monitoring object (owned)
- */
- CWsfWlanSettingsAccessor* iWlanSettingsAccessor;
-
- /**
- * The array containing the wlaninfo items found during scanning
- * (owned)
- */
- CWsfWlanInfoArray* iScanArray;
-
- /**
- * Name of the active connection (owned)
- */
- HBufC* iActiveConnectionName;
-
- /**
- * Timer for scheduling WLAN scans
- */
- RTimer iTimer;
-
- /**
- * Handle to the CmManager
- */
- RCmManagerExt iCmManagerExt;
-
- /**
- * Buffer to store the serialized array of wlaninfo items (owned)
- */
- HBufC8* iScanResults;
-
- /**
- * The background scan interval in microseconds
- */
- TUint iScanningInterval;
-
- /**
- * Value of Show WLAN availability flag
- */
- TBool iShowAvailability;
-
- /**
- * Array of SSIDs that are in CommsDat but have not been found
- * by broadcast scan
- */
- RArray<TWlanSsid> iDirectScanSsids;
-
- /**
- * Array of IapIDs that are in CommsDat but have not been found
- * by broadcast scan
- */
- RArray<TUint> iDirectScanIapIDs;
-
- /**
- * Indicates the scanning state
- */
- TWsfScanState iScanState;
-
- /**
- * Connected SSID or IAP name
- */
- TBuf8<KWlanMaxAccessPointNameLength> iConnectedSsidOrIap;
-
- /**
- * Array containing the available IAP IDs and Signal Strengths
- */
- RArray<TWlanIapAvailabilityData> iAvailableIaps;
-
- /**
- * Cache lifetime.
- * Parameter needed for issuing "get available WLAN IAPs"
- * request.
- */
- TInt iCacheLifetime;
-
- /**
- * Max Delay.
- * Parameter needed for issuing "get available WLAN IAPs"
- * request.
- */
- TUint iMaxDelay;
-
-
- };
-
-
-#endif // C_WSFWLANSCANNER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscannerobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* 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 MWsfWlanScannerObserver
-*
-*/
-
-
-
-#ifndef M_WSFWLANSCANNEROBSERVER_H
-#define M_WSFWLANSCANNEROBSERVER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-// CLASS DEFINITION
-/**
-* Class acts as an interface for the CWsfWlanScanner to be able to call back
-* its clients in case of different scanning events.
-*
-* @since S60 5.0
-*/
-class MWsfWlanScannerObserver
- {
- public: // Abstract methods
- /**
- * When the scan cycle has completed this function is called to report
- * the completion.
- * @since S60 5.0
- */
- virtual void WlanScanCompleteL() = 0;
-
- /**
- * Called when the scan cycle has started
- * @since S60 5.0
- */
- virtual void WlanScanStarted() = 0;
-
- /**
- * Called when an error occured while scanning wlan data
- * @since S60 5.0
- * @param aError System wide error code
- */
- virtual void NotifyError( TInt aError ) = 0;
-
- };
-
-#endif // M_WSFWLANSCANNEROBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlansettingsaccessor.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* 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 CWsfWlanScanner
-*
-*/
-
-
-#ifndef C_WSFWLANSETTINGSACCESSOR_H
-#define C_WSFWLANSETTINGSACCESSOR_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <commsdattypesv1_1.h>
-
-// INTERNAL INCLUDES
-#include "wlanmgmtcommon.h"
-#include "wlanscaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class CCDWlanDeviceSettingsRecord;
-class MWsfWlanScanIntervalChangeObserver;
-
-
-// CLASS DEFINITION
-/**
- * Class to monitor WLAN background scan interval and Show WLAN availability
- * flag value
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfWlanSettingsAccessor ): public CActive
- {
- public: // Constructors and destructor
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDbSession Reference to the database session to use
- * @return Class instance
- */
- static CWsfWlanSettingsAccessor* NewL(
- CommsDat::CMDBSession& aDbSession );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDbSession Reference to the database session to use
- * @return Class instance
- */
- static CWsfWlanSettingsAccessor* NewLC(
- CommsDat::CMDBSession& aDbSession );
-
- /**
- * Destructor.
- */
- ~CWsfWlanSettingsAccessor();
-
-
- private: // Constructors
- /**
- * Constructor
- * @since S60 5.0
- * @param aDbSession Reference to the database session to use
- * @return Class instance
- */
- CWsfWlanSettingsAccessor( CommsDat::CMDBSession& aDbSession );
-
- /**
- * Second-phase constructor.
- * @since S60 5.0
- */
- void ConstructL();
-
-
- public: // new methods
- /**
- * Returns the value of the scan interval
- * @since S60 5.0
- * @return The value of the scan interval in seconds
- */
- TUint ScanInterval() const;
-
- /**
- * Returns the value of the show WLAN availability flag
- * @since S60 5.0
- * @return The value of the flag
- */
- TBool ShowAvailability() const;
-
- /**
- * Requests notification for when the scan interval changes
- * @since S60 5.0
- * @param aObserver The observer object to be notified
- */
- void RequestNotificationL(
- MWsfWlanScanIntervalChangeObserver& aObserver );
-
- /**
- * Cancels the change notifications
- * @since S60 5.0
- */
- void CancelNotifications();
-
-
- private: // New methods
- /**
- * Does the actual setting check
- * @since S60 5.0
- * @param aBgScanInterval Variable to store the latest background scan
- * interval value
- * @param aShowAvailability Variable to store the latest Show WLAN
- * availability flag value
- */
- void DoCheckSettingL( TUint& aBgScanInterval,
- TBool& aShowAvailability);
-
- /**
- * Checks if the current bgscaninterval/availability flag is different
- * from the previously retrieved value
- * @since S60 5.0
- * @return ETrue if the settings has been changed
- */
- TBool CheckIfSettingChangedL();
-
- /**
- * Reissues the request for database notification
- * @since S60 5.0
- */
- void IssueNotificationRequestL();
-
-
- private: // from CActive
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- /**
- * Handles a leave occurring in RunL().
- * @since S60 5.0
- * @param aError Leave code
- * @return aError
- */
- TInt RunError( TInt aError );
-
-
- private: // Data
- /**
- * Handle to the database session (not owned)
- */
- CommsDat::CMDBSession* iDbSession;
-
- /**
- * Reference to the observer object (not owned)
- */
- MWsfWlanScanIntervalChangeObserver* iChangeObserver;
-
- /**
- * Instance of the WLAN settings record (owned)
- */
- CCDWlanDeviceSettingsRecord* iWlanSettingsRecord;
-
- /**
- * The last retrieved bgscaninterval value (in seconds)
- */
- TUint iScanInterval;
-
- /**
- * Table ID for the WLAN settings table
- */
- CommsDat::TMDBElementId iTableId;
-
- /**
- * Hold-up timer to avoid notification bursts
- */
- RTimer iTimer;
-
- /**
- * Indicates whether the processing has been activated but got held up
- */
- TBool iBeingHeldUp;
-
- /**
- * Indicates whether show wlan availability flag is on
- */
- TBool iShowAvailability;
- };
-
-#endif // C_WSFWLANSETTINGSACCESSOR_H
-
--- a/wlanutilities/wlansniffer/engine/server/rom/wsfserver.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* 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: Image description file for project Server
-*
-*/
-
-
-
-#ifndef WSFSERVER_IBY
-#define WSFSERVER_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferServer
-
-#include <data_caging_paths_for_iby.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfserver.exe PROGRAMS_DIR\wsfserver.exe
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFSERVER_IBY
--- a/wlanutilities/wlansniffer/engine/server/src/wsfactivewaiter.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* 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: Implementation of CWsfActiveWaiter
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL()
- {
- CWsfActiveWaiter* self = NewLC();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewLC
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewLC()
- {
- CWsfActiveWaiter* self = new ( ELeave ) CWsfActiveWaiter();
- CleanupStack::PushL( self );
-
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter():
- CActive( CActive::EPriorityStandard )
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::~CWsfActiveWaiter()
- {
- Cancel();
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::DoCancel()
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::RunL()
- {
- LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
- if ( iWait.IsStarted() )
- {
- LOG_WRITE("async call completed, resuming.");
- iWait.AsyncStop();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest
-// ---------------------------------------------------------
-//
-TInt CWsfActiveWaiter::WaitForRequest()
- {
- LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
- SetActive();
- iWait.Start();
-
- return iStatus.Int();
- }
-
-// End of File
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,749 +0,0 @@
-/*
-* 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: Implementation of CWsfEngine
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <commsdattypesv1_1.h>
-#include <commsdat.h>
-#include <cmconnectionmethodext.h>
-#include <cmpluginwlandef.h>
-
-// CLASS HEADER
-#include "wsfengine.h"
-
-
-// INTERNAL INCLUDES
-#include "wsfwlanscanner.h"
-#include "wsfwlansettingsaccessor.h"
-#include "wsfwlanbearerconnectionmonitor.h"
-#include "wsfengineobserver.h"
-#include "wsfservercloseradapter.h"
-#include "wsfactivewaiter.h"
-
-#include "wsflogger.h"
-
-
-
-// LOCAL DEFINITIONS
-using namespace CommsDat;
-
-
-/**
-* Maximum number of retries when trying to delete a temporary IAP but
-* the connection is locking it
-*/
-static const TInt KMaxIapDeletionRetries = 10;
-
-
-/**
-* Time to wait betweed two IAP deletion retries, in microseconds
-*/
-static const TUint KDelayBetweenDeletionRetries = 500 * 1000;
-
-
-
-
-
-// CONSTRUCTION AND DESTRUCTION
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfEngine* CWsfEngine::NewL( MWsfServerCloserAdapter& aServerCloser )
- {
- CWsfEngine* self = CWsfEngine::NewLC( aServerCloser );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfEngine* CWsfEngine::NewLC( MWsfServerCloserAdapter& aServerCloser )
- {
- CWsfEngine* self = new ( ELeave ) CWsfEngine( aServerCloser );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::~CWsfEngine
-// ----------------------------------------------------------------------------
-//
-CWsfEngine::~CWsfEngine()
- {
- LOG_ENTERFN( "CWsfEngine::~CWsfEngine" );
-
- delete iWlanBearerMonitor;
- delete iScanner;
- delete iDbSession;
- iObservers.Reset();
-
- if ( iMonitoredIap &&
- ( iIapPersistence == EIapExpireOnDisconnect ||
- iIapPersistence == EIapNestedExpireOnDisconnect ||
- iIapPersistence == EIapExpireOnBrowserExit ||
- iIapPersistence == EIapExpireOnShutdown ) )
- {
- TRAP_IGNORE( DeleteIapL( iMonitoredIap ) );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::CWsfEngine
-// ----------------------------------------------------------------------------
-//
-CWsfEngine::CWsfEngine( MWsfServerCloserAdapter& aServerCloser ):
- iServerCloser( aServerCloser ),
- iEnableScanning( 0 ),
- iIapPersistence( EIapDeleted )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConstructL()
- {
- LOG_CREATE;
- LOG_ENTERFN( "CWsfEngine::ConstructL" );
- iDbSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
- iScanner = CWsfWlanScanner::NewL( *iDbSession );
-
- iScanner->SetObserver( *this );
-
- iWlanBearerMonitor = CWsfWlanBearerConnectionMonitor::NewL( iServerCloser );
- iScanner->SetConnectionDetailProvider( *iWlanBearerMonitor );
-
- iWlanBearerMonitor->StartMonitoringL( this );
-
- if ( iWlanBearerMonitor->GetWlanBearerNameL() != KNullDesC() )
- {
- HBufC* name = ConnectedWlanSsidL();
- CleanupStack::PushL( name );
- iScanner->ConnectionEstablishedL( *name );
- CleanupStack::PopAndDestroy( name );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::AttachL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::AttachL( MWsfEngineObserver* aObserver )
- {
- LOG_ENTERFN( "CWsfEngine::AttachL" );
-
- iObservers.AppendL( aObserver );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::Detach
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::Detach( MWsfEngineObserver* aObserver )
- {
- LOG_ENTERFN( "CWsfEngine::Detach" );
- TInt index = iObservers.Find( aObserver );
- if ( index != KErrNotFound )
- {
- iObservers.Remove( index );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::GetScanResults
-// ----------------------------------------------------------------------------
-//
-HBufC8* CWsfEngine::GetScanResults()
- {
- LOG_ENTERFN( "CWsfEngine::GetScanResults" );
- return iScanner->ScanResults();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::EnableScanningL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::EnableScanningL()
- {
- LOG_ENTERFN( "CWsfEngine::EnableScanningL" );
-
- iEnableScanning++;
- LOG_WRITEF( "++iEnableScanning = %d", iEnableScanning );
-
- if ( iEnableScanning == 1 )
- {
- LOG_WRITE( "CWsfEngine::EnableScanningL - start scanner" );
- if ( !iScanner->IsActive() )
- {
- iScanner->StartScanningL();
- }
- LOG_WRITE( "CWsfEngine::EnableScanningL start scanner done" );
- for ( TInt i( 0 ); i< iObservers.Count(); ++i )
- {
- (iObservers[i])->ScanEnabledL();
- }
- }
- else
- {
- // the scanning is already active - stop and reactivate to complete the
- // new monitor in sensible time
- if ( iScanner->IsActive() )
- {
- iScanner->StopScanning();
- }
- iScanner->StartScanningL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::IsScanning
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::IsScanning()
- {
- return iEnableScanning;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::RefreshScanResults
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::RefreshScanResults()
- {
- LOG_ENTERFN( "CWsfEngine::RefreshScanResults" );
- return iScanner->RestartScanning();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::MonitorAccessPointL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::MonitorAccessPointL( TUint32 aIapId )
- {
- LOG_ENTERFN( "CWsfEngine::MonitorAccessPointL" );
-
- iMonitoredIap = aIapId;
-
- if ( iIapPersistence == EIapExpireOnShutdown )
- {
- // web browsing with a temporary IAP
- LOG_WRITE( "EIapExpireOnShutdown => EIapExpireOnBrowserExit" );
- SetIapPersistenceL( EIapExpireOnBrowserExit );
- iServerCloser.WaitForBrowserExit( ETrue );
-
- // semaphore to keep the order of calls
- iSuppressIapDeletion = ETrue;
- }
- else if ( iIapPersistence == EIapExpireOnDisconnect )
- {
- LOG_WRITE( "EIapExpireOnDisconnect => EIapNestedExpireOnDisconnect" );
- SetIapPersistenceL( EIapNestedExpireOnDisconnect );
- }
-
-
- LOG_WRITEF( "iMonitoredIap = %d", iMonitoredIap );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::DisableScanningL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::DisableScanningL()
- {
- LOG_ENTERFN( "CWsfEngine::DisableScanningL" );
-
- iEnableScanning--;
- LOG_WRITEF( "--iEnableScanning = %d", iEnableScanning );
-
- if ( !iEnableScanning )
- {
- LOG_WRITE( "CWsfEngine::DisableScanning stop scanner" );
-
- iScanner->StopScanning();
- LOG_WRITE( "CWsfEngine::DisableScanning stopped scanner" );
-
- for ( TInt i( 0 ); i < iObservers.Count(); ++i )
- {
- (iObservers[i])->ScanDisabledL();
- }
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectedWlanSsidL
-// ----------------------------------------------------------------------------
-//
-HBufC* CWsfEngine::ConnectedWlanSsidL()
- {
- LOG_ENTERFN( "CWsfEngine::ConnectedWlanIapNameL" );
- return iWlanBearerMonitor->GetWlanBearerNameL().AllocL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectedWlanConnectionDetailsL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::ConnectedWlanConnectionDetailsL( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfEngine::ConnectedWlanConnectionDetailsL" );
- return iWlanBearerMonitor->ConnectedWlanConnectionDetailsL( &aWlanInfo );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::WlanScanCompleteL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::WlanScanCompleteL()
- {
- LOG_ENTERFN( "CWsfEngine::WlanScanCompleteL" );
-
- for ( TInt i( 0 ); i < iObservers.Count(); ++i )
- {
- (iObservers[i])->WlanListChangedL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::WlanScanStarted
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::WlanScanStarted()
- {
- LOG_ENTERFN( "CWsfEngine::WlanScanStarted" );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::NotifyError
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::NotifyError( TInt aError )
- {
- LOG_ENTERFN( "CWsfEngine::NotifyError" );
-
- for ( TInt i( 0 ); i < iObservers.Count(); ++i )
- {
- TRAP_IGNORE( (iObservers)[i]->NotifyErrorL( aError ) );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectionEstablishedL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectionEstablishedL( const TDesC& aConnectionName )
- {
- LOG_ENTERFN( "CWsfEngine::ConnectionEstablishedL" );
- // set the scanner to check connected accounts
- iScanner->ConnectionEstablishedL( aConnectionName );
-
- iScanner->RestartScanning();
-
- // notify the observers
- for ( TInt i( 0 ); i < iObservers.Count(); ++i )
- {
- (iObservers)[i]->ConnectedL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectionLostL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectionLostL()
- {
- LOG_ENTERFN( "CWsfEngine::ConnectionLostL" );
-
- // check temporarity here as well since it is not guaranteed that
- // the connection was owned and ConnectedIapReleasedL was called
- if ( iSuppressIapDeletion )
- {
- // web browsing with a temporary IAP
- LOG_WRITE( "IAP deletion suppressed" );
- iSuppressIapDeletion = EFalse;
- }
- else if ( iMonitoredIap )
- {
- if ( iIapPersistence == EIapExpireOnDisconnect ||
- iIapPersistence == EIapExpireOnBrowserExit )
- {
- DeleteIapL( iMonitoredIap );
- iIapPersistence = EIapDeleted;
- iMonitoredIap = 0;
- }
- else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
- {
- iIapPersistence = EIapExpireOnBrowserExit;
- }
- }
-
- iScanner->ConnectionLostL();
- iScanner->RestartScanning();
-
- // notify the observers
- for ( TInt i( 0 ); i < iObservers.Count(); ++i )
- {
- (iObservers)[i]->DisconnectedL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectingFailedL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectingFailedL( TInt aError )
- {
- LOG_ENTERFN( "CWsfEngine::ConnectingFailedL" );
-
- for ( TInt i( 0 ); i < iObservers.Count(); ++i )
- {
- (iObservers)[i]->ConnectingFailedL( aError );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectedIapReleasedL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectedIapReleasedL()
- {
- LOG_ENTERFN( "CWsfEngine::ConnectedIapReleasedL" );
-
- // deleting temporary IAP if necessary
- if ( !iSuppressIapDeletion && iMonitoredIap )
- {
- if ( iIapPersistence == EIapExpireOnDisconnect ||
- iIapPersistence == EIapExpireOnBrowserExit )
- {
- DeleteIapL( iMonitoredIap );
- iIapPersistence = EIapDeleted;
- iMonitoredIap = 0;
- }
- else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
- {
- iIapPersistence = EIapExpireOnBrowserExit;
- iSuppressIapDeletion = ETrue;
- }
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::DeleteIapL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::DeleteIapL( TUint32 aIapId )
- {
- LOG_ENTERFN( "CWsfEngine::DeleteIapL" );
-
- LOG_WRITEF( "deleting temporary IAP id = %d", aIapId );
- RCmManagerExt cmMgr;
- cmMgr.OpenLC();
-
- RArray<TUint32> cmIds;
- CleanupClosePushL( cmIds );
- cmMgr.ConnectionMethodL( cmIds, ETrue, ETrue, EFalse );
- TBool foundFromUncategorized = EFalse;
-
- for ( TInt k = 0; k < cmIds.Count(); k++ )
- {
- RCmConnectionMethodExt cm;
- TRAPD( error, cm = cmMgr.ConnectionMethodL( cmIds[k] ) );
- if ( KErrNone == error )
- {
- CleanupClosePushL( cm );
-
- TUint iapId = cm.GetIntAttributeL( CMManager::ECmIapId );
- if ( iapId == aIapId )
- {
- LOG_WRITE( "IAP is uncategorized" );
- foundFromUncategorized = ETrue;
- }
- CleanupStack::PopAndDestroy( &cm );
- }
- }
-
- CleanupStack::PopAndDestroy( &cmIds );
-
- if ( !foundFromUncategorized )
- {
- LOG_WRITE( "Not deleting IAP since it is in SNAP" );
- CleanupStack::PopAndDestroy( &cmMgr );
- return;
- }
-
- RCmConnectionMethodExt ictCm = cmMgr.ConnectionMethodL( aIapId );
- CleanupClosePushL( ictCm );
-
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
-
- RTimer timer;
- timer.CreateLocal();
-
- // trying to delete the temporary IAP
- // sometimes the RConnection is still locking the IAP when
- // we want to delete it, so we might have to try a couple of times
- TInt counter( KMaxIapDeletionRetries );
- TInt err( KErrNone );
-
- while ( counter )
- {
- LOG_WRITEF( "trying to delete (#%d)",
- KMaxIapDeletionRetries - counter );
-
- TRAP( err, ictCm.DeleteL() );
-
- if ( !err || err == KErrNotFound )
- {
- // if success or the IAP was not found (strange but happens), break
- break;
- }
-
- --counter;
- if ( err && counter )
- {
- LOG_WRITEF( "deletion failed with error = %d", err );
- LOG_WRITE( "RConnection is still locking the IAP, waiting..." );
-
- timer.After( waiter->iStatus, TTimeIntervalMicroSeconds32(
- KDelayBetweenDeletionRetries ) );
- waiter->WaitForRequest();
- }
- }
-
-
- timer.Close();
- CleanupStack::PopAndDestroy( waiter );
-
- if ( !err )
- {
- LOG_WRITE( "IAP deleted." );
- }
- else
- {
- LOG_WRITE( "IAP couldn't be deleted!" );
- }
-
- CleanupStack::PopAndDestroy( &ictCm );
- CleanupStack::PopAndDestroy( &cmMgr );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectWlanL
-// ----------------------------------------------------------------------------
-//
-TInt CWsfEngine::ConnectWlanL( TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence )
- {
- LOG_ENTERFN( "CWsfEngine::ConnectWlanL" );
- LOG_WRITEF( "iapId = %d, persistence = %d", aIapId, aPersistence );
-
- // if we have already been monitoring an IAP (different from the
- // new one), clean that one up properly
- if ( iMonitoredIap && iIapPersistence == EIapExpireOnBrowserExit )
- {
- // user switched back from browser to sniffer and issued connect
- if ( iMonitoredIap != aIapId )
- {
- // selected network is different, so we must clean up the old one
- DeleteIapL( iMonitoredIap );
- iIapPersistence = EIapDeleted;
- iMonitoredIap = 0;
- }
- else if ( iMonitoredIap == aIapId )
- {
- // selected networks are the same
- aPersistence = EIapNestedExpireOnDisconnect;
- }
- iSuppressIapDeletion = EFalse;
- }
-
- TInt ret = iWlanBearerMonitor->ConnectBearer( aIapId,
- aConnectOnly,
- aPersistence != EIapPersistent );
-
- if ( !ret )
- {
- // successfully initiated connection
- LOG_WRITE( "connection init succeded" );
- iMonitoredIap = aIapId;
- SetIapPersistenceL( aPersistence );
- }
-
- return ret;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::DisconnectWlan
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::DisconnectWlan()
- {
- LOG_ENTERFN( "CWsfEngine::DisconnectWlan" );
- return iWlanBearerMonitor->DisconnectBearer();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::IsConnected
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::IsConnected()
- {
- return iWlanBearerMonitor->IsConnected();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::AbortConnectingL
-// ---------------------------------------------------------------------------
-//
-void CWsfEngine::AbortConnectingL()
- {
- LOG_ENTERFN("CWsfEngine::AbortConnectingL");
-
- TInt result = iWlanBearerMonitor->AbortConnecting();
-
- LOG_WRITEF( "abort connection result = %d", result );
-
- if ( result == KErrNone && iMonitoredIap )
- {
- if ( iIapPersistence == EIapExpireOnDisconnect )
- {
- LOG_WRITE( "EIapNestedExpireOnDisconnect => EIapDeleted" );
- DeleteIapL( iMonitoredIap );
- iIapPersistence = EIapDeleted;
- iMonitoredIap = 0;
- }
- else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
- {
- LOG_WRITE( "EIapNestedExpireOnDisconnect => "
- L"EIapExpireOnBrowserExit" );
- iIapPersistence = EIapExpireOnBrowserExit;
- }
- }
- else if ( result != KErrNone )
- {
- LOG_WRITE( "abort connection did not stopped connection" );
- // Try to disconnect via normal disconnect if engine is
- // connected and and there is connection id
- DisconnectWlan();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::AbortScanning
-// ---------------------------------------------------------------------------
-//
-void CWsfEngine::AbortScanning()
- {
- LOG_ENTERFN("CWsfEngine::AbortScanning");
-
- iScanner->AbortScanning();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::SetIapPersistenceL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfEngine::SetIapPersistenceL( TWsfIapPersistence aPersistence )
- {
- LOG_ENTERFN("CWsfEngine::SetIapPersistenceL");
- if ( aPersistence == EIapForcedExpiry )
- {
- if ( iMonitoredIap &&
- ( iIapPersistence == EIapExpireOnBrowserExit ||
- iIapPersistence == EIapExpireOnShutdown ) )
- {
- LOG_WRITE( "forced IAP expiry" );
- DeleteIapL( iMonitoredIap );
- iIapPersistence = EIapDeleted;
- iMonitoredIap = 0;
- }
- else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
- {
- LOG_WRITE( "reverting to EIapExpireOnDisconnect" );
- iIapPersistence = EIapExpireOnDisconnect;
- }
-
- iServerCloser.WaitForBrowserExit( EFalse );
- }
- else
- {
- LOG_WRITEF( "persistence = %d", aPersistence );
- iIapPersistence = aPersistence;
- }
-
- return ( iMonitoredIap );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::ControlDisconnectTimer
-// ---------------------------------------------------------------------------
-//
-TBool CWsfEngine::ControlDisconnectTimer( TUint aAdcCommand )
- {
- LOG_ENTERFN("CWsfEngine::ControlDisconnectTimer");
-
- return iWlanBearerMonitor->ControlDisconnectTimer( aAdcCommand );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::ResetSuppressIapDeletion
-// ---------------------------------------------------------------------------
-//
-void CWsfEngine::ResetSuppressIapDeletion()
- {
- LOG_ENTERFN( "CWsfEngine::ResetSuppresIapDeletion" );
-
- iSuppressIapDeletion = EFalse;
- }
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/src/wsfict.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,371 +0,0 @@
-/*
-* 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: Implementation of CWsfIct
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <apgcli.h>
-#include <apgtask.h>
-#include <ictsclientinterface.h>
-#include <cmmanagerext.h>
-#include <cmdestinationext.h>
-#include <cmpluginwlandef.h>
-
-// CLASS HEADER
-#include "wsfict.h"
-#include "wsflogger.h"
-
-// INTERNAL INCLUDES
-
-using namespace CMManager;
-
-/**
-* UID of Wlan Login application (hsbrowser)
-* used when launching WLAN Login application
-*/
-static const TInt KBrowserUid = { 0x2000AFCC };
-
-/**
-* Length of a needed separators
-* used when launching WLAN Login application
-*/
-const TInt KSeparatorsLength = 4;
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfIct* CWsfIct::NewL()
- {
- CWsfIct* self = CWsfIct::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfIct* CWsfIct::NewLC()
- {
- CWsfIct* self = new( ELeave ) CWsfIct;
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::~CWsfIct
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfIct::~CWsfIct()
- {
- LOG_ENTERFN( "CWsfIct::~CWsfIct" );
- if ( iIct )
- {
- LOG_WRITE( "ict cancel" );
- TRAP_IGNORE( iIct->CancelStartL() );
- delete iIct;
- iIct = NULL;
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::CWsfIct
-// ----------------------------------------------------------------------------
-//
-CWsfIct::CWsfIct(): iConnectOnly( EFalse )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::ConstructL()
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::ConnectivityObserver
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::ConnectivityObserver( TIctsTestResult aResult,
- const TDesC& aString )
- {
- LOG_ENTERFN( "CWsfIct::ConnectivityObserver" );
- LOG_WRITEF( "ICTS result: %d", aResult );
-
- // check the result
- switch ( aResult )
- {
- case EConnectionOk:
- {
- // test succeeded
- TRAP_IGNORE( MoveToInternetSnapL( iIapId ) );
- LOG_WRITE( "ICT: EConnectionOk" );
- break;
- }
-
- case EConnectionNotOk:
- {
- // test was run but it failed
- LOG_WRITE( "ICT: EConnectionNotOk" );
- break;
- }
- case EHttpAuthenticationNeeded:
- {
- // test was run but HTTP authentication is required
- LOG_WRITE( "ICT: EHttpAuthenticationNeeded" );
- if ( iConnectOnly )
- {
- // Connect selected. WLAN Login needed.
- TRAP_IGNORE( LaunchWlanLoginL(aString) );
- }
- break;
- }
- case ETimeout:
- {
- LOG_WRITE( "ICT: ETimeout" );
- break;
- }
-
- default:
- {
- _LIT( KIctPanic, "ICT result" );
- User::Panic( KIctPanic, aResult );
- }
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CWsfIct::LaunchWlanLoginL()
-// -----------------------------------------------------------------------------
-//
-void CWsfIct::LaunchWlanLoginL( const TDesC& aString )
- {
- LOG_ENTERFN( "CWsfIct::LaunchWlanLoginL" );
-
- // Count IAP Id length
- TInt iapIdLength ( 1 );
- TInt iapId = iIapId;
- while ( iapId >= 10 )
- {
- iapId = iapId/10;
- iapIdLength++;
- }
-
- // Count Network Id length
- TInt netIdLength ( 1 );
- TInt netId = iNetId;
- while ( netId >= 10 )
- {
- netId = netId/10;
- netIdLength++;
- }
-
- TInt length = aString.Length() +
- iapIdLength +
- netIdLength +
- KSeparatorsLength;
- HBufC* param = HBufC::NewLC( length );
- _LIT(tmpString, "%d, %d, %S");
- param->Des().Format( tmpString,
- iIapId,
- iNetId,
- &aString );
- TUid uid( TUid::Uid( KBrowserUid ) );
- TThreadId id;
-
- RApaLsSession appArcSession;
- User::LeaveIfError( appArcSession.Connect() );
- CleanupClosePushL( appArcSession );
-
- TInt err = appArcSession.StartDocument( *param, TUid::Uid( KBrowserUid ), id );
- if ( err != KErrNone )
- {
- LOG_ENTERFN( "CWsfIct::LaunchWlanLoginL failed" );
- }
- CleanupStack::PopAndDestroy( &appArcSession );
- CleanupStack::PopAndDestroy( param );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::MoveToInternetSnapL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::MoveToInternetSnapL( const TUint32 aIapId )
- {
- LOG_ENTERFN( "CWsfIct::MoveToInternetSnapL" );
- RCmManagerExt cmManager;
- cmManager.OpenL();
- CleanupClosePushL( cmManager );
-
- // Check that is IAP uncategorized
- RArray<TUint32> cmIds;
- CleanupClosePushL( cmIds );
- cmManager.ConnectionMethodL( cmIds, ETrue, ETrue, EFalse );
- TBool foundFromUncategorized = EFalse;
-
- for ( TInt k = 0; k < cmIds.Count(); k++ )
- {
- RCmConnectionMethodExt cm;
- TRAPD( error, cm = cmManager.ConnectionMethodL( cmIds[k] ) );
- if ( KErrNone == error )
- {
- CleanupClosePushL( cm );
-
- TUint iapId = cm.GetIntAttributeL( CMManager::ECmIapId );
- if ( iapId == aIapId )
- {
- LOG_WRITE( "IAP is uncategorized" );
- foundFromUncategorized = ETrue;
- }
- CleanupStack::PopAndDestroy( &cm );
- }
- }
-
- CleanupStack::PopAndDestroy( &cmIds );
-
- if ( !foundFromUncategorized )
- {
- LOG_WRITE( "Not moving IAP since it is in SNAP" );
- CleanupStack::PopAndDestroy( &cmManager );
- return;
- }
-
- // Read all destination(SNAP) settings into an array
- RArray<TUint32> destinations;
- CleanupClosePushL( destinations );
-
- cmManager.AllDestinationsL( destinations );
- RCmDestinationExt destination;
- // Loop through each destination
- for( TInt i = 0; i < destinations.Count(); i++ )
- {
- destination = cmManager.DestinationL( destinations[i] );
- CleanupClosePushL( destination );
- // Internet destination will always exist in the system.
- // Internet destination will have ESnapPurposeInternet
- // set in its metadata.
- if ( destination.MetadataL( CMManager::ESnapMetadataPurpose ) ==
- CMManager::ESnapPurposeInternet )
- {
- RCmConnectionMethodExt iap = cmManager.ConnectionMethodL( aIapId );
- CleanupClosePushL( iap );
- LOG_WRITE( "Move Iap to internet destination" );
- destination.AddConnectionMethodL( iap );
- destination.UpdateL();
- CleanupStack::PopAndDestroy( &iap );
- }
- CleanupStack::PopAndDestroy( &destination );
- }
- CleanupStack::PopAndDestroy( &destinations );
- CleanupStack::PopAndDestroy( &cmManager );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::TestConnectedAccessPointL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::TestConnectedAccessPointL( TUint aIapId )
- {
- LOG_ENTERFN( "CWsfIct::TestConnectedAccessPointL" );
- if ( !aIapId || aIapId != iIapId )
- {
- // the wlaninfo must already contain a valid IAP id
- LOG_WRITE( "invalid IAP id" );
- return;
- }
-
- if ( iIct )
- {
- iIct->CancelStartL();
- delete iIct;
- iIct = NULL;
- }
-
- LOG_WRITE( "starting ICT test..." );
-
- iIct = CIctsClientInterface::NewL( iIapId, iNetId, *this );
- LOG_WRITE( "ICT created" );
- iIct->StartL();
- LOG_WRITE( "ICT: started" );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfIct::InitializeIctL
-// ----------------------------------------------------------------------------
-//
-void CWsfIct::InitializeIctL( TBool aTestAccessPoint,
- TUint aIapId,
- TBool aConnectOnly )
- {
- LOG_ENTERFN( "CWsfIct::InitializeIct" );
-
- LOG_WRITEF( "IAP id = %d aTestAccessPoint = %d aConnectOnly = %d",
- aIapId, aTestAccessPoint, aConnectOnly );
-
- if ( !aIapId || !aTestAccessPoint )
- {
- // the wlaninfo must already contain a valid IAP id
- // and check that IAP needs testing
- LOG_WRITE( "ICT not initialized" );
- iConnectOnly = EFalse;
- iIapId = 0;
- iNetId = 0;
- return;
- }
-
- // set variables
- iConnectOnly = aConnectOnly;
- iIapId = aIapId;
-
- if ( iIct )
- {
- iIct->CancelStartL();
- delete iIct;
- iIct = NULL;
- }
-
- // get network Id
- RCmManagerExt cmManager;
- cmManager.OpenL();
- CleanupClosePushL(cmManager);
-
- RCmConnectionMethodExt cm = cmManager.ConnectionMethodL(iIapId);
- CleanupClosePushL(cm);
-
- iNetId = cm.GetIntAttributeL(CMManager::ECmNetworkId);
-
- LOG_WRITEF( "Network Id=%d ", iNetId );
-
- CleanupStack::PopAndDestroy(&cm);
- CleanupStack::PopAndDestroy(&cmManager);
- }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfserver.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,351 +0,0 @@
-/*
-* 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: Implementation of CWsfServer
-*
-*/
-
-
-// CLASS HEADER
-#include "wsfserver.h"
-
-// INTERNAL INCLUDES
-#include "wsfengine.h"
-#include "wsfsession.h"
-#include "wsfservercommon.h"
-#include "wsflogger.h"
-
-
-// LOCAL DEFINITIONS
-/**
-* Number of security ranges
-*/
-static const TInt KRangeCount = 1;
-
-
-/**
-* Security ranges
-*/
-static const TInt KSecurityRanges[KRangeCount] =
- {
- 0,
- };
-
-
-/**
-* Policy for the security ranges
-*/
-static const TUint8 KSecurityRangesPolicy[KRangeCount] =
- {
- CPolicyServer::ECustomCheck
- };
-
-
-/**
-* The complete policy structure
-*/
-static const CPolicyServer::TPolicy KPolicy =
- {
- CPolicyServer::EAlwaysPass,
- KRangeCount,
- KSecurityRanges,
- KSecurityRangesPolicy,
- NULL,
- };
-
-
-/**
-* Secure ID of the Active Idle (ailaunch.exe)
-*/
-static _LIT_SECURE_ID( KSidActiveIdle, 0x102750F0 );
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfServer* CWsfServer::NewLC()
- {
- CWsfServer* snifferServer = new (ELeave) CWsfServer(
- CActive::EPriorityHigh );
- CleanupStack::PushL( snifferServer );
- snifferServer->ConstructL();
- snifferServer->StartL( KWlanSnifferServerName );
-
- return snifferServer;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::NewSessionL
-// ---------------------------------------------------------------------------
-//
-CSession2* CWsfServer::NewSessionL( const TVersion& aVersion,
- const RMessage2& /*aMessage*/) const
- {
- LOG_ENTERFN( "CWsfServer::NewSessionL" );
- // check we're the right version
- TVersion v( KWlanSnifferServerMajor,
- KWlanSnifferServerMinor,
- KWlanSnifferServerBuild );
-
- if ( !User::QueryVersionSupported( v, aVersion ) )
- {
- User::Leave( KErrNotSupported );
- }
-
- // make new session
- CSession2* newSession = CWsfSession::NewL(
- const_cast<CWsfServer&>( *this ) );
-
- return newSession;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServer
-// ---------------------------------------------------------------------------
-//
-CWsfServer::CWsfServer( TInt aPriority ):
- CPolicyServer( aPriority, KPolicy ),
- iClientCount( 0 )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::~CWsfServer
-// ---------------------------------------------------------------------------
-//
-CWsfServer::~CWsfServer()
- {
- delete iCloser;
- delete iEngine;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::ConstructL()
- {
- iCloser = CWsfServerCloser::NewL();
-
- iEngine = CWsfEngine::NewL( *iCloser );
-
- // start the closing up procedure
- // so we won't be left running if no clients would appear
- iCloser->WaitForClients( EFalse );
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::ClientRelease
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::ClientRelease()
- {
- LOG_ENTERFN( "CWsfServer::ClientRelease" );
- --iClientCount;
-
- // even if there are no clients, we might need to keep the server alive
- // to maintain the connection or clean up IAPs properly
- if ( !iClientCount )
- {
-
- // The last client is released.
- // Iap deletion must not suppress anymore. Make sure the flag is off.
- iEngine->ResetSuppressIapDeletion();
-
- // From this point on, the server is kept alive to wait for connection notifications if necessary.
- // E.g. browser could be launched by sniffer and WLAN connection still exists after sniffer shut down,
- // server waits for connection lost callback and cleans up temporary IAPs when connection is closed.
-
- // If no connections are available, make sure the the server is NOT kept alive to wait
- // browser exit, because the server is not set to monitor those notifications directly.
- if( !iEngine->IsConnected() )
- {
- iCloser->WaitForBrowserExit( EFalse );
- }
-
- iCloser->WaitForClients( EFalse );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::ClientAttach
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::ClientAttach()
- {
- LOG_ENTERFN( "CWsfServer::ClientAttach" );
- iCloser->Cancel();
- ++iClientCount;
-
- iCloser->WaitForClients( ETrue );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::Engine
-// ---------------------------------------------------------------------------
-//
-CWsfEngine* CWsfServer::Engine()
- {
- return iEngine;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::RunServer
-// ---------------------------------------------------------------------------
-//
-TInt CWsfServer::RunServer()
- {
- CTrapCleanup* cleanup = CTrapCleanup::New();
- TInt ret = KErrNoMemory;
- if ( cleanup )
- {
- TRAP( ret, CWsfServer::RunServerL() );
- delete cleanup;
- }
-
- if ( ret != KErrNone )
- {
- // Signal the client that server creation failed
- RProcess::Rendezvous( ret );
- }
-
- return KErrNone;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::RunServerL
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::RunServerL()
- {
- // Create and install the active scheduler we need
- CActiveScheduler *as = new (ELeave) CActiveScheduler;
- CleanupStack::PushL( as );
- CActiveScheduler::Install( as );
-
- // Create server
- CWsfServer::NewLC();
-
- // Initialisation complete, now signal the client
- User::LeaveIfError( RThread().RenameMe( KWlanSnifferServerName ) );
- RProcess::Rendezvous( KErrNone );
-
- // Ready to run
- CActiveScheduler::Start();
-
- // Cleanup the server and scheduler
- CleanupStack::PopAndDestroy( 2, as );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWsfServer::RunError( TInt /*aError*/ )
- {
- return KErrNone;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::E32Main
-// ---------------------------------------------------------------------------
-//
-TInt E32Main()
- {
- TInt error( KErrNone );
- error = CWsfServer::RunServer();
- return error;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CustomSecurityCheckL
-// ---------------------------------------------------------------------------
-//
-CPolicyServer::TCustomResult CWsfServer::CustomSecurityCheckL(
- const RMessage2& aMsg,
- TInt& /*aAction*/,
- TSecurityInfo& /*aMissing*/ )
- {
- TCustomResult ret = EFail;
-
- switch ( aMsg.Function() )
- {
- // NULL CAPABILITIES
- case ESnifferCmdNotifyEvents:
- case ESnifferCmdCancelNotifyEvents:
- case ESnifferCmdIsScanEnabled:
- case ESnifferCmdCancelAll:
- case ESnifferCmdConnectionName:
- case ESnifferCmdIsConnected:
- case ESnifferCmdMonitorAp:
- {
- ret = EPass;
- break;
- }
-
- // CAPABILITY NEEDED
- case ESnifferCmdActivateScan:
- case ESnifferCmdDisableScan:
- case ESnifferCmdWlanDataSize:
- case ESnifferCmdGetWlanInfo:
- case ESnifferCmdConnectedDetails:
- case ESnifferCmdConnect:
- case ESnifferCmdDisconnect:
- case ESnifferCmdRequestScan:
- case ESnifferCmdAbortScanning:
- case ESnifferCmdAbortConnecting:
- case ESnifferCmdSetIapPersistence:
- case ESnifferCmdControlDisconnectTimer:
- {
- // if it is called from ailaunch.exe
- // disgusting workaround
- if ( aMsg.SecureId() == KSidActiveIdle )
- {
- ret = EPass;
- }
- else
- {
- ret = ( aMsg.HasCapability( ECapabilityNetworkServices ) &&
- aMsg.HasCapability( ECapabilityNetworkControl ) )?
- EPass : EFail;
- }
- break;
- }
-
- default:
- {
- ret = EPass;
- break;
- }
-
- }
-
-
- return ret;
- }
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfservercloser.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* 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: Implementation of CWsfServerCloser
-*
-*/
-
-
-// CLASS HEADER
-#include "wsfserver.h"
-
-
-/**
-* Timeout after all closing requirements are met (in microseconds)
-*/
-static const TInt KServerClosureWaitTimer = 2 * 1000 * 1000;
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfServer::CWsfServerCloser* CWsfServer::CWsfServerCloser::NewL()
- {
- CWsfServer::CWsfServerCloser* thisPtr = new (ELeave) CWsfServerCloser();
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::~CWsfServerCloser
-// ---------------------------------------------------------------------------
-//
-CWsfServer::CWsfServerCloser::~CWsfServerCloser()
- {
- Cancel();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::CWsfServerCloser
-// ---------------------------------------------------------------------------
-//
-CWsfServer::CWsfServerCloser::CWsfServerCloser():
- CTimer( CActive::EPriorityStandard ),
- iWaitForOwnedConnection( EFalse ),
- iWaitForBrowserExit( EFalse ),
- iWaitForClients( EFalse )
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::CWsfServerCloser::ConstructL()
- {
- CTimer::ConstructL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::CWsfServerCloser::RunL()
- {
- CActiveScheduler::Stop();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::StartClosureWait
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::CWsfServerCloser::StartClosureWait()
- {
- Cancel();
-
- if ( !iWaitForClients && !iWaitForBrowserExit && !iWaitForOwnedConnection )
- {
- After( TTimeIntervalMicroSeconds32( KServerClosureWaitTimer ) );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::WaitForClients
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::CWsfServerCloser::WaitForClients( TBool aWait )
- {
- iWaitForClients = aWait;
- if ( !aWait )
- {
- StartClosureWait();
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::WaitForOwnedConnection
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::CWsfServerCloser::WaitForOwnedConnection( TBool aWait )
- {
- iWaitForOwnedConnection = aWait;
- if ( !aWait )
- {
- StartClosureWait();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::WaitForBrowserExit
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::CWsfServerCloser::WaitForBrowserExit( TBool aWait )
- {
- iWaitForBrowserExit = aWait;
- if ( !aWait )
- {
- StartClosureWait();
- }
- }
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfsession.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,720 +0,0 @@
-/*
-* 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: Implementation of CWsfSession
-*
-*/
-
-
-// CLASS HEADER
-#include "wsfsession.h"
-#include "wsfserver.h"
-#include "wsfengine.h"
-#include "wsfservercommon.h"
-#include "wsfwlaninfo.h"
-#include "wsflogger.h"
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::CWsfSession
-// ----------------------------------------------------------------------------
-//
-CWsfSession::CWsfSession( CWsfServer& aServer ):
- iServer( aServer ),
- iRequestNotify( EFalse ),
- iEnabledScanning( EFalse )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfSession* CWsfSession::NewL( CWsfServer& aServer )
- {
- CWsfSession* thisPtr = new (ELeave) CWsfSession( aServer );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::~CWsfSession
-// ----------------------------------------------------------------------------
-//
-CWsfSession::~CWsfSession()
- {
- LOG_ENTERFN( "CWsfSession::~CWsfSession" );
- CancelPendingTasks();
- iServer.Engine()->Detach( this );
- iServer.ClientRelease();
- iEventQueue.Close();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ConstructL()
- {
- iServer.ClientAttach();
- iServer.Engine()->AttachL( this );
- iEnabledScanning = iServer.Engine()->IsScanning();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ServiceL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ServiceL( const RMessage2& aMessage )
- {
- TRAPD( err, DispatchMessageL( aMessage ) );
- if ( err != KErrNone )
- {
- LOG_WRITEF( "CWsfSession::ServiceL DispatchMessageL leave error = %d",
- err );
- aMessage.Complete( err );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::DispatchMessageL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::DispatchMessageL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::DispatchMessageL" );
- LOG_WRITEF( "CWsfSession::DispatchMessageL message = %d",
- aMessage.Function() );
-
- switch ( aMessage.Function() )
- {
- case ESnifferCmdWlanDataSize:
- {
- ReplyWlanDataSizeL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdNotifyEvents:
- {
- RequestNotifyL( aMessage );
- break;
- }
-
- case ESnifferCmdCancelNotifyEvents:
- {
- CancelNotifyEvents();
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdGetWlanInfo:
- {
- WriteWlanDataL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdConnect:
- {
- ConnectWlanL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdDisconnect:
- {
- DisconnectWlanL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdActivateScan:
- {
- ActivateScanL();
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdDisableScan:
- {
- DisableScanL();
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdConnectionName:
- {
- GetConnectedAccountNameL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdCancelAll:
- {
- CancelPendingTasks();
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdRequestScan:
- {
- RequestScanL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdMonitorAp:
- {
- MonitorApL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdIsScanEnabled:
- {
- ReplyIsScanningL(aMessage);
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdIsConnected:
- {
- IsConnectedL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdConnectedDetails:
- {
- GetConnectedDetailsL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdAbortScanning:
- {
- AbortScanning();
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdAbortConnecting:
- {
- AbortConnectingL();
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdSetIapPersistence:
- {
- SetIapPersistenceL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
- case ESnifferCmdControlDisconnectTimer:
- {
- ControlDisconnectTimerL( aMessage );
- aMessage.Complete( KErrNone );
- break;
- }
-
-
- // requests we don't understand at all are a different thing,
- // so panic the client here, this function also completes the message
- default:
- {
- _LIT( KWsfServerPanic, "WlanSnifferServer" );
- aMessage.Panic( KWsfServerPanic, 1 );
- }
-
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::RequestNotify
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::RequestNotifyL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::RequestNotifyL" );
- if ( !iRequestNotify )
- {
- LOG_WRITE( "CWsfSession::RequestNotifyL first subscription" );
- // first subscription
- iRequestNotify = ETrue;
- iEventQueue.Reset();
- }
-
- // initial value / processing finished
- iProcessingEvent = EFalse;
-
- // store the message to be completed
- iNotifyChangesMessage = aMessage;
-
- // deal with the queue
- if ( iEventQueue.Count() )
- {
- LOG_WRITE( "CWsfSession::RequestNotifyL queue not empty" );
- NotifyClientL();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::CancelNotifyEvents
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::CancelNotifyEvents()
- {
- LOG_ENTERFN( "CWsfSession::CancelNotifyEvents" );
-
- // interrupt ongoing event handling
- iProcessingEvent = EFalse;
- if ( !iNotifyChangesMessage.IsNull() )
- {
- iNotifyChangesMessage.Complete( KErrCancel );
- }
-
- // unsubscribe
- iRequestNotify = EFalse;
-
- // drop all waiting events
- iEventQueue.Reset();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::CancelPendingTasks
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::CancelPendingTasks()
- {
- LOG_ENTERFN( "CWsfSession::CancelPendingTasks" );
- if ( iEnabledScanning )
- {
- TRAP_IGNORE( iServer.Engine()->DisableScanningL() );
- }
-
- CancelNotifyEvents();
- }
-
-
-
-// from MWsfEngineObserver
-
-// ---------------------------------------------------------------------------
-// CWsfSession::WlanListChangedL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::WlanListChangedL()
- {
- LOG_ENTERFN( "CWsfSession::WlanListChangedL" );
- TWsfNotifyEventContainer event = { EEngineWlanDataChanged, KErrNone };
- iEventQueue.AppendL( event );
-
- NotifyClientL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::NotifyErrorL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::NotifyErrorL( TInt aError )
- {
- LOG_ENTERFN( "CWsfSession::NotifyErrorL" );
- TWsfNotifyEventContainer event = { EEngineError, aError };
- iEventQueue.AppendL( event );
-
- NotifyClientL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ScanEnabledL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::ScanEnabledL()
- {
- LOG_ENTERFN( "CWsfSession::ScanEnabledL" );
- iEnabledScanning = ETrue;
- TWsfNotifyEventContainer event = { EEngineScanEnabled, KErrNone };
- iEventQueue.AppendL( event );
-
- NotifyClientL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ScanDisabledL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::ScanDisabledL()
- {
- LOG_ENTERFN( "CWsfSession::ScanDisabledL" );
- iEnabledScanning = EFalse;
- TWsfNotifyEventContainer event = { EEngineScanDisabled, KErrNone };
- iEventQueue.AppendL( event );
-
- NotifyClientL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ConnectedL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::ConnectedL()
- {
- LOG_ENTERFN( "CWsfSession::ConnectedL" );
- TWsfNotifyEventContainer event = { EEngineConnected, KErrNone };
- iEventQueue.AppendL( event );
-
- NotifyClientL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::DisconnectedL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::DisconnectedL()
- {
- LOG_ENTERFN( "CWsfSession::DisconnectedL" );
- TWsfNotifyEventContainer event = { EEngineDisconnected, KErrNone };
- iEventQueue.AppendL( event );
-
- NotifyClientL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ConnectingFailedL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::ConnectingFailedL( TInt aError )
- {
- LOG_ENTERFN( "CWsfSession::ConnectingFailedL" );
- TWsfNotifyEventContainer event = { EEngineConnectingFailed, aError };
- iEventQueue.AppendL( event );
-
- NotifyClientL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::NotifyClientL
-// ---------------------------------------------------------------------------
-//
-void CWsfSession::NotifyClientL()
- {
- LOG_ENTERFN( "CWsfSession::NotifyClientL" );
-
- if ( iRequestNotify && !iProcessingEvent )
- {
- LOG_WRITE( "CWsfSession::NotifyClientL notify" );
- TPckgBuf<TWsfNotifyEventContainer> container( iEventQueue[0] );
-
- iNotifyChangesMessage.WriteL( 0, container );
-
- // remove the item that we have just handed over
- iEventQueue.Remove( 0 );
-
- iProcessingEvent = ETrue;
- iNotifyChangesMessage.Complete( KErrNone );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::GetConnectedAccountNameL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::GetConnectedAccountNameL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::GetConnectedAccountNameL" );
- HBufC* iapName = iServer.Engine()->ConnectedWlanSsidL();
- CleanupStack::PushL( iapName );
- TPckgBuf<TWsfQueryConnectedAccount> package;
-
- TInt maxLen = package().iConnectedAccountName.MaxLength();
-
- if ( iapName->Length() )
- {
- if ( iapName->Length() > maxLen )
- {
- package().iConnectedAccountName.Copy( iapName->Ptr(), maxLen );
- }
- else
- {
- package().iConnectedAccountName.Copy( *iapName );
- }
- package().iConnected = ETrue;
- }
- else
- {
- package().iConnected = EFalse;
- }
- aMessage.WriteL( 0, package );
- CleanupStack::PopAndDestroy( iapName );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::GetConnectedDetailsL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::GetConnectedDetailsL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::GetConnectedDetailsL" );
- TPckgBuf<TWsfWlanInfo> package;
- TPckgBuf<TBool> ret( ETrue );
-
- if ( !iServer.Engine()->ConnectedWlanConnectionDetailsL( package() ) )
- {
- LOG_WRITE( "engine returned false, so wlaninfo is marked as invalid" );
- ret() = EFalse;
- }
-
- aMessage.WriteL( 0, ret );
- aMessage.WriteL( 1, package );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ReplyWlanDataSizeL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ReplyWlanDataSizeL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::ReplyWlanDataSizeL" );
- const TInt KInvalidLength = 0;
- TPckgBuf<TUint> p( KInvalidLength );
-
- HBufC8* results = iServer.Engine()->GetScanResults();
- if ( results )
- {
- p() = results->Length();
- }
-
- aMessage.WriteL( 0, p );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::WriteWlanDataL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::WriteWlanDataL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::WriteWlanDataL" );
- TPckgBuf<TUint> sizeData;
-
- // don't take the ownership
- HBufC8* scanData = iServer.Engine()->GetScanResults();
-
- if ( scanData )
- {
- LOG_WRITEF( "scanData->Length() = %d aMessage.GetDesMaxLength(1) = %d",
- scanData->Length(), aMessage.GetDesMaxLength( 1 ) );
- if ( scanData->Length() > aMessage.GetDesMaxLength( 1 ) )
- {
- // the data has changed
- // return error to client to alloc more buffer
- sizeData() = scanData->Length();
- aMessage.WriteL( 0, sizeData );
- }
- else
- {
- // else we have enough buffer... copy the data
- sizeData() = scanData->Length();
- aMessage.WriteL( 0, sizeData );
- aMessage.WriteL( 1, *scanData, 0 );
- }
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ActivateScanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ActivateScanL()
- {
- LOG_ENTERFN( "CWsfSession::ActivateScanL" );
- iServer.Engine()->EnableScanningL();
- iEnabledScanning = ETrue;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::DisableScanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::DisableScanL()
- {
- LOG_ENTERFN( "CWsfSession::DisableScanL" );
- if ( iEnabledScanning )
- {
- iServer.Engine()->DisableScanningL();
- iEnabledScanning = EFalse;
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ConnectWlanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ConnectWlanL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::ConnectWlanL" );
- TUint32 iapId( aMessage.Int1() );
- TBool connectOnly( aMessage.Int2() );
- TWsfIapPersistence persistence( TWsfIapPersistence( aMessage.Int3() ) );
- TPckgBuf<TInt> p( iServer.Engine()->ConnectWlanL( iapId, connectOnly, persistence ) );
- aMessage.WriteL( 0, p );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::DisconnectWlanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::DisconnectWlanL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::DisconnectWlanL" );
- TPckgBuf<TInt> p( iServer.Engine()->DisconnectWlan() );
- aMessage.WriteL( 0, p );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::RequestScanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::RequestScanL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::RequestScanL" );
- TPckgBuf<TBool> requestMade( EFalse );
- // check if the client has enabled scanning - if not do not request scans
- if ( !iEnabledScanning )
- {
- LOG_WRITE( "CWsfSession::RequestScanL error, not scanning" );
- aMessage.WriteL( 0, requestMade );
- return;
- }
-
- requestMade = iServer.Engine()->RefreshScanResults();
- aMessage.WriteL( 0, requestMade );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::MonitorApL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::MonitorApL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::MonitorApL" );
- TUint32 accessPoint( (TUint32) aMessage.Int0() );
- iServer.Engine()->MonitorAccessPointL( accessPoint );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ReplyIsScanningL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ReplyIsScanningL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::ReplyIsScanningL" );
- TPckgBuf<TBool> p( iServer.Engine()->IsScanning() );
- aMessage.WriteL( 0, p );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::IsConnectedL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::IsConnectedL( const RMessage2& aMessage )
- {
- TBool b = iServer.Engine()->IsConnected();
- TPckgBuf<TBool> p( b );
- aMessage.WriteL( 0, p );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::AbortScanning
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::AbortScanning()
- {
- LOG_ENTERFN( "CWsfSession::AbortScanningL" );
- iServer.Engine()->AbortScanning();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::AbortConnectingL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::AbortConnectingL()
- {
- LOG_ENTERFN( "CWsfSession::AbortConnectingL" );
- iServer.Engine()->AbortConnectingL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::SetIapPersistenceL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::SetIapPersistenceL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::SetIapPersistenceL" );
-
- TWsfIapPersistence persistence( TWsfIapPersistence( aMessage.Int1() ) );
- TPckgBuf<TBool> ret( iServer.Engine()->SetIapPersistenceL( persistence ) );
-
- aMessage.WriteL( 0, ret );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ControlDisconnectTimerL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ControlDisconnectTimerL( const RMessage2& aMessage )
- {
- LOG_ENTERFN( "CWsfSession::ControlDisconnectTimerL" );
-
- TPckgBuf<TBool> ret( iServer.Engine()->ControlDisconnectTimer(
- TUint( aMessage.Int1() ) ) );
-
- aMessage.WriteL( 0, ret );
- }
-
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfwlanbearerconnectionmonitor.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1137 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanBearerConnectionMonitor
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <w32std.h>
-#include <apgtask.h>
-#include <utf.h>
-#include <cmpluginwlandef.h>
-#include <commdbconnpref.h>
-#include <wlanerrorcodes.h>
-#include <cmconnectionmethodext.h>
-#include <commdb.h>
-#include <WlanCdbCols.h>
-
-
-
-// CLASS HEADER
-#include "wsfwlanbearerconnectionmonitor.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlanmonitorobserver.h"
-#include "wsflogger.h"
-#include "wsfactivewaiter.h"
-#include "wsfservercloseradapter.h"
-#include "wsfcommon.h"
-#include "wsfict.h"
-
-
-// LOCAL DEFINITIONS
-using namespace CMManager;
-
-
-#ifdef _DEBUG
- _LIT( KWlanConnMonPanic, "wsfwlanconnmon" );
- #define __ASSERTD(x) __ASSERT_DEBUG( (x), \
- User::Panic( KWlanConnMonPanic, __LINE__ ) );
-#else
- #define __ASSERTD(x)
-#endif
-
-
-// LOCAL CONSTANTS
-/**
-* Connection id referring to a non-existing connection
-*/
-static const TInt KNoConnection = -1;
-
-/**
-* Max allowed connection inactivity time in seconds
-*/
-static const TUint KMaxConnectionInactivityTime = 60;
-
-
-/**
-* Client polling interval in microseconds
-*/
-static const TUint KClientPollInterval = 5 * 1000 * 1000;
-
-
-/**
-* Number of trivial clients of a connection (Sniffer, AI/CP plugin etc)
-*/
-static const TUint KTrivialClientCount = 2;
-
-/**
-* List of UIDs of the trivial clients
-*/
-static const TUid KTrivialClientUids[KTrivialClientCount] =
- {
- { 0x10281CAB }, // Sniffer server (wsfserver.exe)
- { 0x101fD9C5 } // DHCP server (dhcpserv.exe)
- };
-
-/**
-* Browser UID
-*/
-const TUid KCRUidBrowser = {0x10008D39};
-
-
-
-// CONSTRUCTION AND DESTRUCTION
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor* CWsfWlanBearerConnectionMonitor::NewL(
- MWsfServerCloserAdapter& aServerCloser )
- {
- CWsfWlanBearerConnectionMonitor* thisPtr = NewLC( aServerCloser );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor* CWsfWlanBearerConnectionMonitor::NewLC(
- MWsfServerCloserAdapter& aServerCloser )
- {
- CWsfWlanBearerConnectionMonitor* thisPtr =
- new (ELeave) CWsfWlanBearerConnectionMonitor( aServerCloser );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::~CWsfWlanBearerConnectionMonitor
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor::~CWsfWlanBearerConnectionMonitor()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::"
- L"~CWsfWlanBearerConnectionMonitor" );
- iMonitor.CancelNotifications();
- iMonitor.Close();
-
- Cancel();
-
- if ( iConnectionOwned )
- {
- // in case Cancel() hasn't done the job
- TRAP_IGNORE( ShutdownOwnedConnectionL() );
- }
- else if ( iMonitoredAp )
- {
-
- }
-
- delete iClientPoll;
-
- delete iIct;
-
- iCmMgr.Close();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CWsfWlanBearerConnectionMonitor
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor::CWsfWlanBearerConnectionMonitor(
- MWsfServerCloserAdapter& aServerCloser ):
- CActive( CActive::EPriorityStandard ),
- iConnectionId( KNoConnection ),
- iMonitoring( EFalse ),
- iConnectingState( ECsIdle ),
- iServerCloser( aServerCloser )
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::ConstructL()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::ConstructL" );
- iCmMgr.OpenL();
- iMonitor.ConnectL();
- iClientPoll = CPeriodic::NewL( CActive::EPriorityLow );
- iIct = CWsfIct::NewL();
- FindWlanBearerConnectedL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::GetWlanBearerNameL
-// ---------------------------------------------------------------------------
-//
-const TDesC& CWsfWlanBearerConnectionMonitor::GetWlanBearerNameL()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::GetWlanBearerNameL" );
- if ( iConnectionId == KNoConnection )
- {
- LOG_WRITE( "[no connection]" );
- return KNullDesC();
- }
-
- LOG_WRITEF( "connection name: %S", &iWlanNetworkName );
- return iWlanNetworkName;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::FindWlanBearerConnectedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::FindWlanBearerConnectedL()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::FindWlanBearerConnectedL" );
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
- TUint connectionNumber( 0 );
-
- iMonitor.GetConnectionCount( connectionNumber, waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( !waiter->iStatus.Int() )
- {
- TBool connectionIDFound = EFalse;
- for ( TUint i = 1; i <= connectionNumber; ++i )
- {
- TUint connectionId( 0 );
- TUint subConnectionCount( 0 );
-
- User::LeaveIfError( iMonitor.GetConnectionInfo( i, connectionId,
- subConnectionCount ) );
- if ( CheckConnectionDetailsL( connectionId ) )
- {
- LOG_WRITEF( "found connection %d", connectionId );
- connectionIDFound = ETrue;
- iConnectionId = connectionId;
- break;
- }
- }
- if ( !connectionIDFound )
- {
- LOG_WRITE( "Reset connection ID" );
- iConnectionId = KNoConnection;
- }
- }
- else
- {
- LOG_WRITEF( "GetConnectionCount failed error = %d",
- waiter->iStatus.Int() );
- }
-
- CleanupStack::PopAndDestroy( waiter );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::EventL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::EventL(
- const CConnMonEventBase& aConnMonEvent )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::EventL" );
-
- TConnMonEvent event = TConnMonEvent( aConnMonEvent.EventType() );
- TInt connectionId = aConnMonEvent.ConnectionId();
-
- LOG_WRITEF( "event = %d", (TInt)event );
-
- switch ( event )
- {
- case EConnMonCreateConnection:
- {
- LOG_WRITEF( "EConnMonCreateConnection id = %d",
- connectionId );
- break;
- }
-
- case EConnMonConnectionStatusChange:
- {
- LOG_WRITEF( "EConnMonConnectionStatusChange id = %d",
- connectionId );
-
- const CConnMonConnectionStatusChange* statusChangeEvent =
- static_cast<const CConnMonConnectionStatusChange*>(
- &aConnMonEvent );
-
- LOG_WRITEF( "EConnMonConnectionStatusChange status = %d",
- statusChangeEvent->ConnectionStatus() );
-
- if ( statusChangeEvent->ConnectionStatus() == KConnectionOpen &&
- !iConnectionOwned )
- {
- LOG_WRITE( "connection status: open" );
- TBool wlanEvent( EFalse );
-
- wlanEvent = CheckConnectionDetailsL( connectionId );
- if ( wlanEvent )
- {
- LOG_WRITEF( "[%S] connected, id = %d",
- &iWlanNetworkName, connectionId );
-
- // notify observer ...
- iConnectionId = connectionId;
- iObserver->ConnectionEstablishedL( iWlanNetworkName );
- }
- }
- break;
- }
-
- case EConnMonDeleteConnection:
- {
- LOG_WRITEF( "EConnMonDeleteConnection id = %d", connectionId );
-
- if ( connectionId == iConnectionId )
- {
- if ( iConnectionOwned )
- {
- LOG_WRITE( "connection was owned, manual closing" );
- ShutdownOwnedConnectionL();
- }
- else
- {
- LOG_WRITE( "connection was not owned" );
- iWlanNetworkName.Zero();
- iConnectionId = KNoConnection;
-
- // notify observer
- iObserver->ConnectionLostL();
- }
- }
- break;
- }
-
- default:
- {
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CheckConnectionDetailsL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::CheckConnectionDetailsL(
- TUint aConnectionId )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::CheckConnectionDetailsL" );
- LOG_WRITEF( "aConnectionId: %d", aConnectionId );
- TConnMonBearerType bearerType( EBearerUnknown );
-
- TBool foundWlanBearer( EFalse );
-
- // Add only connections with valid id
- if ( aConnectionId > 0 )
- {
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
- iMonitor.GetIntAttribute( aConnectionId, 0, KBearer,
- (TInt&)bearerType,
- waiter->iStatus );
- waiter->WaitForRequest();
- LOG_WRITEF( "found bearer: %d", bearerType );
-
- if ( waiter->iStatus.Int() == KErrNone )
- {
- LOG_WRITE( "status: KErrNone" );
- if ( bearerType == EBearerWLAN )
- {
-
- iMonitor.GetStringAttribute( aConnectionId, 0, KNetworkName,
- iWlanNetworkName, waiter->iStatus );
- waiter->WaitForRequest();
- if ( waiter->iStatus.Int() == KErrNone )
- {
- LOG_WRITEF( "WLAN network name: %S", &iWlanNetworkName );
- foundWlanBearer = ETrue;
- }
-
- }
- }
- else
- {
- LOG_WRITEF( "status: %d", waiter->iStatus.Int() );
- }
- CleanupStack::PopAndDestroy( waiter );
- }
-
- return foundWlanBearer;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::StartMonitoringL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::StartMonitoringL(
- MWsfWlanMonitorObserver* aObserver )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::StartMonitoringL" );
- __ASSERTD( aObserver );
-
- iObserver = aObserver;
- if ( !iMonitoring )
- {
- iMonitoring = ETrue;
- iMonitor.NotifyEventL( *this );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::StopMonitoring
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::StopMonitoring()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::StopMonitoring" );
-
- if ( iMonitoring )
- {
- iMonitoredAp = 0;
- iMonitoring = EFalse;
- iMonitor.CancelNotifications();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ConnectBearer
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanBearerConnectionMonitor::ConnectBearer( TUint32 aIapId,
- TBool aConnectOnly,
- TBool aTestAccessPoint )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::ConnectBearer" );
-
- if ( iConnectionId != KNoConnection || iConnectingState != ECsIdle )
- {
- // there is already a connection
- LOG_WRITE( "there is already a WLAN connection" );
- return KErrWlanConnAlreadyActive;
- }
-
- // self-completion
- if ( iConnectingState == ECsIdle )
- {
- LOG_WRITE( "initiating connection process" );
- iConnIap = aIapId;
- iConnectingState = ECsNotConnected;
- iConnectionOwned = ETrue;
- iServerCloser.WaitForOwnedConnection( ETrue );
-
- TRAPD( err, iIct->InitializeIctL( aTestAccessPoint, aIapId,
- aConnectOnly ) );
- if ( err )
- {
- LOG_WRITEF( "Ict initialization failed error = %d", err );
- }
-
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
-
- return KErrNone;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::DisconnectBearer
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::DisconnectBearer()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::DisconnectBearer" );
-
- if ( iConnectionId != KNoConnection )
- {
- LOG_WRITEF( "closing connection id = %d", iConnectionId );
- iMonitor.SetBoolAttribute( iConnectionId, 0, KConnectionStop, ETrue );
- }
-
- return ( iConnectionId != KNoConnection );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::AbortConnecting
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanBearerConnectionMonitor::AbortConnecting()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::AbortConnecting" );
- TInt result = KErrGeneral;
-
- if ( iConnectingState != ECsIdle )
- {
- LOG_WRITE( "connection in progress, aborting");
- iAborting = ETrue;
-
- if ( IsActive() && iConnectingState == ECsSocketOpened )
- {
- LOG_WRITE( "forcing connection to stop" );
- result = iConnection.Stop();
- }
- }
- return result;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::MonitorAccessPoint
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::MonitorAccessPoint( TUint32 aIapId )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::MonitorAccessPoint" );
- iMonitoredAp = aIapId;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ConnectedWlanConnectionDetailsL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::ConnectedWlanConnectionDetailsL(
- TWsfWlanInfo* aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::"
- L"ConnectedWlanConnectionDetailsL" );
-
- LOG_WRITEF( "Monitor iConnectingState =%d and iConnectionId = %d",
- iConnectingState, iConnectionId );
-
- if ( iConnectingState == ECsIdle && iConnectionId == KNoConnection )
- {
- // Make sure that we have connection id
- FindWlanBearerConnectedL();
- }
-
- if ( iConnectionId == KNoConnection )
- {
- return EFalse;
- }
-
- // get the data's from the monitor add them to aWlanInfo..
- aWlanInfo->iConnectionState = EConnected;
- aWlanInfo->iVisibility = 1;
- aWlanInfo->iCoverage = 1;
- aWlanInfo->iNetworkName = KNullDesC8;
-
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
-
- // security mode
- TInt securityAttribute( EWlanConnectionSecurityOpen );
- iMonitor.GetIntAttribute( iConnectionId, 0, KSecurityMode,
- securityAttribute, waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( waiter->iStatus.Int() != KErrNone )
- {
- aWlanInfo->iConnectionState = ENotConnected;
- CleanupStack::PopAndDestroy( waiter );
- return EFalse;
- }
-
- switch ( securityAttribute )
- {
- case EConnMonSecurityWep:
- {
- aWlanInfo->iSecurityMode = EWlanSecModeWep;
- break;
- }
-
- case EConnMonSecurity802d1x:
- {
- aWlanInfo->iSecurityMode = EWlanSecMode802_1x;
- break;
- }
-
- case EConnMonSecurityWpa: // fall-through
- case EConnMonSecurityWpaPsk:
- {
- aWlanInfo->iSecurityMode = EWlanSecModeWpa;
- break;
- }
-
- case EConnMonSecurityOpen: // fall-through
- default:
- {
- aWlanInfo->iSecurityMode = EWlanSecModeOpen;
- }
- }
- LOG_WRITEF( "conn.secmode = %d", aWlanInfo->iSecurityMode );
-
- aWlanInfo->SetUsesPreSharedKey(
- EConnMonSecurityWpaPsk == securityAttribute );
-
- LOG_WRITEF( "conn.usespresharedkey = %d", aWlanInfo->UsesPreSharedKey() );
-
- // network mode
- TInt networkModeAttribute( 0 );
-
- iMonitor.GetIntAttribute( iConnectionId, 0, KNetworkMode,
- networkModeAttribute, waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( waiter->iStatus.Int() != KErrNone )
- {
- aWlanInfo->iConnectionState = ENotConnected;
- CleanupStack::PopAndDestroy( waiter );
- return EFalse;
- }
-
- if ( networkModeAttribute == EConnMonAdHoc )
- {
- aWlanInfo->iNetMode = EAdhoc;
- }
- else
- {
- aWlanInfo->iNetMode = EInfra;
- }
-
- LOG_WRITEF( "conn.netmode = %d", aWlanInfo->iNetMode );
-
- // iap id
- TUint iapIdAttribute( 0 );
- iMonitor.GetUintAttribute( iConnectionId, 0, KIAPId,
- iapIdAttribute, waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( waiter->iStatus.Int() != KErrNone )
- {
- aWlanInfo->iConnectionState = ENotConnected;
- CleanupStack::PopAndDestroy( waiter );
- return EFalse;
- }
-
- aWlanInfo->iIapId = iapIdAttribute;
-
- LOG_WRITEF( "conn.iap = %d", aWlanInfo->iIapId );
-
- // signal strength
- TInt signStrengthAttribute( 0 );
- iMonitor.GetIntAttribute( iConnectionId, 0, KSignalStrength,
- signStrengthAttribute, waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( waiter->iStatus.Int() != KErrNone )
- {
- aWlanInfo->iConnectionState = ENotConnected;
- CleanupStack::PopAndDestroy( waiter );
- return EFalse;
- }
-
- aWlanInfo->iStrengthLevel = signStrengthAttribute;
- LOG_WRITEF( "conn.signalstrength = %d", aWlanInfo->iStrengthLevel );
-
- if ( aWlanInfo->iIapId )
- {
- LOG_WRITE( "IAP id != 0" );
-
- RCmConnectionMethodExt cm = iCmMgr.ConnectionMethodL( aWlanInfo->iIapId );
- CleanupClosePushL( cm );
- HBufC* buf = NULL;
-
- if ( iCmMgr.EasyWlanIdL() != aWlanInfo->iIapId )
- {
- LOG_WRITE( "not EasyWLAN" );
- buf = cm.GetStringAttributeL( ECmName );
- }
- else
- {
- LOG_WRITE("Sniffer:EasyWLAN IAP ");
- aWlanInfo->iIapId = 0;
- buf = cm.GetStringAttributeL( EWlanUsedSSID );
- }
-
- if ( buf )
- {
- TInt error = CnvUtfConverter::ConvertFromUnicodeToUtf8(
- aWlanInfo->iSsid,
- *buf );
- if ( error )
- {
- LOG_WRITE( "ConvertFromUnicodeToUtf8 failed");
- aWlanInfo->iSsid.Copy( *buf );
- }
- delete buf;
- }
- CleanupStack::PopAndDestroy( &cm ); //cm
- }
- else
- {
- LOG_WRITE( "IAP id = 0" );
- }
-
-#ifdef _DEBUG
- // Iap & Ssid logging
- HBufC* nameUnicode = aWlanInfo->GetIapNameAsUnicodeLC();
- LOG_WRITEF( "aWlanInfo->iNetworkName: [%S]", nameUnicode );
- CleanupStack::PopAndDestroy( nameUnicode );
-
- HBufC* ssidUnicode = aWlanInfo->GetSsidAsUnicodeLC();
- LOG_WRITEF( "aWlanInfo->tmpSsid: [%S]", ssidUnicode );
- CleanupStack::PopAndDestroy( ssidUnicode );
-#endif
-
- CleanupStack::PopAndDestroy( waiter );
-
- return ETrue;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::IsConnected
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::IsConnected()
- {
- return ( iConnectionId != KNoConnection );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CheckClientCount
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanBearerConnectionMonitor::CheckClientCount( TAny* aPtr )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::CheckClientCount" );
- CWsfWlanBearerConnectionMonitor* self =
- static_cast<CWsfWlanBearerConnectionMonitor*>( aPtr );
- TInt err( KErrNone );
-
- if ( !self->iClientCountMutex )
- {
- // in some rare cases this function is reentered because of the
- // active scheduler waits, so we need a mutex
- self->iClientCountMutex = ETrue;
-
- TRAP( err, self->CheckClientCountL() );
-
- self->iClientCountMutex = EFalse;
- }
-
- return err;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CheckClientCountL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::CheckClientCountL()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::CheckClientCountL" );
-
- RWsSession wsSession;
- if ( KErrNone == wsSession.Connect() )
- {
- LOG_WRITE( "Find browser task" );
- TApaTaskList taskList( wsSession );
- TApaTask task = taskList.FindApp( KCRUidBrowser );
- if ( task.Exists() )
- {
- LOG_WRITE( "Browser is running - auto disconnect to false" );
- iAutoDisconnect = EFalse;
- iInactivityStart.UniversalTime();
- }
- else
- {
- LOG_WRITE( "Browser is not running - auto disconnect to true" );
- iAutoDisconnect = ETrue;
- }
- wsSession.Close();
- }
- else
- {
- LOG_WRITE( "Session connect failed" );
- }
-
- if ( iAutoDisconnect )
- {
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-
- TConnMonClientEnumBuf clientInfo;
-
- iMonitor.GetPckgAttribute( iConnectionId, 0,
- KClientInfo,
- clientInfo,
- waiter->iStatus );
- waiter->WaitForRequest();
- delete waiter;
-
- // get the client count
- iClientCount = clientInfo().iCount;
-
- // decrease count by each trivial client (Sniffer server, DHCP etc)
- for ( TInt i( 0 ); i < clientInfo().iCount; ++i )
- {
- for ( TInt j( 0 ); j < KTrivialClientCount; ++j )
- {
- if ( clientInfo().iUid[i] == KTrivialClientUids[j] )
- {
- --iClientCount;
- LOG_WRITEF( "trivial client [0x%08X] discarded",
- clientInfo().iUid[i].iUid );
- break;
- }
- }
- }
-
- LOG_WRITEF( "iClientCount = %d (trivial clients:%d)",
- iClientCount,
- clientInfo().iCount - iClientCount );
-
- if ( iClientCount )
- {
- LOG_WRITE( "reset the inactivity start time to current time" );
- // there are more clients than the default ones ->
- // connection is considered active ->
- // reset the inactivity start time to current time
- iInactivityStart.UniversalTime();
- }
- else
- {
- // there are only trivial clients of the connection
- // this means inactivity, so check the time elapsed
- LOG_WRITEF( "Connection monitor state = %d", iConnectingState );
- TTime now;
- now.UniversalTime();
-
- if ( iInactivityStart + TTimeIntervalSeconds(
- KMaxConnectionInactivityTime ) <= now )
- {
- // inactivity time limit elapsed, connection should be stopped
- LOG_WRITE( "inactivity threshold reached, disconnecting..." );
- DisconnectBearer();
- }
-
- }
-
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ControlDisconnectTimer
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::ControlDisconnectTimer(
- TUint aAdcCommand )
- {
- LOG_ENTERFN("CWsfWlanBearerConnectionMonitor::ControlDisconnectTimer");
-
- if ( iConnectionOwned )
- {
- if ( aAdcCommand & EAdcTimerReset )
- {
- // reset inactivity time
- LOG_WRITE( "timer reset" );
- iInactivityStart.UniversalTime();
- }
-
- if ( aAdcCommand & EAdcStartTimer )
- {
- if ( !iAutoDisconnect )
- {
- LOG_WRITE( "timer started" );
- iAutoDisconnect = ETrue;
- }
- else
- {
- LOG_WRITE( "timer had already been started!" );
- }
- }
- else
- {
- iAutoDisconnect = EFalse;
- LOG_WRITE( "timer stopped" );
- }
-
- }
- else
- {
- LOG_WRITE( "connection is not owned!" );
- }
-
- return iAutoDisconnect;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ReleaseShutdownMutex
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::ReleaseShutdownMutex( TAny* aPtr )
- {
- CWsfWlanBearerConnectionMonitor* self =
- static_cast<CWsfWlanBearerConnectionMonitor*>( aPtr );
- self->iShutdownMutex = EFalse;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ShutdownOwnedConnectionL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::ShutdownOwnedConnectionL()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::ShutdownOwnedConnectionL" );
-
- // Make sure that the internal status is reset.
- iConnectionId = KNoConnection;
-
- if ( iShutdownMutex )
- {
- return;
- }
-
- // make sure we don't lock ourselves forever
- CleanupStack::PushL( TCleanupItem( ReleaseShutdownMutex, this ) );
- iShutdownMutex = ETrue;
-
-
- // roll-back the changes
- switch ( iConnectingState )
- {
- case ECsConnected:
- {
- // cancelling the periodic callback
- iClientPoll->Cancel();
- }
-
- case ECsConnectionCreated: // fall-through
- {
-
- }
-
- case ECsSocketOpened: // fall-through
- {
- // closing the connection handle
- LOG_WRITE( "closing the connection handle" );
- iConnection.Close();
- iSocketServ.Close();
- }
-
- case ECsNotConnected: // fall-through
- {
- // nothing to put here
- }
-
- }
-
-
- // reset the state machine
- iConnectingState = ECsIdle;
- iConnectionOwned = EFalse;
-
- // tell the engine we have released the IAP
- iObserver->ConnectedIapReleasedL();
-
-
- iServerCloser.WaitForOwnedConnection( EFalse );
-
- if ( !iAborting )
- {
- // notify observers only if connection creation
- // was not aborted
- iObserver->ConnectionLostL();
- }
-
- iAborting = EFalse;
-
- CleanupStack::PopAndDestroy( 1 ); // ReleaseShutdownMutex()
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::RunL()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::RunL" );
-
- if ( iAborting )
- {
- // if connection creation was aborted, do the cleanup
- ShutdownOwnedConnectionL();
- return;
- }
-
- switch ( iConnectingState )
- {
- case ECsNotConnected:
- {
- LOG_WRITE( "<ENotConnected>" );
-
- TInt err( KErrNone );
- err = iSocketServ.Connect();
-
- if ( !err )
- {
- err = iConnection.Open( iSocketServ );
- }
-
- if ( err )
- {
- // there was an error while connecting
- LOG_WRITEF( "connection.Open error = %d", err );
- ShutdownOwnedConnectionL();
-
- iObserver->ConnectingFailedL( err );
- break;
- }
-
- TCommDbConnPref connPref;
- connPref.SetIapId( iConnIap );
- connPref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
-
- iConnectingState = ECsSocketOpened;
- SetActive();
- iConnection.Start( connPref, iStatus );
- break;
- }
-
- case ECsSocketOpened:
- {
- LOG_WRITE( "<ESocketOpened>" );
- if ( iStatus.Int() != KErrNone )
- {
- // there was an error while connecting
- LOG_WRITE( "connection.Start error" );
- ShutdownOwnedConnectionL();
-
- iObserver->ConnectingFailedL( iStatus.Int() );
-
- break;
- }
-
- LOG_WRITE( "connection.Start OK" );
-
- // get the connection id
- TRAPD( error, FindWlanBearerConnectedL(); );
- if ( error || iConnectionId == KNoConnection )
- {
- // At this point we really need the connection id if it exists
- // without connection id server is in very unbalanced state
- LOG_WRITEF( "FindWlanBearerConnectedL error=%d", error );
- ShutdownOwnedConnectionL();
-
- iObserver->ConnectingFailedL( ( error )? error : KErrGeneral );
-
- break;
- }
-
- iConnectingState = ECsConnectionCreated;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- break;
- }
-
- case ECsConnectionCreated:
- {
- LOG_WRITE( "<EConnectionCreated>" );
-
- // start monitoring the iap
- MonitorAccessPoint( iConnIap );
-
- // reset inactivity time
- iInactivityStart.UniversalTime();
- iAutoDisconnect = EFalse;
-
- iClientPoll->Start(
- TTimeIntervalMicroSeconds32( KClientPollInterval ),
- TTimeIntervalMicroSeconds32( KClientPollInterval ),
- TCallBack( CheckClientCount, this ) );
-
- LOG_WRITE( "connection client polling started" );
-
- // notify observers of the connection name
- iObserver->ConnectionEstablishedL( iWlanNetworkName );
-
- TRAPD( err, iIct->TestConnectedAccessPointL( iConnIap ) );
- if ( err )
- {
- LOG_WRITEF( "Ict start failed error = %d", err );
- }
-
- iConnectingState = ECsConnected;
- break;
- }
-
- default:
- {
- }
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::DoCancel()
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::DoCancel" );
-
- // we were in the middle of a connection creation process
- iAborting = ETrue;
- TRAP_IGNORE( ShutdownOwnedConnectionL() );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::RunError
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfWlanBearerConnectionMonitor::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::RunError" );
- LOG_WRITEF( "error = %d", aError );
-#else
-TInt CWsfWlanBearerConnectionMonitor::RunError( TInt /*aError*/ )
- {
-#endif
- return KErrNone;
- }
-
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1960 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanScanner
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <wlanmgmtclient.h>
-#include <centralrepository.h>
-#include <utf.h>
-#include <wlancontainer.h>
-#include <commsdattypeinfov1_1.h>
-#include <wlanscaninfo.h>
-#include <cmdestinationext.h>
-#include <commdb.h>
-
-#ifdef __WINS__
-#include <e32math.h>
-#endif
-
-// CLASS HEADER
-#include "wsfwlanscanner.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-#include "wsfwlanscaninfodefines.h"
-#include "wsfwlanconnectiondetailsprovider.h"
-#include "wsfwlansettingsaccessor.h"
-
-#include "wsflogger.h"
-
-// LOCAL DEFINITIONS
-using namespace CMManager;
-
-
-/**
-* Microseconds in a second
-*/
-static const TInt KMicrosecPerSecond = 1000 * 1000;
-
-
-// CONSTRUCTION AND DESTRUCTION
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanScanner* CWsfWlanScanner::NewL( CommsDat::CMDBSession& aDbSession )
- {
- CWsfWlanScanner* self = CWsfWlanScanner::NewLC( aDbSession );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfWlanScanner* CWsfWlanScanner::NewLC( CommsDat::CMDBSession& aDbSession )
- {
- CWsfWlanScanner* self = new( ELeave ) CWsfWlanScanner( aDbSession );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::~CWsfWlanScanner
-// ---------------------------------------------------------------------------
-//
-CWsfWlanScanner::~CWsfWlanScanner()
- {
- LOG_ENTERFN( "CWsfWlanScanner::~CWsfWlanScanner" );
- StopScanning();
- Cancel();
- iTimer.Close();
- iCmManagerExt.Close();
- delete iActiveConnectionName;
- delete iScanResults;
- delete iWlanMgmtClient;
- delete iWlanSettingsAccessor;
- delete iScanInfo;
- delete iScanArray;
- iDirectScanSsids.Close();
- iDirectScanIapIDs.Close();
- iAvailableIaps.Close();
- iDbSession = NULL; // not owning
- iConnectionDetailsProvider = NULL;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::CWsfWlanScanner
-// ---------------------------------------------------------------------------
-//
-CWsfWlanScanner::CWsfWlanScanner( CommsDat::CMDBSession& aDbSession ):
- CActive( EPriorityStandard ),
- iDbSession( &aDbSession ),
- iScanState( EIdle )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConstructL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::ConstructL" );
-
-#ifndef __WINS__ // client is not available on wins
- iWlanMgmtClient = CWlanMgmtClient::NewL();
-
- iScanInfo = CWlanScanInfo::NewL();
-#endif
-
- iCmManagerExt.OpenL();
-
- iScanArray = CWsfWlanInfoArray::NewL();
-
- User::LeaveIfError( iTimer.CreateLocal() );
- iScanResults = KNullDesC8().AllocL();
-
- iWlanSettingsAccessor = CWsfWlanSettingsAccessor::NewL( *iDbSession );
- iScanningInterval = iWlanSettingsAccessor->ScanInterval() *
- KMicrosecPerSecond;
- iShowAvailability = iWlanSettingsAccessor->ShowAvailability();
-
- LOG_WRITEF( "initial bgScanInterval = %d sec",
- iWlanSettingsAccessor->ScanInterval() );
- LOG_WRITEF( "initial showAvailability = %d", iShowAvailability );
-
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::DoCancel()
- {
- LOG_ENTERFN( "CWsfWlanScanner::DoCancel" );
- iTimer.Cancel();
-#ifndef __WINS__
- iWlanMgmtClient->CancelGetAvailableIaps();
- iWlanMgmtClient->CancelGetScanResults();
-#endif
- iScanState = EIdle;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RunL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::RunL" );
-
- /*
- * Scan logic
- * 1. Get available IAPs - state = EIdle
- * 2. Do broadcast scan - state = EBroadcastScan
- * 3. Process broadcast scan results - state = EProcessBroadcastScan
- * 4. Do direct scans for remaining known networks
- * from step 2. Get available IAPs - state = EDirectScan
- * 5. Add connected network - state = EFinished
- * 6. Set names and priorities for known networks - state = EFinished
- */
-
- if ( iScanState == EIdle )
- {
- LOG_WRITE( "Get available IAPs scan phase" );
-
- // prepare things for direct scans
- PrepareDirectScan();
-
- // notify clients
- if ( iObserver )
- {
- iObserver->WlanScanStarted();
- }
-
-#ifndef __WINS__
- // get available iaps
- // (this only shows iaps with security mode matching to scan results
- // and also finds hidden wlans for which an iap has been configured)
- iAvailableIaps.Reset();
- iWlanMgmtClient->GetAvailableIaps( iCacheLifetime,
- iMaxDelay,
- EFalse,
- iStatus,
- iAvailableIaps );
- SetActive();
-#else
- // for testing
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
-#endif
- iScanState = EBroadcastScan;
- }
-
- else if ( iScanState == EBroadcastScan )
- {
- LOG_WRITEF( "GetAvailableIaps returned iStatus=%d", iStatus.Int() );
- if ( iStatus.Int() )
- {
- LOG_WRITE( "Error in getting available IAPs - leave" );
- User::Leave( iStatus.Int() );
- }
-
-#ifdef _DEBUG
- for ( TInt i = 0; i < iAvailableIaps.Count(); ++i )
- {
- LOG_WRITEF( "iAvailableIaps array index[%d] IapId[%d] rssi[%d]", i,
- iAvailableIaps[i].iIapId, iAvailableIaps[i].iRssi );
- }
-#endif
-
-#ifndef __WINS__
- // do broadcast scan
- iWlanMgmtClient->GetScanResults( iStatus, *iScanInfo );
- SetActive();
-#else
- // for testing
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
-#endif
- iScanState = EProcessBroadcastScan;
- }
-
- else if ( iScanState == EProcessBroadcastScan )
- {
- // process broadcast scan results
- DoScanForNetworksL();
-
- // now it's time to initiate direct scan
- // for remaining known networks
- if ( iDirectScanSsids.Count() )
- {
-#ifdef _DEBUG
- HBufC* ssid = TWsfWlanInfo::GetSsidAsUnicodeLC(
- iDirectScanSsids[0] );
- LOG_WRITEF( "requesting direct scan for [%S]", ssid );
- CleanupStack::PopAndDestroy( ssid );
-#endif
-
-#ifndef __WINS__
- // run direct scan
- iWlanMgmtClient->GetScanResults( iDirectScanSsids[0],
- iStatus, *iScanInfo );
- SetActive();
-#else
- // for testing
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
-#endif
-
- iScanState = EDirectScan;
- }
- else
- {
- LOG_WRITE( "direct scan skipped" );
- iScanState = EFinished;
- }
- }
-
- else if ( iScanState == EDirectScan )
- {
- LOG_WRITE( "direct scan results" );
-
-#ifndef __WINS__
- ProcessDirectScanResultL();
-#endif
-
- // delete the processed item (first)
- iDirectScanSsids.Remove( 0 );
- iDirectScanIapIDs.Remove( 0 );
-
- if ( iDirectScanSsids.Count() )
- {
- // repeated direct scans for known networks
-#ifdef _DEBUG
- HBufC* ssid = TWsfWlanInfo::GetSsidAsUnicodeLC(
- iDirectScanSsids[0] );
- LOG_WRITEF( "requesting direct scan for [%S]", ssid );
- CleanupStack::PopAndDestroy( ssid );
-#endif
-
-#ifndef __WINS__
- // run direct scan
- iWlanMgmtClient->GetScanResults( iDirectScanSsids[0],
- iStatus, *iScanInfo );
- SetActive();
-#else
- // for testing
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
-#endif
- }
- else
- {
- // there is nothing more to do
- iScanState = EFinished;
- }
- }
-
- if ( iScanState == EFinished )
- {
- LOG_WRITE( "scanning finished" );
-#ifndef __WINS__
- AddConnectedWLANInfoL();
-
- TWsfWlanInfo* info(NULL);
- TInt scanArrayCount( iScanArray->Count() );
-
- for ( TInt i(0) ; i < scanArrayCount ; i++ )
- {
- info = (*iScanArray)[ i ];
-
- if( info->iIapId )
- {
- TRAPD( error, UpdatePriorityL( *info ) );
- if ( error )
- {
- // Ignore error and just continue
- LOG_WRITE( "Prio update failed" );
- }
- }
-
- if( info->iIapId && info->iConnectionState != EConnected )
- {
- ReplaceSsidsWithIapName( *info );
- }
- }
-#endif //_WINS_
-
- // sort the array
- iScanArray->SortArrayL();
-
- HBufC8* results = iScanArray->SerializeContentLC();
- CleanupStack::Pop( results );
- delete iScanResults;
- iScanResults = results;
-
-#ifdef _DEBUG
- DumpScanResultsL( iScanArray );
-#endif
-
- // we may let go the scan array contents...
- iScanArray->Reset();
-
- // notify clients that data is ready
- if ( iObserver )
- {
- iObserver->WlanScanCompleteL();
- }
-
- if ( !iShowAvailability )
- {
- // reset the timer if we are responsible for scheduling scans
- iTimer.Cancel();
- iTimer.After( iStatus,
- TTimeIntervalMicroSeconds32( iScanningInterval ) );
- Cancel();
- iCacheLifetime = 0;
- iMaxDelay = 0;
- SetActive();
- }
-
- iScanState = EIdle;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::AddConnectedWLANInfo
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::AddConnectedWLANInfoL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::AddConnectedWLANInfoL" );
- // Get the possible connection
- if ( iConnectionDetailsProvider )
- {
- TWlanSsid connectedSsid;
- TInt error = iWlanMgmtClient->GetConnectionSsid( connectedSsid );
-
- LOG_WRITEF( "GetConnectionSsid returned=%d", error );
-
- TBool connected = ( error == KErrNone && connectedSsid.Length() );
-
- if ( !connected && !iConnectionDetailsProvider->IsConnected() )
- {
- LOG_WRITEF( "Not connected [connected=%d]", connected );
- return;
- }
-
- TWsfWlanInfo* connectedInfo = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( connectedInfo );
-
- if ( iConnectionDetailsProvider->ConnectedWlanConnectionDetailsL(
- connectedInfo) )
- {
- TBuf8<KWlanMaxAccessPointNameLength> connectedSsidOrIap;
- connectedSsidOrIap.Copy( connectedInfo->iSsid );
- // ConnectedWlanConnectionDetailsL() may have returned an IAP name instead of SSID.
- // make sure that we really have SSID in connectedInfo->iSSID at this phase.
-
- connectedInfo->iRawSsid.Copy( connectedSsid );
- connectedInfo->iSsid.Copy( connectedSsid );
- connectedInfo->iCoverage = 0;
- connectedInfo->iVisibility = 1;
-
- TBool connectedInfoAppended = EFalse;
-
- RPointerArray<TWsfWlanInfo> matchArray;
- CleanupClosePushL( matchArray );
-
- if ( connectedInfo->iIapId )
- {
- LOG_WRITEF( "Connected iap [%d]", connectedInfo->iIapId );
- iScanArray->MatchWithIapIDL( connectedInfo->iIapId,
- iScanArray->Count(), matchArray );
-
- if ( !matchArray.Count() )
- {
- LOG_WRITE( "Not found with Iap id" );
- iScanArray->MatchL( connectedInfo->iSsid,
- connectedInfo->iSecurityMode,
- connectedInfo->iNetMode,
- connectedInfo->UsesPreSharedKey(),
- iScanArray->Count(),
- matchArray );
- }
-
- }
- else
- {
- LOG_WRITE( "Easy WLAN connection" );
- iScanArray->MatchL( connectedInfo->iSsid,
- connectedInfo->iSecurityMode,
- connectedInfo->iNetMode,
- connectedInfo->UsesPreSharedKey(),
- iScanArray->Count(),
- matchArray );
- }
-
- if ( matchArray.Count() )
- {
- LOG_WRITE( "Info found" );
- TWsfWlanInfo* temp = matchArray[0];
- temp->iConnectionState = EConnected;
- temp->iIapId = connectedInfo->iIapId;
- temp->iSsid.Copy( connectedSsidOrIap );
- temp->iNetworkName.Zero();
- }
- else
- {
- LOG_WRITE( "Info not found - append" );
- connectedInfo->iSsid.Copy( connectedSsidOrIap );
- iScanArray->AppendL( connectedInfo );
- connectedInfoAppended = ETrue;
- }
-
- CleanupStack::PopAndDestroy( &matchArray );
- if ( connectedInfoAppended )
- {
- CleanupStack::Pop( connectedInfo );
- }
- else
- {
- CleanupStack::PopAndDestroy( connectedInfo );
- }
- }
- else
- {
- CleanupStack::PopAndDestroy( connectedInfo );
- }
- }
- else
- {
- LOG_WRITE( "No connection details provider" );
- }
- }
-
-
-#ifdef _DEBUG
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DumpScanResultsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::DumpScanResultsL( CWsfWlanInfoArray* aArray )
- {
- LOG_ENTERFN( "CWsfWlanScanner::DumpScanResultsL" );
- _LIT( Kopen, "open" );
- _LIT( Kwep, "wep" );
- _LIT( Kwpa, "wpa" );
- _LIT( Kwpa2, "wpa2" );
- _LIT( K802, "802.1x" );
- _LIT( KWAPI, "WAPI" );
- _LIT( KUnknown, "Unknown" );
-
- _LIT( Kpsk, "psk" );
- _LIT( Keap, "eap" );
- _LIT( Khidden, "<hidden>" );
-
- for ( TInt i( 0 ); i < aArray->Count(); ++i )
- {
- TWsfWlanInfo* wi( (*aArray)[i] );
- const TDesC* sm( 0 );
-
- switch ( wi->iSecurityMode )
- {
- case EWlanSecModeOpen:
- sm = &Kopen;
- break;
- case EWlanSecModeWep:
- sm = &Kwep;
- break;
- case EWlanSecModeWpa:
- sm = &Kwpa;
- break;
- case EWlanSecModeWpa2:
- sm = &Kwpa2;
- break;
- case EWlanSecMode802_1x:
- sm = &K802;
- break;
- case EWlanSecModeWAPI:
- sm = &KWAPI;
- break;
- default:
- sm = &KUnknown;
- break;
- }
-
- const TDesC* psk = wi->UsesPreSharedKey()? &Kpsk:
- ( ( wi->iSecurityMode == EWlanSecMode802_1x ||
- wi->iSecurityMode == EWlanSecModeWpa ||
- wi->iSecurityMode == EWlanSecModeWpa2 )?
- &Keap: &KNullDesC );
- HBufC16 *ssid = TWsfWlanInfo::GetSsidAsUnicodeLC( wi->iSsid );
-
- LOG_WRITEF( "[%S] IapId=%d %S %S %S", ssid, wi->iIapId, sm, psk,
- wi->iVisibility? &KNullDesC: &Khidden );
- CleanupStack::PopAndDestroy( ssid );
- }
-
- }
-#endif // _DEBUG
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanScanner::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfWlanScanner::RunError" );
- LOG_WRITEF( "error = %d", aError );
-
- iScanArray->Reset();
-
- if ( iObserver && aError != KErrNotReady )
- {
- // KErrNotReady is excluded as it indicates that the WLAN engine
- // has not yet set up itself, which we cannot help
- iObserver->NotifyError( aError );
- }
-
- iScanState = EIdle;
-
- if ( !iShowAvailability )
- {
- // the scanning has failed, re-issue the scan timer
- iTimer.Cancel();
- iTimer.After( iStatus,
- TTimeIntervalMicroSeconds32( iScanningInterval ) );
- iCacheLifetime = 0;
- iMaxDelay = 0;
- SetActive();
- }
-
- return KErrNone;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::SetObserver
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::SetObserver( MWsfWlanScannerObserver& aObserver )
- {
- iObserver = &aObserver;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::StartScanningL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::StartScanningL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::StartScanningL" );
-
- if ( iScanState == EIdle && !IsActive() )
- {
- LOG_WRITE( "request notifications" );
-#ifndef __WINS__
- iWlanMgmtClient->CancelNotifications();
- iWlanMgmtClient->ActivateNotificationsL( *this );
-#endif
- iWlanSettingsAccessor->RequestNotificationL( *this );
-
- iScanState = EIdle;
-
- if ( !iShowAvailability )
- {
- // in case show wlan availability is off, carry out a scan now
- iCacheLifetime = 0;
- iMaxDelay = 0;
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::StartScanningL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::StopScanning()
- {
- LOG_ENTERFN( "CWsfWlanScanner::StopScanning" );
-
- Cancel();
-
-#ifndef __WINS__
- if ( iWlanMgmtClient )
- {
- iWlanMgmtClient->CancelNotifications();
- }
-#endif
-
- if ( iWlanSettingsAccessor )
- {
- iWlanSettingsAccessor->CancelNotifications();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RestartScanning
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanScanner::RestartScanning()
- {
- LOG_ENTERFN( "CWsfWlanScanner::RestartScanning" );
-
- TBool restarted( EFalse );
- LOG_WRITEF( "iScanState = %d isActive = %d iShowAvailability = %d",
- iScanState, IsActive(), iShowAvailability );
-
- if ( iScanState == EIdle && ( IsActive() || iShowAvailability ) )
- {
- // we have been waiting for the timer to complete
- // cancel it manually
- Cancel();
- iCacheLifetime = 0;
- iMaxDelay = 0;
- // then complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- restarted = ETrue;
- }
-
- LOG_WRITEF( "restarted = %d", restarted );
- return restarted;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::AbortScanning
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::AbortScanning()
- {
- LOG_ENTERFN( "CWsfWlanScanner::AbortScanning" );
-
- if ( iScanState != EIdle )
- {
- // cancel the current scanning
- Cancel();
-
- if ( !iShowAvailability )
- {
- // still, life goes on
- iTimer.After( iStatus, TTimeIntervalMicroSeconds32(
- iScanningInterval ) );
- iCacheLifetime = 0;
- iMaxDelay = 0;
- SetActive();
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectionStateChanged
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectionStateChanged(
- TWlanConnectionMode /*aNewState*/ )
- {
- LOG_ENTERFN( "CWsfWlanScanner::ConnectionStateChanged" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::BssidChanged
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::BssidChanged( TWlanBssid& /*aNewBSsid*/ )
- {
- LOG_ENTERFN( "CWsfWlanScanner::BssidChanged" );
- if ( iScanState == EIdle && !IsActive() )
- {
- iCacheLifetime = -1;
- iMaxDelay = 0;
- // complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::BssLost
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::BssLost()
- {
- LOG_ENTERFN( "CWsfWlanScanner::BssLost" );
- if ( iScanState == EIdle && !IsActive() )
- {
- iCacheLifetime = -1;
- iMaxDelay = 0;
- // complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::BssRegained
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::BssRegained()
- {
- LOG_ENTERFN( "CWsfWlanScanner::BssRegained" );
- if ( iScanState == EIdle && !IsActive() )
- {
- iCacheLifetime = -1;
- iMaxDelay = 0;
- // complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::NewNetworksDetected
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::NewNetworksDetected()
- {
- LOG_ENTERFN( "CWsfWlanScanner::NewNetworksDetected" );
- if ( iScanState == EIdle && !IsActive() )
- {
- iCacheLifetime = -1;
- iMaxDelay = 0;
- // complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::OldNetworksLost
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::OldNetworksLost()
- {
- LOG_ENTERFN( "CWsfWlanScanner::OldNetworksLost" );
- if ( iScanState == EIdle && !IsActive() )
- {
- iCacheLifetime = -1;
- iMaxDelay = 0;
- // complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::TransmitPowerChanged
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::TransmitPowerChanged( TUint /*aPower*/ )
- {
- LOG_ENTERFN( "CWsfWlanScanner::TransmitPowerChanged" );
- if ( iScanState == EIdle && !IsActive() )
- {
- iCacheLifetime = -1;
- iMaxDelay = 0;
- // complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RssChanged
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RssChanged( TWlanRssClass /*aRssClass*/, TUint /*aRss*/ )
- {
- LOG_ENTERFN( "CWsfWlanScanner::RssChanged" );
- if ( iScanState == EIdle && !IsActive() )
- {
- iCacheLifetime = -1;
- iMaxDelay = 0;
- // complete ourselves
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::PrepareDirectScan
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::PrepareDirectScan()
- {
- LOG_ENTERFN( "CWsfWlanScanner::PrepareDirectScanL" );
-
- // flush the arrays
- iDirectScanSsids.Reset();
- iDirectScanIapIDs.Reset();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ProcessDirectScanResultL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ProcessDirectScanResultL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::ProcessDirectScanResultL" );
-
- for ( iScanInfo->First(); !iScanInfo->IsDone(); iScanInfo->Next() )
- {
- RPointerArray<TWsfWlanInfo> matchArray;
- CleanupClosePushL(matchArray);
- iScanArray->MatchWithIapIDL( iDirectScanIapIDs[0], iScanArray->Count(), matchArray );
-
- TInt matchcount = matchArray.Count();
-
- if ( matchcount == 0 )
- {
- // not found yet
-#ifdef _DEBUG
- HBufC* ssid = TWsfWlanInfo::GetSsidAsUnicodeLC( iDirectScanSsids[0] );
- LOG_WRITEF( "[%S] found in direct scan", ssid );
- CleanupStack::PopAndDestroy( ssid );
-#endif
- }
- else
- {
- LOG_WRITEF( "[%d] iap id is in scanarray", iDirectScanIapIDs[0] );
- for( TInt i(0); i < matchcount; i++ )
- {
- //if already found increase coverage
- TWsfWlanInfo* temp = matchArray[i];
- ++temp->iCoverage;
- RefreshSignalStrength( *temp );
- RefreshTechnology( *temp );
- }
- }
- // Close() for matchArray
- CleanupStack::PopAndDestroy( &matchArray );
- } // for iScanInfo
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ReplaceSsidsWithIapName
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ReplaceSsidsWithIapName(TWsfWlanInfo& aWlanInfo)
- {
- LOG_ENTERFN( "CWsfWlanScanner::ReplaceSsidsWithIapName" );
- if ( aWlanInfo.iNetworkName.Length() )
- {
- LOG_WRITE( "Replace ssid" );
- aWlanInfo.iSsid.Copy( aWlanInfo.iNetworkName );
- aWlanInfo.iNetworkName.Zero();
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::UpdatePriorityL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::UpdatePriorityL( TWsfWlanInfo& aWlanInfo )
- {
- LOG_WRITE( "CWsfWlanScanner::updatePriority" );
-
- TUint32 priority( 0 );
- TInt exists( KErrNotFound );
- TInt count( 0 );
-
- // search for the destination of it
- RArray<TUint32> destinations;
- CleanupClosePushL( destinations );
-
- LOG_WRITE( "CWsfWlanScanner::updatePriority get all destinations" );
- iCmManagerExt.AllDestinationsL(destinations);
-
- count = destinations.Count();
- LOG_WRITEF( "destination count %d", count);
-
- for( TInt i = 0; i < count && exists != KErrNone; i++ )
- {
- RCmDestinationExt destination;
- destination = iCmManagerExt.DestinationL( destinations[ i ] );
- CleanupClosePushL( destination );
-
- LOG_WRITE( "check if connection method belongs to destination" );
-
- RCmConnectionMethodExt connectionMethod;
- TRAP( exists,
- connectionMethod = destination.ConnectionMethodByIDL(
- aWlanInfo.iIapId ) );
-
- LOG_WRITEF( "exists %d", exists );
- if( exists == KErrNone )
- {
- CleanupClosePushL( connectionMethod );
- // correct destination found
- priority = destination.PriorityL( connectionMethod );
- aWlanInfo.SetPriority( priority );
-
- LOG_WRITEF( "priority %d", priority );
- CleanupStack::PopAndDestroy( &connectionMethod );
- }
- CleanupStack::PopAndDestroy( &destination );
- }
- CleanupStack::PopAndDestroy( &destinations );
- }
-
-
-#ifndef __WINS__
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DoScanForNetworksL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::DoScanForNetworksL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::DoScanForNetworksL" );
-
- // start by making sure the scan array is empty
- iScanArray->Reset();
-
- LOG_WRITEF( "GetScanResults returned iStatus=%d", iStatus.Int() );
-
- if ( iStatus.Int() )
- {
- // if the status is not KErrNone, we cannot be sure that iScanInfo
- // doesn't cause a crash, so it's better to leave
- LOG_WRITE( "Error in getting scan result - leave" );
- User::Leave( iStatus.Int() );
- }
-
- TInt nElem = 0;
- TBool isHidden( EFalse );
-
- TInt avIapCount = iAvailableIaps.Count();
-
- LOG_WRITEF( "Available iap count %d", avIapCount );
-
- for( TInt i(0); i < avIapCount; i++ )
- {
- TBool addToArray( ETrue );
- TWsfWlanInfo* availableInfo = new ( ELeave ) TWsfWlanInfo();
- CleanupStack::PushL( availableInfo );
- availableInfo->iIapId = iAvailableIaps[i].iIapId;
- TRAPD( error, GetWlanInfoFromIapL( *availableInfo ) );
-
- if ( error == KErrNotFound )
- {
- LOG_WRITEF( "Iap id = %d does not exist", availableInfo->iIapId );
- addToArray = EFalse;
- }
- else if ( error )
- {
- LOG_WRITEF( "GetWlanInfoFromIapL failed err = %d", error );
- User::Leave( error );
- }
-
- if( addToArray )
- {
- LOG_WRITE( "Add to array" );
- availableInfo->iCoverage = 0;
- availableInfo->iVisibility = 1;
- availableInfo->iStrengthLevel = iAvailableIaps[i].iRssi;
- availableInfo->iTransferRate = 0;
- availableInfo->iConnectionState = ENotConnected;
- iScanArray->AppendL(availableInfo);
- nElem++;
-
- if ( availableInfo->iIapId )
- {
- LOG_WRITEF( "Append available iap[%d] rssi[%d] for direct scan",
- availableInfo->iIapId, availableInfo->iStrengthLevel );
- iDirectScanIapIDs.Append( availableInfo->iIapId );
- iDirectScanSsids.Append( availableInfo->iSsid );
- }
-
- CleanupStack::Pop( availableInfo );
- }
- else
- {
- LOG_WRITE( "Info not added" );
- CleanupStack::PopAndDestroy( availableInfo );
- }
- }
-
-#ifdef _DEBUG
- LOG_WRITE( "Dump scan results - available IAPs" );
- DumpScanResultsL( iScanArray );
-#endif
-
- // Process the scanned results
- for( iScanInfo->First(); !iScanInfo->IsDone(); iScanInfo->Next() )
- {
- TWsfWlanInfo* wlanInfo = iScanArray->At( nElem );
- if ( !wlanInfo )
- {
- wlanInfo = new ( ELeave ) TWsfWlanInfo();
- CleanupStack::PushL( wlanInfo );
- iScanArray->AppendL( wlanInfo );
- CleanupStack::Pop( wlanInfo );
- }
- isHidden = RefreshNetworkNameL( *wlanInfo );
- wlanInfo->iVisibility = !isHidden;
- wlanInfo->iStrengthLevel = EWlanSignalUnavailable;
- wlanInfo->iTransferRate = 0;
- wlanInfo->iConnectionState = ENotConnected;
-
- if( !isHidden )
- {
- // not hidden
- RefreshNetworkMode( *wlanInfo );
- RefreshSecurityMode( *wlanInfo );
- RefreshTechnology( *wlanInfo );
-
- // check if we already have an entry/entries corresponding to a scan result
- // (multiple entries for one scan result possible if GetAvailableIaps()
- // found several iaps configured for same wlan)
- RPointerArray<TWsfWlanInfo> matchArray;
- CleanupClosePushL(matchArray);
- iScanArray->MatchL( wlanInfo->iSsid,
- wlanInfo->iSecurityMode,
- wlanInfo->iNetMode,
- wlanInfo->UsesPreSharedKey(),
- nElem,
- matchArray );
-
- TInt matchcount = matchArray.Count();
-
- // if not found
- if( matchcount == 0 )
- {
- wlanInfo->iCoverage = 1;
- RefreshSignalStrength( *wlanInfo );
- RefreshTechnology( *wlanInfo );
- ++nElem; // new entry, inc index in array
- }
- else // if found inc coverage and refresh signal strength and rate
- {
- for( TInt i(0); i < matchcount; i++ )
- {
- TWsfWlanInfo* temp = matchArray[i];
- ++temp->iCoverage;
- RefreshSignalStrength( *temp );
- RefreshTechnology( *temp );
-
- if ( temp->iIapId )
- {
- TInt index( KErrNone );
- do {
- LOG_WRITE( "Not hidden - Searching from direct scan list.." );
- // remove this item from the direct scan list, if found
- index = iDirectScanIapIDs.Find( temp->iIapId );
- if ( index != KErrNotFound )
- {
- LOG_WRITEF( "Found - removing iap id [%d]", iDirectScanIapIDs[index] );
- iDirectScanSsids.Remove( index );
- iDirectScanIapIDs.Remove( index );
- }
- } while ( index != KErrNotFound );
- }
- }
- }
- CleanupStack::PopAndDestroy(); // results in Close() being called on matchArray
- }
- }
- //get rid of excess items
- iScanArray->DeleteFromTail(iScanArray->Count() - nElem);
- }
-
-#else // __WINS__
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DoScanForNetworksL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::DoScanForNetworksL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::DoScanForNetworksL" );
-
- // start by making sure the scan array is empty
- iScanArray->Reset();
-
- TWsfWlanInfo* wlan0 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan0 );
- wlan0->iConnectionState = EConnected;
- wlan0->iIapId = 666;
- wlan0->iNetMode = EInfra;
- wlan0->iSecurityMode = EWlanSecModeWep;
- wlan0->iSsid = _L8("[C]Known WEP");
- wlan0->iStrengthLevel = EWlanSignalStrengthMax;
- wlan0->iVisibility = ETrue;
- wlan0->iCoverage = 1;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan0 );
- }
- else
- {
- delete wlan0;
- }
-
- CleanupStack::Pop( wlan0 );
-
- TWsfWlanInfo* wlan1 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan1 );
- wlan1->iConnectionState = ENotConnected;
- wlan1->iIapId = 666;
- wlan1->iNetMode = EInfra;
- wlan1->iSecurityMode = EWlanSecModeOpen;
- wlan1->iSsid = _L8("Known open");
- wlan1->iStrengthLevel = EWlanSignalStrengthMin;
- wlan1->iVisibility = ETrue;
- wlan1->iCoverage = 3;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan1 );
- }
- else
- {
- delete wlan1;
- }
-
- CleanupStack::Pop( wlan1 );
-
- TWsfWlanInfo* wlan2 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan2 );
- wlan2->iConnectionState = ENotConnected;
- wlan2->iIapId = 0;
- wlan2->iNetMode = EInfra;
- wlan2->iSecurityMode = EWlanSecModeWpa2;
- wlan2->iSsid = _L8("Known WPA2 PSK");
- wlan2->iStrengthLevel = EWlanSignalStrengthLow-7;
- wlan2->iVisibility = ETrue;
- wlan2->iCoverage = 1;
- wlan2->SetUsesPreSharedKey( ETrue );
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan2 );
- }
- else
- {
- delete wlan2;
- }
- CleanupStack::Pop( wlan2 );
-
- TWsfWlanInfo* wlan3 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan3 );
- wlan3->iConnectionState = ENotConnected;
- wlan3->iIapId = 0;
- wlan3->iNetMode = EInfra;
- wlan3->iSecurityMode = EWlanSecModeOpen;
- wlan3->iSsid = _L8("Unknown open");
- wlan3->iStrengthLevel = EWlanSignalStrengthMax;
- wlan3->iVisibility = 1;
- wlan3->iCoverage = 1;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan3 );
- }
- else
- {
- delete wlan3;
- }
- CleanupStack::Pop( wlan3 );
-
- TWsfWlanInfo* wlan4 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan4 );
- wlan4->iConnectionState = ENotConnected;
- wlan4->iIapId = 0;
- wlan4->iNetMode = EAdhoc;
- wlan4->iSecurityMode = EWlanSecModeWpa;
- wlan4->iSsid = _L8("Unknown WPA");
- wlan4->iStrengthLevel = EWlanSignalStrengthMin;
- wlan4->iVisibility = 1;
- wlan4->iCoverage = 1;
- wlan2->SetUsesPreSharedKey( ETrue );
-
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan4 );
- }
- else
- {
- delete wlan4;
- }
- CleanupStack::Pop( wlan4 );
-
- TWsfWlanInfo* wlan5 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan5 );
- wlan5->iConnectionState = ENotConnected;
- wlan5->iIapId = 12;
- wlan5->iNetMode = EInfra;
- wlan5->iSecurityMode = EWlanSecModeOpen;
- wlan5->iSsid = _L8("SES");
- wlan5->iStrengthLevel = EWlanSignalStrengthLow-5;
- wlan5->iVisibility = 0;
- wlan5->iCoverage = 1;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan5 );
- }
- else
- {
- delete wlan5;
- }
-
- CleanupStack::Pop( wlan5 );
-
- TWsfWlanInfo* wlan6 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan6 );
- wlan6->iConnectionState = ENotConnected;
- wlan6->iIapId = 666;
- wlan6->iNetMode = EInfra;
- wlan6->iSecurityMode = EWlanSecModeWpa;
- wlan6->iSsid = _L8("Sunny 22");
- wlan6->iStrengthLevel = EWlanSignalStrengthMin;
- wlan6->iVisibility = 1;
- wlan6->iCoverage = 2;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan6 );
- }
- else
- {
- delete wlan6;
- }
- CleanupStack::Pop( wlan6 );
-
-
- wlan5 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan5 );
- wlan5->iConnectionState = ENotConnected;
- wlan5->iIapId = 0;
- wlan5->iNetMode = EInfra;
- wlan5->iSecurityMode = EWlanSecModeOpen;
- wlan5->iSsid = _L8("FON_accesspoint");
- wlan5->iStrengthLevel = EWlanSignalStrengthLow-8;
- wlan5->iVisibility = 1;
- wlan5->iCoverage = 1;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan5 );
- }
- else
- {
- delete wlan5;
- }
- CleanupStack::Pop( wlan5 );
-
-
- TWsfWlanInfo* wlan7 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan7 );
- wlan7->iConnectionState = ENotConnected;
- wlan7->iIapId = 667;
- wlan7->iNetMode = EAdhoc;
- wlan7->iSecurityMode = EWlanSecModeWpa;
- wlan7->iSsid = _L8("Ad-hoc WPA");
- wlan7->iStrengthLevel = EWlanSignalStrengthMax;
- wlan7->iVisibility = ETrue;
- wlan7->iCoverage = 1;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan7 );
- }
- else
- {
- delete wlan7;
- }
- CleanupStack::Pop( wlan7 );
-
- TWsfWlanInfo* wlan8 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan8 );
- wlan8->iConnectionState = ENotConnected;
- wlan8->iIapId = 667;
- wlan8->iNetMode = EInfra;
- wlan8->iSecurityMode = EWlanSecModeOpen;
- wlan8->iSsid = _L8("Known pri 1");
- wlan8->iStrengthLevel = EWlanSignalStrengthMax;
- wlan8->iVisibility = ETrue;
- wlan8->iCoverage = 1;
- wlan8->iPriority = 1;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan8 );
- }
- else
- {
- delete wlan8;
- }
- CleanupStack::Pop( wlan8 );
-
- TWsfWlanInfo* wlan9 = new (ELeave) TWsfWlanInfo();
- CleanupStack::PushL( wlan9 );
- wlan9->iConnectionState = ENotConnected;
- wlan9->iIapId = 668;
- wlan9->iNetMode = EInfra;
- wlan9->iSecurityMode = EWlanSecModeOpen;
- wlan9->iSsid = _L8("Known pri 2");
- wlan9->iStrengthLevel = EWlanSignalStrengthMax;
- wlan9->iVisibility = ETrue;
- wlan9->iCoverage = 1;
- wlan9->iPriority = 2;
- if ( Math::Random() % 2 == 0 )
- {
- iScanArray->AppendL( wlan9 );
- }
- else
- {
- delete wlan9;
- }
- CleanupStack::Pop( wlan9 );
-
-
- }
-
-#endif // __WINS__
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::GetWlanInfoFromIapL()
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::GetWlanInfoFromIapL( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanScanner::GetWlanInfoFromIapL" );
- LOG_WRITEF( "Iap Id = %d", aWlanInfo.iIapId );
-
- CCommsDatabase* commsDb = CCommsDatabase::NewL();
- CleanupStack::PushL( commsDb );
-
- CCommsDbTableView* commsDbIapTableView = commsDb->OpenViewMatchingUintLC(
- TPtrC( IAP ), TPtrC( COMMDB_ID ), aWlanInfo.iIapId );
- User::LeaveIfError( commsDbIapTableView->GotoFirstRecord() );
-
- // network name
- TBuf<KCommsDbSvrMaxFieldLength> iapName;
- commsDbIapTableView->ReadTextL( TPtrC( COMMDB_NAME ), iapName);
-
- TInt error = CnvUtfConverter::ConvertFromUnicodeToUtf8(
- aWlanInfo.iNetworkName,
- iapName );
- if ( error )
- {
- LOG_WRITE( "ConvertFromUnicodeToUtf8 failed");
- aWlanInfo.iNetworkName.Copy( iapName );
- }
-
- // service Id
- TUint32 serviceId(0);
- commsDbIapTableView->ReadUintL(TPtrC( IAP_SERVICE), serviceId);
- CCommsDbTableView* wlanTableView = commsDb->OpenViewMatchingUintLC(
- TPtrC( WLAN_SERVICE), TPtrC( WLAN_SERVICE_ID), serviceId);
- User::LeaveIfError(wlanTableView->GotoFirstRecord() );
-
- // ssid
- wlanTableView->ReadTextL( TPtrC( NU_WLAN_SSID ), aWlanInfo.iSsid );
- aWlanInfo.iRawSsid.Copy( aWlanInfo.iSsid );
-
- // security mode
- TUint32 secMode(0);
- wlanTableView->ReadUintL(TPtrC( WLAN_SECURITY_MODE), secMode);
- // Map Wpa2 to Wpa
- secMode = ( secMode == EWlanSecModeWpa2 )? EWlanSecModeWpa : secMode;
- aWlanInfo.iSecurityMode = static_cast<TWlanSecMode>(secMode);
-
- TUint32 usePsk(0);
- TRAP_IGNORE( wlanTableView->ReadUintL(TPtrC( WLAN_ENABLE_WPA_PSK ),
- usePsk ) );
-
- aWlanInfo.SetUsesPreSharedKey( usePsk );
-
- // net mode
- TUint32 netMode(0);
- wlanTableView->ReadUintL(TPtrC( WLAN_CONNECTION_MODE), netMode);
- aWlanInfo.iNetMode = static_cast<TWlanNetMode>(netMode);
-
- CleanupStack::PopAndDestroy(wlanTableView);
- CleanupStack::PopAndDestroy(commsDbIapTableView);
- CleanupStack::PopAndDestroy(commsDb);
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::SsidIdentity
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanScanner::SsidIdentity( const TWlanSsid& aSsid1,
- const TWlanSsid& aSsid2 )
- {
- return !aSsid1.Compare( aSsid2 );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshNetworkNameL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanScanner::RefreshNetworkNameL( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanScanner::RefreshNetworkNameL" );
-
- TBool isHidden( EFalse );
-
- TUint8 ieLen( 0 );
- const TUint8* ieData;
- TBuf8<KWlanMaxSsidLength> ssid8;
-
- TInt ret = iScanInfo->InformationElement( E802Dot11SsidIE, ieLen,
- &ieData );
-
- if ( ret == KErrNone )
- {
- isHidden = IsHiddenSsid( ieLen, ieData );
-
- if ( ieLen )
- {
- ssid8.Copy( ieData, ieLen );
- aWlanInfo.iSsid.Copy( ssid8 );
- aWlanInfo.iRawSsid.Copy( ssid8 );
- TBuf<KWlanMaxSsidLength> ssid16;
- ssid16.Copy( ssid8 );
- LOG_WRITEF( "SSID: [%S]", &ssid16 );
- }
- else
- {
- LOG_WRITE( "SSID: <hidden>" );
- }
- }
- else
- {
- User::Leave( ret );
- }
-
- return isHidden;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::IsHiddenSsid
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanScanner::IsHiddenSsid( TUint aSsidLength, const TUint8* aSsid )
- {
- LOG_ENTERFN( "CWsfWlanScanner::IsHiddenSsid" );
-
-
- if ( !aSsidLength )
- {
- LOG_WRITEF( "result: %d", ETrue );
- return ETrue;
- }
-
- TInt count( 0 );
- for ( TUint i( 0 ); i < aSsidLength; ++i )
- {
- count |= aSsid[i]; // in hidden networks characters are: 0x00
- }
-
- LOG_WRITEF( "result: %d", !count );
-
- return !count;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshSignalStrength
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshSignalStrength( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanScanner::RefreshSignalStrength" );
-
- TInt rxLevel = iScanInfo->RXLevel();
-
- LOG_WRITEF( "rxLevel = %d", rxLevel );
-
- // yes, it is < and not >, because smaller value means stronger signal
-
- if ( rxLevel < aWlanInfo.iStrengthLevel )
- {
- LOG_WRITEF( "updating %d to %d", aWlanInfo.iStrengthLevel, rxLevel );
- aWlanInfo.iStrengthLevel = rxLevel;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshNetworkMode
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshNetworkMode( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanScanner::RefreshNetworkMode" );
-
- aWlanInfo.iNetMode = ( iScanInfo->Capability() &
- E802Dot11CapabilityEssMask ) ?
- EInfra : EAdhoc ;
-
- LOG_WRITEF( "netmode = %d", TInt( aWlanInfo.iNetMode ) );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshSecurityMode
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshSecurityMode( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanScanner::RefreshSecurityMode" );
-
- TWlanConnectionExtentedSecurityMode extSecMode = iScanInfo->ExtendedSecurityMode();
-
- switch ( extSecMode )
- {
- case EWlanConnectionExtentedSecurityModeWepOpen:
- case EWlanConnectionExtentedSecurityModeWepShared:
- {
- aWlanInfo.iSecurityMode = EWlanSecModeWep;
- break;
- }
-
- case EWlanConnectionExtentedSecurityMode802d1x:
- {
- aWlanInfo.iSecurityMode = EWlanSecMode802_1x;
- break;
- }
-
- case EWlanConnectionExtentedSecurityModeWpa:
- case EWlanConnectionExtentedSecurityModeWpa2:
- {
- aWlanInfo.iSecurityMode = EWlanSecModeWpa;
- break;
- }
-
- case EWlanConnectionExtentedSecurityModeWpaPsk:
- case EWlanConnectionExtentedSecurityModeWpa2Psk:
- {
- aWlanInfo.iSecurityMode = EWlanSecModeWpa;
- break;
- }
-
- case EWlanConnectionExtentedSecurityModeWapi:
- case EWlanConnectionExtentedSecurityModeWapiPsk:
- {
- aWlanInfo.iSecurityMode = EWlanSecModeWAPI;
- break;
- }
-
- case EWlanConnectionExtentedSecurityModeOpen:
- default:
- {
- aWlanInfo.iSecurityMode = EWlanSecModeOpen;
- }
- }
-
- aWlanInfo.SetUsesPreSharedKey(
- extSecMode == EWlanConnectionExtentedSecurityModeWpa2Psk ||
- extSecMode == EWlanConnectionExtentedSecurityModeWpaPsk );
-
- LOG_WRITEF( "security mode %d (PSK: %d)",
- (TInt)aWlanInfo.iSecurityMode,
- (TInt)aWlanInfo.UsesPreSharedKey() );
- }
-
-
-// -----------------------------------------------------------------------------
-// CWsfWlanScanner::ConvertTxRateToTxRateEnum
-// -----------------------------------------------------------------------------
-//
-core_tx_rate_e CWsfWlanScanner::ConvertTxRateToTxRateEnum( TUint8 aRate )
- {
- LOG_ENTERFN( "CWsfWlanScanner::ConvertTxRateToTxRateEnum" );
-
- switch ( aRate )
- {
- case core_tx_rate_value_1mbit:
- return core_tx_rate_1mbit;
- case core_tx_rate_value_2mbit:
- return core_tx_rate_2mbit;
- case core_tx_rate_value_5p5mbit:
- return core_tx_rate_5p5mbit;
- case core_tx_rate_value_6mbit:
- return core_tx_rate_6mbit;
- case core_tx_rate_value_9mbit:
- return core_tx_rate_9mbit;
- case core_tx_rate_value_11mbit:
- return core_tx_rate_11mbit;
- case core_tx_rate_value_12mbit:
- return core_tx_rate_12mbit;
- case core_tx_rate_value_18mbit:
- return core_tx_rate_18mbit;
- case core_tx_rate_value_22mbit:
- return core_tx_rate_22mbit;
- case core_tx_rate_value_24mbit:
- return core_tx_rate_24mbit;
- case core_tx_rate_value_33mbit:
- return core_tx_rate_33mbit;
- case core_tx_rate_value_36mbit:
- return core_tx_rate_36mbit;
- case core_tx_rate_value_48mbit:
- return core_tx_rate_48mbit;
- case core_tx_rate_value_54mbit:
- return core_tx_rate_54mbit;
- default:
- return core_tx_rate_none;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshTechnology
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshTechnology( TWsfWlanInfo& aWlanInfo )
- {
- LOG_ENTERFN( "CWsfWlanScanner::RefreshTechnology" );
-
- TUint8 ieLen(0);
- const TUint8* ieData;
- TUint8 dataRates[KMaxNumberOfRates];
-
- if ( iScanInfo->InformationElement( E802Dot11HtCapabilitiesIE, ieLen,
- &ieData ) == 0 )
- {
- // 802.11n supported
- aWlanInfo.iTransferRate = 0x8;
- }
- else
- {
- Mem::FillZ( &dataRates[0], sizeof( dataRates ) );
- core_tx_rate_e rate( core_tx_rate_none );
- TUint32 basic_rates( 0 );
- TUint32 supported_rates( 0 );
-
- // Supported Rates
- iScanInfo->InformationElement( E802Dot11SupportedRatesIE, ieLen,
- &ieData );
-
- Mem::Copy( dataRates, ieData, ieLen );
-
- TUint32 temp_basic_rates( 0 );
- TUint32 temp_supported_rates( 0 );
-
- for ( TInt a = 0; a < ieLen; a++ )
- {
- rate = ConvertTxRateToTxRateEnum( dataRates[a]
- & ~TX_RATE_BASIC_MASK );
-
- temp_supported_rates |= rate;
-
- if ( dataRates[a] & TX_RATE_BASIC_MASK )
- {
- /**
- * The highest bit is enabled, the rate is both a basic rate
- * and a supported rate.
- */
- temp_basic_rates |= rate;
- }
- }
-
- basic_rates |= temp_basic_rates;
- supported_rates |= temp_supported_rates;
-
- // Extended Supported Rates
- Mem::FillZ( &dataRates[0], sizeof( dataRates ) );
-
- iScanInfo->InformationElement( E802Dot11ExtendedRatesIE, ieLen,
- &ieData );
-
- Mem::Copy( dataRates, ieData, ieLen );
-
- if ( ieData )
- {
- temp_basic_rates = 0;
- temp_supported_rates = 0;
-
- for ( TInt a = 0; a < ieLen; a++ )
- {
- rate = ConvertTxRateToTxRateEnum( dataRates[a]
- & ~TX_RATE_BASIC_MASK );
-
- temp_supported_rates |= rate;
-
- if ( dataRates[a] & TX_RATE_BASIC_MASK )
- {
- /**
- * The highest bit is enabled, the rate is both a basic rate
- * and a supported rate.
- */
- temp_basic_rates |= rate;
- }
- }
-
- basic_rates |= temp_basic_rates;
- supported_rates |= temp_supported_rates;
- }
-
- aWlanInfo.iTransferRate = 0x4; // 802.11bg
-
- // AP is 802.11b only if only 802.11b rates
- // are advertised as supported rates.
- if ( !( supported_rates & ~CORE_TX_RATES_802P11B ) )
- {
- aWlanInfo.iTransferRate = 0x1; // 802.11b
- }
- // AP is 802.11g only if any of the 802.11g rates is a basic rate.
- else if ( basic_rates & CORE_TX_RATES_802P11G )
- {
- aWlanInfo.iTransferRate = 0x2; // 802.11g
- }
- }
-
- LOG_WRITEF( "technology = %d", aWlanInfo.iTransferRate );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectionEstablishedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectionEstablishedL( const TDesC& aConnectionName )
- {
- LOG_ENTERFN( "CWsfWlanScanner::ConnectionEstablishedL" );
- LOG_WRITEF( "aConnectionName: [%S]", &aConnectionName );
-
- HBufC* temp = aConnectionName.AllocL();
- if ( iActiveConnectionName )
- {
- delete iActiveConnectionName;
- iActiveConnectionName = NULL;
- }
- iActiveConnectionName = temp;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectionLostL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectionLostL()
- {
- LOG_ENTERFN( "CWsfWlanScanner::ConnectionLostL" );
- if ( iActiveConnectionName )
- {
- delete iActiveConnectionName;
- iActiveConnectionName = NULL;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectingFailedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectingFailedL( TInt /*aError*/ )
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectedIapReleasedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectedIapReleasedL()
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ScanResults
-// ---------------------------------------------------------------------------
-//
-HBufC8* CWsfWlanScanner::ScanResults()
- {
- return iScanResults;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::SetConnectionDetailProvider
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::SetConnectionDetailProvider(
- MWsfWlanConnectionDetailsProvider& aProvider )
- {
- iConnectionDetailsProvider = &aProvider;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::WlanScanIntervalChangedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::WlanScanIntervalChangedL( TUint aNewScanInterval,
- TBool aShowAvailability )
- {
- LOG_ENTERFN( "CWsfWlanScanner::WlanScanIntervalChangedL" );
- LOG_WRITEF( "bgScanInterval = %d sec", aNewScanInterval );
- LOG_WRITEF( "showAvailability = %d", aShowAvailability );
- iScanningInterval = aNewScanInterval * KMicrosecPerSecond;
-
- if ( iShowAvailability != aShowAvailability )
- {
- // background WLAN scanning status changed
- iShowAvailability = aShowAvailability;
-
- if ( iShowAvailability )
- {
- // bgscan is now enabled
- // no reissuing, we rely on the WLAN engine callbacks
- // from now on
- LOG_WRITE( "background scan enabled" );
-
- if ( iScanState == EIdle && IsActive() )
- {
- // reset the timer only if we are not in the middle
- // of another scanning
- iTimer.Cancel();
- }
- }
- else
- {
- // bgscan is now disabled
- // reset the timer with the new interval
- LOG_WRITE( "background scan disabled" );
-
- if ( iScanState == EIdle )
- {
- LOG_WRITE( "reissuing timer request" );
- // reset the timer only if we are not in the middle
- // of another scanning
- // otherwise RunL will take care of the timer
- // doCancel resets timer
- if ( IsActive() )
- {
- Cancel();
- }
- iTimer.After( iStatus, TTimeIntervalMicroSeconds32(
- iScanningInterval ) );
- iCacheLifetime = 0;
- iMaxDelay = 0;
- SetActive();
- }
- }
- }
- else if ( !iShowAvailability )
- {
- // only the scan interval has changed
- LOG_WRITE( "scan interval changed" );
- if ( iScanState == EIdle && IsActive() )
- {
- // reset the timer only if we are not in the middle of
- // another scanning
- // doCancel resets timer
- LOG_WRITE( "reissuing timer request" );
- Cancel();
- iTimer.After( iStatus, TTimeIntervalMicroSeconds32(
- iScanningInterval ) );
- iCacheLifetime = 0;
- iMaxDelay = 0;
- SetActive();
- }
- }
- }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfwlansettingsaccessor.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,350 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanSettingsAccessor
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <d32dbms.h>
-#include <WlanCdbCols.h>
-#include <wlancontainer.h>
-
-#include <centralrepository.h>
-#include <wlandevicesettingsinternalcrkeys.h>
-#include <featmgr.h>
-
-// CLASS HEADER
-#include "wsfwlansettingsaccessor.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlanscanintervalchangeobserver.h"
-#include "wsflogger.h"
-
-
-using namespace CommsDat;
-
-// background scan disabled value
-static const TUint KWlanBgScanIntervalNever = 0;
-
-// background scan automatic scanning value
-static const TUint KWlanBgScanIntervalAuto = 0xffffffff;
-
-// default background scan interval in seconds
-static const TUint KWlanBgScanIntervalDefault = 300;
-
-// hold-up time after first DB notification to prevent bursts (in microseconds)
-static const TUint KDbNotificationHoldupTime = 1000 * 1000;
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor* CWsfWlanSettingsAccessor::NewL(
- CMDBSession& aDbSession )
- {
- CWsfWlanSettingsAccessor *thisPtr = NewLC( aDbSession );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor* CWsfWlanSettingsAccessor::NewLC(
- CMDBSession& aDbSession )
- {
- CWsfWlanSettingsAccessor *thisPtr =
- new (ELeave) CWsfWlanSettingsAccessor( aDbSession );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::CWsfWlanSettingsAccessor
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor::CWsfWlanSettingsAccessor( CMDBSession& aDbSession ):
- CActive( CActive::EPriorityStandard ),
- iDbSession( &aDbSession ),
- iBeingHeldUp( EFalse )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::ConstructL()
- {
- CActiveScheduler::Add( this );
-
- // get WLAN table id
- TRAP_IGNORE( iTableId = CCDWlanDeviceSettingsRecord::TableIdL(
- *iDbSession ) );
-
- if ( !iTableId )
- {
- iTableId = CCDWlanDeviceSettingsRecord::CreateTableL( *iDbSession );
- }
-
- iWlanSettingsRecord = new (ELeave) CCDWlanDeviceSettingsRecord( iTableId );
- iWlanSettingsRecord->iWlanDeviceSettingsType = KWlanUserSettings;
-
- if ( !iWlanSettingsRecord->FindL( *iDbSession ) )
- {
- User::Leave( KErrNotFound );
- }
-
- User::LeaveIfError( iTimer.CreateLocal() );
-
- DoCheckSettingL( iScanInterval, iShowAvailability );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::~CWsfWlanSettingsAccessor
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor::~CWsfWlanSettingsAccessor()
- {
- Cancel();
- iTimer.Close();
- iDbSession = NULL; // not owning
- iChangeObserver = NULL; // not owning
- delete iWlanSettingsRecord; // own
- iWlanSettingsRecord = NULL;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::ScanInterval
-// ----------------------------------------------------------------------------
-//
-TUint CWsfWlanSettingsAccessor::ScanInterval() const
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::ScanInterval" );
- return iScanInterval;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::ShowAvailability
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanSettingsAccessor::ShowAvailability() const
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::ShowAvailability" );
- return iShowAvailability;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::RequestNotificationL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::RequestNotificationL(
- MWsfWlanScanIntervalChangeObserver& aObserver )
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::RequestNotificationL" );
- iChangeObserver = &aObserver;
- IssueNotificationRequestL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::IssueNotificationRequestL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::IssueNotificationRequestL()
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::IssueNotificationRequestL" );
- if ( iChangeObserver )
- {
- if ( !IsActive() )
- {
- LOG_WRITE( "issuing..." );
- User::LeaveIfError( iWlanSettingsRecord->RequestNotification(
- *iDbSession, iStatus ) );
- SetActive();
- }
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::CancelNotifications
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::CancelNotifications()
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::CancelNotifications" );
- Cancel();
- iChangeObserver = NULL;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::DoCheckSettingL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::DoCheckSettingL( TUint& aBgScanInterval,
- TBool& aShowAvailability )
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::DoCheckSettingL" );
- // open the wlan settings table
-
- iWlanSettingsRecord->RefreshL( *iDbSession );
- FeatureManager::InitializeLibL();
-
- aShowAvailability = ( iWlanSettingsRecord->iBgScanInterval !=
- KWlanBgScanIntervalNever );
-
- // read the common value
- if ( iWlanSettingsRecord->iBgScanInterval == KWlanBgScanIntervalNever )
- {
- if ( iWlanSettingsRecord->iSavedBgScanInterval ==
- KWlanBgScanIntervalNever )
- {
- TInt defaultScanInterval( KWlanBgScanIntervalDefault );
-
- if (FeatureManager::FeatureSupported( KFeatureIdPowerSave ))
- {
- // Read the default value from CenRep (different in PSM mode)
- CRepository* cenrep = CRepository::NewL(
- KCRUidWlanDeviceSettingsRegistryId );
- cenrep->Get( KWlanDefaultBGScanInterval, defaultScanInterval );
- delete cenrep;
- }
-
- aBgScanInterval = TUint( defaultScanInterval );
- }
- else
- {
- aBgScanInterval = iWlanSettingsRecord->iSavedBgScanInterval;
- }
- }
- else
- {
- aBgScanInterval = iWlanSettingsRecord->iBgScanInterval;
- }
-
- // Set scan interval to default value if adaptive scanning value is
- // found from db
- if (aBgScanInterval == KWlanBgScanIntervalAuto )
- {
- TInt defaultScanInterval( KWlanBgScanIntervalDefault );
- aBgScanInterval = TUint( defaultScanInterval );
- }
-
- FeatureManager::UnInitializeLib();
- LOG_WRITEF( "current bgScanInterval = %d sec", aBgScanInterval );
- LOG_WRITEF( "current showAvailability = %d", aShowAvailability );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::CheckIfSettingChangedL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanSettingsAccessor::CheckIfSettingChangedL()
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::CheckIfSettingChangedL" );
- LOG_WRITEF( "previous bgScanInterval = %d", iScanInterval );
- LOG_WRITEF( "previous showAvailability = %d", iShowAvailability );
- TUint newBgsi( 0 );
- TBool newSaf( EFalse );
-
- DoCheckSettingL( newBgsi, newSaf );
-
- TBool retval( newBgsi != iScanInterval || newSaf != iShowAvailability );
- iScanInterval = newBgsi;
- iShowAvailability = newSaf;
-
- return retval;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::RunL()
- {
- LOG_ENTERFN( "CWsfWlanSettingsAccessor::RunL" );
- LOG_WRITEF( "iStatus.Int() = %d", iStatus.Int() );
-
- // Symbian DB notifiers are triggered by everything that may happen in
- // commsdat, so it would be very resource-consuming to check the value on
- // each database event
- // Workaround: 1-sec delay when first callback is received
-
- if ( !iBeingHeldUp )
- {
- LOG_WRITE( "starting anti-burst delay" );
- iBeingHeldUp = ETrue;
- iTimer.After( iStatus, TTimeIntervalMicroSeconds32(
- KDbNotificationHoldupTime ) );
- SetActive();
- }
- else
- {
- LOG_WRITE( "checking changes" );
- iBeingHeldUp = EFalse;
- if ( CheckIfSettingChangedL() )
- {
- LOG_WRITE( "setting changed, notifying observer" );
- iChangeObserver->WlanScanIntervalChangedL( iScanInterval,
- iShowAvailability );
- }
-
- IssueNotificationRequestL();
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::DoCancel()
- {
- iTimer.Cancel();
- iBeingHeldUp = EFalse;
-
- if ( iWlanSettingsRecord )
- {
- iWlanSettingsRecord->CancelNotification( *iDbSession, iStatus );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::RunError
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanSettingsAccessor::RunError( TInt /*aError*/ )
- {
- TRAP_IGNORE( IssueNotificationRequestL() );
- return KErrNone;
- }
-
--- a/wlanutilities/wlansniffer/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* 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: Build information file for project WlanSniffer
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-// Help exports
-#include "../help/group/bld.inf"
-
-
-PRJ_EXPORTS
-// export iby file
-../rom/wlansniffer.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlansniffer.iby)
-
-
-PRJ_MMPFILES
-// gnumakefile wsficons.mk
-// gnumakefile wsficons_aif.mk
-
-
-#include "../aiplugin/group/bld.inf"
-#include "../aihelper/group/bld.inf"
-#include "../apwizard/group/bld.inf"
-#include "../engine/client/group/bld.inf"
-#include "../engine/server/group/bld.inf"
-#include "../mainapplication/group/bld.inf"
-#include "../model/group/bld.inf"
-#include "../widget/group/bld.inf"
-#include "../wlaninfo/group/bld.inf"
-#include "../wlaninfosorting/group/bld.inf"
-
-PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wsficons.mif
-OPTION HEADERFILE wsficons.mbg
-OPTION SOURCES -c8,1 qgn_indi_wlan_secure_network_add \
- -c8,1 empty13x13 \
- -c8,1 qgn_indi_wlan_signal_low_add \
- -c8,1 qgn_indi_wlan_signal_med_add \
- -c8,1 qgn_indi_wlan_signal_good_add \
- -c8,1 qgn_prop_cmon_wlan_conn \
- -c8,1 qgn_prop_wlan_bearer \
- -c8,1 qgn_prop_empty \
- -c8,1 qgn_indi_wlan_sniffer_plugin_off \
- -c8,1 qgn_indi_wlan_sniffer_plugin_on \
- -c8,1 qgn_indi_wlan_sniffer_plugin_on_0 \
- -c8,1 qgn_indi_wlan_sniffer_plugin_on_1 \
- -c8,1 qgn_menu_wlan_sniffer
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wsficons_aif.mif
-OPTION SOURCES -c8,1 qgn_menu_wlan_sniffer
-END
-
-// End of file
--- a/wlanutilities/wlansniffer/group/wsficons.mk Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-#
-# 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: scalable icons makefile for project WlanSniffer
-#
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\wsficons.mif
-
-HEADERDIR=$(EPOCROOT)epoc32\include
-HEADERFILENAME=$(HEADERDIR)\wsficons.mbg
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-
- mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
- /c8,1 qgn_indi_wlan_secure_network_add.svg \
- /c8,1 empty13x13.svg \
- /c8,1 qgn_indi_wlan_signal_low_add.svg \
- /c8,1 qgn_indi_wlan_signal_med_add.svg \
- /c8,1 qgn_indi_wlan_signal_good_add.svg \
- /c8,1 qgn_prop_cmon_wlan_conn.svg \
- /c8,1 qgn_prop_wlan_bearer.svg \
- /c8,1 qgn_prop_empty.svg \
- /c8,1 qgn_indi_wlan_sniffer_plugin_off.svg \
- /c8,1 qgn_indi_wlan_sniffer_plugin_on.svg \
- /c8,1 qgn_indi_wlan_sniffer_plugin_on_0.svg \
- /c8,1 qgn_indi_wlan_sniffer_plugin_on_1.svg \
- /c8,1 qgn_menu_wlan_sniffer.svg
-
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(HEADERFILENAME)&& \
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/wlanutilities/wlansniffer/group/wsficons_aif.mk Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#
-# 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: scalable icons makefile for project WlanSniffer
-#
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\wsficons_aif.mif
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) \
- /c8,1 qgn_menu_wlan_sniffer.svg
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
Binary file wlanutilities/wlansniffer/help/data/xhtml.zip has changed
--- a/wlanutilities/wlansniffer/help/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>
-PRJ_EXPORTS
-:zip ../data/xhtml.zip /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip /epoc32/winscw/c/resource/ overwrite
-
-../inc/sniffer.hlp.hrh MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/sniffer.hlp.hrh)
-../rom/wlansnifferhelps_variant.iby CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(wlansnifferhelps_variant.iby)
--- a/wlanutilities/wlansniffer/help/inc/sniffer.hlp.hrh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 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:
-*
-*/
-
-//
-// sniffer.hlp.hrh generated by CSXHelp Utilities.
-//
-
-#ifndef __SNIFFER_HLP_HRH__
-#define __SNIFFER_HLP_HRH__
-
-_LIT(KSNIFFER_HLP_MAIN, "SNIFFER_HLP_MAIN"); //
-
-#endif
\ No newline at end of file
--- a/wlanutilities/wlansniffer/help/rom/wlansnifferhelps_variant.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2009 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: IBY file for Wlan Sniffer helps
- *
-*/
-
-#ifndef __WLANSNIFFERHELPS_VARIANT_IBY__
-#define __WLANSNIFFERHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\contents.zip)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\index.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\keywords.xml)
- data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- a/wlanutilities/wlansniffer/inc/wsflogger.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* 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 CWsfModel
-*
-*/
-
-#ifndef WSFLOGGER_H
-#define WSFLOGGER_H
-
-
-#ifdef _DEBUG
-#define USE_WSFLOGGER
-#endif
-
-
-#ifdef USE_WSFLOGGER
-
-// undef this if you want logs into file
-#define WSFLOGGER_LOGGING_METHOD_RDEBUG
-
-// EXTERNAL INCLUDES
-#include <flogger.h>
-#include <e32debug.h>
-
-
-// CONSTANTS
-_LIT( KLogDir, "Sniffer" );
-_LIT( KLogFile, "Sniffer.txt" );
-_LIT( KLogBanner, "Sniffer 0.1.0" );
-_LIT( KLogEnterFn, "%04x\t% *S-> %S" );
-_LIT( KLogLeaveFn, "%04x\t% *S<- %S" );
-_LIT( KLogExit, "Sniffer: Application exit" );
-_LIT( KLogFormat, "%04x\t% *S%S" );
-
-
-// CLASS DEFINITION
-/**
-* Class to log functionentry/exit
-*
-* Example usage:
-*
-* @code
-* #include "wsflogger.h"
-*
-* ...
-*
-* void MyClass::DoIt()
-* {
-* LOG_ENTERFN( "MyClass::DoIt" );
-* // doing it...
-* }
-*
-* @endcode
-*
-* Since the macros create instances on the stack, the class is destructed when
-* the stack is unwound. Thus, if LOG_ENTERFN was called at the highest level
-* within the function then the destructor can detect the exit from the
-* function without the need of an explicit "LOG_LEAVEFN" to each exit point.
-*
-* Note: the destructor is not called if a leave occurs.
-*
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CFunctionEntryExit ): public CBase
- {
- public:
-
- /**
- * Constructor
- * @since S60 5.0
- * @param aFunc Name of the function being entered
- */
- CFunctionEntryExit( TRefByValue<const TDesC> aFunc )
- {
- iFunc.Set( aFunc );
-
- RThread thread;
- TUint tid = TUint( thread.Id() ) & 0xffff;
-
-#ifndef WSFLOGGER_LOGGING_METHOD_RDEBUG
- RFileLogger::WriteFormat( KLogDir,
- KLogFile,
- EFileLoggingModeAppend,
- KLogEnterFn,
- tid,
- 4*((tid>>2)&0x3),
- &KNullDesC,
- &iFunc);
-#else
- RDebug::Print( KLogEnterFn, tid,
- 4*((tid>>2)&0x3),
- &KNullDesC,
- &iFunc);
-#endif
- }
-
- /**
- * Destructor
- * @since S60 5.0
- */
- ~CFunctionEntryExit()
- {
- RThread thread;
- TUint tid = TUint( thread.Id() ) & 0xffff;
-
-#ifndef WSFLOGGER_LOGGING_METHOD_RDEBUG
- RFileLogger::WriteFormat( KLogDir,
- KLogFile,
- EFileLoggingModeAppend,
- KLogLeaveFn,
- tid,
- 4*((tid>>2)&0x3),
- &KNullDesC,
- &iFunc);
-#else
- RDebug::Print( KLogLeaveFn,
- tid,
- 4*((tid>>2)&0x3),
- &KNullDesC,
- &iFunc );
-#endif
- }
-
- public: // data
- /**
- * Function name
- */
- TPtrC iFunc;
- };
-
-
-// LOG MACROS
-#ifndef WSFLOGGER_LOGGING_METHOD_RDEBUG
-// Create/overwrite the log file
-#define LOG_CREATE \
- { \
- TFileName path( _L( "c:\\logs\\" ) ); \
- path.Append( KLogDir ); \
- path.Append( _L( "\\" ) ); \
- RFileLogger::WriteFormat( KLogDir, KLogFile, \
- EFileLoggingModeOverwrite, KLogBanner ); \
- }
-
-
-// Close the log
-#define LOG_DELETE \
- RFileLogger::Write( KLogDir, KLogFile, \
- EFileLoggingModeAppend, KLogExit ); \
-
-
-// Place a function entry/exit watchdog
-#define LOG_ENTERFN(a) \
- CFunctionEntryExit entryExit( _L(a) );
-
-
-// Write a solid string to the log
-#define LOG_WRITE(a) \
- { \
- _LIT( temp, a ); \
- RThread thread; \
- TUint tid = TUint( thread.Id() ) & 0xffff; \
- TBuf<5+12+sizeof(L##a)/2-1> buf; \
- buf.Format( KLogFormat, \
- tid, 4*((tid>>2)&0x3), &KNullDesC, &temp ); \
- RFileLogger::Write( KLogDir, KLogFile, \
- EFileLoggingModeAppend, buf ); \
- }
-
-
-// Write a formatted string to the log
-#define LOG_WRITEF(a, s...) \
- { \
- _LIT( temp, a ); \
- RThread thread; \
- TUint tid = TUint( thread.Id() ) & 0xffff; \
- TBuf<5+12+sizeof(L##a)/2-1> buf; \
- buf.Format( KLogFormat, \
- tid, 4*((tid>>2)&0x3), &KNullDesC, &temp ); \
- RFileLogger::WriteFormat( KLogDir, KLogFile, \
- EFileLoggingModeAppend, buf, s ); \
- }
-
-#else // WSFLOGGER_LOGGING_METHOD_RDEBUG
-
-// Create/overwrite the log file
-#define LOG_CREATE \
- RDebug::Print(_L("%S"), &KLogBanner);
-
-
-// Close the log
-#define LOG_DELETE \
- RDebug::Print(_L("%S"), &KLogExit);
-
-
-// Place a function entry/exit watchdog
-#define LOG_ENTERFN(a) \
- CFunctionEntryExit entryExit( _L(a) );
-
-
-// Write a solid string to the log
-#define LOG_WRITE(a) \
- { \
- _LIT( temp, a ); \
- RThread thread; \
- TUint tid = TUint( thread.Id() ) & 0xffff; \
- TBuf<5+12+sizeof(L##a)/2-1> buf; \
- buf.Format( KLogFormat, \
- tid, 4*((tid>>2)&0x3), &KNullDesC, &temp ); \
- RDebug::Print(buf); \
- }
-
-
-// Write a formatted string to the log
-#define LOG_WRITEF(a, s...) \
- { \
- _LIT( temp, a ); \
- RThread thread; \
- TUint tid = TUint( thread.Id() ) & 0xffff; \
- TBuf<5+12+sizeof(L##a)/2-1> buf; \
- buf.Format( KLogFormat, \
- tid, 4*((tid>>2)&0x3), &KNullDesC, &temp ); \
- RDebug::Print( buf, s); \
- }
-
-#endif // WSFLOGGER_LOGGING_METHOD_RDEBUG
-
-
-#else // _DEBUG
-
-
-#define LOG_CREATE
-#define LOG_DELETE
-#define LOG_ENTERFN(a)
-#define LOG_WRITE(a)
-#define LOG_WRITEF(a, s...)
-
-
-#endif // _DEBUG
-
-
-
-
-#endif // WSFLOGGER_H
-
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/data/wlansniffer.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,723 +0,0 @@
-/*
-* 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: Resource definitions for project MainApplication
- *
-*/
-
-NAME HELL
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <wsfmainapplication.loc>
-
-#include "wsfmainapplication.hrh"
-
-// ---------------------------------------------------------
-//
-// Define the resource file signature
-// This resource should be empty.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
- {}
-
-// ---------------------------------------------------------
-//
-// Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name
- {
- buf="";
- }
-
-// ---------------------------------------------------------
-//
-// Define default menu and CBA key.
-//
-// ---------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
- {
- menubar = r_sniffer_menubar;
- }
-
-// ---------------------------------------------------------
-//
-// r_sniffer_cp_mainview
-// Control Panel Mainview
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_sniffer_cp_options_back_menu
- {
- buttons =
- {
- CBA_BUTTON
- {
- id=EAknSoftkeyOptions; txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id=EAknSoftkeyExit; txt = text_softkey_back;
- },
- CBA_BUTTON
- {
- id=EAknSoftkeyContextOptions; txt = text_softkey_option;
- }
- };
- }
-
-RESOURCE AVKON_VIEW r_sniffer_cp_mainview
- {
- menubar = r_sniffer_menubar;
- cba = r_sniffer_cp_options_back_menu;
- }
-
-// ---------------------------------------------------------
-//
-// r_Sniffer_mainview
-// Mainview
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_sniffer_options_back_menu
- {
- buttons =
- {
- CBA_BUTTON
- {
- id=EAknSoftkeyOptions; txt = text_softkey_option;
- },
- CBA_BUTTON
- {
- id=EAknSoftkeyExit; txt = text_softkey_exit;
- },
- CBA_BUTTON
- {
- id=EAknSoftkeyContextOptions; txt = text_softkey_option;
- }
- };
- }
-
-RESOURCE AVKON_VIEW r_sniffer_mainview
- {
- menubar = r_sniffer_menubar;
- cba = r_sniffer_options_back_menu;
- }
-
-// ---------------------------------------------------------
-//
-// r_Sniffer_menubar
-// Menubar for Sniffer example
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_sniffer_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_sniffer_menu;
- }
- };
- }
-
-// ---------------------------------------------------------
-//
-// r_Sniffer_menu
-// Menu for "Options"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_sniffer_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = ESnifferCmdStartBrowsing;
- txt = qtn_sniffer_opt_start_web_browsing;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command = ESnifferCmdContinueBrowsing;
- txt = qtn_sniffer_opt_continue_web_browsing;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command = ESnifferCmdConnect;
- txt = qtn_sniffer_opt_connect;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command = ESnifferCmdDisconnect;
- txt = qtn_sniffer_opt_disconnect_wlan;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command = ESnifferCmdRefresh;
- txt = qtn_sniffer_opt_refresh;
- },
- MENU_ITEM
- {
- command = ESnifferCmdFilterWlans;
- txt = qtn_sniffer_opt_filter_out_wlans;
- },
- MENU_ITEM
- {
- command = ESnifferCmdDetails;
- txt = qtn_sniffer_opt_details;
- flags = EEikMenuItemSpecific;
- },
- MENU_ITEM
- {
- command = ESnifferCmdSettings;
- txt = qtn_sniffer_opt_settings;
- },
- MENU_ITEM
- {
- command = EAknCmdHelp;
- txt = qtn_options_help;
- },
- MENU_ITEM
- {
- command = EAknCmdExit;
- txt = qtn_options_exit;
- }
- };
- }
-
-RESOURCE MENU_BAR r_sniffer_context_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = r_sniffer_context_menu;
- }
- };
- }
-
-RESOURCE MENU_PANE r_sniffer_context_menu
- {
- items =
- {
- MENU_ITEM
- {
- command = ESnifferCmdStartBrowsing;
- txt = qtn_sniffer_opt_start_web_browsing;
- },
- MENU_ITEM
- {
- command = ESnifferCmdContinueBrowsing;
- txt = qtn_sniffer_opt_continue_web_browsing;
- },
- MENU_ITEM
- {
- command = ESnifferCmdConnect;
- txt = qtn_sniffer_opt_connect;
- },
- MENU_ITEM
- {
- command = ESnifferCmdDisconnect;
- txt = qtn_sniffer_opt_disconnect_wlan;
- },
- MENU_ITEM
- {
- command = ESnifferCmdDetails;
- txt = qtn_sniffer_opt_details;
- }
- };
- }
-
-// ---------------------------------------------------------
-//
-// r_sniffer_detailsview
-// Details
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_sniffer_detailsview
- {
- menubar = r_sniffer_detailsview_menubar;
- cba = R_AVKON_SOFTKEYS_OK_EMPTY;
- }
-
-
-// ---------------------------------------------------------
-//
-// r_sniffer_detailsview_menubar
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_sniffer_detailsview_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = R_AVKON_MENUPANE_EMPTY;
- }
- };
- }
-
-//-----------------------------------------------------------------------------
-//
-// Details view listbox headings resources
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_cmon_heading_conn_name
- {
- buf = qtn_cmon_heading_conn_name;
- }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_network_name
- {
- buf = qtn_cmon_heading_wlan_network_name;
- }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_signal_strength
- {
- buf = qtn_cmon_heading_wlan_signal_strength;
- }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_network_mode
- {
- buf = qtn_cmon_heading_wlan_network_mode;
- }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_security_mode
- {
- buf = qtn_cmon_heading_wlan_security_mode;
- }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_nw_ap_amount
- {
- buf = qtn_cmon_heading_wlan_nw_ap_amount;
- }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_nw_max_rate
- {
- buf = qtn_cmon_heading_wlan_nw_max_rate;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Details View signal strength detail definitions
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_low
- {
- buf = qtn_cmon_wlan_signal_strength_low;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_medium
- {
- buf = qtn_cmon_wlan_signal_strength_medium;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_strong
- {
- buf = qtn_cmon_wlan_signal_strength_good;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_no_signal
- {
- buf = qtn_cmon_wlan_signal_strength_no_signal;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan mode definitions
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_newtwork_mode_adhoc
- {
- buf = qtn_cmon_wlan_network_mode_adhoc;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_newtwork_mode_infra
- {
- buf = qtn_cmon_wlan_network_mode_infra;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan security definitions
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_open
- {
- buf = qtn_wlan_sett_security_mode_open;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_wep
- {
- buf = qtn_wlan_sett_security_mode_wep;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_802_1x
- {
- buf = qtn_wlan_sett_security_mode_802_1x;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_wpa
- {
- buf = qtn_wlan_sett_security_mode_wpa;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_wapi
- {
- buf = qtn_wlan_sett_security_mode_wapi;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan security definitions
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_ap_amount_in_range
- {
- buf = qtn_cmon_wlan_ap_amount_in_range_1;
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_ap_amount_in_range_many
- {
- buf = qtn_cmon_wlan_ap_amount_in_range_many;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan speed definitions
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_max_data_rate
- {
- buf = qtn_cmon_wlan_max_data_rate;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan technology definitions
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_technology_802_11b
- {
- buf = "802.11b";
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_technology_802_11g
- {
- buf = "802.11g";
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_technology_802_11bg
- {
- buf = "802.11b/g";
- }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_technology_802_11n
- {
- buf = "802.11n";
- }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Pop-up heading text:
-//
-//-----------------------------------------------------------------------------
-RESOURCE TBUF r_qtn_wlan_heading_connection_details
- {
- buf = qtn_wlan_heading_connection_details;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Pop-up item heading texts:
-//
-//-----------------------------------------------------------------------------
-RESOURCE TBUF r_qtn_wlan_item_heading_text_wlan
- {
- buf = qtn_wlan_item_heading_text_wlan;
- }
-
-RESOURCE TBUF r_qtn_wlan_item_heading_duration
- {
- buf = qtn_wlan_item_heading_duration;
- }
-
-RESOURCE TBUF r_qtn_wlan_item_heading_transf
- {
- buf = qtn_wlan_item_heading_transf;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Pop-up item texts:
-//
-//-----------------------------------------------------------------------------
-RESOURCE TBUF r_qtn_wlan_item_kb
- {
- buf = qtn_wlan_item_kb;
- }
-
-RESOURCE TBUF r_qtn_wlan_item_mb
- {
- buf = qtn_wlan_item_mb;
- }
-
-//-----------------------------------------------------------------------------
-//
-// Waitnote
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE DIALOG r_waitnote_searching_wlans
- {
- flags = EAknWaitNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EWaitNoteSearchingWlans;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- singular_label = qtn_wlan_wait_searching_networks;
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- };
- }
- };
- }
-
-//-----------------------------------------------------------------------------
-//
-// Connecting waitnote
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE DIALOG r_waitnote_connecting
- {
- flags = EAknWaitNoteFlags;
- buttons = R_AVKON_SOFTKEYS_CANCEL;
- items =
- {
- DLG_LINE
- {
- type = EAknCtNote;
- id = EWaitNoteConnecting;
- control = AVKON_NOTE
- {
- layout = EWaitLayout;
- animation = R_QGN_GRAF_WAIT_BAR_ANIM;
- };
- }
- };
- }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Dialog
-//
-//-----------------------------------------------------------------------------
-RESOURCE AVKON_LIST_QUERY r_qtn_connected_details_dialog
- {
- softkeys = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
- items =
- {
- AVKON_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSingleHeadingPopupMenuListBox;
- listbox = AVKON_LIST_QUERY_LIST
- {
- flags = EAknListBoxDisableItemSpecificMenu |
- EAknListBoxViewerFlag;
- };
- heading = qtn_wlan_heading_connection_details;
- };
- }
- };
- }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Dialog
-//
-//-----------------------------------------------------------------------------
-RESOURCE DIALOG r_restart_browsing_confirmation_query
- {
- flags=EGeneralQueryFlags;
- buttons=R_AVKON_SOFTKEYS_YES_NO__YES;
- items=
- {
- DLG_LINE
- {
- type=EAknCtQuery;
- id = EGeneralQuery;
- control= AVKON_CONFIRMATION_QUERY
- {
- layout = EConfirmationQueryLayout;
- };
- }
- };
- }
-
-RESOURCE TBUF r_qtn_options_exit
- {
- buf = qtn_options_exit;
- }
-
-RESOURCE TBUF r_qtn_options_help
- {
- buf = qtn_options_help;
- }
-
-RESOURCE TBUF r_qtn_sniffer_opt_settings
- {
- buf = qtn_sniffer_opt_settings;
- }
-
-RESOURCE TBUF r_sniffer_opt_define_access_point
- {
- buf = qtn_sniffer_opt_define_access_point;
- }
-
-RESOURCE TBUF r_qtn_sniffer_opt_details
- {
- buf = qtn_sniffer_opt_details;
- }
-
-RESOURCE TBUF r_qtn_sniffer_opt_refresh
- {
- buf = qtn_sniffer_opt_refresh;
- }
-RESOURCE TBUF r_qtn_sniffer_opt_filter_out_wlans
- {
- buf = qtn_sniffer_opt_filter_out_wlans;
- }
-RESOURCE TBUF r_qtn_sniffer_opt_disconnect
- {
- buf = qtn_sniffer_opt_disconnect_wlan;
- }
-
-RESOURCE TBUF r_qtn_sniffer_opt_start_web_browsing
- {
- buf = qtn_sniffer_opt_start_web_browsing;
- }
-
-RESOURCE TBUF r_qtn_sniffer_opt_continue_web_browsing
- {
- buf = qtn_sniffer_opt_continue_web_browsing;
- }
-
-RESOURCE TBUF r_text_softkey_exit
- {
- buf = text_softkey_exit;
- }
-
-RESOURCE TBUF r_qtn_sniffer_unknown
- {
- buf = qtn_sniffer_unknown;
- }
-
-RESOURCE TBUF r_qtn_sniffer_known
- {
- buf = qtn_sniffer_known;
- }
-
-RESOURCE TBUF r_qtn_sniffer_connecting
- {
- buf = qtn_sniffer_connecting;
- }
-
-RESOURCE TBUF r_qtn_sniffer_connected
- {
- buf = qtn_sniffer_connected;
- }
-
-RESOURCE TBUF r_qtn_sniffer_hidden_wlan
- {
- buf = qtn_sniffer_plug_in_hidden_ssid_label;
- }
-
-RESOURCE TBUF r_qtn_wlan_info_no_networks_found
- {
- buf = qtn_wlan_info_no_networks_found;
- }
-
-RESOURCE TBUF r_qtn_wlan_info_connection_already_active
- {
- buf = qtn_wlan_info_connection_already_active;
- }
-
-RESOURCE TBUF r_qtn_wlan_wait_searching_networks
- {
- buf = qtn_wlan_wait_searching_networks;
- }
-
-RESOURCE TBUF r_qtn_sniffer_title
- {
- buf = qtn_sniffer_title;
- }
-
-RESOURCE TBUF r_qtn_sniffer_navi_one_wlan_nw_available
- {
- buf = qtn_cmon_navi_one_wlan_nw_available;
- }
-
-RESOURCE TBUF r_qtn_sniffer_navi_many_wlan_nws_available
- {
- buf = qtn_cmon_navi_many_wlan_nws_available;
- }
-
-//-----------------------------------------------------------------------------
-
-RESOURCE LOCALISABLE_APP_INFO r_sniffer_localisable_app_info
- {
- short_caption = qtn_sniffer_title;
- caption_and_icon =
- CAPTION_AND_ICON_INFO
- {
- caption = qtn_sniffer_title;
- icon_file = "Z:"APP_BITMAP_DIR"\\wsficons_aif.mif";
- };
- }
-
-// END OF FILE
--- a/wlanutilities/wlansniffer/mainapplication/data/wlansniffer_reg.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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: Resource definitions for project MainApplication
-*
-*/
-
-
-//Sniffer application's registration resource file
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-
-#include <wlansniffer.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x10281CAA
-
-RESOURCE APP_REGISTRATION_INFO
- {
- app_file="wlansniffer";
- localisable_resource_file = APP_RESOURCE_DIR"\\wlansniffer";
- localisable_resource_id = R_SNIFFER_LOCALISABLE_APP_INFO;
- }
--- a/wlanutilities/wlansniffer/mainapplication/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* 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: Build information file for project MainApplication
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-// export localised loc file
-../loc/wsfmainapplication.loc MW_LAYER_LOC_EXPORT_PATH(wsfmainapplication.loc)
-
-../rom/wsfmainapplication.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfmainapplication.iby)
-../rom/wsfmainapplicationresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfmainapplicationresources.iby)
-
-
-PRJ_MMPFILES
-mainapplication.mmp
-
-
-
--- a/wlanutilities/wlansniffer/mainapplication/group/mainapplication.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* 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: Project definition file for project MainApplication
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-CAPABILITY ReadDeviceData NetworkServices NetworkControl ProtServ \
- ReadUserData WriteDeviceData WriteUserData SwEvent
-
-TARGET wlansniffer.exe
-TARGETTYPE exe
-UID 0x100039CE 0x10281CAA
-
-EPOCSTACKSIZE 0x5000
-
-SOURCEPATH ../src
-SOURCE wsfentrypoint.cpp
-SOURCE wsfapplication.cpp
-SOURCE wsfmainview.cpp
-SOURCE wsfappui.cpp
-SOURCE wsfdocument.cpp
-
-SOURCE wsfactivewaiter.cpp
-SOURCE wsfmaincontroller.cpp
-SOURCE wsfmainviewcontroller.cpp
-SOURCE wsfmainviewmodel.cpp
-SOURCE wsfmainviewcontainer.cpp
-
-// Details View Sources
-SOURCE wsfdetailsview.cpp
-SOURCE wsfdetailscontainer.cpp
-SOURCE wsfdetailsviewmodel.cpp
-SOURCE wsfdetailsviewcontroller.cpp
-
-// Connected Details Popup Sources
-SOURCE wsfconnecteddetailsdialog.cpp
-SOURCE wsfconnecteddetailsmodel.cpp
-SOURCE wsfconnecteddetailscontroller.cpp
-SOURCE wsfactivetimeupdater.cpp
-
-
-// own headers
-USERINCLUDE ../inc
-
-// inner API
-USERINCLUDE ../../inc
-
-// private API
-USERINCLUDE ../../../inc
-
-
-//Macro to /epoc32 headers
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY euser.lib
-LIBRARY apparc.lib
-LIBRARY cone.lib
-LIBRARY bafl.lib
-LIBRARY eikcore.lib
-LIBRARY avkon.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikctl.lib
-LIBRARY egul.lib
-LIBRARY aknicon.lib
-LIBRARY eikdlg.lib
-LIBRARY eikcdlg.lib
-LIBRARY FeatMgr.lib
-LIBRARY hlplch.lib
-LIBRARY ConnMon.lib
-LIBRARY aknskins.lib
-LIBRARY commonengine.lib
-LIBRARY cmmanager.lib
-LIBRARY wlansettingsui.lib
-LIBRARY charconv.lib
-LIBRARY apgrfx.lib
-LIBRARY commonui.lib
-
-LIBRARY wsfwlaninfo.lib
-LIBRARY wsfwlaninfosorting.lib
-LIBRARY wsfmodel.lib
-LIBRARY connectionuiutilities.lib
-
-// Logger
-DEBUGLIBRARY flogger.lib
-
-START RESOURCE ../data/wlansniffer.rss
-HEADER
-TARGETPATH APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE ../data/wlansniffer_reg.rss
-DEPENDS wlansniffer.rsg
-TARGETPATH /private/10003a3f/apps
-END
-
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfactivetimerhandler.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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 MWsfActiveTimerHandler
-*
-*/
-
-#ifndef M_WSFACTIVETIMERHANDLER_H
-#define M_WSFACTIVETIMERHANDLER_H
-
-/**
- * Interface between details view controller and timer for active time update
- */
-class MWsfActiveTimerHandler
- {
-
- public:
-
- /**
- * Updates the details view active time
- */
- virtual void UpdateActiveTimeL() = 0;
- };
-
-#endif // M_WSFACTIVETIMERHANDLER_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfactivetimeupdater.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* 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 CWsfActiveTimeUpdater
-*
-*/
-
-#ifndef C_WSFACTIVETIMEUPDATER_H
-#define C_WSFACTIVETIMEUPDATER_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-
-// FORWARD DECLARATIONS
-class MWsfActiveTimerHandler;
-
-
-/**
- * Responsible for time updating by using a customizable time interval.
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWsfActiveTimeUpdater ) : public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @param aActiveTimerHandler interface details views controller
- * @return instance of CWsfActiveTimeUpdater class
- */
- static CWsfActiveTimeUpdater* NewL(
- MWsfActiveTimerHandler* aActiveTimerHandler );
-
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @param aActiveTimerHandler interface details views controller
- * @return instance of CWsfActiveTimeUpdater class
- */
- static CWsfActiveTimeUpdater* NewLC(
- MWsfActiveTimerHandler* aActiveTimerHandler );
-
- /**
- * Destructor of CWsfActiveTimeUpdater class
- * @since S60 5.0
- */
- ~CWsfActiveTimeUpdater();
-
- private: // Constructors
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- * @param aActiveTimerHandler interface details views controller
- */
- CWsfActiveTimeUpdater( MWsfActiveTimerHandler* aActiveTimerHandler );
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- public: // New methods
-
- /**
- * Start update timer
- * @since S60 5.0
- * @param aUpdateInterval refresh time interval
- */
- void Start( TInt aUpdateInterval );
-
- /**
- * Stop update timer
- * @since S60 5.0
- */
- void Stop();
-
- /**
- * Called from static call back of CPeriodic.
- * The actual update process starts here
- * @since S60 5.0
- */
- void DoUpdateTimeL();
-
- private: // New methods
- /**
- * Function to called when periodic timer releases
- * @since S60 5.0
- * @param aUpdater pointer to this
- */
- static TInt UpdateTimeL( TAny* aUpdater );
-
- private:
-
- /**
- * Pointer to the Active Timer handler interface
- * Own.
- */
- MWsfActiveTimerHandler* iActiveTimerHandler;
-
- /**
- * Timer, to refresh the details views
- * Own.
- */
- CPeriodic* iPeriodic;
- };
-
-#endif // C_WSFACTIVETIMEUPDATER_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfactivewaiter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* 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: Declaration of CWsfActiveWaiter
-*
-*/
-
-
-
-#ifndef __WSFMAINAPPLICATION_ACTIVE_WAITER_H__
-#define __WSFMAINAPPLICATION_ACTIVE_WAITER_H__
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest
- *
- * Usage:
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest == KErrNone )
- * {
- * // handle success
- * }
- * else
- * {
- * // handle failure
- * }
- * CleanupStack::PopAndDestroy( waiter );
- *
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ) : public CActive
- {
- public:
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @return instance of CWsfActiveWaiter class
- */
- static CWsfActiveWaiter* NewL();
-
- /**
- * Destructor of CWsfActiveWaiter class
- * @since S60 5.0
- */
- virtual ~CWsfActiveWaiter();
-
- /**
- * Waits for it's TRequestStatus to be completed
- * @since S60 5.0
- * @return Error code returned from server after request is
- * completed
- */
- TInt WaitForRequest();
-
- private:
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfActiveWaiter();
-
- /**
- * DoCancel from CActive
- * @since S60 5.0
- */
- virtual void DoCancel();
-
- /**
- * RunL from CActive
- * @since S60 5.0
- */
- virtual void RunL();
-
- private:
-
- /**
- * Used to make asynchronous call synchronous
- */
- CActiveSchedulerWait iWait;
- };
-
-#endif // __WSFMAINAPPLICATION_ACTIVE_WAITER_H__
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfapplication.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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 CWsfApplication
-*
-*/
-
-
-#ifndef C_WSFAPPLICATION_H
-#define C_WSFAPPLICATION_H
-
-#include <aknapp.h>
-
-
-// CLASS DEFINITION
-/**
-* An instance of CWsfApplication is the application part of the
-* AVKON application framework for the Sniffer example application
-*
-* @since S60 5.0
-* @lib wlansniffer.exe
-*/
-NONSHARABLE_CLASS( CWsfApplication ): public CAknApplication
- {
- public: // from CAknApplication
-
- /**
- * Returns the application DLL UID value
- * @since S60 5.0
- * @return The UID of this Application/Dll
- */
- TUid AppDllUid() const;
-
- protected: // from CAknApplication
- /**
- * Creates a CApaDocument object and return a pointer to it
- * @since S60 5.0
- * @return A pointer to the created document
- */
- CApaDocument* CreateDocumentL();
- };
-
-#endif // C_WSFAPPLICATION_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfappui.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-/*
-* 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 CWsfAppUi
-*
-*/
-
-#ifndef C_WSFAPPUI_H
-#define C_WSFAPPUI_H
-
-#include <e32std.h>
-#include <AknWaitDialog.h>
-#include <aknViewAppUi.h>
-
-
-// FORWARD DECLARATIONS
-class CWsfMainView;
-class MWsfMainUiObserver;
-class MWsfMainViewControllerIf;
-class MWsfDetailsViewControllerIf;
-class CAknWaitDialog;
-class CWsfDocument;
-class CWsfConnectedDetailsDialog;
-class CWsfWlanInfoArray;
-
-/**
- * 'AppUi' class.
- *
- * @since S60 v5.0
- * @lib wlansniffer.exe
- */
-NONSHARABLE_CLASS( CWsfAppUi ): public CAknViewAppUi,
- public MProgressDialogCallback
- {
- public:
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfAppUi();
-
- /**
- * Destructor of CWsfAppUi class
- * @since S60 5.0
- */
- ~CWsfAppUi();
-
-
- public: // from CAknAppUi
- /**
- * Handle user menu selections
- * @since S60 5.0
- * @param aCommand The enumerated code for the option selected
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * Handles a change to the application's resources
- * which are shared across the environment.
- * @since S60 5.0
- * @param aType type of resources that have changed.
- */
- void HandleResourceChangeL( TInt aType );
-
- /**
- * Handles changes in keyboard focus when an application switches to,
- * or from, the foreground.
- * @since S60 5.0
- * @param aForeground ETrue if the application is in the foreground,
- * otherwise EFalse.
- */
- void HandleForegroundEventL( TBool aForeground );
-
-
- public:
-
- /**
- * Set an interface to the main controller for the AppUI.
- * @since S60 5.0
- * @param aObserver Observer object
- */
- void SetUiObserver( MWsfMainUiObserver* aObserver );
-
- /**
- * Activate the Details View
- * @since S60 5.0
- * @param aDetailsViewId View ID of Details View
- */
- void ActivateDetailsViewL( TUid aDetailsViewId );
-
- /**
- * Activate the Main View
- * @since S60 5.0
- */
- void ActivateMainViewL();
-
- /**
- * Create the Main View
- * @since S60 5.0
- * @return reference to the Main View's controller
- */
- MWsfMainViewControllerIf& MainView();
-
- /**
- * Create the Details View
- * @since S60 5.0
- * @return reference to the Details View's controller
- */
- MWsfDetailsViewControllerIf& DetailsView( TInt aDetailsViewType );
-
- /**
- * Starts the wait note dialog
- * @since S60 5.0
- * @param aVisibilityDelayOff set the visibility of the dialog
- */
- void StartWaitNoteL( TBool aVisibilityDelayOff );
-
- /**
- * Dismiss the wait note dialog
- * @since S60 5.0
- */
- void HideWaitNoteL();
-
- /**
- * Displays the Main View's menu bar.
- * @since S60 5.0
- */
- void ShowMenuBarL();
-
- /**
- * Displays "No WLAN found" note.
- * @since S60 5.0
- */
- void ShowNoWlansFoundInfoL();
-
- /**
- * Displays an error note.
- * @since S60 5.0
- * @param aResourceId the text of the error note
- */
- void ShowErrorNoteL( TInt aResourceId );
-
- /**
- * Displays a Global error note.
- * @since S60 5.0
- * @param aError error ID
- */
- void ShowGlobalErrorNoteL( TInt aError );
-
- /**
- * Returns a pointer to the CWsfDocument
- * @since S60 5.0
- * @return pointer to the CWsfDocument
- */
- CWsfDocument* Doc();
-
- /**
- * Returns CWlanSettingsUi is in foreground
- * @since S60 5.0
- * @return ETrue if CWlanSettingsUi is in foreground
- * EFalse if CWlanSettingsUi is in background
- */
- TBool Foreground();
-
- /**
- * Starts the Connected Details View
- * @since S60 5.0
- * @param aWlanArray pointer to the Wlan Info Array
- * @param aSelectedWlanSsid string of the selected Wlan SSID
- */
- void StartConnectedDetailsL( CWsfWlanInfoArray* aWlanArray,
- const TDesC8& aSelectedWlanSsid );
-
- /**
- * Update content of the Connected Details View
- * @since S60 5.0
- * @param aWlanArray pointer to the Wlan Info Array
- */
- void UpdateConnectedDetailsL( CWsfWlanInfoArray* aWlanArray );
-
- /**
- * Returns the value of key event suppression flag
- * @since S60 5.0
- * @return ETrue if key events are suppressed
- */
- TBool SuppressingKeyEvents() const;
-
- /**
- * Sets the value of key event suppression flag
- * @since S60 5.0
- * @param aSuppressing The new value of the flag
- */
- void SetSuppressingKeyEvents( TBool aSuppressing );
-
-
- protected: // from MProgressDialogCallback
-
- /**
- * Callback function for MProgressDialogCallback
- * @since S60 5.0
- * @param aButtonId the ID of the button that was activated
- */
- void DialogDismissedL( TInt aButtonId );
-
-
- private: // new methods
-
- /**
- * This function is used for querying whether the application
- * is launched in embedded mode or not.
- * @return ETrue: The application is launched in embedded mode.
- * EFalse: The application is launched in standalone mode.
- */
- TBool IsEmbedded() const;
-
- /**
- * Callback for CIdle.
- * @since S60 5.0
- * @param aObject pointer to this
- * @return zero value means not be called again.(Stops timer)
- */
- static TInt AppLaunchCompleteL( TAny* aObject );
-
-
- private:
-
- /**
- * Reference to UI observer
- * Not own.
- */
- MWsfMainUiObserver* iObserver;
-
- /**
- * Wait dialog
- * Own.
- */
- CAknWaitDialog* iWaitDialog;
-
- /**
- * Connected details view dialog
- * Own.
- */
- CWsfConnectedDetailsDialog* iConnectedDetailsDialog;
-
- /**
- * Used to launch wait dialog when application has been
- * fully started and screen has been drawn
- * Own.
- */
- CIdle* iIdle;
-
- /*
- * Used to check CWlanSettingsUi is in foreground
- */
- TBool iForeground;
-
- /**
- * indicates whether the launching has ended
- */
- TBool iAppLaunchCompleted;
-
- /**
- * Indicates Featuremanger is initialized or not.
- */
- TBool iFeatureManagerInitialized;
-
- /**
- * Indicates whether keypress events are suppressed
- */
- TBool iSuppressingKeyEvents;
- };
-
-
-#endif // C_WSFAPPUI_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailscontroller.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* 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 TWsfConnectedDetailsController
-*
-*/
-
-#ifndef T_WSFCONNECTEDDETAILSCONTROLLER_H
-#define T_WSFCONNECTEDDETAILSCONTROLLER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-// INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfwlaninfo.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfactivetimerhandler.h"
-
-// FORWARD DECLARATIONS
-class CWsfConnectedDetailsModel;
-class MWsfActiveTimerHandler;
-class CWsfConnectedDetailsDialog;
-
-// CLASS DEFINITION
-/**
- * Details view controller
- *
- * @since S60 5.0
- * @lib wlansniffer.exe
- */
-class TWsfConnectedDetailsController: public MWsfDetailsViewControllerIf,
- public MWsfActiveTimerHandler
- {
- public: // New methods
-
- /**
- * Dialog setter
- * @since S60 5.0
- * @param aDialog Dialog pointer
- */
- inline void SetDialog( CWsfConnectedDetailsDialog* aDialog );
-
- /**
- * Model setter
- * @since S60 5.0
- * @param aModel Model pointer
- */
- inline void SetModel( CWsfConnectedDetailsModel* aModel );
-
-
- public: //From MWsfDetailsViewControllerIf
-
- /**
- * Set the Wlan array & selected item from main view to details view
- * @since S60 5.0
- * @param aWlanArray - Current Wlan Array
- * @param aSelectedWlanSsid - Selected Wlan from Main view
- */
- void SetWlanListL( CWsfWlanInfoArray* aWlanArray,
- const TDesC8& aSelectedWlanSsid );
-
- /**
- * Wlan array has been chaged eg. some wlan dropped or new found
- * @since S60 5.0
- * @param aWlanArray - Current Wlan Array
- */
- void WlanListChangedL( CWsfWlanInfoArray* aWlanArray );
-
- /**
- * Refresh -> draw current model to view
- * @since S60 5.0
- */
- void RefreshL();
-
- /**
- * Sets partner object
- * @since S60 5.0
- * @param aPartner The new partner object
- */
- void SetPartner( MWsfDetailsViewPartner& aPartner );
-
-
- public: // From MWsfActiveTimerHandler
-
- /**
- * Updates the details view active time
- * @since S60 5.0
- */
- void UpdateActiveTimeL();
-
-
- private: // Data
-
- /**
- * Details dialog model (not owned)
- */
- CWsfConnectedDetailsModel* iModel;
-
- /**
- * Details dialog (not owned)
- */
- CWsfConnectedDetailsDialog* iDialog;
- };
-
-
-
-#include "wsfconnecteddetailscontroller.inl"
-
-
-
-#endif // T_WSFCONNECTEDDETAILSCONTROLLER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailscontroller.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* 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: Inline for TWsfConnectedDetailsController
-*
-*/
-
-
-
-// INLINE FUNCTIONS
-
-// ---------------------------------------------------------------------------
-// TWsfConnectedDetailsController::SetDialog
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::SetDialog(
- CWsfConnectedDetailsDialog* aDialog )
- {
- iDialog = aDialog;
- }
-
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::SetModel
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::SetModel(
- CWsfConnectedDetailsModel* aModel )
- {
- iModel = aModel;
- }
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailsdialog.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* 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 CWsfConnectedDetailsDialog
-*
-*/
-
-#ifndef C_WSFCONNECTEDDETAILSDIALOG_H
-#define C_WSFCONNECTEDDETAILSDIALOG_H
-
-
-// INCLUDES
-#include <aknlistquerydialog.h>
-
-// INTERNAL INCLUDES
-#include "wsfconnecteddetailscontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfConnectedDetailsModel;
-class TWsfConnectedDetailsController;
-class CWsfActiveTimeUpdater;
-
-
-// CLASS DECLARATION
-
-/**
-* CWsfConnectedDetailsDialog class.
-* This class is used to display the Connected Details information
-*/
-class CWsfConnectedDetailsDialog : public CAknListQueryDialog
- {
- public: // Constructors and destructor
-
- /**
- * Two-phase construction.
- */
- static CWsfConnectedDetailsDialog* NewL();
-
- /**
- * Two-phased constructor.
- */
- static CWsfConnectedDetailsDialog* NewLC();
-
- /**
- * Destructor.
- */
- virtual ~CWsfConnectedDetailsDialog();
-
- private:
-
- /*
- * Second-phase constructor.
- */
- void ConstructL();
-
- /**
- * C++ default constructor.
- * @param aSelectionIndexArray The items which are selected within
- * the dialogs list box list.
- */
- CWsfConnectedDetailsDialog(
- CListBoxView::CSelectionIndexArray* aSelectionIndexArray );
-
- public: // New functions
-
- /**
- * Refresh the content list box of the dialog
- * @param aItemTextArray - items to be show on listbox
- */
- void UpdateListBox( MDesCArray* aItemTextArray );
-
- /**
- * Return controller interface
- * @return controller interface
- */
- MWsfDetailsViewControllerIf& Controller();
-
-
- /**
- * Set list model of the dialog.
- * @param aModel List model of the dialog
- */
- void SetListModel( CWsfConnectedDetailsModel* aModel );
-
- /**
- * Super class method overriden to prevent dialog window to be
- * shut down by pressing anywhere in the dialog (only pressing
- * the OK button should close the dialog.
- * @param aListBox -
- * @param TListBoxEvent -
- */
- void HandleListBoxEventL( CEikListBox* aListBox,
- TListBoxEvent aEventType );
-
- private: // from CEikDialog
-
- /**
- * sets the default value to the dialog.
- */
- void PreLayoutDynInitL();
-
- private: // Data
-
- /**
- * Reference for listbox
- * Not own.
- */
- CEikListBox* iList;
-
- /**
- * Reference for list box model
- * Not own.
- */
- CTextListBoxModel* iModel;
-
- /*
- * Connected Details Dilaog Controller
- */
- TWsfConnectedDetailsController iController;
-
- /*
- * Reference for the connected details model
- * Not own.
- */
- CWsfConnectedDetailsModel* iListModel;
-
- /*
- * Reference for the time updater
- * Own.
- */
- CWsfActiveTimeUpdater* iActiveUpdater;
- };
-
-#endif // C_WSFCONNECTEDDETAILSDIALOG_H
-
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailsmodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* 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 CWsfConnectedDetailsModel
-*
-*/
-
-
-#ifndef C_WSFCONNECTEDDETAILSMODEL_H
-#define C_WSFCONNECTEDDETAILSMODEL_H
-
-//EXTERNAL INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-#include <badesca.h>
-
-//INTERNAL INCLUDES
-
-//FORWARD DECLARATIONS
-class CCoeEnv;
-class CWsfWlanInfoArray;
-class TWsfWlanInfo;
-
-
-/**
- * Details view Model
- *
- * Holds & formats TWsfWlanInfo for list box showable format
- *
- * @since S60 v5.0
- */
-class CWsfConnectedDetailsModel : public CBase
- {
-
- public: // Constructors and destructor
-
- /**
- * Two-phase construction.
- */
- static CWsfConnectedDetailsModel* NewL();
-
- /**
- * Two-phased construction.
- */
- static CWsfConnectedDetailsModel* NewLC();
-
- /**
- * Destructor.
- */
- ~CWsfConnectedDetailsModel();
-
-
- public: // New methods
-
- /**
- * Finds out the current WLAN connection id
- * @since S60 5.0
- */
- void FindWlanConnectionL();
-
- /**
- * Formats Wlan info for showing
- *
- * @since S60 v5.0
- * @param aWlanInfo - selected Wlan info
- * @param aWlanArray - Wlan info array
- * @return formated text array
- */
- CDesCArrayFlat* FormatWlanInfoL( TWsfWlanInfo* aWlanInfo,
- CWsfWlanInfoArray* aWlanArray );
-
- /**
- * Refresh current Wlan info for showing
- *
- * @since S60 v5.0
- * @return refreshed text array
- */
- CDesCArrayFlat* RefreshCurrentWlanInfoL();
-
- /**
- * Creates listbox items from header and value (formatter %S\t%S)
- * @since S60 v5.0
- * @param aResourceId - id of loaded header string
- * @param aValueText - string containing value data
- * @return formated string
- */
- HBufC* FormatListBoxItemLC( const TUint aResourceId,
- const TDesC& aValueText ) const;
-
- /**
- * Returns WLAN details that has already formatted
- * @since S60 v5.0
- * @return Formatted WLAN details
- */
- CDesCArrayFlat* GetWlanDetails();
-
- /**
- * Returns current Wlan Ssid
- * @since S60 v5.0
- * @return Ssid
- */
- const TDesC8& WlanSsid() const;
-
- private:
-
- /**
- * C++ default constructor.
- */
- CWsfConnectedDetailsModel();
-
- /*
- * Second-phase constructor.
- */
- void ConstructL();
-
- // New methods
-
- private:
- /**
- * Appends Wlan Ssid to
- * iFormattedConnectedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppendConnectedWlanSsidL();
-
- /**
- * Appends duration of connection
- * to iConnectedFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppendDurationL();
-
- /**
- * Appends amount of transferred data
- * to iConnectedFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppendTransferredL();
-
- /**
- * Formats connection duration
- * to string
- * @since S60 v5.0
- * @return formated string
- */
- HBufC* FormatDurationLC();
-
- /**
- * Formats amount of transferred
- * data to string
- * @since S60 v5.0
- * @return formated string
- */
- HBufC* FormatTransferredLC();
-
- /**
- * Calculate number of visible (Not hidden) WLANs
- * @since S60 v.5.0
- * @param aArray Array of WLAN passed as reference
- * @return Number of visible WLANs
- */
- TInt VisibleWlans( CWsfWlanInfoArray& aArray );
-
- private: // Data
-
- /**
- * Copy of showed Wlan info
- */
- TWsfWlanInfo iWlanInfo;
-
- /**
- * Formater Wlan info
- * Own.
- */
- CDesCArrayFlat* iFormattedWlanInfo;
-
- /**
- * Time when connection started
- */
- TTime iStartTime;
-
- /**
- * True if the connection is still active
- */
- TBool iIsConnActive;
-
- /**
- * Duration of the connection
- */
- TTimeIntervalMicroSeconds iDuration;
-
- /**
- * Total number of bytes transmitted
- */
- TUint iBytesTransmitted;
-
- /**
- * The Connection Monitor
- */
- RConnectionMonitor iConnectionMonitor;
-
- /**
- * The Connection ID of the WLAN
- */
- TInt iConnectionId;
-
- /**
- * Coe env for loading string from resource
- * Ref.
- */
- CCoeEnv* iCoeEnv;
-
- /**
- * Reference to Wlan array
- * ref.
- */
- CWsfWlanInfoArray* iWlanArray;
-
- /**
- * Acts as a mutex for refreshing functions
- */
- TBool iRefreshing;
- };
-
-#endif // C_WSFCONNECTEDDETAILSMODEL_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailscontainer.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* 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 CWsfDetailsContainer
-*
-*/
-
-#ifndef C_WSFDETAILSCONTAINER_H
-#define C_WSFDETAILSCONTAINER_H
-
-// EXTERNAL INCLUDES
-#include <aknlists.h>
-#include <AknNaviDecoratorObserver.h>
-
-// INTERNAL INCLUDES
-#include "wsfdetailscontainerif.h"
-
-// FORWARD DECLARATIONS
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class MWsfDetailsViewControllerPartner;
-class CWsfDetailsViewModel;
-class CWsfActiveTimeUpdater;
-class MWsfActiveTimerHandler;
-
-// CLASS DECLARATION
-/**
-* CWsfDetailsContainer container control class.
-*
-* @since S60 5.0
-* @lib wlansniffer.exe
-*/
-class CWsfDetailsContainer : public CCoeControl,
- public MWsfDetailsContainerIf,
- public MAknNaviDecoratorObserver
-
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @param aRect gives the correct TRect for construction.
- * @param aController reference for the MWsfActiveTimerHandler
- * @return instance of CWsfDetailsContainer class
- */
- static CWsfDetailsContainer* NewL(
- const TRect& aRect,
- MWsfActiveTimerHandler& aController );
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @param aRect gives the correct TRect for construction.
- * @param aController reference for the MWsfActiveTimerHandler
- * @return instance of CWsfDetailsContainer class
- */
- static CWsfDetailsContainer* NewLC(
- const TRect& aRect,
- MWsfActiveTimerHandler& aController );
-
- /**
- * Destructor of CWsfDetailsContainer class
- * @since S60 5.0
- */
- ~CWsfDetailsContainer();
-
- private: // Constructors and destructor
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfDetailsContainer();
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- * @param aRect gives the correct TRect for construction.
- * @param aController reference for the MWsfActiveTimerHandler
- */
- void ConstructL( const TRect& aRect,
- MWsfActiveTimerHandler& aController );
-
- public: // New functions
-
- /**
- * Set partner interface to container
- * @param aPartner - partner interface
- */
- void SetPartner( MWsfDetailsViewControllerPartner& aPartner );
-
- /**
- * Set Model to container
- * @param aModel
- */
- void SetDetailsModel( CWsfDetailsViewModel* aModel );
-
- public: // from CCoeControl
-
- /**
- * Handles key events.
- * @since S60 5.0
- * @param aKeyEvent The key event
- * @param aType The type of key event: EEventKey, EEventKeyUp or
- * EEventKeyDown
- * @return Indicates whether or not the key event was used
- * by this control
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- /**
- * Gets an indexed component of a compound control
- * @since S60 5.0
- * @param aIndex The index of the control
- * @return The component control with an index of aIndex
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * Handles a change to the control's resources.
- * @since S60 5.0
- * @param aType A message UID value
- */
- void HandleResourceChange( TInt aType );
-
-
- public: // From MWsfDetailsContainerIf
-
- /**
- * Refresh the content of Navi pane and
- * Push it to stack.
- * @since S60 5.0
- * @param aPaneText Text to be show on pane
- */
- void UpdateNaviPaneL( const TDesC& aPaneText );
-
- /**
- * Refresh the content list box
- * @since S60 5.0
- * @param aItemTextArray Items to be show on listbox
- */
- void UpdateListBoxL( MDesCArray* aItemTextArray );
-
-
- private: // Methods from CoeControl
-
- /**
- * Responds to changes to the size and position of
- * the contents of this control.
- * @since S60 5.0
- */
- void SizeChanged();
-
- /**
- * Gets the number of controls contained in a compound control.
- * @since S60 5.0
- * @return The number of component controls contained by this control
- */
- TInt CountComponentControls() const;
-
- /**
- * Responds to a change in focus
- * @since S60 5.0
- * @param aDrawNow Contains the value that was passed to it
- * by SetFocus().
- */
- void FocusChanged( TDrawNow aDrawNow );
-
-
- private: // From MAknNaviDecoratorObserver
-
- /**
- * Handles events in the navipane
- * @since S60 5.0
- * @param aEventID The id of the event
- */
- void HandleNaviDecoratorEventL( TInt aEventID );
-
-
- private: // New methods
-
- /**
- * Gets the title panes.
- * @since S60 5.0
- */
- void GetPanesL();
-
- /**
- * Pop the NaviPane from stack.
- * @since S60 5.0
- */
- void PopNaviPane();
-
-
- private: // data
-
- /**
- * Listbox contains details a connection
- * Own.
- */
- CAknSingleHeadingStyleListBox* iListBox;
-
- /**
- * Partner reference
- * Ref.
- */
- MWsfDetailsViewControllerPartner* iPartner;
-
- /**
- * For NaviPane.
- * Own.
- */
- CAknNavigationDecorator* iNaviDecorator;
-
- /**
- * For NaviPane.
- * Ref.
- */
- CAknNavigationControlContainer* iNaviPane;
-
- /**
- * For CWsfDetailsViewModel.
- * Ref.
- */
- CWsfDetailsViewModel* iDetailsModel;
-
- /**
- * For CWsfActiveTimeUpdater.
- * Own.
- */
- CWsfActiveTimeUpdater* iActiveUpdater;
- };
-
-#endif // C_WSFDETAILSCONTAINER_H
-
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailscontainerif.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* 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 MWsfDetailsContainerIf
-*
-*/
-
-#ifndef M_WSFDETAILSCONTAINERIF_H
-#define M_WSFDETAILSCONTAINERIF_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-// FORWARD DECLARATIONS
-class MDesCArray;
-
-// CLASS DEFINITION
-/**
- * An interface to the Details view’s container for updating
- * its listbox or navigation pane.
- * @since S60 v5.0
- */
-class MWsfDetailsContainerIf
- {
- public: // Abstract methods
-
- /*
- * Refresh the content list box.
- * @param aItemTextArray - items to be show on listbox
- */
- virtual void UpdateListBoxL( MDesCArray* aItemTextArray ) = 0;
-
- /**
- * Refresh the content of Navi pane.
- * @param aPaneText - text to be show on pane
- */
- virtual void UpdateNaviPaneL( const TDesC& aPaneText ) = 0;
-
- };
-
-#endif // M_WSFDETAILSCONTAINERIF_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsview.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* 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 CWsfDetailsView
-*
-*/
-
-#ifndef C_WSFDETAILSVIEW_H
-#define C_WSFDETAILSVIEW_H
-
-// EXTERNAL INCLUDES
-#include <aknview.h>
-#include <aknlists.h>
-
-// INTERNAL INCLUDES
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfdetailsviewcontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfDetailsContainer;
-class MDetailsViewPartner;
-class CWsfDetailsViewModel;
-class TWsfDetailsViewController;
-
-// CLASS DECLARATION
-/**
-* CWsfDetailsView view class.
-*/
-class CWsfDetailsView : public CAknView,
- public MEikListBoxObserver
- {
-
- public:
-
- // Constructors and destructor
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @return instance of CWsfDetailsView class
- */
- static CWsfDetailsView* NewL();
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @return instance of CWsfDetailsView class
- */
- static CWsfDetailsView* NewLC();
-
- /**
- * Destructor of CWsfDetailsView class
- * @since S60 5.0
- */
- ~CWsfDetailsView();
-
- // Methods from CAknView
-
- /**
- * Returns views id.
- * @since S60 5.0
- * @return id for this view.
- */
- TUid Id() const;
-
- /**
- * Command handling function.
- * @since S60 5.0
- * @param aCommand ID of the command to respond to.
- */
- void HandleCommandL( TInt aCommand );
-
-
- // Methods from MEikListBoxObserver
-
- /**
- * From MEikListBoxObserver.
- * Handles listbox events.
- * @since S60 5.0
- * @param aListBox listbox pointer.
- * @param aEventType event type.
- */
- void HandleListBoxEventL( CEikListBox* aListBox,
- TListBoxEvent aEventType );
-
- // New methods
-
- /**
- * Return controller interface
- * @since S60 5.0
- * @return controiller interface
- */
- MWsfDetailsViewControllerIf& Controller();
-
-
- protected:
-
- // Functions from CAknView
-
- /**
- * From CAknView.
- * Called when view is activated.
- * @since S60 5.0
- * @param aPrevViewId previous view id.
- * @param aCustomMessageId custom message id.
- * @param aCustomMessage custom message content.
- */
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * From CAknView.
- * Called when view is deactivated.
- */
- void DoDeactivate();
-
- private: // Constructors and destructor
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfDetailsView();
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- private: // Data
-
- /**
- * Details view container
- * Own.
- */
- CWsfDetailsContainer* iContainer;
-
- /**
- * Controller of Details view
- * Own.
- */
- TWsfDetailsViewController iController;
-
- /**
- * Details view Model
- * Own.
- */
- CWsfDetailsViewModel* iModel;
-
- };
-
-#endif // C_WSFDETAILSVIEW_H
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontroller.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* 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 TWsfDetailsViewController
-*
-*/
-
-#ifndef T_WSFDETAILSVIEWCONTROLLER_H
-#define T_WSFDETAILSVIEWCONTROLLER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-// INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfwlaninfo.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfdetailsviewcontrollerpartner.h"
-#include "wsfactivetimerhandler.h"
-
-// FORWARD DECLARATIONS
-class CWsfDetailsViewModel;
-class MWsfDetailsContainerIf;
-class MWsfDetailsViewPartner;
-class MWsfActiveTimerHandler;
-
-// CLASS DEFINITION
-/**
- * Details view controller
- *
- * @since S60 5.0
- * @lib wlansniffer.exe
- */
-class TWsfDetailsViewController : public MWsfDetailsViewControllerIf,
- public MWsfDetailsViewControllerPartner,
- public MWsfActiveTimerHandler
- {
- public: // New methods
-
- /**
- * Model setter
- * @since S60 5.0
- * @param aModel Model pointer
- */
- void SetModel( CWsfDetailsViewModel* aModel );
-
- /**
- * container setter
- * @since S60 5.0
- * @param aContainer Container pointer
- */
- void SetContainer( MWsfDetailsContainerIf* aContainer );
-
-
- public: //From MWsfDetailsViewControllerIf
- /**
- * Set the Wlan array & selected item from main view to details view
- * @since S60 5.0
- * @param aWlanArray Current Wlan Array
- * @param aSelectedWlanSsid Selected Wlan from Main view
- */
- void SetWlanListL( CWsfWlanInfoArray* aWlanArray,
- const TDesC8& aSelectedWlanSsid );
-
- /**
- * Wlan array has been chaged eg. some wlan dropped or new found
- * @since S60 5.0
- * @param aWlanArray Current Wlan Array
- */
- void WlanListChangedL( CWsfWlanInfoArray* aWlanArray );
-
- /**
- * Refresh -> draw current model to view
- * @since S60 5.0
- */
- void RefreshL();
-
- /**
- * Sets partner object
- * @since S60 5.0
- * @param aPartner The new partner object
- */
- void SetPartner( MWsfDetailsViewPartner& aPartner );
-
-
- public: //Method from MWsfDetailsViewControllerPartner
-
- /**
- * Handles left key presses
- * @since S60 5.0
- */
- void HandleLeftKeyPressedL();
-
- /**
- * Handles right key presses
- * @since S60 5.0
- */
- void HandleRightKeyPressedL();
-
- /**
- * Handles selection key presses
- * @since S60 5.0
- */
- void HandleSelectionKeyPressedL();
-
-
- public: // From MWsfActiveTimerHandler
-
- /**
- * Updates the details view active time
- * @since S60 5.0
- */
- void UpdateActiveTimeL();
-
-
- private: // New methods
-
- /**
- * Handles pane text update on container
- * @since S60 5.0
- */
- void HandlePaneTextUpdateL();
-
-
- private: // Data
-
- //Ref: details view model
- CWsfDetailsViewModel* iModel;
-
- //Ref: details view container
- MWsfDetailsContainerIf* iContainer;
-
- //Ref: Details view partner
- MWsfDetailsViewPartner* iPartner;
-
- };
-
-#endif // T_WSFDETAILSVIEWCONTROLLER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontrollerif.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* 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 MWsfDetailsViewControllerIf
-*
-*/
-
-#ifndef M_WSFDETAILSVIEWCONTROLLERIF_H
-#define M_WSFDETAILSVIEWCONTROLLERIF_H
-
-// INCLUDES
-#include <e32base.h>
-
-
-//FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class MWsfDetailsViewPartner;
-
-/**
- * Interface between app level controller and details view controller
- */
-class MWsfDetailsViewControllerIf
- {
-
- public:
-
- /**
- * Set the Wlan array & selected item from main view to details view
- * @since S60 5.0
- * @param aWlanArray Current Wlan Array
- * @param aSelectedWlanSsid Selected Wlan from Main view
- */
- virtual void SetWlanListL( CWsfWlanInfoArray* aWlanArray,
- const TDesC8& aSelectedWlanSsid ) = 0;
-
- /**
- * Wlan array has been chaged eg. some wlan dropped or new found
- * @since S60 5.0
- * @param aWlanArray Current Wlan Array
- */
- virtual void WlanListChangedL( CWsfWlanInfoArray* aWlanArray ) = 0;
-
- /**
- * Refresh -> draw current model to view
- * @since S60 5.0
- */
- virtual void RefreshL() = 0;
-
- /**
- * Sets partner object
- * @since S60 5.0
- * @param aPartner The current partner object
- */
- virtual void SetPartner( MWsfDetailsViewPartner& aPartner ) = 0;
-
- };
-
-
-#endif // M_WSFDETAILSVIEWCONTROLLERIF_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontrollerpartner.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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 MWsfDetailsViewControllerPartner
-*
-*/
-
-#ifndef M_WSFDETAILSVIEWCONTROLLERPARTNER_H
-#define M_WSFDETAILSVIEWCONTROLLERPARTNER_H
-
-/**
- * An interface to the main controller for the Details view controller.
- *
- * @since S60 v5.0
- */
-class MWsfDetailsViewControllerPartner
- {
- public:
-
- /**
- * Handles left key presses
- * @since S60 5.0
- */
- virtual void HandleLeftKeyPressedL() = 0;
-
- /**
- * Handles right key presses
- * @since S60 5.0
- */
- virtual void HandleRightKeyPressedL() = 0;
-
- /**
- * Handles selection key presses
- * @since S60 5.0
- */
- virtual void HandleSelectionKeyPressedL() = 0;
-
- };
-
-#endif // M_WSFDETAILSVIEWCONTROLLERPARTNER_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewmodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* 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 CWsfDetailsViewModel
-*
-*/
-
-#ifndef C_WSFDETAILSVIEWMODEL_H
-#define C_WSFDETAILSVIEWMODEL_H
-
-//EXTERNAL INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-
-
-//INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-//FORWARD DECLARATIONS
-class CCoeEnv;
-class CWsfWlanInfoArray;
-
-
-/**
- * Details view Model
- *
- * Holds & formats TWlanInfo for list box showable format
- *
- * @lib Sniffer.app
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWsfDetailsViewModel ): public CBase
- {
-
- public:
-
- // Constructors and the C++ destructor
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @return instance of CWsfDetailsViewModel class
- */
- IMPORT_C static CWsfDetailsViewModel* NewL();
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @return instance of CWsfDetailsViewModel class
- */
- IMPORT_C static CWsfDetailsViewModel* NewLC();
-
- /**
- * Destructor of CWsfDetailsViewModel class
- * @since S60 5.0
- */
- ~CWsfDetailsViewModel();
-
-
- // New methods
-
- /**
- * Formats Wlan info for showing
- *
- * @since S60 v5.0
- * @param iWlanInfo - selected Wlan info
- * @param aWlanArray - Wlan info array
- * @return formated text array
- */
- CDesCArrayFlat* FormatWlanInfoL( TWsfWlanInfo* aWlanInfo,
- CWsfWlanInfoArray* aWlanArray );
-
- /**
- * Formats next Wlan info from array
- *
- * @since S60 v5.0
- * @return formated text array
- */
- CDesCArrayFlat* FormatNextWlanInfoL();
-
- /**
- * Formats previous Wlan info from array
- *
- * @since S60 v5.0
- * @return formated text array
- */
- CDesCArrayFlat* FormatPreviousWlanInfoL();
-
- /**
- * Formats text for pane to show
- *
- * @since S60 v5.0
- * @return formated text array
- */
- HBufC* FormatPaneTextLC();
-
- /**
- * Formats Left Scroll Button for pane to show
- *
- * @return boolen (EFalse show the arrow, ETrue hide it)
- */
- TBool FormatLeftScrollButton();
-
- /**
- * Formats Right Scroll Button for pane to show
- *
- * @return boolen (EFalse show the arrow, ETrue hide it)
- */
- TBool FormatRightScrollButton();
-
- /**
- * Returns WLAN details that has already formatted
- * @since S60 v5.0
- * @return Formatted WLAN details
- */
- CDesCArrayFlat* GetWlanDetails();
-
- /**
- * Returns current Wlan Ssid
- * @since S60 v5.0
- * @return Ssid
- */
- const TDesC8& WlanSsid() const;
-
- private:
-
- // Constructors and the C++ destructor
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfDetailsViewModel();
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- // New methods
-
- /**
- * Creates listbox items from header and value (formatter %S\t%S)
- * @since S60 v5.0
- * @param aResourceId - id of loaded header string
- * @param aValueText - string containing value data
- * @return formated string
- */
- HBufC* FormatListBoxItemLC( const TUint aResourceId,
- const TDesC& aValueText ) const;
-
- /**
- * Appends Wlan IAP Name to iFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppenWlanIapNameL();
-
- /**
- * Appends Wlan Ssid to iFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppenWlanSsidL();
-
- /**
- * Appends singnal strength to iFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppenSingnalL();
-
- /**
- * Appends wlan mode to iFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppenModeL();
-
- /**
- * Appends wlan security to iFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppenSecurityL();
-
- /**
- * Appends wlan coverage to iFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppenCoverageL();
-
- /**
- * Appends wlan speed to iFormattedWlanInfo
- * @since S60 v5.0
- */
- void FormatAndAppenSpeedL();
-
- /**
- * Formats signal strenth to string
- * @since S60 v5.0
- * @return formated string
- */
- HBufC* FormatSingnalStrenghtLC();
-
- /**
- * Formats wlan mode to string
- * @since S60 v5.0
- * @return formated string
- */
- HBufC* FormatModeLC();
-
- /**
- * Formats wlan security to string
- * @since S60 v5.0
- * @return formated string
- */
- HBufC* FormatSecurityLC();
-
- /**
- * Formats wlan coverage to string
- * @since S60 v5.0
- * @return formated string
- */
- HBufC* FormatCoverageLC();
-
- /**
- * Formats wlan technology to string
- * @since S60 v5.2
- * @return formated string
- */
- HBufC* FormatTechnologyLC();
-
- /**
- * Calculate number of visible (Not hidden) WLANs
- * @since S60 v.3.0
- * @param aArray Array of WLAN passed as reference
- * @return Number of visible WLANs
- */
- TInt VisibleWlans( CWsfWlanInfoArray& aArray );
-
- private: // data
-
- /**
- * Copy of showed Wlan info
- * Own.
- */
- TWsfWlanInfo iWlanInfo;
-
- /**
- * Formater Wlan info
- * Own.
- */
- CDesCArrayFlat* iFormattedWlanInfo;
-
- /**
- * Current List index;
- * Own.
- */
- TInt iIndex;
-
- /**
- * Coe env for loading string from resource
- * Ref.
- */
- CCoeEnv* iCoeEnv;
-
- /**
- * Reference to Wlan array
- * ref.
- */
- CWsfWlanInfoArray* iWlanArray;
-
- };
-
-#endif // C_WSFDETAILSVIEWMODEL_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewpartner.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* 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 MWsfDetailsViewPartner
-*
-*/
-
-#ifndef M_WSFDETAILSVIEWPARTNER_H
-#define M_WSFDETAILSVIEWPARTNER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-// CLASS DEFINITION
-/**
- * Details view's controller notifies application level controller
- * throught this interface
- * @since S60 5.0
- */
-class MWsfDetailsViewPartner
- {
- public: // Abstract methods
-
- /**
- * Detailsview requests to close view
- * @since S60 5.0
- */
- virtual void CloseDetailsViewL() = 0;
-
- /**
- * Refresh scanning
- */
- virtual void DetailsScanL() = 0;
- };
-
-#endif // M_WSFDETAILSVIEWPARTNER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdocument.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* 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 CWsfDocument
-*
-*/
-
-#ifndef C_WSFDOCUMENT_H
-#define C_WSFDOCUMENT_H
-
-//External includes
-#include <AknDoc.h>
-
-//Internal includes
-#include "wsfmaincontroller.h"
-
-
-// Forward references
-class CWsfAppUi;
-class CEikApplication;
-class CWsfModel;
-class CWsfWlanInfoArrayVisitor;
-
-
-/**
- * The document class of the Symbian OS application’s architecture.
- *
- * @since S60 v5.0
- * @lib wlansniffer.exe
- */
-NONSHARABLE_CLASS( CWsfDocument ) : public CAknDocument
- {
- public:
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @param aApp application creating this document
- * @return a pointer to the created instance of CWsfDocument
- */
- static CWsfDocument* NewL( CEikApplication& aApp );
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @param aApp application creating this document
- * @return a pointer to the created instance of CWsfDocument
- */
- static CWsfDocument* NewLC( CEikApplication& aApp );
-
- /**
- * Destructor of CWsfDocument class
- * @since S60 5.0
- */
- ~CWsfDocument();
-
- public:
-
- /**
- * The handle for iWlanInfoBranding
- * (reference for CWsfWlanInfoArrayVisitor)
- * @since S60 5.0
- * @return reference for CWsfWlanInfoArrayVisitor
- */
- inline CWsfWlanInfoArrayVisitor& WlanInfoBranding() const;
-
- /**
- * Returns a reference for the model (CWsfModel)
- * @since S60 5.0
- * @return reference to CWsfModel
- */
- inline CWsfModel& Model() const;
-
- public: // from CAknDocument
-
- /**
- * From CAknDocument.
- * Function to create the AppUi.
- *
- * @since S60 v5.0
- * @return the created AppUi instance
- */
- CEikAppUi* CreateAppUiL();
-
-
- private:
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- * @param aApp application creating this document
- */
- CWsfDocument( CEikApplication& aApp );
-
- private:
-
- /**
- * Main Controller
- */
- TWsfMainController iMainController;
-
- /**
- * Model
- * Own.
- */
- CWsfModel* iModel;
-
- /**
- * WlanInfoArrayVisitor
- * Own.
- */
- CWsfWlanInfoArrayVisitor *iWlanInfoBranding;
- };
-
-
-#include "wsfdocument.inl"
-
-
-#endif // C_WSFDOCUMENT_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdocument.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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: Inline for CWsfDocument
-*
-*/
-
-
-
-// INLINE FUNCTIONS
-
-// ---------------------------------------------------------------------------
-// CWsfDocument::Model
-// ---------------------------------------------------------------------------
-//
-inline CWsfModel& CWsfDocument::Model() const
- {
- return *iModel;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfDocument::WlanInfoBranding
-// ---------------------------------------------------------------------------
-//
-inline CWsfWlanInfoArrayVisitor& CWsfDocument::WlanInfoBranding() const
- {
- return *iWlanInfoBranding;
- }
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainapplication.hrh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* 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: Resource headers for project MainApplication
-*
-*/
-
-#ifndef WSFMAINAPPLICATION_HRH
-#define WSFMAINAPPLICATION_HRH
-
-/** Sniffer enumerate command codes */
-enum TWsfSnifferIds
- {
- ESnifferCmdStartBrowsing = 5000,
- ESnifferCmdContinueBrowsing,
- ESnifferCmdConnect,
- ESnifferCmdDisconnect,
- ESnifferCmdRefresh,
- ESnifferCmdFilterWlans,
- ESnifferCmdDetails,
- ESnifferCmdSettings,
- ESnifferCmdShowWlans
- };
-
-/** Dialog IDs */
-enum TWsfDialogIds
- {
- EWaitNoteSearchingWlans = 6000,
- EWaitNoteConnecting
- };
-
-/** View IDs */
-enum TWsfViewIds
- {
- EMainViewId = 0x1000,
- EDetailsViewId = 0x1001,
- EConnectedDetailsViewId = 0x1002
- };
-
-
-#endif // WSFMAINAPPLICATION_HRH
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,332 +0,0 @@
-/*
-* 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 <e32def.h>
-
-// 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
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainuiobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* 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 MWsfMainUiObserver
-*
-*/
-
-#ifndef M_WSFMAINUIOBSERVER_H
-#define M_WSFMAINUIOBSERVER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-// CLASS DEFINITION
-/**
- * An interface to the main controller for the AppUI.
- *
- * @since S60 v5.0
- */
-class MWsfMainUiObserver
- {
- public: // Abstract methods
-
- /**
- * Called when the main view has been created.
- * @since S60 5.0
- */
- virtual void MainViewCreatedL() = 0;
-
- /**
- * Brings the main wlan list to the foreground
- * @since S60 5.0
- */
- virtual void ShowWlanListL() = 0;
-
- /**
- * Issues a refresh on the wlan list
- * @since S60 5.0
- */
- virtual void RefreshL() = 0;
-
- /**
- * Invokes the details view
- * @since S60 5.0
- */
- virtual void ShowDetailsL() = 0;
-
- /**
- * Starts the browser with the currently selected wlan
- * @since S60 5.0
- */
- virtual void StartBrowsingL() = 0;
-
- /**
- * Continues browsing with the currently selected wlan
- * @since S60 5.0
- */
- virtual void ContinueBrowsingL() = 0;
-
- /**
- * Connects to the currently selected wlan
- * @since S60 5.0
- */
- virtual void ConnectL() = 0;
-
- /**
- * Disconnects the currently selected wlan
- * @since S60 5.0
- */
- virtual void DisconnectL() = 0;
-
- /**
- * Called when the application has completely started
- * @since S60 5.0
- */
- virtual void AppLaunchCompleteL() = 0;
-
- /**
- * Called when the application is brought to the foreground
- * @since S60 5.0
- */
- virtual void AppSwitchedForegroundL() = 0;
-
- /**
- * Called when the application is sent to the background
- * @since S60 5.0
- */
- virtual void AppSwitchedBackgroundL() = 0;
-
- /**
- * Invokes the wlan list filtering dialog
- * @since S60 5.0
- */
- virtual void EditBlackListItemsL() = 0;
-
- /**
- * Queries whether the engine is refreshing
- * @since S60 5.0
- * @return ETrue if the engine is refreshing, EFalse otherwise
- */
- virtual TBool EngineRefreshing() = 0;
-
- };
-
-#endif // M_WSFMAINUIOBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainview.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* 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 CWsfMainView
-*
-*/
-
-#ifndef C_WSFMAINVIEW_H
-#define C_WSFMAINVIEW_H
-
-// EXTERNAL INCLUDES
-#include <aknview.h>
-#include <aknlists.h>
-
-// INTERNAL INCLUDES
-#include "wsfmainviewcontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfMainViewContainer;
-class CWsfMainViewModel;
-
-
-
-// CLASS DEFINITION
-/**
- * The view class of the Main view.
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfMainView ): public CAknView,
- public MEikListBoxObserver
- {
- public:
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @param aIsEmbedded check application started
- * as an embedded application
- * @return instance of CWsfMainView class
- */
- static CWsfMainView* NewL( TBool aIsEmbedded );
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @param aIsEmbedded check application started
- * as an embedded application
- * @return instance of CWsfMainView class
- */
- static CWsfMainView* NewLC( TBool aIsEmbedded );
-
-
- /**
- * Destructor of CWsfMainView class
- * @since S60 5.0
- */
- ~CWsfMainView();
-
- private:
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL( TBool aIsEmbedded );
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfMainView();
-
-
- public: //From CAknView
-
- /**
- * From CAknView returns Uid of View
- * @since S60 5.0
- * @return TUid uid of the view
- */
- TUid Id() const;
-
- /**
- * From MEikMenuObserver delegate commands from the menu
- * @since S60 5.0
- * @param aCommand a command emitted by the menu
- */
- void HandleCommandL( TInt aCommand );
-
- /**
- * From CAknView reaction if size change
- * @since S60 5.0
- */
- void HandleClientRectChange();
-
-
- private: //From CAknView
-
- /**
- * From CAknView activate the view
- * @since S60 5.0
- * @param aPrevViewId
- * @param aCustomMessageId
- * @param aCustomMessage
- */
- void DoActivateL( const TVwsViewId& aPrevViewId,
- TUid aCustomMessageId,
- const TDesC8& aCustomMessage );
-
- /**
- * From CAknView deactivate the view (free resources)
- * @since S60 5.0
- */
- void DoDeactivate();
-
- private: // from MEikMenuObserver
-
- /**
- * From MEikCommandObserver
- * Control the menu pane commands
- * @since S60 5.0
- * @param aResourceId resource id of the menu pane to be modified
- * @param aMenuPane pointer to menu pane to be modified
- */
- void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
- protected:
- /**
- * From MEikListBoxObserver.
- * Handles listbox events.
- * @since S60 5.0
- * @param aListBox listbox pointer.
- * @param aEventType event type.
- */
- void HandleListBoxEventL( CEikListBox* aListBox,
- TListBoxEvent aEventType );
-
- public: //New functions
-
- /**
- * Return controller interface
- * @since S60 5.0
- * @return controiller interface
- */
- MWsfMainViewControllerIf& Controller();
-
- /**
- * Sets the iSelectionKey True
- * @since S60 5.0
- */
- void SelectionKeyPressed();
-
- /**
- * Checks if Browser is using the active WLAN connection
- */
- void UpdateBrowserUsageInfoL();
-
- private: //New functions
-
- /**
- * Check if the Browser application is already running and
- * using the selected connection.
- * @since S60 5.0
- * @return IapId that browser is using
- */
- TInt BrowserIapIdL();
-
- private:
-
- /**
- * Main view's controller
- */
- TWsfMainViewController iController;
-
- /**
- * Main view's container
- * Own.
- */
- CWsfMainViewContainer* iContainer;
-
- /**
- * Main view's model
- * Own.
- */
- CWsfMainViewModel* iModel;
-
- /**
- * Indicates FSelectionKey is pressed or not.
- */
- TBool iSelectionKey;
-
- /**
- * IapId that browser is using
- */
- TInt iBrowserIapId;
-
- };
-
-
-#endif // C_WSFMAINVIEW_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontainer.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,325 +0,0 @@
-/*
-* 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 CWsfMainViewContainer
-*
-*/
-
-#ifndef C_WSFMAINVIEWCONTAINER_H
-#define C_WSFMAINVIEWCONTAINER_H
-
-// EXTERNAL INCLUDES
-#include <coecntrl.h>
-#include <AknIconArray.h>
-#include <AknsConstants.h>
-
-// FORWARD DECLARATIONS
-class CAknDoubleGraphicStyleListBox;
-class MWsfMainViewControllerPartner;
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class CWsfMainView;
-
-// CLASS DEFINITION
-/**
- * The container of the Main view.
- * @since S60 v5.0
- */
-class CWsfMainViewContainer : public CCoeControl
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @param aRect gives the correct TRect for construction.
- * @return instance of CWsfMainViewContainer class
- */
- static CWsfMainViewContainer* NewL( const TRect& aRect,
- CWsfMainView* aParentView );
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @param aRect gives the correct TRect for construction.
- * @return instance of CWsfMainViewContainer class
- */
- static CWsfMainViewContainer* NewLC( const TRect& aRect,
- CWsfMainView* aParentView );
-
- /**
- * Destructor of CWsfMainViewContainer class
- * @since S60 5.0
- */
- ~CWsfMainViewContainer();
-
- private: // Constructors
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfMainViewContainer();
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- * @param aRect gives the correct TRect for construction.
- */
- void ConstructL( const TRect& aRect, CWsfMainView* aParentView );
-
- public: // New methods
-
- /**
- * Update the contents of control
- * Set the focus on aCurrentImte
- * @param aItemTextArray text of the current item
- * @param aCurrentItem index of the current item
- */
- void UpdateHotSpotsL( MDesCArray* aItemTextArray,
- TInt aCurrentItem );
-
- /**
- * Gives back the index of the selected item
- * @return the index of the selected item
- */
- TInt SelectedItem();
-
- /**
- * Set partner interface to container
- * @param aPartner - partner interface
- */
- void SetPartner( MWsfMainViewControllerPartner& aPartner );
-
- /**
- * Refresh the content of Navi pane and
- * Push it to stack.
- * @param aPaneText - text to be show on pane
- */
- void UpdateNaviPaneL( const TDesC& aPaneText );
-
- /**
- * Returns pointer to the listbox.
- * @return pointer to the listbox.
- */
- CAknDoubleGraphicStyleListBox* ListBox() const;
-
- protected: // Functions from CoeControl
-
- /**
- * From CCoeControl.
- * Responds to changes to the size and position of the contents
- * of this control.
- */
- void SizeChanged();
-
- /**
- * From CCoeControl.
- * Gets the number of controls contained in a compound control.
- * @return the number of controls this component contains.
- */
- TInt CountComponentControls() const;
-
- /**
- * From CCoeControl.
- * Gets an indexed component of a compound control.
- * @return The required component control.
- */
- CCoeControl* ComponentControl( TInt aIndex ) const;
-
- /**
- * From CCoeControl.
- * Handles key events.
- * @param aKeyEvent key event.
- * @param aType type of key event.
- */
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- /**
- * From CCoeControl,
- * used for sclable ui and landscape support.
- * Handles a change to the control's resources.
- * @param aType type of change.
- */
- void HandleResourceChange( TInt aType );
-
- /**
- * From CCoeControl.
- * Returns the help context
- * @param aContext the returned help context
- */
- void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-
- private: // New methods
-
- /**
- * Create the iconarray. Derived classes please don't forget that the
- * 0th icon must be the markable listbox's mark icon.
- * @return The created iconarray. Owner is the caller.
- */
- CAknIconArray* LoadGraphicsL();
-
- /**
- * Creates a new icon of desired type.
- * @param aIconId UID Icon type UID of the icon to be created.
- * @return Pointer of the icon.
- */
- CGulIcon* LoadIconLC( TInt aIconId );
-
- /**
- * Creates a new icon of desired type.
- * @param aIconId UID Icon type UID of the icon to be created.
- * @return Pointer of the icon.
- */
- CGulIcon* LoadBlackIconLC( TInt aIconId );
-
- /**
- * Creates a new icon of desired type.
- * @param aAknItemId An Akvon skin item ID of the graphical item
- * (e.g. an icon) to load.
- * @param aIconId UID Icon type UID of the icon to be created.
- * @return Pointer of the icon.
- */
- CGulIcon* LoadSkinnableIconLC( const TAknsItemID aAknItemId,
- const TInt aIconId );
-
- /**
- * Creates a new icon of desired type.
- * @param aAknItemId An Akvon skin item ID of the graphical item
- * (e.g. an icon) to load.
- * @param aIconId UID Icon type UID of the icon to be created.
- * @return Pointer of the icon.
- */
- CGulIcon* LoadSkinnableBlackIconLC( const TAknsItemID aAknItemId,
- const TInt aIconId );
-
- /**
- * CleanUp for NaviPane
- */
- void PopNaviPane();
-
- /**
- * Get the Navipane from the framework
- */
- void GetPanesL();
-
- /**
- * Set the icons for the ListBox
- */
- void SetListboxIconsL();
-
- /**
- * Cleanup function for a flat pointer array
- * @since S60 5.0
- * @param aArray The array whose elements are to be cleaned up
- */
- static void CleanUpResetAndDestroy( TAny* aArray );
-
- /*
- * Parses the string into ui component data
- * @param aString - a string into ui
- * @return - TBool - ETrue if connecting is found
- */
- TBool ParseStringForAnimationL( TDes& aString );
-
- /**
- * Set connecting status on.
- */
- void StartConnectingAnimationL();
-
- /**
- * Set connecting status off.
- */
- void StopConnectingAnimation();
-
- /**
- * Steps the connecting animation
- * @param ptr Pointer to an instance of this class
- */
- static TInt DoConnectingAnimationStepL( TAny* ptr );
-
- /**
- * Steps the connecting animation
- */
- void DoConnectingAnimationStepL();
-
- /**
- * Initialize the connecting animation
- */
- void InitializeConnectingAnimation();
-
- /*
- * Step the animation
- */
- void AnimateConnecting();
-
- private: // Data
-
- /*
- * Pointer to the listbox
- */
- CAknDoubleGraphicStyleListBox* iListBox;
-
- /**
- * Partner reference
- * Ref.
- */
- MWsfMainViewControllerPartner* iPartner;
-
- /**
- * NaviDecorator pointer for NaviPane.
- * Own.
- */
- CAknNavigationDecorator* iNaviDecorator;
-
- /**
- * NaviDecorator's default control pointer For NaviPane.
- * Ref.
- */
- CAknNavigationControlContainer* iNaviPane;
-
- /**
- * List of animation states of connecting icon
- */
- TFixedArray<TInt, 4> iConnectingIcons;
-
- /**
- * The connecting animation frame index
- */
- TInt iConnectingIndex;
-
- /**
- * The periodic that steps the animation
- */
- CPeriodic* iAnimationPeriodic;
-
- /**
- * Constants for 'Connecting' text
- * Own.
- */
- HBufC* iStatusConnecting;
-
- /**
- * Reference to the parent view
- */
- CWsfMainView* iParentView;
-
- };
-
-
-
-#endif // C_WSFMAINVIEWCONTAINER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontroller.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,166 +0,0 @@
-/*
-* 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 TWsfMainViewController
-*
-*/
-
-#ifndef T_WSFMAINVIEWCONTROLLER_H
-#define T_WSFMAINVIEWCONTROLLER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-// INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfwlaninfo.h"
-#include "wsfmainviewcontrollerif.h"
-#include "wsfmainviewpartner.h"
-#include "wsfmainviewcontrollerpartner.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfMainViewModel;
-class CWsfMainViewContainer;
-class CWsfWlanInfoArray;
-class MWsfMainViewPartner;
-
-// CLASS DEFINITION
-/**
- * TWsfMainViewController acts as a view level controller
- * @since S60 5.0
- */
-class TWsfMainViewController : public MWsfMainViewControllerIf,
- public MWsfMainViewControllerPartner
- {
-
- public: // New methods
-
-
- /**
- * Set view level model
- * @since S60 5.0
- * @param aModel - model pointer
- */
- void SetModel( CWsfMainViewModel* aModel );
-
- /**
- * Set view level view
- * @param aContainer - container pointer
- */
- void SetContainer( CWsfMainViewContainer* aContainer );
-
- /**
- * Updates available WLAN list to the display
- * @param aWlanList - Current Wlan Array
- */
- void UpdateHotSpotsL( CWsfWlanInfoArray* aWlanList );
-
- /**
- * Updates the local copy of the selected wlaninfo
- * @since S60 5.0
- */
- void UpdateSelectedItemL();
-
-
- public: //From MWsfMainViewControllerIf
-
- /**
- * Updates WLAN list with values passed as parameter
- * @param aWlanArray list of WLAN
- * @since S60 5.0
- */
- void UpdateWlanListL( CWsfWlanInfoArray* aWlanArray );
-
- /**
- * Updates WLAN list with values passed as parameter
- * when the main view is on the background
- * @param aWlanArray list of WLAN
- * @since S60 5.2
- */
- void UpdateWlanListInBackgroundL ( CWsfWlanInfoArray* aWlanArray );
-
- /**
- * Request to refresh the mainview
- * @since S60 5.0
- */
- void RefreshL();
-
- /**
- * Request to refresh the mainview
- * @return Details of selected WLAN
- * @since S60 5.0
- */
- TWsfWlanInfo* SelectedItem();
-
- /**
- * Sets partner object
- * @aPartner The partner
- * @since S60 5.0
- */
- void SetPartner( MWsfMainViewPartner& aPartner );
-
-
- public: //MWsfMainViewControllerPartner
-
- /**
- * Handles up key presses
- * @since S60 5.0
- */
- void HandleUpKeyPressedL();
-
- /**
- * Handles down key presses
- * @since S60 5.0
- */
- void HandleDownKeyPressedL();
-
- /**
- * Handles selection key presses
- * @since S60 5.0
- */
- void HandleSelectionKeyPressedL();
-
- private:
-
- /**
- * Updated navipane
- */
- void UpdateNaviPaneL();
-
-
- private: // Data
-
- //Ref: View level model
- CWsfMainViewModel* iModel;
-
- //Ref: View level view
- CWsfMainViewContainer* iContainer;
-
- //Ref: Partner
- MWsfMainViewPartner* iPartner;
-
- // Temporary storage for the current wlaninfo
- TWsfWlanInfo iSelectedItem;
-
- // Indicates whether a real wlaninfo is selected
- TBool iValidItem;
- };
-
-// INLINE FUNCTIONS
-
-#endif // T_WSFMAINVIEWCONTROLLER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontrollerif.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* 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 MWsfMainViewControllerIf
-*
-*/
-
-#ifndef M_WSFMAINVIEWCONTROLLERIF_H
-#define M_WSFMAINVIEWCONTROLLERIF_H
-
-
-#include <e32std.h>
-
-//Forward declarations
-class CWsfWlanInfoArray;
-class TWsfWlanInfo;
-class MWsfMainViewPartner;
-
-/**
- * Mainview controlling interface (Internal)
- *
- * @lib Sniffer.exe
- * @since S60 v5.0
- */
-class MWsfMainViewControllerIf
- {
- public:
-
- /**
- * Updates WLAN list with values passed as parameter
- * @param aWlanArray list of WLAN
- * @since S60 5.0
- */
- virtual void UpdateWlanListL( CWsfWlanInfoArray* aWlanArray ) = 0;
-
- /**
- * Updates WLAN list with values passed as parameter
- * when the main view is in the background
- * @param aWlanArray list of WLAN
- * @since S60 5.2
- */
- virtual void UpdateWlanListInBackgroundL(
- CWsfWlanInfoArray* aWlanArray ) = 0;
-
- /**
- * Request to refresh the mainview
- * @since S60 5.0
- */
- virtual void RefreshL( ) = 0;
-
- /**
- * Request to refresh the mainview
- * @return Details of selected WLAN
- * @since S60 5.0
- */
- virtual TWsfWlanInfo* SelectedItem() = 0;
-
- /**
- * Sets partner object
- * @aPartner The partner
- * @since S60 5.0
- */
- virtual void SetPartner( MWsfMainViewPartner& aPartner ) = 0;
- };
-
-
-#endif // M_WSFMAINVIEWCONTROLLERIF_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontrollerpartner.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* 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 MWsfMainViewControllerPartner
-*
-*/
-
-#ifndef M_WSFMAINVIEWCONTROLLERPARTNER_H
-#define M_WSFMAINVIEWCONTROLLERPARTNER_H
-
-/**
- * An interface to the Main view controller for the Main view container.
- * @since S60 v5.0
- */
-class MWsfMainViewControllerPartner
- {
- public:
-
- /**
- * Handles up key presses
- * @since S60 5.0
- */
- virtual void HandleUpKeyPressedL() = 0;
-
- /**
- * Handles down key presses
- * @since S60 5.0
- */
- virtual void HandleDownKeyPressedL() = 0;
-
- /**
- * Handles selection key presses
- * @since S60 5.0
- */
- virtual void HandleSelectionKeyPressedL() = 0;
- };
-
-#endif // M_WSFMAINVIEWCONTROLLERPARTNER_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewinternals.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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: MainView internals
-*
-*/
-
-#ifndef WSFMAINVIEWINTERNALS_H
-#define WSFMAINVIEWINTERNALS_H
-
-//Constants
-/** Icon ID constants */
-
-//Animation Icons
-const TInt KWlanOnIcon = 0;
-const TInt KWlanOnIcon_0 = 1;
-const TInt KWlanOnIcon_1 = 2;
-
-const TInt KSecureNetworkIcon = 3;
-const TInt KNoSignalIcon = 4;
-const TInt KPoorSignal = 5;
-const TInt KAverageSignal = 6;
-const TInt KExcelentSignal = 7;
-const TInt KConnectedNWIcon = 8;
-const TInt KKnownNWIcon = 9;
-const TInt KTransparentIcon = 10;
-
-#endif // WSFMAINVIEWINTERNALS_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewmodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,190 +0,0 @@
-/*
-* 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 CWsfMainViewModel
-*
-*/
-
-#ifndef C_WSFMAINVIEWMODEL_H
-#define C_WSFMAINVIEWMODEL_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include <gulicon.h>
-#include <AknIconArray.h>
-#include "wsfwlaninfo.h"
-
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class CCoeEnv;
-
-// CLASS DEFINITION
-/**
- * View (Main view) level model.
- *
- * @since S60 5.0
- * @lib wlansniffer.exe
- */
-NONSHARABLE_CLASS( CWsfMainViewModel ): public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Two-phased constructor
- * @since S60 5.0
- * @return instance of CWsfMainViewModel class
- */
- static CWsfMainViewModel* NewL();
-
- /**
- * Two-phased constructor. Leaves the object on CleanupStack
- * @since S60 5.0
- * @return instance of CWsfMainViewModel class
- */
- static CWsfMainViewModel* NewLC();
-
- /**
- * Destructor of CWsfMainViewModel class
- * @since S60 5.0
- */
- ~CWsfMainViewModel();
-
- private: // Constructors
-
- /**
- * Default C++ constructor
- * @since S60 5.0
- */
- CWsfMainViewModel();
-
- /**
- * 2nd phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
- public: // New methods
-
- /**
- * Creates array for the listbox.
- * @param Array of WLAN that will be formatted.
- */
- void FormatWlanListL( CWsfWlanInfoArray* aWlanList );
-
- /*
- * Returns WLAN list that has already formatted
- * @return Formatted WLAN list
- */
- CDesCArrayFlat* GetWlanList();
-
- /**
- *
- * @return non-formatted WLAN list
- */
- CWsfWlanInfoArray* GetInfoArray();
-
- /**
- * Store Ssid of selected WLAN
- * Get ownership of parameter
- * @param aSsid WLAN name
- */
- void SetSelectedWlan( HBufC8* aSsid );
-
- /**
- * Return Ssid of selected WLAN
- * @return WLAN name
- */
- const TDesC8& SelectedWlan();
-
- /**
- * Stored current listbox index
- * @param aIndex Listbox iden
- */
- void SetSelectedIndex( TInt aIndex );
-
- /**
- * Return stored index listbox
- * @return Previously stored listbox index
- */
- TInt SelectedIndex();
-
- /**
- * Returns navipane text
- * @return Navipane text
- */
- HBufC* FormatNaviPaneLC();
-
- private: // New methods
-
- /**
- * Format the Hidden WLANs for the listbox.(text and icon)
- * @since S60 v5.0
- * @param aWlan - Reference to wlaninfo
- * @param aItem - Listbox item
- */
- void FormatHiddenWlanItemL( TWsfWlanInfo& aWlan, TDes& aItem );
-
- /**
- * Format the WlanInfo (visible networks) items for the
- * listbox.(text and icon)
- * @since S60 v5.0
- * @param aWlan - reference to wlaninfo
- * @param aItem - listbox item
- */
- void FormatVisibleWlanItemL( TWsfWlanInfo& aWlan, TDes& aItem );
-
- private: // Data
-
- /**
- * The wlaninfo array we are currently working on.
- * Not Own. (Ref.)
- */
- CWsfWlanInfoArray* iWlanInfoArray;
-
- /**
- * Coe env for loading string from resource
- * Not Own. (Ref.)
- */
- CCoeEnv* iCoeEnv;
-
- /**
- * List that contains the WLAN items
- * Own.
- */
- CDesCArrayFlat* iFormattedWlanList;
-
- /**
- * Store name of focused WLAN
- * Own.
- */
- HBufC8* iSelectedWlan;
-
- /**
- * Index of the selected listbox item.
- */
- TInt iListboxIndex;
-
- /**
- * It contains the number of the Visible WLANs
- */
- TUint iVisibleWlans;
- };
-
-
-
-#endif // C_WSFMAINVIEWMODEL_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewpartner.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* 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 MWsfMainViewPartner
- *
-*/
-
-#ifndef M_WSFMAINVIEWPARTNER_H
-#define M_WSFMAINVIEWPARTNER_H
-
-/**
- * An interface to the Main view controller for the Main view container
- * @since S60 5.0
- */
-class MWsfMainViewPartner
- {
- public:
-
- /**
- * Mainview request to show manubar
- * @since S60 5.0
- */
- virtual void ShowMenuBarL() = 0;
- };
-
-#endif // M_WSFMAINVIEWPARTNER_H
--- a/wlanutilities/wlansniffer/mainapplication/loc/wsfmainapplication.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-/*
-* 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: Localization strings for project Wlan Sniffer
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-//------------------------------------------------------------------------------
-// Connected Details Pop-up heading texts *
-//------------------------------------------------------------------------------
-//d: Heading text for Connected Details Pop-up
-//l: heading_pane_t1
-//r:3.0
-//
-#define qtn_wlan_heading_connection_details "Connection details:"
-
-//------------------------------------------------------------------------------
-// Connected Details Pop-up item heading texts *
-//------------------------------------------------------------------------------
-//d:The name of the connected WLAN network (Ssid)
-//d:%U is a name of a connected WLAN.
-//l:list_single_heading_pane_t2_cp2
-//r:3.0
-//
-#define qtn_wlan_item_heading_text_wlan "WLAN"
-
-//d:The duration of connection of the WLAN (Active time)
-//d:%N is a duration time in format hh.mm.ss
-//l:list_single_heading_pane_t2_cp2
-//r:3.0
-//
-#define qtn_wlan_item_heading_duration "Duration"
-
-//d:The amount of the transferred data
-//l:list_single_heading_pane_t2_cp2
-//r:3.0
-//
-#define qtn_wlan_item_heading_transf "Transfd."
-
-//------------------------------------------------------------------------------
-// Connected Details Pop-up item texts *
-//------------------------------------------------------------------------------
-
-//d:The amount of the transferred data
-//d:%U is an amount of transferred data e.g. "250 kB"
-//l:list_single_heading_pane_t1_cp2
-//r:3.0
-//
-#define qtn_wlan_item_kb "%U kB"
-
-//d:The amount of the transferred data
-//d:%U is an amount of transferred data e.g. "250MB"
-//l:list_single_heading_pane_t1_cp2
-//r:3.0
-//
-#define qtn_wlan_item_mb "%U MB"
-
-
-//-----------------------------------------------------------------------------
-// Main View *
-//-----------------------------------------------------------------------------
-
-//d:Navi pane text in Available WLAN networks main view, if only one network is available.
-//d:copied from S60: qtn_cmon_navi_one_wlan_nw_available
-//l:navi_navi_text_pane_t1
-//r:3.0
-//
-#define qtn_cmon_navi_one_wlan_nw_available "1 network available"
-
-
-//d:Navi pane text in Available WLAN networks main view, if more than one network is available
-//d:(%N is the amount of networks).
-//d:copied from S60: qtn_cmon_navi_many_wlan_nws_available
-//l:navi_navi_text_pane_t1
-//r:3.0
-//
-#define qtn_cmon_navi_many_wlan_nws_available "%N networks available"
-
-
-//d: Menu item to disconnect WLAN network
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_disconnect_wlan "Disconnect WLAN"
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to open WLAN settings view
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_settings "Settings"
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to define new access point for the selected WLAN
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_define_access_point "Define access point"
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to edit access point for the selected WLAN
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_edit_access_point "Edit access point"
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to view details of WLAN networks
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_details "Details"
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to refresh list of WLAN hotspots
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_refresh "Refresh"
-
-
-//d: Menu item.
-//d: The command is used to connect WLAN using selected IAP
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_connect "Connect"
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to start web browser
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_start_web_browsing "Start Web browsing"
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to continue web browsing with selected IAP
-//l: list_single_pane_t1_cp2
-//r:3.0
-#define qtn_sniffer_opt_continue_web_browsing "Continue Web browsing"
-
-//d: Text for unknown WLAN network
-//l:list_double_graphic_pane_t2
-//r:3.0
-//
-#define qtn_sniffer_unknown "Unknown"
-
-
-//d: Text for known WLAN network
-//l:list_double_graphic_pane_t2
-//r:3.0
-//
-#define qtn_sniffer_known "Known"
-
-
-//d: Text for a network that a connection is being established
-//l:list_double_graphic_pane_t2
-//r:5.2
-//
-#define qtn_sniffer_connecting "Connecting"
-
-
-//d: Text for connected WLAN network
-//l:list_double_graphic_pane_t2
-//r:3.0
-//
-#define qtn_sniffer_connected "Connected"
-
-
-// d:label text for hidden ssid at select wlan network dialog list
-// d:(one row)
-// l:list_double_graphic_pane_t1
-#define qtn_sniffer_plug_in_hidden_ssid_label "Other (hidden netw.)"
-
-//d: Application title
-//l: title_pane_t2/opt9
-//r:3.0
-//
-#define qtn_sniffer_title "WLAN"
-
-//d: If no WLAN network have been found, The information note is displayed.
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_wlan_info_no_networks_found "No WLAN networks found"
-
-//d: This error note is displayed if the user wants to connect but
-//d: there is already an active WLAN connection.
-//l: popup_note_window/opt1
-//r:3.0
-//
-#define qtn_wlan_info_connection_already_active "A WLAN connection is already active. Close connection and try again."
-
-
-//d:The main view is empty and the application starts to search available WLAN
-//d:networks. During scanning a wait note Searching WLAN networks...
-//l:popup_note_wait_window
-//r:3.0
-//
-#define qtn_wlan_wait_searching_networks "Searching WLAN networks"
-
-//d: This confirmation query is displayed if the user selected Start web browsing
-//d: on a WLAN network but the browser is already running and using
-//d: a different connection.
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_sniffer_quest_restart_browsing_with_wlan "Web application needs to be restarted for WLAN usage. Continue?"
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu
-//d: The command is used to set/edit wlans which are blocked away
-//l: list_single_pane_t1_cp2
-//r:3.0
-#define qtn_sniffer_opt_filter_out_wlans "Filter out networks"
-
-//d: Title of Filter out wlans list
-//l: heading_pane_t1
-//r:3.0
-//
-#define qtn_note_title_filter_out_wlans "Hide selected networks:"
-
-
-
-
-//------------------------------------------------------------------------------
-// Details view texts (specified in Networking spec) *
-//------------------------------------------------------------------------------
-
-
-//d:Navi pane text in Available WLAN networks details view.
-//d:The navi pane displays the “serial number” (%0N) of the
-//d:network in question and the total amount of the connections
-//d:(%1N) using the navigation text component: %0N/%1N
-//l:navi_navi_text_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_navi_nof_wlan_network "%0N/%1N"
-
-//d:The name of the WLAN IAP
-//l:list_single_heading_pane_t2
-//w:
-//r:5.0
-//
-#define qtn_cmon_heading_conn_name "Name"
-
-//d: WLAN network name (SSID) detail of the network
-//l:list_single_heading_pane_t2
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_network_name "Network"
-
-//d: WLAN network signal strength detail of the network
-//l:list_single_heading_pane_t2
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_signal_strength "Signal"
-
-//d: WLAN network mode detail of the network
-//l:list_single_heading_pane_t2
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_network_mode "Mode"
-
-//d:WLAN network Security mode used by the WLAN network detail of the network
-//l:list_single_heading_pane_t2
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_security_mode "Security"
-
-//d:WLAN network Amount of physical WLAN access points detail of the network
-//l:list_single_heading_pane_t2
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_nw_ap_amount "Coverage"
-
-//d:WLAN network Maximum data rate detail of the network
-//l:list_single_heading_pane_t2
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_nw_max_rate "Max. rate"
-
-//d:WLAN network Amount of physical WLAN access points (AP) in range, if a single AP is in range
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_ap_amount_in_range_1 "1 access point"
-
-//d:WLAN network Amount of physical WLAN access points (AP) in range, if multiple APs in range (%N is the amount)
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_ap_amount_in_range_many "%N access points"
-
-//d:WLAN network Maximum data rate in network (of best AP in range)
-//d:in megabits per secondin
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_max_data_rate "%U Mbit/s"
-
-//d:In details view, if a certain detail becomes unavailable this string is displayed
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_parameter_unavailable "(unavailable)"
-
-//d: WLAN network signal strength text if the network in question becomes unavailable while
-//d:in details view,
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_no_signal "No signal"
-
-//d: WLAN network signal strength value text
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_low "Low (%N%)"
-
-//d: WLAN network signal strength value text
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_medium "Medium (%N%)"
-
-//d: WLAN network signal strength value text
-//l:list_single_heading_pane_t1
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_good "Good (%N%)"
-
-//d: WLAN network security mode value text
-//l:list_single_heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_open "Open network"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode
-//l:list_single_heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_wep "WEP"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode
-//l:list_single_heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_802_1x "802.1x"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode
-//l:list_single_heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_wpa "WPA/WPA2"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode
-//l:list_single_heading_pane_t1
-//w:
-//r:5.2
-//
-#define qtn_wlan_sett_security_mode_wapi "WAPI"
-
-//d: WLAN network network mode: with AP
-//l:list_single_heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_network_mode_infra "Infrastructure"
-
-//d: WLAN network network mode: without AP
-//l:list_single_heading_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_network_mode_adhoc "Ad-hoc"
-
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/rom/wsfmainapplication.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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: Image description file for project Wlan Sniffer
-*
-*/
-
-#ifndef WSFMAINAPPLICATION_IBY
-#define WSFMAINAPPLICATION_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApplication
-
-#include <bldvariant.hrh>
-
-S60_APP_AIF_RSC(wlansniffer)
-
-S60_APP_EXE(wlansniffer)
-
-#endif //__PROTOCOL_WLAN
-
-#endif // WSFMAINAPPLICATION_IBY
--- a/wlanutilities/wlansniffer/mainapplication/rom/wsfmainapplicationresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* 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: Image description file for project Wlan Sniffer
-*
-*/
-
-#ifndef WSFMAINAPPLICATIONRESOURCES_IBY
-#define WSFMAINAPPLICATIONRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApplicationResources
-
-#include <bldvariant.hrh>
-
-S60_APP_RESOURCE(wlansniffer)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFMAINAPPLICATIONRESOURCES_IBY
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfactivetimeupdater.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* 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: Implementation of CWsfActiveTimeUpdater.
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfactivetimeupdater.h"
-#include "wsfactivetimerhandler.h"
-
-#include "wsflogger.h"
-
-// CONSTANTS
-
-// CONSTRUCTION AND DESTRUCTION
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfActiveTimeUpdater* CWsfActiveTimeUpdater::NewL(
- MWsfActiveTimerHandler* aActiveTimerHandler )
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::NewL" );
- CWsfActiveTimeUpdater* thisPtr = NewLC( aActiveTimerHandler );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfActiveTimeUpdater* CWsfActiveTimeUpdater::NewLC(
- MWsfActiveTimerHandler* aActiveTimerHandler )
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::NewLC" );
- CWsfActiveTimeUpdater* thisPtr =
- new ( ELeave ) CWsfActiveTimeUpdater( aActiveTimerHandler );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater
-// ---------------------------------------------------------------------------
-//
-CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater()
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater" );
- if( iPeriodic )
- {
- iPeriodic->Cancel();
- }
- delete iPeriodic;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::CWsfActiveTimeUpdater
-// ---------------------------------------------------------------------------
-//
-CWsfActiveTimeUpdater::CWsfActiveTimeUpdater(
- MWsfActiveTimerHandler* aActiveTimerHandler )
- : iActiveTimerHandler( aActiveTimerHandler )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfActiveTimeUpdater::ConstructL()
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::ConstructL" );
- iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
- }
-
-// METHODS
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::Start
-// ---------------------------------------------------------------------------
-//
-void CWsfActiveTimeUpdater::Start( TInt aUpdateInterval )
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::Start" );
- // Start periodic timer
- iPeriodic->Start( TTimeIntervalMicroSeconds32( 0 ),
- TTimeIntervalMicroSeconds32( aUpdateInterval ),
- TCallBack( UpdateTimeL, this ) );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::Stop
-// ---------------------------------------------------------------------------
-//
-void CWsfActiveTimeUpdater::Stop()
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::Stop" );
- // Cancel the timer request
- iPeriodic->Cancel();
- }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::DoUpdateTimeL
-// ---------------------------------------------------------------------------
-//
-void CWsfActiveTimeUpdater::DoUpdateTimeL()
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::DoUpdateTimeL" );
- iActiveTimerHandler->UpdateActiveTimeL();
- }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::UpdateTimeL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfActiveTimeUpdater::UpdateTimeL( TAny* aUpdater )
- {
- LOG_ENTERFN( "CWsfActiveTimeUpdater::UpdateTimeL" );
- static_cast<CWsfActiveTimeUpdater*>( aUpdater )->DoUpdateTimeL();
- return 0;
- }
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfactivewaiter.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* 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: Implementation of CWsfActiveWaiter.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL( )
- {
- LOG_ENTERFN("CWsfActiveWaiter::NewL");
- CWsfActiveWaiter* self =
- new ( ELeave ) CWsfActiveWaiter( );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::ConstructL()
- {
- LOG_ENTERFN("CWsfActiveWaiter::ConstructL");
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter()
-: CActive( EPriorityNormal )
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::~CWsfActiveWaiter()
- {
- Cancel();
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::DoCancel()
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::RunL()
- {
- LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
- if ( iWait.IsStarted() )
- {
- LOG_WRITE("async call completed, resuming.");
- iWait.AsyncStop();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest()
-// ---------------------------------------------------------
-//
-TInt CWsfActiveWaiter::WaitForRequest()
- {
- LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
- SetActive();
- iWait.Start();
-
- return iStatus.Int();
- }
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfapplication.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* 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: Implementation of CWsfApplication.
-*
-*/
-
-
-#include "wsfdocument.h"
-#include "wsfapplication.h"
-
-// UID for the application, this should correspond
-// to the uid defined in the mmp file
-static const TUid KUidSnifferApp = {0x10281CAA};
-
-// ---------------------------------------------------------
-// CWsfApplication::CreateDocumentL()
-// ---------------------------------------------------------
-//
-CApaDocument* CWsfApplication::CreateDocumentL()
- {
- // Create an Sniffer document, and return a pointer to it
- CApaDocument* document = CWsfDocument::NewL( *this );
- return document;
- }
-
-// ---------------------------------------------------------
-// CWsfApplication::AppDllUid()
-// ---------------------------------------------------------
-//
-TUid CWsfApplication::AppDllUid() const
- {
- // Return the UID for the Sniffer application
- return KUidSnifferApp;
- }
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,553 +0,0 @@
-/*
-* 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: Implementation of CWsfAppUi.
-*
-*/
-
-#include <avkon.hrh>
-#include <aknnotewrappers.h>
-#include <eikmenub.h>
-#include <hlplch.h>
-#include <featmgr.h>
-#include <StringLoader.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <centralrepository.h>
-#include <ErrorUI.h>
-#include <wlansniffer.rsg>
-#include <ConnectionUiUtilities.h>
-
-#include "wlansettingsui.h"
-#include "wsfappui.h"
-#include "wsfmainview.h"
-#include "wsfdetailsview.h"
-#include "wsfmainviewcontrollerif.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfmainuiobserver.h"
-#include "wsfmainapplication.hrh"
-#include "wsfdocument.h"
-#include "wsfconnecteddetailsdialog.h"
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfmodel.h"
-#include "wsflogger.h"
-
-// LOCAL DEFINITIONS
-#ifdef _DEBUG
- _LIT( KAppUi, "CWsfAppUi" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KAppUi, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ConstructL()
- {
- LOG_CREATE;
- LOG_WRITE( "Constructing Wlan Sniffer" );
- LOG_ENTERFN( "CWsfAppUi::ConstructL" );
-
- BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-
- // Initialize feature manager
- FeatureManager::InitializeLibL();
- iFeatureManagerInitialized = ETrue;
-
- iIdle = CIdle::NewL( CActive::EPriorityIdle );
-
- // check if the app. launched in embedded mode
- TBool isEmbeddedApp = IsEmbedded();
- LOG_WRITEF( "IsEmbedded(): %d", isEmbeddedApp );
-
- //Create mainview
- LOG_WRITE( "Creating main view" );
- CWsfMainView* mainView = CWsfMainView::NewLC( isEmbeddedApp );
- LOG_WRITE( "Adding main view" );
- AddViewL( mainView ); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop( mainView );
- LOG_WRITE( "main view creating done" );
- SetDefaultViewL( *mainView );
- iObserver->MainViewCreatedL();
-
- //Create details view (not connected)
- LOG_WRITE( "Create details view (not connected)" );
- CWsfDetailsView* detailsView = CWsfDetailsView::NewLC();
- LOG_WRITE( "Adding details view (not connected)" );
- AddViewL( detailsView ); // transfer ownership to CAknViewAppUi
- CleanupStack::Pop( detailsView );
- LOG_WRITE( "details view (not connected) creating done" );
-
- ActivateMainViewL();
-
- iIdle->Start( TCallBack( AppLaunchCompleteL, this ) );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::CWsfAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAppUi::CWsfAppUi():
- iConnectedDetailsDialog( NULL ),
- iForeground( ETrue ),
- iFeatureManagerInitialized( EFalse )
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::~CWsfAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAppUi::~CWsfAppUi()
- {
- if ( iWaitDialog )
- {
- iWaitDialog->SetCallback( NULL );
- TRAP_IGNORE( iWaitDialog->ProcessFinishedL() );
- }
-
- if ( iFeatureManagerInitialized )
- {
- FeatureManager::UnInitializeLib();
- }
-
- delete iIdle;
- delete iConnectedDetailsDialog;
- LOG_WRITE( "CWsfAppUi::~CWsfAppUi" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HandleCommandL( TInt aCommand )
- {
- LOG_ENTERFN( "CWsfAppUi::HandleCommandL" );
- switch ( aCommand )
- {
- case EEikCmdExit:
- case EAknCmdExit:
- case EAknSoftkeyExit:
- {
- if ( iAppLaunchCompleted )
- {
- Exit();
- }
- break;
- }
-
- case ESnifferCmdStartBrowsing:
- {
- iObserver->StartBrowsingL();
- break;
- }
-
- case ESnifferCmdContinueBrowsing:
- {
- iObserver->ContinueBrowsingL();
- break;
- }
-
- case ESnifferCmdShowWlans:
- {
- iObserver->ShowWlanListL();
- break;
- }
-
- case ESnifferCmdConnect:
- {
- iObserver->ConnectL();
- break;
- }
- case ESnifferCmdDisconnect:
- {
- iObserver->DisconnectL();
- break;
- }
- case ESnifferCmdRefresh:
- {
- iObserver->RefreshL();
- break;
- }
- case ESnifferCmdDetails:
- {
- iObserver->ShowDetailsL();
- break;
- }
- case ESnifferCmdFilterWlans:
- {
- iObserver->EditBlackListItemsL();
- break;
- }
- case ESnifferCmdSettings:
- {
- // launch settings dialog
- CWlanSettingsUi* wlanSettings =
- CWlanSettingsUi::NewL( *iEikonEnv );
- CleanupStack::PushL( wlanSettings );
- iForeground = EFalse;
- wlanSettings->RunSettingsL();
- iForeground = ETrue;
- CleanupStack::PopAndDestroy( wlanSettings );
- break;
- }
- case EAknCmdHelp:
- {
- if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
- {
- HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
- AppHelpContextL() );
- }
- break;
- }
-
- default:
- {
- break;
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::SetUiObserver
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::SetUiObserver( MWsfMainUiObserver* aObserver )
- {
- iObserver = aObserver;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HandleResourceChangeL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HandleResourceChangeL( TInt aType )
- {
- CAknAppUi::HandleResourceChangeL( aType );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HandleForegroundEventL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HandleForegroundEventL( TBool aForeground )
- {
- LOG_ENTERFN( "CWsfAppUi::HandleForegroundEventL" );
- //Application switched to foreground.
- if ( aForeground )
- {
- CWsfMainView* mainView = static_cast<CWsfMainView*>(
- View( TUid::Uid( EMainViewId ) ) );
- if ( mainView )
- {
- TRAPD( err, mainView->UpdateBrowserUsageInfoL() );
- if ( err )
- {
- LOG_WRITEF( "Browser iap usage update failed - err=%d", err );
- }
- }
-
- if ( iObserver )
- {
- iObserver->AppSwitchedForegroundL();
- }
- }
- else
- {
- if ( iObserver )
- {
- iObserver->AppSwitchedBackgroundL();
- }
-
- }
-
- CAknViewAppUi::HandleForegroundEventL( aForeground );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ActivateDetailsViewL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ActivateDetailsViewL( TUid aDetailsViewId )
- {
- ActivateLocalViewL( aDetailsViewId );
- LOG_WRITE( "CWsfAppUi::ActivateDetailsViewL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ActivateMainViewL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ActivateMainViewL()
- {
- ActivateLocalViewL( TUid::Uid( EMainViewId ) );
- LOG_WRITE( "CWsfAppUi::ActivateMainViewL" );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::MainView
-// ---------------------------------------------------------------------------
-//
-MWsfMainViewControllerIf& CWsfAppUi::MainView()
- {
- CWsfMainView* mainView = static_cast<CWsfMainView*>(
- View( TUid::Uid( EMainViewId ) ) );
- return mainView->Controller();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::DetailsView
-// ---------------------------------------------------------------------------
-//
-MWsfDetailsViewControllerIf& CWsfAppUi::DetailsView( TInt aDetailsViewType )
- {
- CWsfDetailsView* detailsView = static_cast<CWsfDetailsView*>(
- View( TUid::Uid( aDetailsViewType ) ) );
- return detailsView->Controller();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::StartWaitNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::StartWaitNoteL( TBool aVisibilityDelayOff )
- {
- LOG_ENTERFN( "CWsfAppUi::StartWaitNoteL" );
- // wait dialog shown only if engine updating
- // the wlan list
- if( iObserver->EngineRefreshing() )
- {
- iWaitDialog = new (ELeave) CAknWaitDialog(
- reinterpret_cast<CEikDialog**>( &iWaitDialog ),
- aVisibilityDelayOff );
- iWaitDialog->SetCallback( this );
- iWaitDialog->ExecuteLD( R_WAITNOTE_SEARCHING_WLANS );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HideWaitNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HideWaitNoteL()
- {
- LOG_ENTERFN( "CWsfAppUi::HideWaitNoteL" );
- if ( iWaitDialog )
- {
- iWaitDialog->ProcessFinishedL();
- iWaitDialog = NULL;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::DialogDismissedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::DialogDismissedL( TInt aButtonId )
- {
- LOG_ENTERFN( "CWsfAppUi::DialogDismissedL" );
- iWaitDialog = NULL;
-
- if ( aButtonId == EEikBidCancel )
- {
- // dialog was cancelled by the user
-
- if ( Doc()->Model().IsConnecting() )
- {
- // connecting wait note was active
- LOG_WRITE( "cancelling 'connecting' wait note" );
- Doc()->Model().AbortConnectingL();
- Doc()->Model().SetConnecting( EFalse );
- }
- else
- {
- // searching for wlan wait note was active
- LOG_WRITE( "cancelling 'searching for wlan' wait note" );
- Doc()->Model().AbortScanningL();
- Doc()->Model().SetRefreshState( EFalse );
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowMenuBarL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowMenuBarL()
- {
- CWsfMainView* mainview = static_cast<CWsfMainView*>( iView );
- mainview->SelectionKeyPressed();
- iView->MenuBar()->TryDisplayMenuBarL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowNoWlansFoundInfoL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowNoWlansFoundInfoL()
- {
- LOG_ENTERFN( "CWsfAppUi::ShowNoWlansFoundInfoL" );
-
- CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();
- connUiUtils->NoWLANNetworksAvailableNote();
- delete connUiUtils;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowErrorNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowErrorNoteL( TInt aResourceId )
- {
- LOG_ENTERFN( "CWsfAppUi::ShowErrorNoteL" );
- HBufC* txt = StringLoader::LoadLC( aResourceId );
-
- CAknErrorNote* errorNote = new (ELeave) CAknErrorNote;
- errorNote->ExecuteLD( *txt );
-
- CleanupStack::PopAndDestroy( txt );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowGlobalErrorNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowGlobalErrorNoteL( TInt aError )
- {
- LOG_ENTERFN( "CWsfAppUi::ShowGlobalErrorNoteL" );
- CErrorUI* errorUi = CErrorUI::NewLC( *CCoeEnv::Static() );
- errorUi->ShowGlobalErrorNoteL( aError );
- CleanupStack::PopAndDestroy( errorUi );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::AppLaunchCompleteL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAppUi::AppLaunchCompleteL( TAny* aObject )
- {
- LOG_ENTERFN( "CWsfAppUi::AppLaunchCompleteL" );
- _ASSERTD( aObject );
- CWsfAppUi* appUi = static_cast<CWsfAppUi*>( aObject );
- appUi->iAppLaunchCompleted = ETrue;
- appUi->StartWaitNoteL( EFalse );
- return 0; // Return false (zero) value not be called again. (Stops timer)
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::IsEmbedded
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppUi::IsEmbedded() const
- {
- LOG_ENTERFN( "CWsfAppUi::IsEmbedded" );
- return iEikonEnv->StartedAsServerApp();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::Doc
-// ---------------------------------------------------------------------------
-//
-CWsfDocument* CWsfAppUi::Doc()
- {
- return static_cast<CWsfDocument*>( Document() );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::Foreground
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppUi::Foreground()
- {
- return iForeground;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::StartConnectedDetailsL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::StartConnectedDetailsL( CWsfWlanInfoArray* aWlanArray,
- const TDesC8& aSelectedWlanSsid )
- {
- LOG_ENTERFN( "CWsfAppUi::StartConnectedDetailsL" );
- CWsfConnectedDetailsModel* model = CWsfConnectedDetailsModel::NewLC();
- iConnectedDetailsDialog = CWsfConnectedDetailsDialog::NewL();
- iConnectedDetailsDialog->SetListModel(model);
- iConnectedDetailsDialog->Controller().SetWlanListL( aWlanArray,
- aSelectedWlanSsid );
- iConnectedDetailsDialog->ExecuteLD( R_QTN_CONNECTED_DETAILS_DIALOG );
- iConnectedDetailsDialog = NULL;
- CleanupStack::PopAndDestroy(model);
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::UpdateConnectedDetailsL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::UpdateConnectedDetailsL( CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "CWsfAppUi::UpdateConnectedDetailsL" );
- if ( iConnectedDetailsDialog != NULL )
- {
- iConnectedDetailsDialog->Controller().WlanListChangedL( aWlanArray );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::SuppressingKeyEvents
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppUi::SuppressingKeyEvents() const
- {
- return iSuppressingKeyEvents;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::SetSuppressingKeyEvents
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::SetSuppressingKeyEvents( TBool aSuppressing )
- {
- iSuppressingKeyEvents = aSuppressing;
- }
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailscontroller.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* 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: Implementation of TWsfConnectedDetailsController.
-*
-*/
-
-
-// CLASS HEADER
-#include "wsfconnecteddetailscontroller.h"
-
-// EXTERNAL INCLUDES
-
-// INTERNAL INCLUDES
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfconnecteddetailsdialog.h"
-
-#include "wsflogger.h"
-
-
-// LOCAL DEFINITIONS
-#ifdef _DEBUG
- _LIT( KDetailsViewControllerPanic, "TWsfConnectedDetailsController" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KDetailsViewControllerPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-
-
-
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::SetWlanListL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::SetWlanListL(
- CWsfWlanInfoArray* aWlanArray,
- const TDesC8& aSelectedWlanSsid )
- {
- LOG_ENTERFN( "TWsfConnectedDetailsController::SetWlanListL" );
- _ASSERTD( aWlanArray );
-
- //Get selected Wlan info
- TWsfWlanInfo* info = aWlanArray->Match( aSelectedWlanSsid,
- aWlanArray->Count() );
-
- CDesCArray* formattedList = NULL;
-
- // if view active && and something to show
- if ( iDialog && iModel)
- {
- // Update model
- formattedList = iModel->FormatWlanInfoL( info, aWlanArray );
-
- //Draw view
- iDialog->UpdateListBox( formattedList );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::WlanListChangedL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::WlanListChangedL(
- CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "TWsfConnectedDetailsController::WlanListChangedL" );
- _ASSERTD( aWlanArray );
-
- //If view active
- if ( iDialog && iModel )
- {
- //Get selected Wlan info
- TWsfWlanInfo* info = aWlanArray->Match( iModel->WlanSsid(),
- aWlanArray->Count() );
-
- CDesCArray* formattedList = NULL;
-
- //Current info found from new list
- // Update model
- formattedList = iModel->FormatWlanInfoL( info, aWlanArray );
-
- //Draw view
- iDialog->UpdateListBox( formattedList );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::RefreshL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::RefreshL()
- {
- LOG_ENTERFN( "TWsfConnectedDetailsController::RefreshL" );
-
- if ( iDialog && iModel)
- {
- CDesCArray* formattedDetails = iModel->GetWlanDetails();
-
- iDialog->UpdateListBox( formattedDetails );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::UpdateActiveTimeL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::UpdateActiveTimeL()
- {
- LOG_ENTERFN( "TWsfConnectedDetailsController::UpdateActiveTimeL" );
- if (iModel)
- {
- iModel->RefreshCurrentWlanInfoL();
- RefreshL();
- }
- }
-
-void TWsfConnectedDetailsController::SetPartner(
- MWsfDetailsViewPartner& /*aPartner*/ )
- {
- }
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailsdialog.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
-* 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: Implementation of CWsfConnectedDetailsDialog.
-*
-*/
-
-
-// INCLUDE FILES
-#include <avkon.hrh>
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <wlansniffer.rsg>
-#include "wsfconnecteddetailsdialog.h"
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfconnecteddetailscontroller.h"
-#include "wsfactivetimeupdater.h"
-
-#include "wsflogger.h"
-
-// CONSTANTS
-LOCAL_D const TInt KUpdateInterval = 1000000; // in micro seconds (1 sec)
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::ConstructL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsDialog::ConstructL" );
- iController.SetDialog( this );
- // Create and start Active Object 'Active Updater'
- iActiveUpdater = CWsfActiveTimeUpdater::NewL( &iController );
- iActiveUpdater->Start( KUpdateInterval );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog* CWsfConnectedDetailsDialog::NewL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsDialog::NewL" );
- CWsfConnectedDetailsDialog* self = CWsfConnectedDetailsDialog::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog* CWsfConnectedDetailsDialog::NewLC()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsDialog::NewLC" );
- CWsfConnectedDetailsDialog* self =
- new( ELeave ) CWsfConnectedDetailsDialog( NULL );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::CWsfConnectedDetailsDialog
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog::CWsfConnectedDetailsDialog(
- CListBoxView::CSelectionIndexArray* aSelectionIndexArray )
- : CAknListQueryDialog( aSelectionIndexArray ),
- iList( NULL ),
- iModel( NULL )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::~CWsfConnectedDetailsDialog
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog::~CWsfConnectedDetailsDialog()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsDialog::~CWsfConnectedDetailsDialog" );
- iController.SetModel(NULL);
- iController.SetDialog(NULL);
- if( iActiveUpdater )
- {
- iActiveUpdater->Stop();
- }
- delete iActiveUpdater;
- // iListModel is deleted in WSFAppui::StartConnectedDetailsL
- }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::SetListModel
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::SetListModel( CWsfConnectedDetailsModel* aModel)
- {
- LOG_ENTERFN( "CWsfConnectedDetailsDialog::SetListModel" );
- iListModel = aModel;
- iController.SetModel(iListModel);
- }
-
-
-// ---------------------------------------------------------
-// CWsfConnectedDetailsDialog::PreLayoutDynInitL
-// called by framework before dialog is shown
-// ---------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::PreLayoutDynInitL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsDialog::PreLayoutDynInitL" );
- // parent creates the private listbox
- CAknListQueryDialog::PreLayoutDynInitL();
- // and now we get access to it...
- CAknListQueryControl *control =
- ( CAknListQueryControl* )Control( EListQueryControl );
- iList = control->Listbox();
- iModel = ( CTextListBoxModel* )iList->Model();
-
- // 1st Refresh of the listbox
- iController.RefreshL();
- ActivateL();
- }
-
-// ---------------------------------------------------------
-// CWsfConnectedDetailsContainer::UpdateListBox
-// ---------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::UpdateListBox( MDesCArray* aItemTextArray )
- {
- LOG_ENTERFN( "CWsfConnectedDetailsDialog::UpdateListBox" );
- for( TInt i = 0; i < aItemTextArray->MdcaCount(); i++)
- {
- TPtrC temp = aItemTextArray->MdcaPoint( i );
- TBuf<100> tempElement = temp;
- LOG_WRITEF( "aItemTextArray[0]: %S", &tempElement );
- }
-
- if ( iList && aItemTextArray->MdcaCount() )
- {
- iModel->SetItemTextArray( aItemTextArray );
- iModel->SetOwnershipType( ELbmDoesNotOwnItemArray );
- DrawNow();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfConnectedDetailsContainer::Controller
-// ---------------------------------------------------------
-//
-MWsfDetailsViewControllerIf& CWsfConnectedDetailsDialog::Controller()
- {
- return iController;
- }
-
-// ---------------------------------------------------------
-// CWsfConnectedDetailsDialog::HandleListBoxEventL
-// ---------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::HandleListBoxEventL( CEikListBox* /*aListBox*/,
- TListBoxEvent /*aEventType*/ )
- {
- }
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailsmodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,573 +0,0 @@
-/*
-* 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: Details view Model
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <badesca.h>
-#include <StringLoader.h>
-#include <wlansniffer.rsg>
-#include <coemain.h>
-#include <AknUtils.h>
-#include <avkon.rsg>
-#include <nifvar.h>
-#include <rconnmon.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-// LOCAL DEFINITIONS
-#ifdef _DEBUG
- _LIT( KDetailsViewModelPanic, "CWsfConnectedDetailsModel" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KDetailsViewModelPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// the size of the Details Listbox's array
-const TInt KWlanInfoGranularity = 3;
-
-// Listbox element format string
-_LIT( KListItemFormat, "%S\t%S" );
-
-// invalid connection id
-const TInt KInvalidConnectionId = 0;
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::CWsfConnectedDetailsModel
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel::CWsfConnectedDetailsModel():
- iIsConnActive( EFalse ),
- iConnectionId( KInvalidConnectionId ),
- iCoeEnv( CCoeEnv::Static() )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::ConstructL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::ConstructL" );
- iFormattedWlanInfo = new (ELeave) CDesCArrayFlat( KWlanInfoGranularity );
- iConnectionMonitor.ConnectL();
- FindWlanConnectionL();
- }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel* CWsfConnectedDetailsModel::NewL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::NewL" );
- CWsfConnectedDetailsModel* self = CWsfConnectedDetailsModel::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel* CWsfConnectedDetailsModel::NewLC()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::NewLC" );
- CWsfConnectedDetailsModel* self = new( ELeave ) CWsfConnectedDetailsModel;
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::~CWsfConnectedDetailsModel
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel::~CWsfConnectedDetailsModel()
- {
- LOG_ENTERFN(
- "CWsfConnectedDetailsModel::~CWsfConnectedDetailsModel" );
- iConnectionMonitor.CancelAsyncRequest(EConnMonGetUintAttribute);
- iConnectionMonitor.CancelAsyncRequest(EConnMonGetIntAttribute);
- iConnectionMonitor.Close();
- delete iFormattedWlanInfo;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FindWlanConnectionL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FindWlanConnectionL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::FindWlanConnectionL" );
-
-#ifndef __WINS__
- // first call, need to get the connection parameters
- iConnectionId = KInvalidConnectionId;
- TUint connectionCount( 0 );
-
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- iConnectionMonitor.GetConnectionCount( connectionCount, waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( waiter->iStatus.Int() == KErrNone )
- {
- LOG_WRITEF( "connectionCount = %d", connectionCount );
- // find the connection with WLAN bearer
- // that will be the selected WLAN
- for ( TUint i = 1; i <= connectionCount; ++i )
- {
- TUint connectionId( KInvalidConnectionId );
- TUint subConnectionCount( 0 );
- TConnMonBearerType bearerType( EBearerUnknown );
-
- iConnectionMonitor.GetConnectionInfo( i,
- connectionId,
- subConnectionCount );
- iConnectionMonitor.GetIntAttribute( connectionId,
- 0,
- KBearer,
- ( TInt& )bearerType,
- waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( waiter->iStatus.Int() == KErrNone &&
- bearerType == EBearerWLAN )
- {
- LOG_WRITEF( "found connection id = %d", connectionId );
- iConnectionId = connectionId;
- break;
- }
- }
- }
-
- if ( iConnectionId != KInvalidConnectionId )
- {
- iIsConnActive = ETrue;
-
- // now we have the connectiond ID, ask the start time
- LOG_WRITE( "querying start time..." );
-
- TConnMonTimeBuf timeBuf;
- iConnectionMonitor.GetPckgAttribute( iConnectionId, 0, KStartTime,
- timeBuf, waiter->iStatus );
- waiter->WaitForRequest();
-
- if ( waiter->iStatus.Int() == KErrNone )
- {
- iStartTime = timeBuf();
- }
- }
-
- delete waiter;
-
-#else // __WINS__
-
- // for testing
- iStartTime.UniversalTime();
- iIsConnActive = ETrue;
-
-#endif // __WINS__
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatWlanInfoL
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfConnectedDetailsModel::FormatWlanInfoL(
- TWsfWlanInfo* aWlanInfo,
- CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatWlanInfoL" );
- _ASSERTD( aWlanArray );
-
- // While the system loads the dialog and the connection lost that could
- // cause problems eg.: "No data" displayed
- if ( !aWlanInfo || !VisibleWlans( *aWlanArray ) )
- {
- // bad wlan info or no visible wlans
- return iFormattedWlanInfo;
- }
-
- iWlanInfo = *aWlanInfo;
- iWlanArray = aWlanArray;
-
- RefreshCurrentWlanInfoL();
-
-
- return GetWlanDetails();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::RefreshCurrentWlanInfoL
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfConnectedDetailsModel::RefreshCurrentWlanInfoL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::RefreshCurrentWlanInfoL" );
- LOG_WRITEF( "iIsConnActive: %d", iIsConnActive );
- _ASSERTD( iWlanArray );
- if ( iRefreshing )
- {
- return iFormattedWlanInfo;
- }
-
- // mutual exclusion
- iRefreshing = ETrue;
-
-#ifndef __WINS__
- if ( iIsConnActive )
- {
- LOG_WRITEF( "RefreshCurrentWlanInfoL - iConnectionId: %d",
- iConnectionId );
-
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- TInt connStat( 0 );
- iConnectionMonitor.GetIntAttribute( iConnectionId,
- 0,
- KConnectionStatus,
- connStat,
- waiter->iStatus );
- waiter->WaitForRequest();
-
- LOG_WRITEF( "connStat: %d", connStat );
- LOG_WRITEF( "status.Int(): %d", waiter->iStatus.Int() );
-
- if ( waiter->iStatus.Int() != KErrNone )
- {
- delete waiter;
- iRefreshing = EFalse;
- return iFormattedWlanInfo;
- }
-
- delete waiter;
-
- // set the connection status
- LOG_WRITEF( "connStat: %d", connStat );
- if ( ( connStat == KLinkLayerOpen ) ||
- ( connStat == KConnectionOpen ) )
- {
- iIsConnActive = ETrue;
- }
- else
- {
- iIsConnActive = EFalse;
- }
- }
-
-#endif // __WINS__
-
- iFormattedWlanInfo->Reset();
-
- // create array of connected WLAN data
- FormatAndAppendConnectedWlanSsidL();
- FormatAndAppendDurationL();
- FormatAndAppendTransferredL();
-
- iRefreshing = EFalse;
-
- return GetWlanDetails();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::GetWlanDetails
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfConnectedDetailsModel::GetWlanDetails()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::GetWlanDetails" );
-#ifdef _DEBUG
- const TInt KThatLongBufferWillMakeDo = 100;
- for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
- {
- TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
- TBuf<KThatLongBufferWillMakeDo> tempElement = temp;
- LOG_WRITEF( "iFormattedWlanInfo: %S", &tempElement );
- }
-#endif
-
- return iFormattedWlanInfo;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::WlanSsid
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWsfConnectedDetailsModel::WlanSsid() const
- {
- return iWlanInfo.iSsid;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatListBoxItemLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfConnectedDetailsModel::FormatListBoxItemLC(
- const TUint aResourceId,
- const TDesC& aValueText ) const
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatListBoxItemLC" );
- // hold the column name on list item
- HBufC* columnName = NULL;
-
- if ( aResourceId )
- {
- columnName = StringLoader::LoadLC( aResourceId );
- }
- else
- {
- columnName = KNullDesC().AllocLC();
- }
-
-
- // Holds the list box item
- HBufC* listBoxItem = HBufC::NewL( KListItemFormat().Length()+
- columnName->Length() +
- aValueText.Length() );
-
- // For formating needs
- TPtr listBoxItemPrt = listBoxItem->Des();
-
- // Format string ( KListItemFormat = %S\t%S )
- listBoxItemPrt.Format( KListItemFormat, columnName, &aValueText );
- CleanupStack::PopAndDestroy( columnName );
- CleanupStack::PushL( listBoxItem );
- return listBoxItem;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatAndAppendConnectedWlanSsidL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FormatAndAppendConnectedWlanSsidL()
- {
- LOG_ENTERFN(
- "CWsfConnectedDetailsModel::FormatAndAppendConnectedWlanSsidL" );
- HBufC* wlanName( NULL );
-
- if ( iWlanInfo.iNetworkName.Length() ) // If there is IAP
- {
- wlanName = iWlanInfo.GetIapNameAsUnicodeLC();
- }
- else // If there no IAP
- {
- wlanName = iWlanInfo.GetSsidAsUnicodeLC();
- }
-
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_WLAN_ITEM_HEADING_TEXT_WLAN,
- *wlanName );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( wlanName );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatAndAppendDurationL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FormatAndAppendDurationL()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatAndAppendDurationL" );
- HBufC* duration = FormatDurationLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_WLAN_ITEM_HEADING_DURATION,
- *duration );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( duration );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatAndAppendTransferredL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FormatAndAppendTransferredL()
- {
- LOG_ENTERFN(
- "CWsfConnectedDetailsModel::FormatAndAppendTransferredL" );
- HBufC* transferredData = FormatTransferredLC();
- HBufC* listBoxItem = FormatListBoxItemLC( R_QTN_WLAN_ITEM_HEADING_TRANSF,
- *transferredData );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( transferredData );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatDurationLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfConnectedDetailsModel::FormatDurationLC()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatDurationLC" );
- const TUint KTimeStringLength = 64;
-
- if ( iIsConnActive )
- {
- // if connection is still active, update the duration
- TTime now;
- now.UniversalTime();
- iDuration = now.MicroSecondsFrom( iStartTime );
- }
-
- HBufC* timeString = HBufC::NewLC( KTimeStringLength );
- TPtr16 tempBuf( timeString->Des() );
-
- HBufC* temp = StringLoader::LoadLC( R_QTN_TIME_DURAT_LONG_WITH_ZERO );
-
- TTime activeTime( iDuration.Int64() );
- activeTime.FormatL( tempBuf, *temp );
- CleanupStack::PopAndDestroy( temp );
-
- TPtr timePtr = timeString->Des();
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( timePtr );
-
- return timeString;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatTransferredLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfConnectedDetailsModel::FormatTransferredLC()
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatTransferredLC" );
-
-#ifndef __WINS__
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-
- TUint uplink( 0 );
- TUint downlink( 0 );
-
- if ( iIsConnActive && iConnectionId != KInvalidConnectionId )
- {
- // if connection is still active, update the transmitted bytes
- iConnectionMonitor.GetUintAttribute( iConnectionId, 0, KUplinkData,
- uplink, waiter->iStatus );
- waiter->WaitForRequest();
- }
-
- if ( waiter->iStatus.Int() == KErrNone
- && iIsConnActive
- && iConnectionId != KInvalidConnectionId )
- {
- iConnectionMonitor.GetUintAttribute( iConnectionId, 0, KDownlinkData,
- downlink, waiter->iStatus );
- waiter->WaitForRequest();
-
- }
-
- iBytesTransmitted = uplink + downlink;
- delete waiter;
-
-#endif
-
- const TUint KTransferredBytesFormatBuf = 16;
- const TUint KTransferredBytesWidth = 10;
- const TUint KTransferredBytesDecimalPlaces = 2;
- const TUint KKiloByte = 1024;
- TUint resId;
-
- TBuf<KTransferredBytesFormatBuf> buf;
-
- TReal denom( KKiloByte );
-
- if ( iBytesTransmitted < KKiloByte*KKiloByte )
- {
- denom = KKiloByte;
- resId = R_QTN_WLAN_ITEM_KB;
- }
- else
- {
- denom = KKiloByte*KKiloByte;
- resId = R_QTN_WLAN_ITEM_MB;
- }
-
- TReal value = TReal( iBytesTransmitted ) / denom;
-
- TRealFormat realFormat( KTransferredBytesWidth,
- KTransferredBytesDecimalPlaces );
-
- HBufC* number = HBufC::NewLC( KTransferredBytesWidth );
- number->Des().Num( value, realFormat );
-
- _LIT( KUdFormatLarge, "%S" );
- buf.Format( KUdFormatLarge, number );
- CleanupStack::PopAndDestroy( number );
-
- HBufC* loadedTxt = StringLoader::LoadLC( resId, buf, iCoeEnv );
-
-
- // Convert digits
- TPtr loadTextPtr( loadedTxt->Des() );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( loadTextPtr );
-
- return loadedTxt;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::VisibleWlans
-// ---------------------------------------------------------------------------
-//
-TInt CWsfConnectedDetailsModel::VisibleWlans( CWsfWlanInfoArray& aArray )
- {
- LOG_ENTERFN( "CWsfConnectedDetailsModel::VisibleWlans" );
- TInt i = 0;
- TBool hiddenFound = EFalse;
- TWsfWlanInfo* wlanInfo;
- while ( i < aArray.Count() && !hiddenFound )
- {
- wlanInfo = aArray[i];
- if ( wlanInfo->Hidden() && !wlanInfo->Known() )
- {
- hiddenFound = ETrue;
- }
- else
- {
- ++i;
- }
- }
- return i;
- }
-
-// END OF FILE
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailscontainer.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,388 +0,0 @@
-/*
-* 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: Implementation of CWsfDetailsContainer.
-*
-*/
-
-// INCLUDE FILES
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <wlansniffer.rsg>
-#include <aknnavilabel.h>
-#include "wsfdetailscontainer.h"
-#include "wsfdetailsviewcontrollerpartner.h"
-#include "wsfappui.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfactivetimeupdater.h"
-
-#include "wsflogger.h"
-
-// CONSTANTS
-LOCAL_D const TInt KUpdateInterval = 10000000; // in micro seconds (10 sec)
-
-
-// ======== MEMBER FUNCTIONS ========
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::NewL()
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer* CWsfDetailsContainer::NewL(
- const TRect& aRect,
- MWsfActiveTimerHandler& aController )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::NewL" );
- CWsfDetailsContainer* self = CWsfDetailsContainer::NewLC( aRect,
- aController );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::NewLC()
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer* CWsfDetailsContainer::NewLC(
- const TRect& aRect,
- MWsfActiveTimerHandler& aController )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::NewLC" );
- CWsfDetailsContainer* self = new( ELeave ) CWsfDetailsContainer;
- CleanupStack::PushL( self );
- self->ConstructL( aRect, aController );
- return self;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::~CCSnifferDetailsContainer
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer::~CWsfDetailsContainer()
- {
- LOG_ENTERFN( "CWsfDetailsContainer::~CWsfDetailsContainer" );
- PopNaviPane();
- delete iListBox;
- delete iNaviDecorator;
-
- if( iActiveUpdater )
- {
- iActiveUpdater->Stop();
- }
- delete iActiveUpdater;
- }
-
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::ConstructL( const TRect& aRect,
- MWsfActiveTimerHandler& aController )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::ConstructL" );
- CreateWindowL();
-
- iListBox = new( ELeave ) CAknSingleHeadingStyleListBox;
- iListBox->SetContainerWindowL( *this );
- TInt flags = 0;
- flags |= EAknListBoxViewerFlags | EAknListBoxDisableItemSpecificMenu;
- iListBox->ConstructL( this, flags );
- iListBox->CreateScrollBarFrameL( ETrue );
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
- CEikScrollBarFrame::EOff,
- CEikScrollBarFrame::EAuto );
-
- iListBox->Model()->SetOwnershipType( ELbmOwnsItemArray );
-
- SetRect( aRect );
-
- // Create and start Active Object 'Active Updater'
- iActiveUpdater = CWsfActiveTimeUpdater::NewL( &aController );
- iActiveUpdater->Start( KUpdateInterval );
-
- ActivateL();
- }
-
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::CConnectionMonitorUiContainer
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer::CWsfDetailsContainer() : iDetailsModel( NULL )
- {
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::CConnectionMonitorUiContainer
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::SetDetailsModel( CWsfDetailsViewModel* aModel )
- {
- iDetailsModel = aModel;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::SizeChanged()
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::SizeChanged()
- {
- iListBox->SetRect( Rect() );
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::CountComponentControls()
-// ---------------------------------------------------------
-//
-TInt CWsfDetailsContainer::CountComponentControls() const
- {
- return 1; // return nbr of controls inside this container
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::ComponentControl()
-// ---------------------------------------------------------
-//
-CCoeControl* CWsfDetailsContainer::ComponentControl( TInt aIndex ) const
- {
- LOG_ENTERFN( "CWsfDetailsContainer::ComponentControl" );
- switch ( aIndex )
- {
- case 0:
- return iListBox;
- default:
- return NULL;
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CWsfDetailsContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::OfferKeyEventL" );
- TKeyResponse result = EKeyWasNotConsumed;
-
- if ( aType == EEventKey || aType == EEventKeyDown )
- {
- result = iListBox->OfferKeyEventL( aKeyEvent, aType );
-
- if ( aKeyEvent.iCode == EKeyLeftArrow )
- {
- if ( iPartner )
- {
- iPartner->HandleLeftKeyPressedL();
- result = EKeyWasConsumed;
- }
- }
- else if ( aKeyEvent.iCode == EKeyRightArrow )
- {
- if ( iPartner )
- {
- iPartner->HandleRightKeyPressedL();
- result = EKeyWasConsumed;
- }
- }
- else if ( aKeyEvent.iCode == EKeyOK )
- {
- if ( iPartner )
- {
- iPartner->HandleSelectionKeyPressedL();
- }
- }
- }
-
- return result;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::GetPanesL
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::GetPanesL()
- {
- LOG_ENTERFN( "CWsfDetailsContainer::GetPanesL" );
- if( !iNaviPane )
- {
- CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
-
- iNaviPane = static_cast<CAknNavigationControlContainer*>(
- statusPane->ControlL(
- TUid::Uid(EEikStatusPaneUidNavi ) ) );
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::UpdateNaviPaneL
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::UpdateNaviPaneL( const TDesC& aPaneText )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::UpdateNaviPaneL" );
- LOG_WRITEF("UpdateNaviPaneL - aPaneTest: %S", &aPaneText );
- if ( !( ( CWsfAppUi *)( iEikonEnv->AppUi() ) )->Foreground() )
- {
- return;
- }
-
- GetPanesL();
-
- if ( !iNaviDecorator )
- {
- delete iNaviDecorator;
- iNaviDecorator = NULL;
- if( iNaviPane )
- {
- iNaviDecorator = iNaviPane->CreateNavigationLabelL( aPaneText );
- iNaviPane->PushL( *iNaviDecorator );
- }
- }
- else
- {
- CAknNaviLabel* naviLabel = static_cast<CAknNaviLabel*>(
- iNaviDecorator->DecoratedControl() );
- naviLabel->SetTextL( aPaneText );
- // make sure at top and redraw
- iNaviPane->PushL( *iNaviDecorator );
- }
-
- if ( iNaviDecorator )
- {
- // Set the Observer of the NaviDecorator
- iNaviDecorator->SetNaviDecoratorObserver( this );
- // Show or hide the left and right arrow button
- iNaviDecorator->SetScrollButtonDimmed(
- CAknNavigationDecorator::ELeftButton,
- iDetailsModel->FormatLeftScrollButton() );
- iNaviDecorator->SetScrollButtonDimmed(
- CAknNavigationDecorator::ERightButton,
- iDetailsModel->FormatRightScrollButton() );
- // Set the visibility of the buttons
- iNaviDecorator->MakeScrollButtonVisible( ETrue );
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::UpdateListBoxL
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::UpdateListBoxL( MDesCArray* aItemTextArray )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::UpdateListBoxL" );
- for( TInt i = 0; i < aItemTextArray->MdcaCount(); i++)
- {
- TPtrC temp = aItemTextArray->MdcaPoint( i );
- TBuf<100> tempElement = temp;
- LOG_WRITEF( "aItemTextArray: %S", &tempElement );
- }
-
- iListBox->Reset();
- iListBox->Model()->SetItemTextArray( aItemTextArray );
- iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
- iListBox->HandleItemAdditionL();
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::SetPartner
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::SetPartner(
- MWsfDetailsViewControllerPartner& aPartner )
- {
- iPartner = &aPartner;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::PopNaviPane
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::PopNaviPane()
- {
- LOG_ENTERFN( "CWsfDetailsContainer::PopNaviPane" );
- if ( iNaviPane && iNaviDecorator )
- {
- iNaviPane->Pop( iNaviDecorator );
- delete iNaviDecorator;
- iNaviDecorator = NULL;
- }
- }
-
-
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::HandleResourceChange( TInt aType )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::HandleResourceChange" );
- CCoeControl::HandleResourceChange( aType );
- if( aType == KEikDynamicLayoutVariantSwitch )
- {
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
- mainPaneRect );
- SetRect( mainPaneRect );
- DrawNow();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::FocusChanged( TDrawNow aDrawNow )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::FocusChanged" );
- CCoeControl::FocusChanged( aDrawNow );
- if( iListBox )
- {
- iListBox->SetFocus( IsFocused() );
- }
- }
-
-// --------------------------------------------------------------------------
-// CWsfDetailsContainer::HandleNaviDecoratorEventL
-// --------------------------------------------------------------------------
-//
-void CWsfDetailsContainer::HandleNaviDecoratorEventL( TInt aEventID )
- {
- LOG_ENTERFN( "CWsfDetailsContainer::HandleNaviDecoratorEventL" );
- if ( AknLayoutUtils::PenEnabled() )
- {
- switch ( aEventID )
- {
- case EAknNaviDecoratorEventRightTabArrow:
- {
- if( iPartner && !iDetailsModel->FormatRightScrollButton() )
- {
- iPartner->HandleRightKeyPressedL();
- }
- break;
- }
- case EAknNaviDecoratorEventLeftTabArrow:
- {
- if( iPartner && !iDetailsModel->FormatLeftScrollButton() )
- {
- iPartner->HandleLeftKeyPressedL();
- }
- break;
- }
- default:
- return;
- }
- }
- }
-
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsview.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2002 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 class
-*
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <wlansniffer.rsg>
-#include <aknViewAppUi.h>
-
-// INTERNAL INCLUDES
-#include "wsfdetailsview.h"
-#include "wsfdetailscontainer.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfmainapplication.hrh"
-#include "wsfappui.h"
-#include "wsfdetailscontainerif.h"
-
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ---------------------------------------------------------
-// CWsfDetailsView* CWsfDetailsView::NewL()
-// ---------------------------------------------------------
-//
-CWsfDetailsView* CWsfDetailsView::NewL()
- {
- LOG_ENTERFN( "CWsfDetailsView::NewL" );
- CWsfDetailsView* self = CWsfDetailsView::NewLC();
- CleanupStack::Pop(self);
- return self;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView* CWsfDetailsView::NewLC()
-// ---------------------------------------------------------
-//
-CWsfDetailsView* CWsfDetailsView::NewLC()
- {
- LOG_ENTERFN( "CWsfDetailsView::NewLC" );
- CWsfDetailsView* self = new (ELeave) CWsfDetailsView();
- CleanupStack::PushL(self);
- self->ConstructL( );
- return self;
- }
-
-
-// ---------------------------------------------------------
-// CWsfDetailsView::CWsfDetailsView()
-// ---------------------------------------------------------
-//
-CWsfDetailsView::CWsfDetailsView() : CAknView()
- {
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::ConstructL()
- {
- LOG_ENTERFN( "CWsfDetailsView::ConstructL" );
- BaseConstructL( R_SNIFFER_DETAILSVIEW );
- iModel = CWsfDetailsViewModel::NewL();
- iController.SetModel( iModel );
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::~CWsfDetailsView()
-// ---------------------------------------------------------
-//
-CWsfDetailsView::~CWsfDetailsView()
- {
- LOG_ENTERFN( "CWsfDetailsView::~CWsfDetailsView" );
- delete iContainer;
- delete iModel;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::Id()
-// ---------------------------------------------------------
-//
-TUid CWsfDetailsView::Id() const
- {
- return TUid::Uid( EDetailsViewId );
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::HandleCommandL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::HandleCommandL( TInt aCommand )
- {
- LOG_ENTERFN( "CWsfDetailsView::HandleCommandL" );
- switch ( aCommand )
- {
- case EAknSoftkeyOk:
- {
- iController.HandleSelectionKeyPressedL();
- AppUi()->HandleCommandL( ESnifferCmdShowWlans );
- break;
- }
- default:
- {
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::Controller
-// ---------------------------------------------------------
-//
-MWsfDetailsViewControllerIf& CWsfDetailsView::Controller()
- {
- return iController;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::DoActivateL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/,
- const TDesC8& /*aCustomMessage*/ )
- {
- LOG_ENTERFN( "CWsfDetailsView::DoActivateL" );
- if( !iContainer )
- {
- iContainer = CWsfDetailsContainer::NewL( ClientRect(),
- iController );
- iContainer->SetMopParent( this );
- AppUi()->AddToViewStackL( *this, iContainer );
- iContainer->SetPartner( iController );
- iContainer->SetDetailsModel( iModel );
- iContainer->MakeVisible( ETrue );
- iController.SetContainer( iContainer );
- iController.RefreshL();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::DoDeactivate
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::DoDeactivate()
- {
- LOG_ENTERFN( "CWsfDetailsView::DoDeactivate" );
- AppUi()->RemoveFromViewStack( *this, iContainer );
- iContainer->MakeVisible( EFalse );
- delete iContainer;
- iContainer = NULL;
- iController.SetContainer( NULL );
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::HandleListBoxEventL
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::HandleListBoxEventL( CEikListBox* /*aListBox*/,
- TListBoxEvent /*aEventType*/ )
- {
- }
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewcontroller.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,245 +0,0 @@
-/*
-* 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: Implementation of TWsfDetailsViewController.
-*
-*/
-
-// CLASS HEADER
-#include "wsfdetailsviewcontroller.h"
-
-// EXTERNAL INCLUDES
-
-// INTERNAL INCLUDES
-#include "wsfdetailscontainer.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfdetailsviewpartner.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-
-#include "wsflogger.h"
-
-// LOCAL DEFINITIONS
-#ifdef _DEBUG
- _LIT( KDetailsViewControllerPanic, "TWsfDetailsViewController" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KDetailsViewControllerPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetModel
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::SetModel( CWsfDetailsViewModel* aModel )
- {
- iModel = aModel;
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetContainer
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::SetContainer(
- MWsfDetailsContainerIf* aContainer )
- {
- iContainer = aContainer;
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetWlanListL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::SetWlanListL(
- CWsfWlanInfoArray* aWlanArray,
- const TDesC8& aSelectedWlanSsid )
- {
- LOG_ENTERFN( "TWsfDetailsViewController::SetWlanListL" );
- _ASSERTD( aWlanArray );
-
- //Get selected Wlan info
- TWsfWlanInfo* info = aWlanArray->Match( aSelectedWlanSsid,
- aWlanArray->Count() );
-
- CDesCArray* formattadList = NULL;
-
- // If wlan info found
- if( info )
- {
- // Update model
- formattadList = iModel->FormatWlanInfoL( info, aWlanArray );
- }
-
- // if view active && and something to show
- if( iContainer && formattadList )
- {
- //Draw view
- iContainer->UpdateListBoxL( formattadList );
- }
-
- HandlePaneTextUpdateL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::WlanListChangedL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::WlanListChangedL(
- CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "TWsfDetailsViewController::WlanListChangedL" );
- _ASSERTD( aWlanArray );
-
- _ASSERTD( iModel );
-
- //Get selected Wlan info
- TWsfWlanInfo* info = aWlanArray->Match( iModel->WlanSsid(),
- aWlanArray->Count() );
- //If view active
- if( iContainer )
- {
- CDesCArray* formattadList = NULL;
-
- //Current info found from new list
- if( info )
- {
- // Update model
- formattadList = iModel->FormatWlanInfoL( info, aWlanArray );
- HandlePaneTextUpdateL();
- }
-
- // Current Wlan has been dropped
- else
- {
- // Update model get no signal list and dont update pane text
- formattadList = iModel->FormatWlanInfoL( NULL, aWlanArray );
- }
-
- //Draw view
- iContainer->UpdateListBoxL( formattadList );
- HandlePaneTextUpdateL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::RefreshL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::RefreshL( )
- {
- LOG_ENTERFN( "TWsfDetailsViewController::RefreshL" );
- _ASSERTD( iModel );
-
- if ( iContainer )
- {
- CDesCArray* formattedDetails = iModel->GetWlanDetails();
- iContainer->UpdateListBoxL( formattedDetails );
- HandlePaneTextUpdateL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetPartner
-// ---------------------------------------------------------------------------
-//
- void TWsfDetailsViewController::SetPartner( MWsfDetailsViewPartner& aPartner )
- {
- iPartner = &aPartner;
- }
-
-
- // ---------------------------------------------------------------------------
- // TWsfDetailsViewController::HandleLeftKeyPressedL
- // ---------------------------------------------------------------------------
- //
-void TWsfDetailsViewController::HandleLeftKeyPressedL()
- {
- LOG_ENTERFN( "TWsfDetailsViewController::HandleLeftKeyPressedL" );
- _ASSERTD( iModel );
-
- if( iContainer )
- {
- CDesCArray* formattadList = iModel->FormatPreviousWlanInfoL();
- iContainer->UpdateListBoxL( formattadList );
- HandlePaneTextUpdateL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::HandleRightKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::HandleRightKeyPressedL()
- {
- LOG_ENTERFN( "TWsfDetailsViewController::HandleRightKeyPressedL" );
- _ASSERTD( iModel );
-
- if( iContainer )
- {
- CDesCArray* formattadList = iModel->FormatNextWlanInfoL();
- iContainer->UpdateListBoxL( formattadList );
- HandlePaneTextUpdateL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::HandleSelectionKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::HandleSelectionKeyPressedL()
- {
- LOG_ENTERFN( "TWsfDetailsViewController::HandleSelectionKeyPressedL" );
- if ( iPartner )
- {
- iPartner->CloseDetailsViewL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::HandlePaneTextUpdateL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::HandlePaneTextUpdateL()
- {
- LOG_ENTERFN( "TWsfDetailsViewController::HandlePaneTextUpdateL" );
- _ASSERTD( iModel );
-
- if( iContainer )
- {
- HBufC* paneText = iModel->FormatPaneTextLC();
- TPtr temp( paneText->Des() );
- AknTextUtils::DisplayTextLanguageSpecificNumberConversion( temp );
- iContainer->UpdateNaviPaneL( *paneText );
- CleanupStack::PopAndDestroy( paneText );
- }
- }
-
-// ---------------------------------------------------------------------------
-// void TWsfDetailsViewController::UpdateActiveTimeL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::UpdateActiveTimeL()
- {
- LOG_ENTERFN( "TWsfDetailsViewController::UpdateActiveTimeL" );
- if ( iPartner )
- {
- iPartner->DetailsScanL();
- }
- }
-
-// End of file
-
-
-
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,721 +0,0 @@
-/*
-* 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: Implementation of CWsfDetailsViewModel.
-*
-*/
-
-// EXTERNAL INCLUDES
-#include <badesca.h>
-#include <StringLoader.h>
-#include <AknUtils.h>
-#include <wlansniffer.rsg>
-#include <coemain.h>
-#include <avkon.rsg>
-#include <cmpluginwlandef.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <rconnmon.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsflogger.h"
-
-// LOCAL DEFINITIONS
-using namespace CMManager;
-
-#ifdef _DEBUG
- _LIT( KDetailsViewModelPanic, "CWsfDetailsViewModel" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KDetailsViewModelPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// the size of the Details Listbox's array
-const TInt KWlanInfoGranularity = 8;
-// the size of the numbers in the NaviPane
-const TInt KNumberLegth = 5;
-// Listbox elements format string
-_LIT( KListItemFormat, "%S\t%S" );
-// NaviPane elements format string
-_LIT( KPaneFormater, "%i/%i" );
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::CWsfDetailsViewModel()
-// ---------------------------------------------------------------------------
-//
-CWsfDetailsViewModel::CWsfDetailsViewModel():iCoeEnv( CCoeEnv::Static() )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::ConstructL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::ConstructL" );
- iFormattedWlanInfo = new (ELeave) CDesCArrayFlat( KWlanInfoGranularity );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfDetailsViewModel* CWsfDetailsViewModel::NewL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::NewL" );
- CWsfDetailsViewModel* self = CWsfDetailsViewModel::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::NewLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfDetailsViewModel* CWsfDetailsViewModel::NewLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::NewLC" );
- CWsfDetailsViewModel* self = new( ELeave ) CWsfDetailsViewModel;
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::~CWsfDetailsViewModel()
-// ---------------------------------------------------------------------------
-//
-CWsfDetailsViewModel::~CWsfDetailsViewModel()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::~CWsfDetailsViewModel" );
- delete iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfDetailsViewModel::FormatWlanInfoL(
- TWsfWlanInfo* aWlanInfo,
- CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatWlanInfoL" );
- _ASSERTD( aWlanArray );
-
- for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
- {
- TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
- TBuf<100> tempElement = temp;
- LOG_WRITEF( "(1)iFormattedWlanInfo: %S", &tempElement );
- }
-
- iWlanArray = aWlanArray;
- iFormattedWlanInfo->Reset();
-
- TInt visibleWlans = VisibleWlans( *iWlanArray );
- if ( aWlanInfo && visibleWlans )
- {
- iWlanInfo = *aWlanInfo;
- TWsfWlanInfo* temp = iWlanArray->Match( aWlanInfo->iSsid,
- visibleWlans );
- if ( temp )
- {
- iIndex = iWlanArray->GetArrayIndex( temp );
- }
- else
- {
- iIndex = iWlanArray->GetArrayIndex( &iWlanInfo );
- }
-
- // create array of not-connected WLAN data
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- FormatAndAppenModeL();
- FormatAndAppenSecurityL();
- FormatAndAppenCoverageL();
- FormatAndAppenSpeedL();
- }
- else if ( !aWlanInfo )// Current Wlan info has no signal
- {
- iWlanInfo.iStrengthLevel = EWlanSignalUnavailable;
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- }
-
- for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
- {
- TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
- TBuf<100> tempElement = temp;
- LOG_WRITEF( "(2)iFormattedWlanInfo: %S", &tempElement );
- }
-
- return iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatNextWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-
-CDesCArrayFlat* CWsfDetailsViewModel::FormatNextWlanInfoL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatNextWlanInfoL" );
- _ASSERTD( iWlanArray );
-
- TInt visibleWlans = VisibleWlans( *iWlanArray );
-
- if( iIndex < visibleWlans - 1 )
- {
- iFormattedWlanInfo->Reset();
- iIndex++;
-
- if( iIndex >= visibleWlans - 1 )
- {
- // Set the index to point to the last visible in the array.
- iIndex = visibleWlans - 1;
- }
- else if ( iWlanInfo.SignalStrength() == ENoSignal )
- {
- iIndex = 0;
- }
-
- // (Array bounds check is done in the first if sentence.)
- iWlanInfo = *(iWlanArray->At( iIndex ) );
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- FormatAndAppenModeL();
- FormatAndAppenSecurityL();
- FormatAndAppenCoverageL();
- FormatAndAppenSpeedL();
- }
-
- return iFormattedWlanInfo;
- }
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatPreviousWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-
-CDesCArrayFlat* CWsfDetailsViewModel::FormatPreviousWlanInfoL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatPreviousWlanInfoL" );
- _ASSERTD( iWlanArray );
-
- if( VisibleWlans( *iWlanArray ) )
- {
- iFormattedWlanInfo->Reset();
- iIndex--;
-
- if ( iIndex < 0 || iWlanInfo.SignalStrength() == ENoSignal )
- {
- iIndex = 0;
- }
-
- // Just in case the iIndex would somehow point out of iWlanArray...
- if( iIndex >= (TInt)iWlanArray->Count() )
- {
- iIndex = 0;
- }
- iWlanInfo = *(iWlanArray->At( iIndex ) );
- FormatAndAppenWlanIapNameL();
- FormatAndAppenWlanSsidL();
- FormatAndAppenSingnalL();
- FormatAndAppenModeL();
- FormatAndAppenSecurityL();
- FormatAndAppenCoverageL();
- FormatAndAppenSpeedL();
- }
- return iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatPaneTextLC()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatPaneTextLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatPaneTextLC" );
-
- HBufC* paneText = NULL;
-
- if ( iWlanInfo.SignalStrength() == ENoSignal )
- {
- paneText = KNullDesC().AllocLC();
- }
- else
- {
- TInt visibleWlans = VisibleWlans( *iWlanArray );
- if( visibleWlans )
- {
- paneText = HBufC::NewLC( KPaneFormater().Length() +
- KNumberLegth +
- KNumberLegth );
-
- TPtr paneTextPrt = paneText->Des();
-
- // Format string ( KListItemFormat = %i/%i )
- paneTextPrt.Format( KPaneFormater,
- iIndex + 1,
- visibleWlans );
- }
- else
- {
- paneText = KNullDesC().AllocLC();
- }
- }
-
- return paneText;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatLeftScrollButton()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfDetailsViewModel::FormatLeftScrollButton()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatLeftScrollButton" );
- TBool leftButton( EFalse );
-
- if ( iIndex == 0 )
- {
- leftButton = ETrue;
- }
-
- return leftButton;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatRightScrollButton()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfDetailsViewModel::FormatRightScrollButton()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatRightScrollButton" );
- TBool rightButton( EFalse );
- TInt count = iWlanArray->Count();
-
- if ( iIndex + 1 >= count )
- {
- rightButton = ETrue;
- }
-
- return rightButton;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::GetWlanDetails()
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfDetailsViewModel::GetWlanDetails()
- {
- return iFormattedWlanInfo;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::WlanSsid()
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWsfDetailsViewModel::WlanSsid() const
- {
- return iWlanInfo.iSsid;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatListBoxItemLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatListBoxItemLC(
- const TUint aResourceId,
- const TDesC& aValueText ) const
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatListBoxItemLC" );
- // hold the column name on list item
- HBufC* columnName = NULL;
-
- if ( aResourceId )
- {
- columnName = StringLoader::LoadLC( aResourceId );
- }
- else
- {
- columnName = KNullDesC().AllocLC();
- }
-
-
- // Holds the list box item
- HBufC* listBoxItem = HBufC::NewL( KListItemFormat().Length()+
- columnName->Length() +
- aValueText.Length() );
-
- // For formating needs
- TPtr listBoxItemPrt = listBoxItem->Des();
-
- // Format string ( KListItemFormat = %S\t%S )
- listBoxItemPrt.Format( KListItemFormat, columnName, &aValueText );
- CleanupStack::PopAndDestroy( columnName );
- CleanupStack::PushL( listBoxItem );
- return listBoxItem;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenWlanIapNameL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenWlanIapNameL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenWlanIapNameL" );
- if ( iWlanInfo.iNetworkName.Length() )
- {
- HBufC* wlanIapName = iWlanInfo.GetIapNameAsUnicodeLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_CMON_HEADING_CONN_NAME,
- *wlanIapName );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( wlanIapName );
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenWlanSsidL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenWlanSsidL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenWlanSsidL" );
- HBufC* wlanSsid = iWlanInfo.GetSsidAsUnicodeLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NETWORK_NAME,
- *wlanSsid );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( wlanSsid );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSingnalL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSingnalL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSingnalL" );
- HBufC* singnalStrength = FormatSingnalStrenghtLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_SIGNAL_STRENGTH,
- *singnalStrength );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( singnalStrength );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenModeL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenModeL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenModeL" );
- HBufC* mode = FormatModeLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NETWORK_MODE,
- *mode );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( mode );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSecurityL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSecurityL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSecurityL" );
- HBufC* security = FormatSecurityLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_SECURITY_MODE,
- *security );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( security );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenCoverageL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenCoverageL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenCoverageL" );
- HBufC* coverage = FormatCoverageLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NW_AP_AMOUNT,
- *coverage );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( coverage );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSpeedL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSpeedL()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSpeedL" );
- HBufC* speed = FormatTechnologyLC();
- HBufC* listBoxItem = FormatListBoxItemLC(
- R_QTN_SNIFFER_HEADING_WLAN_NW_MAX_RATE,
- *speed );
-
- iFormattedWlanInfo->AppendL( *listBoxItem );
- CleanupStack::PopAndDestroy( listBoxItem );
- CleanupStack::PopAndDestroy( speed );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatSingnalStrenghtLC()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatSingnalStrenghtLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatSingnalStrenghtLC" );
- // Holds the showed signal strenth string
- HBufC* singnalStrengthString = NULL;
-
- // Get string
- switch( iWlanInfo.SignalStrength() )
- {
- case ENoSignal:
- {
- singnalStrengthString = StringLoader::LoadLC(
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_NO_SIGNAL, iCoeEnv );
- break;
- }
- case EPoor:
- {
- singnalStrengthString = StringLoader::LoadLC (
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_LOW,
- iWlanInfo.SignalStrengthPercentage(),
- iCoeEnv );
- break;
- }
- case EAverage:
- {
- singnalStrengthString = StringLoader::LoadLC (
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_MEDIUM,
- iWlanInfo.SignalStrengthPercentage(),
- iCoeEnv );
- break;
- }
- case EExcelent:
- {
- singnalStrengthString = StringLoader::LoadLC (
- R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_STRONG,
- iWlanInfo.SignalStrengthPercentage(),
- iCoeEnv );
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
-
- }
- return singnalStrengthString;
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatModeLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatModeLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatModeLC" );
- TInt resourceId(0);
-
- switch( iWlanInfo.iNetMode )
- {
- case EAdhoc:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_NEWTWORK_MODE_ADHOC;
- break;
- }
-
- case EInfra:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_NEWTWORK_MODE_INFRA;
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
-
- }
-
- return StringLoader::LoadLC( resourceId );
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatSecurityLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatSecurityLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatSecurityLC" );
- TInt resourceId(0);
-
- switch( iWlanInfo.iSecurityMode )
- {
-
- case EWlanSecModeOpen:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_OPEN;
- break;
- }
- case EWlanSecModeWep:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WEP;
- break;
- }
- case EWlanSecMode802_1x:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_802_1X;
- break;
- }
- case EWlanSecModeWpa:
- case EWlanSecModeWpa2:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WPA;
- break;
- }
- case EWlanSecModeWAPI:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WAPI;
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
- }
-
- return StringLoader::LoadLC( resourceId );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatCoverageLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatCoverageLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatCoverageLC" );
- if ( iWlanInfo.iCoverage == 1)
- {
- return StringLoader::LoadLC(
- R_QTN_SNIFFER_WLAN_AP_AMOUNT_IN_RANGE, iCoeEnv );
- }
- else
- {
- return StringLoader::LoadLC(
- R_QTN_SNIFFER_WLAN_AP_AMOUNT_IN_RANGE_MANY,
- iWlanInfo.iCoverage, iCoeEnv );
- }
- }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatTechnologyLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatTechnologyLC()
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::FormatTechnologyLC" );
- TInt resourceId( 0 );
-
- switch( iWlanInfo.iTransferRate )
- {
-
- case 1:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11B;
- break;
- }
- case 2:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11G;
- break;
- }
- case 4:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11BG;
- break;
- }
- case 8:
- {
- resourceId = R_QTN_SNIFFER_WLAN_SETT_TECHNOLOGY_802_11N;
- break;
- }
- default:
- {
- return KNullDesC().AllocLC();
- }
- }
-
- return StringLoader::LoadLC( resourceId );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::VisibleWlans
-// ---------------------------------------------------------------------------
-//
-TInt CWsfDetailsViewModel::VisibleWlans( CWsfWlanInfoArray& aArray )
- {
- LOG_ENTERFN( "CWsfDetailsViewModel::VisibleWlans" );
- TUint i = 0;
- TWsfWlanInfo* wlanInfo;
- LOG_WRITEF( "Number of Wlans: %d", aArray.Count() );
- // The hidden WLAN should be in the end of the aArray.
- while ( i < aArray.Count() )
- {
- wlanInfo = aArray[i];
- if ( wlanInfo->Hidden() && !wlanInfo->Known() )
- {
- break; // Hidden was found. Break to exit the while-loop.
- }
- ++i;
- }
-
- LOG_WRITEF( "VisibleWlans: %d", i );
- return i;
- }
-
-// END OF FILE
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdocument.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* 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: Implementation of CWsfDocument.
-*
-*/
-
-#include <featmgr.h>
-#include "wsfappui.h"
-#include "wsfdocument.h"
-#include "wsfwlaninfoarrayvisitor.h"
-
-#include "wsfmodel.h"
-
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfDocument* CWsfDocument::NewL( CEikApplication& aApp )
- {
- CWsfDocument* self = NewLC( aApp );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfDocument* CWsfDocument::NewLC( CEikApplication& aApp )
- {
- CWsfDocument* self = new ( ELeave ) CWsfDocument( aApp );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfDocument::ConstructL()
- {
- iModel = CWsfModel::NewL( iMainController, EFalse );
- iModel->SetEngineObserver( &iMainController );
- iWlanInfoBranding = CWsfWlanInfoArrayVisitor::NewL( EFalse );
- iWlanInfoBranding->LoadFilterDefinitionsL();
- }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::CWsfDocument
-// ---------------------------------------------------------------------------
-//
-CWsfDocument::CWsfDocument( CEikApplication& aApp ) : CAknDocument( aApp )
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::~CWsfDocument
-// ---------------------------------------------------------------------------
-//
-CWsfDocument::~CWsfDocument()
- {
- delete iWlanInfoBranding;
- delete iModel;
- }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::CreateAppUiL
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CWsfDocument::CreateAppUiL()
- {
- // Create the application user interface, and return a pointer to it,
- // the framework takes ownership of this object
- CWsfAppUi* appUi = new ( ELeave ) CWsfAppUi;
- appUi->SetUiObserver( &iMainController );
-
- // Give references to main controller.
- iMainController.Initialize( *appUi, *iModel, *iWlanInfoBranding );
-
- return appUi;
- }
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfentrypoint.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* 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: Implementation of E32Main.
-*
-*/
-
-#include <eikstart.h>
-#include "wsfapplication.h"
-
-
-// ---------------------------------------------------------------------------
-// NewApplication
-// Create an application, and return a pointer to it
-// ---------------------------------------------------------------------------
-//
-CApaApplication* NewApplication()
- {
- return new CWsfApplication;
- }
-
-// ---------------------------------------------------------------------------
-// E32Main
-// ---------------------------------------------------------------------------
-//
-TInt E32Main()
- {
- return EikStart::RunApplication( NewApplication );
- }
-
-
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,921 +0,0 @@
-/*
-* 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: Implementation of TWsfMainController.
-*
-*/
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-#include <wlansniffer.rsg>
-#include <utf.h>
-#include <apgcli.h>
-#include <AknQueryDialog.h>
-#include <StringLoader.h>
-
-#include <cmmanagerext.h>
-
-// CLASS HEADER
-#include "wsfmaincontroller.h"
-
-// INTERNAL INCLUDES
-#include "wsfmodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfappui.h"
-#include "wsfmainviewcontrollerif.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfmainapplication.hrh"
-#include "wsfwlaninfoarrayvisitor.h"
-
-#include "wsflogger.h"
-
-// LOCAL DEFINITIONS
-#ifdef _DEBUG
- _LIT( KMainControllerPanic, "TWsfMainController" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KMainControllerPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::Initialize
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::Initialize(
- CWsfAppUi& aAppUi,
- CWsfModel& aModel,
- CWsfWlanInfoArrayVisitor &aWlanInfoBranding )
- {
- iAppUi = &aAppUi;
- iModel = &aModel;
- iWlanInfoBranding = &aWlanInfoBranding;
- iModel->SetConnecting( EFalse );
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::UpdateViewL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::UpdateViewL()
- {
- LOG_ENTERFN( "TWsfMainController::UpdateViewL" );
- CWsfWlanInfoArray* array = iModel->GetWlanListL();
- array->SortArrayL( *iWlanInfoBranding );
-
- LOG_WRITEF( "ActiveViewL: %x", iModel->ActiveViewL().iUid );
- switch ( iModel->ActiveViewL().iUid )
- {
- case EMainViewId:
- {
- _ASSERTD( iMainView );
- iMainView->UpdateWlanListL( array );
- break;
- }
-
- case EDetailsViewId:
- {
- _ASSERTD( iDetailsView );
- iMainView->UpdateWlanListInBackgroundL( array );
- iDetailsView->WlanListChangedL( array );
- break;
- }
- case EConnectedDetailsViewId:
- {
- iMainView->UpdateWlanListL( array );
- iAppUi->UpdateConnectedDetailsL( array );
- break;
- }
- default:
- {
- // Invalid view ID, make panic.
- _ASSERTD( 0 );
- break;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::UpdateViewL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::UpdateViewL( CWsfWlanInfoArray* aInfoArray )
- {
- LOG_ENTERFN( "TWsfMainController::UpdateViewL( aInfoArray ) " );
- LOG_WRITEF( "ActiveViewL: %x", iModel->ActiveViewL().iUid );
- switch ( iModel->ActiveViewL().iUid )
- {
- case EMainViewId:
- {
- iMainView->UpdateWlanListL( aInfoArray );
- break;
- }
-
- case EDetailsViewId:
- {
- iDetailsView->WlanListChangedL( aInfoArray );
- break;
- }
- case EConnectedDetailsViewId:
- {
- iMainView->UpdateWlanListL( aInfoArray );
- iAppUi->UpdateConnectedDetailsL( aInfoArray );
- break;
- }
- default:
- {
- // Invalid view ID, make panic.
- _ASSERTD( 0 );
- break;
- }
- }
- }
-
-// Events from AppUi
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ShowWlanListL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ShowWlanListL()
- {
- LOG_ENTERFN( "TWsfMainController::ShowWlanListL" );
- _ASSERTD( iAppUi );
- _ASSERTD( iModel );
-
- iModel->SetActiveViewL( EMainViewId );
- iAppUi->ActivateMainViewL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ShowDetailsL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ShowDetailsL()
- {
- LOG_ENTERFN( "TWsfMainController::ShowDetailsL" );
- _ASSERTD( iAppUi );
- _ASSERTD( iModel );
- _ASSERTD( iModel->ActiveViewL().iUid != EDetailsViewId );
-
- TWsfWlanInfo* selectedWlan = iMainView->SelectedItem();
-
- if ( selectedWlan )
- {
- TBool connected = selectedWlan->Connected();
-
- if( connected ) // Connected Details View - Replaced with dialog
- {
- // Work around - Emulated view
- iModel->SetActiveViewL( EConnectedDetailsViewId );
- // Holds selected wlan Ssid
- HBufC8* ssid = selectedWlan->GetSsidAsUtf8LC();
-
- // Holds current wlan array
- if ( !iInfoArray )
- {
- iInfoArray = iModel->GetWlanListL();
- iInfoArray->SortArrayL( *iWlanInfoBranding );
- }
- // Start and execute the Connected Details dialog
- // Set array and Ssid to detail view
- iAppUi->StartConnectedDetailsL( iInfoArray, *ssid );
- CleanupStack::PopAndDestroy( ssid );
-
- // After the dismissal of the Connected Details dialog,
- // change back to the main view
- ShowWlanListL();
- }
- else
- {
- iDetailsView = &( iAppUi->DetailsView( EDetailsViewId ) );
- iModel->SetActiveViewL( EDetailsViewId );
- iDetailsView->SetPartner( *this );
-
- // Holds selected wlan Ssid
- HBufC8* ssid = selectedWlan->GetSsidAsUtf8LC();
-
- // Holds current wlan array
- if ( !iInfoArray )
- {
- iInfoArray = iModel->GetWlanListL();
- iInfoArray->SortArrayL( *iWlanInfoBranding );
- }
- //Set array and Ssid to detail view
- iDetailsView->SetWlanListL( iInfoArray, *ssid );
-
- CleanupStack::PopAndDestroy( ssid );
-
- iAppUi->ActivateDetailsViewL( iModel->ActiveViewL() );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::MainViewCreatedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::MainViewCreatedL()
- {
- LOG_ENTERFN( "TWsfMainController::MainViewCreatedL" );
- iMainView = &( iAppUi->MainView() );
- iMainView->SetPartner( *this );
- iModel->SetActiveViewL( EMainViewId );
-
- if ( !iModel->Refreshing() )
- {
- iModel->SetRefreshState( ETrue );
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::WlanListChangedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::WlanListChangedL()
- {
- LOG_ENTERFN( "TWsfMainController::WlanListChangedL" );
-
- if ( iModel->IsConnecting() )
- {
- LOG_WRITE( "We are connecting just return from here" );
- return;
- }
-
- if ( iModel->Refreshing() )
- {
- // Make sure if leave occures that we don't block ourselves for retry
- CleanupStack::PushL( TCleanupItem( RestoreRefreshState, this ) );
- iModel->SetRefreshState( EFalse );
- if ( iAppUi )
- {
- iAppUi->HideWaitNoteL();
- iInfoArray = iModel->GetWlanListL();
- if ( !iInfoArray->Count() )
- {
- iAppUi->ShowNoWlansFoundInfoL();
- }
- UpdateViewL();
- }
- // pop cleanup item RestoreRefreshState
- CleanupStack::Pop();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::NotifyEngineError
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::NotifyEngineError( TInt aError )
- {
- LOG_ENTERFN( "TWsfMainController::NotifyEngineError" );
- switch ( aError )
- {
- case KErrServerTerminated:
- {
- break;
- }
-
- default:
- {
- TRAP_IGNORE( iAppUi->ShowGlobalErrorNoteL( aError ) );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ScanDisabledL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ScanDisabledL()
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ScanEnabledL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ScanEnabledL()
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::WlanConnectionActivatedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::WlanConnectionActivatedL()
- {
- LOG_ENTERFN( "TWsfMainController::WlanConnectionActivatedL" );
-
- // update the model and refresh ui
- if ( iInfoArray )
- {
- TBool found = EFalse;
- TWsfWlanInfo info;
- iModel->GetConnectedWlanDetailsL( info );
- if ( info.iIapId )
- {
- // find the entry for iapid
- // mark it connected - sort the array and refresh
- TWsfWlanInfo* temp = iInfoArray->Match( info.iIapId,
- iInfoArray->Count() );
- if ( temp )
- {
- found = ETrue;
- temp->iConnectionState = EConnected;
- iInfoArray->SortArrayL();
- UpdateViewL( iInfoArray );
- }
- }
-
- if ( !found )
- {
- // find the entry
- // mark it connected - sort the array and refresh
- TWsfWlanInfo* temp = iInfoArray->Match( info.iSsid,
- iInfoArray->Count() );
- if ( temp )
- {
- temp->iConnectionState = EConnected;
- temp->iIapId = info.iIapId;
- iInfoArray->SortArrayL();
- UpdateViewL( iInfoArray );
- }
- }
- }
-
- //Update icon
- iModel->RefreshScanL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::WlanConnectionClosedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::WlanConnectionClosedL()
- {
- LOG_ENTERFN( "TWsfMainController::WlanConnectionClosedL" );
- // update the model and refresh ui
- if ( iInfoArray )
- {
- // check if the array has any items
- if ( iInfoArray->Count() )
- {
- TWsfWlanInfo* firstItem = iInfoArray->At( 0 );
- if ( firstItem && ( firstItem->Connected() ||
- firstItem->iConnectionState == EConnecting ) )
- {
- LOG_WRITEF( "info state = %d", firstItem->iConnectionState );
- firstItem->iConnectionState = ENotConnected;
- TRAPD( error, iModel->CheckIsIapIdValidL( firstItem->iIapId ) );
- if ( error )
- {
- LOG_WRITEF( "Iap Id is not valid - error=%d", error );
- if ( firstItem->iRawSsid.Length() )
- {
- firstItem->iSsid.Copy( firstItem->iRawSsid );
- }
- firstItem->iIapId = 0;
- }
- iInfoArray->SortArrayL();
- UpdateViewL( iInfoArray );
- }
- }
- }
-
- // Abort current scan if exists so that we get
- // newest scan results propagated to ui
- iModel->AbortScanningL();
- iModel->RefreshScanL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectionCreationProcessFinishedL( TInt /*aResult*/ )
- {
- // no implementation required
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ShowMenuBarL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ShowMenuBarL()
- {
- LOG_ENTERFN( "TWsfMainController::ShowMenuBarL" );
- iAppUi->ShowMenuBarL();
- }
-
-// --------------------------- Events from the details view ------------------
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::CloseDetailsViewL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::CloseDetailsViewL()
- {
- LOG_ENTERFN( "TWsfMainController::CloseDetailsViewL" );
- ShowWlanListL();
- // After the Details View closed the mainview's
- // WlanList will be refreshed.
- iModel->RefreshScanL();
- }
-
-// ------------------------------- Menu press handler ------------------------
-
-
-// ----------------------------------------------------------------------------
-// TWsfMainController::StartBrowsingL
-// ----------------------------------------------------------------------------
-//
-void TWsfMainController::StartBrowsingL()
- {
- LOG_ENTERFN( "TWsfMainController::StartBrowsingL" );
- if ( iAppUi->SuppressingKeyEvents() || iModel->IsConnectedL() &&
- ( !iMainView->SelectedItem() ||
- !iMainView->SelectedItem()->Connected() ) )
- {
- iAppUi->ShowErrorNoteL( R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE );
- return;
- }
-
- // make sure we don't suppress our key events forever
- CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEvents, this ) );
- iAppUi->SetSuppressingKeyEvents( ETrue );
-
- TWsfWlanInfo* selectedItem = iMainView->SelectedItem();
- TWsfWlanInfo info;
-
- if ( selectedItem )
- {
- info = *selectedItem;
- }
-
- // Prevent connections to ad-hoc + WPA
- if ( info.iNetMode == CMManager::EAdhoc
- && info.iSecurityMode == CMManager::EWlanSecModeWpa )
- {
- iAppUi->ShowGlobalErrorNoteL( KErrNotSupported );
- CleanupStack::PopAndDestroy();
- return;
- }
-
- TInt result( KErrNone );
-
- TWsfIapPersistence persistence = EIapPersistent;
-
- if ( !info.Known() && !info.Connected() )
- {
- // if not known yet, create an IAP
- if ( iModel->CreateAccessPointL( info, EFalse ) )
- {
- persistence = EIapExpireOnDisconnect;
- // update iapID to list
- UpdateIapIdToInfoArrayL( info );
- }
- else
- {
- result = KErrGeneral;
- }
- }
-
- if ( info.iIapId && !info.Connected() )
- {
- // hopefully we have a valid IAP id inside
- result = iModel->ConnectL( info.iIapId, EFalse, persistence );
- }
- else if ( !info.Connected() )
- {
- result = KErrGeneral;
- }
-
- // pop cleanup item ReleaseSuppressingKeyEvents
- CleanupStack::Pop();
- iAppUi->SetSuppressingKeyEvents( EFalse );
-
- if ( !result )
- {
- TUint32 passedIap( info.iIapId );
-
- if ( info.Connected() && !passedIap )
- {
- // in case we have an EasyWLAN here
- RCmManagerExt cmmanager;
- cmmanager.OpenLC();
-
- passedIap = cmmanager.EasyWlanIdL();
-
- CleanupStack::PopAndDestroy( &cmmanager );
- }
-
- // launch the browser
- iModel->LaunchBrowserL( passedIap );
- }
- else if ( result == KErrCancel )
- {
- // connection creation was cancelled, refresh the view
- iModel->RefreshScanL();
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// TWsfMainController::ConnectL
-// ----------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectL()
- {
- LOG_ENTERFN( "TWsfMainController::ConnectL" );
- if ( iAppUi->SuppressingKeyEvents() || iModel->IsConnectedL() )
- {
- iAppUi->ShowErrorNoteL( R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE );
- return;
- }
-
- // make sure we don't suppress our key events forever
- CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEvents, this ) );
- iAppUi->SetSuppressingKeyEvents( ETrue );
-
- TWsfWlanInfo* selectedItem = iMainView->SelectedItem();
- TWsfWlanInfo info;
-
- if ( selectedItem )
- {
- info = *selectedItem;
- }
-
- // Prevent connections to ad-hoc + WPA
- if ( info.iNetMode == CMManager::EAdhoc
- && info.iSecurityMode == CMManager::EWlanSecModeWpa )
- {
- iAppUi->ShowGlobalErrorNoteL( KErrNotSupported );
- CleanupStack::PopAndDestroy();
- return;
- }
-
- TWsfIapPersistence persistence = EIapPersistent;
-
- if ( !info.Known() )
- {
- // a new access point needs to be created
- if ( iModel->CreateAccessPointL( info, EFalse ) )
- {
- persistence = EIapExpireOnDisconnect;
- // update iapID to list
- UpdateIapIdToInfoArrayL( info );
- }
- }
-
- if ( info.iIapId )
- {
- // hopefully we have a valid IAP id inside
- iModel->ConnectL( info.iIapId, ETrue, persistence );
- }
-
- // pop cleanup item ReleaseSuppressingKeyEvents
- CleanupStack::Pop();
- iAppUi->SetSuppressingKeyEvents( EFalse );
-
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::UpdateIapIdToInfoArrayL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::UpdateIapIdToInfoArrayL( TWsfWlanInfo& aInfo )
- {
- LOG_ENTERFN( "TWsfMainController::UpdateIapIdToInfoArrayL" );
- TWsfWlanInfo* temp = iInfoArray->Match( aInfo.iSsid, iInfoArray->Count() );
- if ( temp && !aInfo.Hidden() )
- {
- LOG_WRITE( "Info found" );
-
- // Check that there aren't any IAPs with same id
- TWsfWlanInfo* wlanInfoWithSameIapId = iInfoArray->Match( aInfo.iIapId,
- iInfoArray->Count() );
- if ( wlanInfoWithSameIapId )
- {
- // info with same id found set its iap id to zero
- LOG_WRITE( "info with same id found" );
- wlanInfoWithSameIapId->iIapId = 0;
- }
-
- temp->iIapId = aInfo.iIapId;
-
- if ( aInfo.iNetworkName.Length() )
- {
- // Replace ssid as well since scanner does this same thing
- temp->iSsid.Copy( aInfo.iNetworkName );
- }
- }
- else
- {
- LOG_WRITE( "Info not found" );
- TWsfWlanInfo* createdInfo = new (ELeave) TWsfWlanInfo( aInfo );
- createdInfo->iVisibility = ETrue;
- createdInfo->iStrengthLevel = EWlanSignalStrengthMax;
- iInfoArray->AppendL( createdInfo );
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::DisconnectL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::DisconnectL()
- {
- LOG_ENTERFN( "TWsfMainController::DisconnectL" );
- if ( iModel->IsConnecting() )
- {
- LOG_WRITE( "Abort connecting" );
- iModel->AbortConnectingL();
- }
- else
- {
- LOG_WRITE( "Disconnect" );
- iModel->DisconnectL();
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::RefreshL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::RefreshL()
- {
- LOG_ENTERFN( "TWsfMainController::RefreshL" );
- TBool refreshing = iModel->RefreshScanL();
- if ( refreshing )
- {
- iAppUi->StartWaitNoteL( ETrue );
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ContinueBrowsingL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ContinueBrowsingL()
- {
- LOG_ENTERFN( "TWsfMainController::ContinueBrowsingL" );
- // pass selected WLAN info to engine
- TWsfWlanInfo *selectedItem = iMainView->SelectedItem();
-
- if ( selectedItem )
- {
- // Prevent connections to ad-hoc + WPA
- if ( selectedItem->iNetMode == CMManager::EAdhoc
- && selectedItem->iSecurityMode == CMManager::EWlanSecModeWpa )
- {
- iAppUi->ShowGlobalErrorNoteL( KErrNotSupported );
- return;
- }
-
- TUint iapId = selectedItem->iIapId;
- iModel->ContinueBrowsingL( iapId );
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::EngineRefreshing
-// ---------------------------------------------------------------------------
-//
-TBool TWsfMainController::EngineRefreshing()
- {
- LOG_ENTERFN( "TWsfMainController::EngineRefreshing" );
- _ASSERTD( iModel );
- return iModel->Refreshing();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::AppLaunchCompleteL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::AppLaunchCompleteL()
- {
- LOG_ENTERFN( "TWsfMainController::AppLaunchCompleteL" );
- iAppUi->StartWaitNoteL( EFalse );
- iModel->EnableScanL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::AppSwitchedForegroundL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::AppSwitchedForegroundL()
- {
- LOG_ENTERFN( "TWsfMainController::AppSwitchedForegroundL" );
-
- //turn on scanning for our point of view
- iModel->EnableScanL();
-
- if ( !iModel->IsConnecting() )
- {
- LOG_WRITE( "Scan now" );
- TBool scan = iModel->RefreshScanL();
- if( !scan )
- {
- LOG_WRITE( "Set refresh state to true" );
- //if the refresh call was called when the server was
- //actually making a scan then the refresh state of the
- //model is turned to false, but in this case the scanning
- //wait note will stuck on the screen, That's why the
- //refresh state must be turned to true
- iModel->SetRefreshState( ETrue );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::AppSwitchedBackgroundL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::AppSwitchedBackgroundL()
- {
- LOG_ENTERFN( "TWsfMainController::AppSwitchedBackgroundL" );
- iModel->DisableScanL();
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchCompleteL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::BrowserLaunchCompleteL()
- {
- LOG_ENTERFN( "TWsfMainController::BrowserLaunchCompleteL" );
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserExitL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::BrowserExitL()
- {
- LOG_ENTERFN( "TWsfMainController::BrowserExitL" );
- iModel->AbortScanningL();
- iModel->RefreshScanL();
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchFailed
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::BrowserLaunchFailed( TInt aError )
- {
- LOG_ENTERFN( "TWsfMainController::BrowserLaunchFailed" );
- LOG_WRITEF( "error = %d", aError );
- switch ( aError )
- {
- case KErrCancel:
- {
- // user pressed cancel to connection creation
- break;
- }
-
- default:
- {
- break;
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectingL( TUint32 aIapId )
- {
- LOG_ENTERFN( "TWsfMainController::ConnectingL" );
- iModel->SetConnecting( ETrue );
-
- // update the model and refresh ui
- if ( iInfoArray )
- {
- LOG_WRITEF( "Match array with iapID = %d", aIapId );
- // find the entry for aIapId
- // mark it connecting - sort the array and refresh
- TWsfWlanInfo* temp = iInfoArray->Match( aIapId, iInfoArray->Count() );
- if ( temp )
- {
- LOG_WRITEF( "Info found iapID = %d", aIapId );
- temp->iConnectionState = EConnecting;
- iInfoArray->SortArrayL();
- UpdateViewL( iInfoArray );
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectingFinishedL( TInt aResult )
- {
- LOG_ENTERFN( "TWsfMainController::ConnectingFinishedL" );
- if ( iModel->IsConnecting() )
- {
- iModel->SetConnecting( EFalse );
- iModel->SetRefreshState( ETrue );
- iAppUi->HideWaitNoteL();
- }
-
- if ( aResult != KErrNone && aResult != KErrCancel )
- {
- LOG_WRITEF( "Connection failed with error=%d", aResult );
- if ( iInfoArray && iInfoArray->Count() &&
- iInfoArray->At(0)->iConnectionState == EConnecting )
- {
- iInfoArray->At(0)->iConnectionState = ENotConnected;
- TRAPD( error, iModel->CheckIsIapIdValidL(
- iInfoArray->At(0)->iIapId ) );
- if ( error )
- {
- LOG_WRITEF( "Iap Id %d is not valid - error=%d",
- iInfoArray->At(0)->iIapId, error );
-
- if ( iInfoArray->At(0)->iRawSsid.Length() )
- {
- iInfoArray->At(0)->iSsid.Copy(
- iInfoArray->At(0)->iRawSsid );
- }
-
- iInfoArray->At(0)->iIapId = 0;
- }
- iInfoArray->SortArrayL();
- UpdateViewL( iInfoArray );
- iModel->AbortScanningL();
- iModel->RefreshScanL();
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::EditBlackListItemsL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::EditBlackListItemsL()
- {
- LOG_ENTERFN( "TWsfMainController::EditBlackListItemsL" );
- _ASSERTD( iWlanInfoBranding );
- iWlanInfoBranding->EditBlackListL( *iInfoArray );
- iModel->RefreshScanL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::DetailsScanL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::DetailsScanL()
- {
- LOG_ENTERFN( "TWsfMainController::DetailsScanL" );
- iModel->RefreshScanL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ReleaseSuppressingKeyEvents
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ReleaseSuppressingKeyEvents( TAny* aPtr )
- {
- TWsfMainController* self =
- static_cast<TWsfMainController*>( aPtr );
- self->iAppUi->SetSuppressingKeyEvents( EFalse );
- self->iModel->SetConnecting( EFalse );
- TRAP_IGNORE( self->iModel->RefreshScanL() );
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::RestoreRefreshState
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::RestoreRefreshState( TAny* aPtr )
- {
- TWsfMainController* self =
- static_cast<TWsfMainController*>( aPtr );
- LOG_WRITE( "Restore refresh state")
- self->iModel->SetRefreshState( ETrue );
- }
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,551 +0,0 @@
-/*
-* 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: Implementation of CWsfMainView.
-*
-*/
-
-//External Includes
-#include <coemain.h>
-#include <eikmenub.h>
-#include <aknViewAppUi.h>
-#include <wlansniffer.rsg>
-#include <featmgr.h>
-#include <rconnmon.h>
-#include <apgcli.h>
-
-//Internal Includes
-#include "wsfdocument.h"
-#include "wsfwlaninfoarrayvisitor.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfmainview.h"
-#include "wsfmainviewmodel.h"
-#include "wsfmainviewcontainer.h"
-#include "wsfmainapplication.hrh"
-#include "wsfactivewaiter.h"
-#include "wsfappui.h"
-#include "wsfmodel.h"
-
-#include "wsflogger.h"
-
-
-// Standard construction sequence
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfMainView* CWsfMainView::NewL( TBool aIsEmbedded )
- {
- LOG_ENTERFN( "CWsfMainView::NewL" );
- CWsfMainView* self = CWsfMainView::NewLC( aIsEmbedded );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfMainView* CWsfMainView::NewLC( TBool aIsEmbedded )
- {
- LOG_ENTERFN( "CWsfMainView::NewLC" );
- CWsfMainView* self = new ( ELeave ) CWsfMainView;
- CleanupStack::PushL( self );
- self->ConstructL( aIsEmbedded );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::CWsfMainView
-// ---------------------------------------------------------------------------
-//
-CWsfMainView::CWsfMainView(): iBrowserIapId( KErrNotFound )
- {
- // no implementation required
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::~CWsfMainView
-// ---------------------------------------------------------------------------
-//
-CWsfMainView::~CWsfMainView()
- {
- LOG_ENTERFN( "CWsfMainView::~CWsfMainView" );
- if ( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- }
-
- delete iContainer;
- delete iModel;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::ConstructL( TBool aIsEmbedded )
- {
- LOG_ENTERFN( "CWsfMainView::ConstructL" );
- TInt actView( NULL );
-
- if ( aIsEmbedded ) // started from CP
- {
- actView = R_SNIFFER_CP_MAINVIEW;
- }
- else
- {
- actView = R_SNIFFER_MAINVIEW;
- }
-
- BaseConstructL( actView );
- iModel = CWsfMainViewModel::NewL();
- iController.SetModel( iModel );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::Id
-// ---------------------------------------------------------------------------
-//
-TUid CWsfMainView::Id() const
- {
- return TUid::Uid( EMainViewId );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::HandleCommandL( TInt aCommand )
- {
- switch ( aCommand )
- {
- case EAknSoftkeyOk:
- {
- break;
- }
- case EAknSoftkeyBack:
- {
- AppUi()->HandleCommandL( EAknCmdExit );
- break;
- }
- case EAknSoftkeyContextOptions:
- {
- LOG_WRITE( "CWsfMainView::HandleCommandL, Options" );
- MenuBar()->SetMenuTitleResourceId( R_SNIFFER_CONTEXT_MENUBAR );
- MenuBar()->SetMenuType( CEikMenuBar::EMenuContext );
- MenuBar()->TryDisplayMenuBarL();
- MenuBar()->SetMenuTitleResourceId( R_SNIFFER_MENUBAR );
- MenuBar()->SetMenuType( CEikMenuBar::EMenuOptions );
- break;
- }
- default:
- {
- AppUi()->HandleCommandL( aCommand );
- break;
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
- TUid /*aCustomMessageId*/,
- const TDesC8& /*aCustomMessage*/)
- {
- LOG_ENTERFN( "CWsfMainView::DoActivateL" );
- if ( !iContainer )
- {
- iContainer = CWsfMainViewContainer::NewL( ClientRect(), this );
- // set icons array to list
- iContainer->SetMopParent( this );
- iContainer->SetPartner( iController );
- iContainer->ListBox()->SetListBoxObserver( this );
- AppUi()->AddToViewStackL( *this, iContainer );
- iController.SetContainer( iContainer );
- }
-
- iContainer->MakeVisible( ETrue );
- iController.RefreshL();
- MenuBar()->SetContextMenuTitleResourceId( R_SNIFFER_CONTEXT_MENUBAR );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::DoDeactivate
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::DoDeactivate()
- {
- LOG_ENTERFN( "CWsfMainView::DoDeactivate" );
- if ( iContainer )
- {
- AppUi()->RemoveFromViewStack( *this, iContainer );
- iController.SetContainer( NULL );
- delete iContainer;
- iContainer = NULL;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::Controller
-// ---------------------------------------------------------------------------
-//
-MWsfMainViewControllerIf& CWsfMainView::Controller()
- {
- return iController;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::DynInitMenuPaneL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::DynInitMenuPaneL( TInt aResourceId,
- CEikMenuPane* aMenuPane )
- {
- LOG_ENTERFN( "CWsfMainView::DynInitMenuPaneL" );
- LOG_WRITEF( "resource id = %d", aResourceId );
- iController.UpdateSelectedItemL();
-
- if ( aResourceId == R_SNIFFER_MENU )
- {
- LOG_WRITE( "CWsfMainView::DynInitMenuPaneL, R_SNIFFER_MENU" );
- const CWsfDocument* doc = static_cast<const CWsfDocument*>(
- AppUi()->Document() );
- TBool blacklistEmpty( !doc->WlanInfoBranding().BlackListItemCount() );
- TWsfWlanInfo *selectedItem = iController.SelectedItem();
- CWsfWlanInfoArray *infoArray = iModel->GetInfoArray();
-
- TBool connecting( doc->Model().IsConnecting() );
-
- if ( !selectedItem )
- {
- // no real items available, but hidden item is present
- aMenuPane->SetItemDimmed( ESnifferCmdStartBrowsing, EFalse );
- aMenuPane->SetItemDimmed( ESnifferCmdContinueBrowsing, ETrue );
- aMenuPane->SetItemDimmed( ESnifferCmdConnect, EFalse );
- aMenuPane->SetItemDimmed( ESnifferCmdDisconnect, ETrue );
- aMenuPane->SetItemDimmed( ESnifferCmdRefresh, connecting );
-
- // dim filtering if connecting or there are no WLAN networks
- // in coverage or there is only one network which is connected,
- // and the filtering list does not contain any networks marked
- // to be filtered out.
- aMenuPane->SetItemDimmed( ESnifferCmdFilterWlans,
- connecting ||
- !infoArray ||
- ( blacklistEmpty &&
- ( !infoArray->Count() ||
- ( infoArray->Count() == 1 &&
- (*infoArray)[0]->Connected() ) ) ) );
- aMenuPane->SetItemDimmed( ESnifferCmdDetails, ETrue );
- aMenuPane->SetItemDimmed( ESnifferCmdSettings, connecting );
- return;
- }
-
- TBool connected( selectedItem->Connected() );
- TBool connectedAndUsed( EFalse );
- if ( connected && iBrowserIapId == selectedItem->iIapId )
- {
- connectedAndUsed = ETrue;
- }
- TBool known( selectedItem->Known() );
-
- TBool selectedItemConnecting (
- selectedItem->ConnectionStatus() == EConnecting );
-
- LOG_WRITEF( "connectedAndUsed = %d", connectedAndUsed );
- LOG_WRITEF( "connected = %d", connected );
- LOG_WRITEF( "known = %d", known );
- LOG_WRITEF( "selectedItemConnecting = %d", selectedItemConnecting );
- LOG_WRITEF( "connecting = %d", connecting );
-
- aMenuPane->SetItemDimmed( ESnifferCmdStartBrowsing,
- connectedAndUsed || selectedItemConnecting );
- aMenuPane->SetItemDimmed( ESnifferCmdContinueBrowsing,
- !connectedAndUsed || selectedItemConnecting );
-
- aMenuPane->SetItemDimmed( ESnifferCmdConnect,
- connected || selectedItemConnecting );
-
- aMenuPane->SetItemDimmed( ESnifferCmdDisconnect,
- !connected && !selectedItemConnecting);
-
- aMenuPane->SetItemDimmed( ESnifferCmdRefresh, connecting );
-
- // dim filtering if connecting or there are no WLAN networks
- // in coverage or there is only one network which is connected,
- // and the filtering list does not contain any networks marked
- // to be filtered out.
- aMenuPane->SetItemDimmed( ESnifferCmdFilterWlans,
- connecting ||
- !infoArray ||
- ( blacklistEmpty &&
- ( !infoArray->Count() ||
- ( infoArray->Count() == 1 &&
- (*infoArray)[0]->Connected() ) ) ) );
-
- aMenuPane->SetItemDimmed( ESnifferCmdDetails,
- connecting ||
- selectedItem->Hidden() && !known );
- aMenuPane->SetItemDimmed( ESnifferCmdSettings, connecting );
- }
- else if ( aResourceId == R_SNIFFER_CONTEXT_MENU )
- {
- LOG_WRITE( "CWsfMainView::DynInitMenuPaneL, R_SNIFFER_CONTEXT_MENU" );
- TWsfWlanInfo *selectedItem = iController.SelectedItem();
-
- // there must be always at least one item: "Other (unlisted)..."
- TBool connectedAndUsed( EFalse );
- TBool connected( EFalse );
- TBool known( EFalse );
- TBool hidden( ETrue );
-
- const CWsfDocument* doc = static_cast<const CWsfDocument*>(
- AppUi()->Document() );
-
- TBool connecting( doc->Model().IsConnecting() );
- TBool selectedItemConnecting( EFalse );
-
-
- if ( selectedItem )
- {
- // workaround: even if the model reports no elements, we know that
- // the hidden item must always be there
- connected = selectedItem->Connected();
- if ( connected && iBrowserIapId == selectedItem->iIapId )
- {
- connectedAndUsed = ETrue;
- }
- known = selectedItem->Known();
- hidden = selectedItem->Hidden();
- selectedItemConnecting =
- ( selectedItem->ConnectionStatus() == EConnecting );
- }
-
- LOG_WRITEF( "connectedAndUsed = %d", connectedAndUsed );
- LOG_WRITEF( "connected = %d", connected );
- LOG_WRITEF( "known = %d", known );
- LOG_WRITEF( "selectedItemConnecting = %d", selectedItemConnecting );
- LOG_WRITEF( "connecting = %d", connecting );
-
-
- aMenuPane->SetItemDimmed( ESnifferCmdStartBrowsing,
- connectedAndUsed || selectedItemConnecting );
- aMenuPane->SetItemDimmed( ESnifferCmdContinueBrowsing,
- !connectedAndUsed || selectedItemConnecting );
-
- aMenuPane->SetItemDimmed( ESnifferCmdConnect,
- connected || selectedItemConnecting );
- aMenuPane->SetItemDimmed( ESnifferCmdDisconnect,
- !connected && !selectedItemConnecting );
- aMenuPane->SetItemDimmed( ESnifferCmdDetails,
- connecting || hidden && !known );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::HandleListBoxEventL( CEikListBox* /*aListBox*/,
- TListBoxEvent aEventType )
- {
- LOG_ENTERFN( "CWsfMainView::HandleListBoxEventL" );
- LOG_WRITEF( "aEventType = %d", aEventType );
- switch ( aEventType )
- {
- case EEventEnterKeyPressed:
- case EEventItemSingleClicked:
- {
- HandleCommandL( EAknSoftkeyContextOptions );
- }
- break;
- default:
- break;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::SelectionKeyPressed
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::SelectionKeyPressed()
- {
- iSelectionKey = ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::UpdateBrowserUsageInfoL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::UpdateBrowserUsageInfoL()
- {
- LOG_ENTERFN( "CWsfMainView::UpdateBrowserUsageInfoL" );
- iBrowserIapId = BrowserIapIdL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::BrowserIapIdL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfMainView::BrowserIapIdL()
- {
- LOG_ENTERFN( "CWsfMainView::BrowserIapIdL" );
-
- const TInt KBrowserUid = 0x10008D39;
- TUid id( TUid::Uid( KBrowserUid ) );
-
- // Check if the Browser application is already running.
- TApaTaskList taskList( iEikonEnv->WsSession() );
- TApaTask task = taskList.FindApp( id );
- TInt browserIapId( KErrNotFound );
-
-#ifndef __WINS__
-
- if ( task.Exists() )
- {
- LOG_WRITE( "The Browser is running." );
- // The Browser is already running.
- TWsfWlanInfo* firstItem = NULL;
-
- CWsfWlanInfoArray *infoArray = iModel->GetInfoArray();
- if ( infoArray )
- {
- firstItem = infoArray->At( 0 );
- }
-
- TBool connected( EFalse );
- if( firstItem )
- {
- // first item always holds the connected network
- connected = firstItem->Connected();
- }
- LOG_WRITEF("Selected network Connected? %d", connected);
-
- if ( connected )
- {
- RConnectionMonitor connectionMonitor;
- connectionMonitor.ConnectL();
- CleanupClosePushL( connectionMonitor );
- // We have to check if the Browser using the selected
- // connection.
- // We have get the connectiond ID first.
- CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- CleanupStack::PushL( waiter );
-
- // first call, need to get the connection parameters
- TUint connectionCount( 0 );
-
- connectionMonitor.GetConnectionCount( connectionCount,
- waiter->iStatus );
- waiter->WaitForRequest();
-
- // find the connection with WLAN bearer
- // that will be the selected WLAN
- TUint connectionId( 0 );
- for ( TUint i = 1; i <= connectionCount; ++i )
- {
- TUint tmpConnectionId( 0 );
- TUint subConnectionCount( 0 );
- TConnMonBearerType bearerType( EBearerUnknown );
-
- connectionMonitor.GetConnectionInfo( i,
- tmpConnectionId,
- subConnectionCount );
- connectionMonitor.GetIntAttribute( tmpConnectionId,
- 0,
- KBearer,
- ( TInt& )bearerType,
- waiter->iStatus );
- waiter->WaitForRequest();
- if( bearerType == EBearerWLAN )
- {
- connectionId = tmpConnectionId;
- break;
- }
- }
- // Now we have the connectiond ID.
- LOG_WRITEF( "connectionId: %d", connectionId );
-
- TConnMonClientEnumBuf clientBuf;
-
- connectionMonitor.GetPckgAttribute( connectionId,
- 0,
- KClientInfo,
- clientBuf,
- waiter->iStatus );
- waiter->WaitForRequest();
- TInt count( 0 );
- if ( !waiter->iStatus.Int() )
- {
- count = clientBuf().iCount;
- }
-
- RApaLsSession appSess;
- TApaAppInfo appInfo;
-
- // The connection could be shared by several applications
- User::LeaveIfError( appSess.Connect() );
- // No need for CleanupClosePushL(appSess) cause nothing leaves.
-
- for ( TInt i = 0; i < count; i++ )
- {
- appInfo.iCaption.Zero();
- TInt result = appSess.GetAppInfo( appInfo,
- clientBuf().iUid[i] );
-
- LOG_WRITEF( "result: %d", result );
- LOG_WRITEF( "iClientInfo.iUid[i].iUid: %x",
- clientBuf().iUid[i].iUid );
-
- if ( clientBuf().iUid[i].iUid == KBrowserUid )
- {
- browserIapId = firstItem->iIapId;
- }
- }
- appSess.Close();
-
- CleanupStack::PopAndDestroy( waiter );
- CleanupStack::PopAndDestroy( &connectionMonitor );
- }
- }
- else
- {
- LOG_WRITE( "No Browser running." );
- }
-
-#endif // __WINS__
-
- LOG_WRITEF( "browserIapId: %d", browserIapId );
- return browserIapId;
- }
-
-
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontainer.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,811 +0,0 @@
-/*
-* 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: Implementation of CWsfMainViewContainer.
-*
-*/
-
-// EXTERNAL INCLUDES
-#include <AknUtils.h>
-#include <aknlists.h>
-#include <badesca.h>
-#include <wlansniffer.rsg>
-#include <wsficons.mbg>
-#include <AknIconUtils.h>
-#include <AknsUtils.h>
-#include <gulicon.h>
-#include <eikclbd.h>
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <StringLoader.h>
-#include <eikenv.h>
-#include <csxhelp/sniffer.hlp.hrh>
-
-
-// INTERNAL INCLUDES
-#include "wsfmainviewcontainer.h"
-#include "wsfmainviewinternals.h"
-#include "wsfmainviewcontrollerpartner.h"
-#include "wsfdocument.h"
-#include "wsfwlaninfoarrayvisitor.h"
-#include "wsfappui.h"
-#include "wsfmainview.h"
-#include <wlansniffer.rsg>
-
-#include "wsflogger.h"
-
-
-
-// LOCAL DEFINITIONS
-const TUint KIconListGranularity = 12; // Default size of the icons list
-// path of the app's iconfile
-_LIT( KIconFileName, "\\resource\\apps\\wsficons.mif" );
-
-const TInt KConnectingStepTime = 200 * 1000;
-
-_LIT( KFormat1Icon, "%d" );
-
-
-// CONSTRUCTION AND DESTRUCTION
-// ---------------------------------------------------------
-// CWsfMainViewContainer::NewL
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer* CWsfMainViewContainer::NewL( const TRect& aRect,
- CWsfMainView* aParentView )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::NewL" );
- CWsfMainViewContainer* self =
- CWsfMainViewContainer::NewLC( aRect, aParentView );
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::NewLC
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer* CWsfMainViewContainer::NewLC( const TRect& aRect,
- CWsfMainView* aParentView )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::NewLC" );
- CWsfMainViewContainer* self = new( ELeave ) CWsfMainViewContainer;
- CleanupStack::PushL( self );
- self->ConstructL( aRect, aParentView );
- return self;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::~CWsfMainViewContainer
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer::~CWsfMainViewContainer()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::~CWsfMainViewContainer" );
-
- StopConnectingAnimation();
-
- PopNaviPane();
-
- if ( iStatusConnecting )
- {
- delete iStatusConnecting;
- }
-
- delete iListBox;
- delete iNaviDecorator;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::CWsfMainViewContainer
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer::CWsfMainViewContainer()
- {
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::ConstructL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::ConstructL( const TRect& aRect,
- CWsfMainView* aParentView )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::ConstructL" );
- CreateWindowL();
-
- iParentView = aParentView;
-
- iListBox = new( ELeave ) CAknDoubleGraphicStyleListBox();
- TInt flags( EAknGenericListBoxFlags );
- iListBox->SetMopParent(this); //
- iListBox->ConstructL( this, flags );
- iListBox->SetContainerWindowL(*this);
-
- iListBox->SetFocus(ETrue);
-
- iListBox->CreateScrollBarFrameL( ETrue );
- iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
- CEikScrollBarFrame::EOff,
- CEikScrollBarFrame::EAuto );
-
- SetListboxIconsL();
-
- iConnectingIcons[0] = KWlanOnIcon_0;
- iConnectingIcons[1] = KWlanOnIcon_1;
- iConnectingIcons[2] = KWlanOnIcon;
- iConnectingIcons[3] = KWlanOnIcon_1;
-
- SetRect( aRect );
- iListBox->SetRect( Rect() );
- ActivateL();
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SizeChanged
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::SizeChanged()
- {
- iListBox->SetRect( Rect() );
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::CountComponentControls
-// ---------------------------------------------------------
-//
-TInt CWsfMainViewContainer::CountComponentControls() const
- {
- return 1;// return number of controls inside this container
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::ComponentControl
-// ---------------------------------------------------------
-//
-CCoeControl* CWsfMainViewContainer::ComponentControl(TInt aIndex) const
- {
- CCoeControl* object = NULL;
- switch ( aIndex )
- {
- case 0:
- object = iListBox;
- break;
- default:
- object = NULL;
- }
- return object;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CWsfMainViewContainer::OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::OfferKeyEventL" );
- CWsfAppUi* appui = static_cast<CWsfAppUi*>( iEikonEnv->AppUi() );
-
- if ( appui->SuppressingKeyEvents() )
- {
- return EKeyWasConsumed;
- }
-
- TKeyResponse result( EKeyWasNotConsumed );
- if ( aType == EEventKey || aType == EEventKeyDown )
- {
- TInt index = iListBox->CurrentItemIndex();
- if( ( aKeyEvent.iCode == EKeyBackspace ) && ( index != -1 ) )
- {
- result = EKeyWasConsumed;
- }
- else
- {
- result = iListBox->OfferKeyEventL( aKeyEvent, aType );
-
- if( aKeyEvent.iCode == EKeyUpArrow )
- {
- if( iPartner )
- {
- iPartner->HandleUpKeyPressedL();
- }
- }
- else if( aKeyEvent.iCode == EKeyDownArrow )
- {
- if( iPartner )
- {
- iPartner->HandleDownKeyPressedL();
- }
- }
- else if( aKeyEvent.iCode == EKeyOK )
- {
- if( iPartner )
- {
- iPartner->HandleSelectionKeyPressedL();
- }
- }
- }
- }
- return result;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadGraphicsL
-// ---------------------------------------------------------
-//
-CAknIconArray* CWsfMainViewContainer::LoadGraphicsL()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::LoadGraphicsL" );
- CAknIconArray* icons = new(ELeave) CAknIconArray( KIconListGranularity );
- CleanupStack::PushL( TCleanupItem( CleanUpResetAndDestroy,icons) );
-
-
- //KWlanOnIcon
- icons->InsertL( KWlanOnIcon,
- LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on) );
- CleanupStack::Pop(); /*icon*/
-
- //KWlanOnIcon_0
- icons->InsertL( KWlanOnIcon_0,
- LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn0,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_0) );
- CleanupStack::Pop(); /*icon*/
-
- //KWlanOnIcon_0
- icons->InsertL( KWlanOnIcon_1,
- LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn1,
- EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_1) );
- CleanupStack::Pop(); /*icon*/
-
- //ESecureNetworkIcon
- icons->InsertL( KSecureNetworkIcon, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSecureNetworkAdd,
- EMbmWsficonsQgn_indi_wlan_secure_network_add) );
-
- CleanupStack::Pop(); /*icon*/
-
- //ENoSignalIcon
- icons->InsertL( KNoSignalIcon, LoadIconLC(
- EMbmWsficonsEmpty13x13) );
- CleanupStack::Pop(); /*icon*/
-
- //EPoorSignal
- icons->InsertL( KPoorSignal, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSignalLowAdd,
- EMbmWsficonsQgn_indi_wlan_signal_low_add) );
-
- CleanupStack::Pop(); /*icon*/
-
- //EAverageSignal
- icons->InsertL( KAverageSignal, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSignalMedAdd,
- EMbmWsficonsQgn_indi_wlan_signal_med_add) );
- CleanupStack::Pop(); /*icon*/
-
- //EExcelentSignal
- icons->InsertL( KExcelentSignal, LoadSkinnableBlackIconLC(
- KAknsIIDQgnIndiWlanSignalGoodAdd ,
- EMbmWsficonsQgn_indi_wlan_signal_good_add) );
- CleanupStack::Pop(); /*icon*/
-
- //EConnectedNWIcon
- icons->InsertL( KConnectedNWIcon,
- LoadSkinnableIconLC( KAknsIIDQgnPropCmonWlanConn,
- EMbmWsficonsQgn_prop_cmon_wlan_conn) );
-
- CleanupStack::Pop(); /*icon*/
-
- //EKnownNWIcon
- icons->InsertL( KKnownNWIcon, LoadSkinnableIconLC(
- KAknsIIDQgnPropWlanBearer,
- EMbmWsficonsQgn_prop_wlan_bearer) );
- CleanupStack::Pop(); /*icon*/
-
- //ETransparentIcon
- icons->InsertL( KTransparentIcon, LoadIconLC(
- EMbmWsficonsQgn_prop_empty) );
- CleanupStack::Pop(); /*icon*/
-
- CleanupStack::Pop( icons );
- return icons;
- }
-
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::CleanUpResetAndDestroy
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::CleanUpResetAndDestroy( TAny* aArray )
- {
- if ( aArray )
- {
- CArrayPtrFlat<CBase>* array = static_cast<CArrayPtrFlat<CBase>*>(
- aArray );
- array->ResetAndDestroy();
- delete array;
- }
- }
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadIconLC( TInt aIconId)
- {
- LOG_ENTERFN( "CWsfMainViewContainer::LoadIconLC" );
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
- AknIconUtils::CreateIconL( bitmap,
- mask,
- KIconFileName,
- aIconId,
- aIconId + 1 );
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- return icon;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadBlackIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadBlackIconLC( TInt aIconId )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::LoadBlackIconLC" );
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
-
- AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
- KAknsIIDNone,
- KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13,
- bitmap,
- mask,
- KIconFileName,
- aIconId,
- aIconId+1,
- KRgbBlack );
-
-
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- return icon;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadSkinnableIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadSkinnableIconLC(
- const TAknsItemID aAknItemId,
- const TInt aIconId )
- {
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
-
- AknsUtils::CreateIconL( AknsUtils::SkinInstance(),
- aAknItemId,
- bitmap,
- mask,
- KIconFileName,
- aIconId,
- aIconId+1 );
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- return icon;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadSkinnableBlackIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadSkinnableBlackIconLC(
- const TAknsItemID aAknItemId,
- const TInt aIconId )
- {
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap;
- CFbsBitmap* mask;
-
- // Creates bitmap an icon.
-
- AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(),
- aAknItemId,
- KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13,
- bitmap,
- mask,
- KIconFileName,
- aIconId,
- aIconId+1,
- KRgbBlack );
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- return icon;
- }
-
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::UpdateHotSpotsL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::UpdateHotSpotsL( MDesCArray* aItemTextArray,
- TInt aCurrentItem )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::UpdateHotSpotsL" );
- StopConnectingAnimation();
- iListBox->Reset();
- iListBox->Model()->SetItemTextArray( aItemTextArray );
- iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
- iListBox->HandleItemAdditionL();
-
- if ( aItemTextArray->MdcaCount() )
- {
- TInt lastIndex = aItemTextArray->MdcaCount() -1;
- if ( aCurrentItem <= lastIndex )
- {
- iListBox->SetCurrentItemIndex( aCurrentItem );
- }
- else //( aCurrentItem > lastIndex )
- {
- iListBox->SetCurrentItemIndex( lastIndex );
- }
- TPtrC itemtext = iListBox->Model()->ItemText(0);
- HBufC* text = itemtext.AllocLC();
- TPtr buffer = text->Des();
- if ( ParseStringForAnimationL( buffer ) )
- {
- //Get the list box items model.
- MDesCArray* listArray = iListBox->Model()->ItemTextArray();
- CDesCArray* itemArray = static_cast<CDesCArray*>(listArray);
- itemArray->Delete(0,1);
- itemArray->InsertL(0,buffer);
- LOG_WRITE("Connecting status found");
- StartConnectingAnimationL();
- }
- CleanupStack::PopAndDestroy(text);
- }
-
- iParentView->UpdateBrowserUsageInfoL();
-
- iListBox->DrawDeferred();
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ParseStringForAnimationL()
-// --------------------------------------------------------------------------
-//
-TBool CWsfMainViewContainer::ParseStringForAnimationL( TDes& aString )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::ParseStringForAnimationL" );
- TBool found = EFalse;
- // start looking for '\t' digits and parse
- // the icon identifiers and label text
-
- // L"\tOther (hidden netw.)"
- // L"6\tAd-hoc WPA\tConnecting\t4\t0" - this we are trying to find
-
- TChar delimiter('\t');
- TInt firstTabPos = aString.Locate( delimiter );
- TInt secondTabPos = aString.Mid(
- firstTabPos +1 ).Locate(
- delimiter ) + firstTabPos + 1;
- TInt thirdTabPos = aString.Mid(
- secondTabPos +1 ).Locate(
- delimiter ) + secondTabPos + 1;
-
- // ok we have the tab positions read the values...
- TInt firstIcon;
- if ( firstTabPos )
- {
- TLex( aString.Mid( 0, firstTabPos )).Val( (TInt&)firstIcon );
- LOG_WRITEF( "First Icon %d", firstIcon );
- }
-
- if ( secondTabPos && thirdTabPos )
- {
- HBufC * foundString = aString.Mid( secondTabPos+1,
- thirdTabPos-secondTabPos-1 ).AllocLC();
-
- if ( !iStatusConnecting )
- {
- iStatusConnecting = StringLoader::LoadL(
- R_QTN_SNIFFER_CONNECTING );
- }
-
- if ( !foundString->Compare( iStatusConnecting->Des() ) )
- {
- HBufC* item = HBufC::NewLC( KFormat1Icon().Length() );
- item->Des().Format( KFormat1Icon, iConnectingIcons[iConnectingIndex] );
- LOG_WRITEF( "Replace Icon %d", iConnectingIcons[iConnectingIndex] );
-
- aString.Replace(0, firstTabPos, item->Des() );
- found = ETrue;
- CleanupStack::PopAndDestroy( item );
- }
- CleanupStack::PopAndDestroy( foundString );
- }
-
- return found;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfMainViewContainer::StartConnectingAnimationL
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::StartConnectingAnimationL()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::StartConnectingAnimationL" );
-
- if ( iAnimationPeriodic )
- {
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
-
- InitializeConnectingAnimation();
- iAnimationPeriodic = CPeriodic::NewL(
- CActive::EPriorityLow );
-
- iAnimationPeriodic->Start(
- TTimeIntervalMicroSeconds32( KConnectingStepTime ),
- TTimeIntervalMicroSeconds32( KConnectingStepTime ),
- TCallBack(
- CWsfMainViewContainer::DoConnectingAnimationStepL,
- this
- ) );
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfMainViewContainer::StopConnectingAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::StopConnectingAnimation()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::StopConnectingAnimation" );
-
- if ( iAnimationPeriodic )
- {
- iAnimationPeriodic->Cancel();
- delete iAnimationPeriodic;
- iAnimationPeriodic = NULL;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingAnimationStepL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfMainViewContainer::DoConnectingAnimationStepL( TAny* ptr )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::DoConnectingAnimationStepL" );
- static_cast<CWsfMainViewContainer*>( ptr )->DoConnectingAnimationStepL();
- return ETrue;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingAnimationStepL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::DoConnectingAnimationStepL()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::DoConnectingAnimationStepL" );
- AnimateConnecting();
- if ( iListBox->Model()->ItemTextArray()->MdcaCount() )
- {
- TPtrC itemtext = iListBox->Model()->ItemText(0);
- HBufC* text = itemtext.AllocLC();
- TPtr buffer = text->Des();
- if ( ParseStringForAnimationL( buffer ))
- {
- //Get the list box items model.
- MDesCArray* listArray = iListBox->Model()->ItemTextArray();
- CDesCArray* itemArray = static_cast<CDesCArray*>(listArray);
- itemArray->Delete(0,1);
- itemArray->InsertL(0,buffer);
- iListBox->HandleItemAdditionL();
- iListBox->DrawDeferred();
- LOG_WRITE("Connecting status found");
- }
- else
- {
- StopConnectingAnimation();
- }
- CleanupStack::PopAndDestroy( text );
- }
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::InitializeRefreshAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::InitializeConnectingAnimation()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::InitializeConnectingAnimation" );
- iConnectingIndex = 0;
- }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AnimateConnecting
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::AnimateConnecting()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::AnimateConnecting" );
- ++iConnectingIndex %= iConnectingIcons.Count();
- }
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SelectedItem
-// ---------------------------------------------------------
-//
-TInt CWsfMainViewContainer::SelectedItem()
- {
- return iListBox->CurrentItemIndex();
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::HandleResourceChange( TInt aType )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::HandleResourceChange" );
- CCoeControl::HandleResourceChange( aType );
-
- if ( aType == KAknsMessageSkinChange )
- {
- TRAP_IGNORE( SetListboxIconsL() );
- SizeChanged();
- }
-
- if( aType == KEikDynamicLayoutVariantSwitch )
- {
- TRect mainPaneRect;
- AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane,
- mainPaneRect );
- SetRect( mainPaneRect );
- DrawNow();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SetPartner
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::SetPartner(
- MWsfMainViewControllerPartner& aPartner )
- {
- iPartner = &aPartner;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::UpdateNaviPaneL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::UpdateNaviPaneL( const TDesC& aPaneText )
- {
- LOG_ENTERFN( "CWsfMainViewContainer::UpdateNaviPaneL" );
- if ( !( ( CWsfAppUi *)( iEikonEnv->AppUi() ) )->Foreground() )
- {
- return;
- }
-
- GetPanesL();
-
- if ( iNaviDecorator )
- {
- PopNaviPane();
- }
-
- iNaviDecorator = iNaviPane->CreateNavigationLabelL( aPaneText );
- iNaviDecorator->MakeScrollButtonVisible( ETrue );
- iNaviPane->PushL( *iNaviDecorator );
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::ListBox
-// ---------------------------------------------------------
-//
-CAknDoubleGraphicStyleListBox* CWsfMainViewContainer::ListBox() const
- {
- return iListBox;
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::PopNaviPane
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::PopNaviPane()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::PopNaviPane" );
- if ( iNaviPane && iNaviDecorator )
- {
- iNaviPane->Pop( iNaviDecorator );
- delete iNaviDecorator;
- iNaviDecorator = NULL;
- }
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::GetPanesL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::GetPanesL()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::GetPanesL" );
- if( !iNaviPane )
- {
- CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
-
- iNaviPane = static_cast<CAknNavigationControlContainer*>(
- statusPane->ControlL(
- TUid::Uid(EEikStatusPaneUidNavi ) ) );
- }
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SetListboxIconsL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::SetListboxIconsL()
- {
- LOG_ENTERFN( "CWsfMainViewContainer::SetListboxIconsL" );
- CAknIconArray* icons = LoadGraphicsL();
-
- CWsfDocument* doc = static_cast<CWsfDocument*>
- ( iEikonEnv->EikAppUi()->Document() );
-
- doc->WlanInfoBranding().AppendBrandingIconsL( *icons );
-
- iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
-
- }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::GetHelpContext
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::GetHelpContext( TCoeHelpContext& aContext) const
- {
- aContext.iMajor = TUid::Uid( 0x10281CAA );
- aContext.iContext = KSNIFFER_HLP_MAIN;
- }
-
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontroller.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* 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: Implementation of TWsfMainViewController.
-*
-*/
-
-// INTERNAL INCLUDES
-#include "wsfmainviewcontroller.h"
-#include "wsfmainviewmodel.h"
-#include "wsfmainviewcontainer.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-
-#include "wsflogger.h"
-
-
-// LOCAL DEFINITIONS
-#ifdef _DEBUG
- _LIT( KMainViewControllerPanic, "TWsfMainViewController" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KMainViewControllerPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SetModel
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::SetModel( CWsfMainViewModel* aModel )
- {
- iModel = aModel;
- iValidItem = EFalse;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SetContainer
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::SetContainer( CWsfMainViewContainer* aContainer )
- {
- iContainer = aContainer;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateHotSpotsL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateHotSpotsL( CWsfWlanInfoArray* aWlanList )
- {
- LOG_ENTERFN( "TWsfMainViewController::UpdateHotSpotsL" );
- // Format WLAN list which was passed as a parameter
- iModel->FormatWlanListL( aWlanList );
- CDesCArray* formattedList = iModel->GetWlanList();
-
- if ( iContainer )
- {
- // If some WLAN was already selected, don't lose the focus
- // By default show the first item (index == 0)
- TInt index = 0;
- TWsfWlanInfo* wlanInfo = aWlanList->Match( iModel->SelectedWlan(),
- aWlanList->Count() );
- if ( wlanInfo )
- {
- index = aWlanList->GetArrayIndex( wlanInfo );
- }
- iContainer->UpdateHotSpotsL( formattedList, index );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateNaviPaneL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateNaviPaneL()
- {
- LOG_ENTERFN( "TWsfMainViewController::UpdateNaviPaneL" );
- HBufC* naviText = iModel->FormatNaviPaneLC();
- iContainer->UpdateNaviPaneL( *naviText );
- CleanupStack::PopAndDestroy( naviText );
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateWlanListL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateWlanListL( CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "TWsfMainViewController::UpdateWlanListL" );
- UpdateHotSpotsL( aWlanArray );
- UpdateNaviPaneL();
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateWlanListInBackgroundL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateWlanListInBackgroundL(
- CWsfWlanInfoArray* aWlanArray )
- {
- LOG_ENTERFN( "TWsfMainViewController::UpdateWlanListInBackgroundL" );
- iModel->FormatWlanListL( aWlanArray );
- }
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::RefreshL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::RefreshL()
- {
- LOG_ENTERFN( "TWsfMainViewController::RefreshL" );
- CDesCArray* formattedList = iModel->GetWlanList();
- iContainer->UpdateHotSpotsL( formattedList, iModel->SelectedIndex() );
- UpdateNaviPaneL();
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SelectedItem
-// ---------------------------------------------------------------------------
-//
-TWsfWlanInfo* TWsfMainViewController::SelectedItem()
- {
- LOG_ENTERFN( "TWsfMainViewController::SelectedItem" );
-
- return iValidItem? &iSelectedItem: NULL;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SetPartner
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::SetPartner( MWsfMainViewPartner& aPartner )
- {
- iPartner = &aPartner;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateSelectedItemL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateSelectedItemL()
- {
- LOG_ENTERFN( "TWsfMainViewController::UpdateSelectedItemL" );
-
- _ASSERTD( iModel && iContainer );
-
- TInt selectedItem = iContainer->SelectedItem();
- CWsfWlanInfoArray* array = iModel->GetInfoArray();
- if ( array )
- {
- TWsfWlanInfo* item = NULL;
- if ( selectedItem < array->Count() )
- {
- item = array->At( selectedItem );
- }
-
- if ( item )
- {
- iSelectedItem = *item;
- iValidItem = ETrue;
- }
- else
- {
- iValidItem = EFalse;
- }
- }
-
- // Store name of focused WLAN
- if ( iValidItem )
- {
- HBufC8* ssid = iSelectedItem.GetSsidAsUtf8LC();
- iModel->SetSelectedWlan( ssid );
- CleanupStack::Pop( ssid );
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::HandleUpKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::HandleUpKeyPressedL()
- {
- LOG_ENTERFN( "TWsfMainViewController::HandleUpKeyPressedL" );
- _ASSERTD( iModel );
-
- // Store just listbox index. Needed
- iModel->SetSelectedIndex( iContainer->SelectedItem() );
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::HandleDownKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::HandleDownKeyPressedL()
- {
- LOG_ENTERFN( "TWsfMainViewController::HandleDownKeyPressedL" );
- _ASSERTD( iModel );
-
- iModel->SetSelectedIndex( iContainer->SelectedItem() );
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::HandleSelectionKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::HandleSelectionKeyPressedL()
- {
- LOG_ENTERFN( "TWsfMainViewController::HandleSelectionKeyPressedL" );
- _ASSERTD( iPartner );
-
- iPartner->ShowMenuBarL();
- }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewmodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,376 +0,0 @@
-/*
-* 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: Implementation of CWsfMainViewModel.
-*
-*/
-
-// EXTERNAL INCLUDES
-#include <badesca.h>
-#include <coemain.h>
-#include <StringLoader.h>
-#include <wlansniffer.rsg>
-
-// CLASS HEADER
-#include "wsfmainviewmodel.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfmainviewinternals.h"
-
-#include "wsflogger.h"
-
-
-// LOCAL DEFINITIONS
-
-// Listbox item format for open networks
-_LIT( KVisibleItemFormat1Icon, "%d\t%S\t%S\t%d" );
-
-// Listbox item format for secured networks
-_LIT( KVisibleItemFormat2Icons, "%d\t%S\t%S\t%d\t%d" );
-
-// Listbox item format for "Other (unlisted)" item
-_LIT( KHiddenItemFormat, "\t%S" );
-
-// Maximal length of listbox item strings
-const TInt KListBoxItemMaxLength = 128;
-
-// Listbox granularity
-const TUint KWlanListGranularity = 4;
-
-
-
-// CONSTRUCTION AND DESTRUCTION
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel* CWsfMainViewModel::NewL()
- {
- LOG_ENTERFN( "CWsfMainViewModel::NewL" );
- CWsfMainViewModel* self = CWsfMainViewModel::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel* CWsfMainViewModel::NewLC()
- {
- LOG_ENTERFN( "CWsfMainViewModel::NewLC" );
- CWsfMainViewModel* self = new( ELeave ) CWsfMainViewModel;
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::~CWsfMainViewModel
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel::~CWsfMainViewModel()
- {
- LOG_ENTERFN( "CWsfMainViewModel::~CWsfMainViewModel" );
- delete iFormattedWlanList;
- delete iSelectedWlan;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::CWsfMainViewModel
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel::CWsfMainViewModel(): iCoeEnv( CCoeEnv::Static() )
- {
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::ConstructL()
- {
- LOG_ENTERFN( "CWsfMainViewModel::ConstructL" );
- iFormattedWlanList = new (ELeave) CDesCArrayFlat( KWlanListGranularity );
- iSelectedWlan = KNullDesC8().AllocL();
-
- // add the hidden wlan item to the list by default
- TWsfWlanInfo dummy;
- HBufC* hidden = HBufC::NewLC( KListBoxItemMaxLength );
- TPtr ptr( hidden->Des() );
-
- FormatHiddenWlanItemL( dummy, ptr );
- iFormattedWlanList->AppendL( *hidden );
-
- CleanupStack::PopAndDestroy( hidden );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::GetWlanList
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfMainViewModel::GetWlanList()
- {
- return iFormattedWlanList;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::GetInfoArray
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoArray* CWsfMainViewModel::GetInfoArray()
- {
- return iWlanInfoArray;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SetSelectedWlan
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::SetSelectedWlan( HBufC8* aSsid )
- {
- delete iSelectedWlan;
- iSelectedWlan = aSsid;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SelectedWlan
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWsfMainViewModel::SelectedWlan()
- {
- return *iSelectedWlan;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SetSelectedIndex
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::SetSelectedIndex( TInt aIndex )
- {
- iListboxIndex = aIndex;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SelectedIndex
-// ---------------------------------------------------------------------------
-//
-TInt CWsfMainViewModel::SelectedIndex()
- {
- return iListboxIndex;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatNaviPaneLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfMainViewModel::FormatNaviPaneLC()
- {
- LOG_ENTERFN( "CWsfMainViewModel::FormatNaviPaneLC" );
- HBufC* textOfNaviPane = NULL;
-
- if ( !iVisibleWlans )
- {
- textOfNaviPane = KNullDesC().AllocLC();
- }
-
- else if ( iVisibleWlans == 1 )
- {
- textOfNaviPane = StringLoader::LoadLC(
- R_QTN_SNIFFER_NAVI_ONE_WLAN_NW_AVAILABLE, iCoeEnv );
- }
- else
- {
- textOfNaviPane = StringLoader::LoadLC(
- R_QTN_SNIFFER_NAVI_MANY_WLAN_NWS_AVAILABLE,
- iVisibleWlans,
- iCoeEnv );
- }
- return textOfNaviPane;
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatWlanListL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::FormatWlanListL( CWsfWlanInfoArray* aWlanList )
- {
- LOG_ENTERFN( "CWsfMainViewModel::FormatWlanListL" );
- //Function expects that items in list are already in proper order
- iVisibleWlans = 0;
- iWlanInfoArray = aWlanList;
- iFormattedWlanList->Reset();
- HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
- TPtr ptr( item->Des() );
- for (TInt i = 0; i < aWlanList->Count(); ++i )
- {
- TWsfWlanInfo* wlanInfo = aWlanList->At( i );
-
- // Hidden WLAN item is appended later for unknown hidden networks
- if ( wlanInfo->Hidden() && !wlanInfo->iIapId )
- {
- continue;
- }
- else
- {
- ++iVisibleWlans;
- }
-
- // known hidden wlans are also "visible"
- ptr.Zero();
- FormatVisibleWlanItemL( *wlanInfo, ptr );
- iFormattedWlanList->AppendL( ptr );
- }
-
- // now add "Other (unlisted)..." for hidden networks (always visible)
- // make up a dummy wlaninfo
- TWsfWlanInfo dummy;
-
- ptr.Zero();
- FormatHiddenWlanItemL( dummy, ptr );
- iFormattedWlanList->AppendL( ptr );
-
- CleanupStack::PopAndDestroy ( item );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatHiddenWlanItemL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::FormatHiddenWlanItemL( TWsfWlanInfo& /*aWlan*/,
- TDes& aItem )
- {
- LOG_ENTERFN( "CWsfMainViewModel::FormatHiddenWlanItemL" );
- HBufC* primaryText = StringLoader::LoadLC( R_QTN_SNIFFER_HIDDEN_WLAN );
-
- // Only Hidden WLAN text is shown.
- // All icons are transparent
- aItem.Format( KHiddenItemFormat, primaryText );
-
- CleanupStack::PopAndDestroy( primaryText );
- }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatVisibleWlanItemL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::FormatVisibleWlanItemL( TWsfWlanInfo& aWlan,
- TDes& aItem )
- {
- LOG_ENTERFN( "CWsfMainViewModel::FormatVisibleWlanItemL" );
- // Icon in first column is transparent by default
- // Known / Connected / None
- TInt column1Icon = KTransparentIcon; // qgn_transparent.svg
-
- if ( aWlan.BrandId() )
- {
- column1Icon = KTransparentIcon + aWlan.BrandId();
- }
- else if ( aWlan.Connected() )
- {
- column1Icon = KConnectedNWIcon; // qgn_prop_cmon_wlan_conn.svg
- }
- else if ( aWlan.Known() )
- {
- column1Icon = KKnownNWIcon; // qgn_prop_wlan_bearer.svg
- }
-
- //Ssid as primary text
- HBufC* primaryText( NULL );
-
- if ( aWlan.iNetworkName.Length() ) // If there is IAP
- {
- primaryText = aWlan.GetIapNameAsUnicodeLC();
- }
- else // If there no IAP
- {
- primaryText = aWlan.GetSsidAsUnicodeLC();
- }
-
- //Secondary Text, "Known" if IAP is already defined. Else "Unknown"
- TInt resId = R_QTN_SNIFFER_UNKNOWN;
- if ( aWlan.ConnectionStatus() == EConnected )
- {
- resId = R_QTN_SNIFFER_CONNECTED;
- }
- else if ( aWlan.ConnectionStatus() == EConnecting )
- {
- resId = R_QTN_SNIFFER_CONNECTING;
- }
- else if ( aWlan.Known() )
- {
- resId = R_QTN_SNIFFER_KNOWN;
- }
-
- HBufC* secondaryText = StringLoader::LoadLC( resId );
-
-
- //Column 3
- //Show secure icon if network is secure. By default show transparant icon.
- TInt column4Icon = aWlan.Secure() ? KSecureNetworkIcon : KTransparentIcon;
-
-
- // Signal strenght for column 4
- // No signal icon is set by default
- TInt column3Icon = KNoSignalIcon; //qgn_transparent.svg
-
- switch ( aWlan.SignalStrength() )
- {
- case EPoor:
- {
- column3Icon = KPoorSignal; //qgn_indi_wlan_signal_low_add.svg
- break;
- }
- case EAverage:
- {
- column3Icon = KAverageSignal; //qgn_indi_wlan_signal_med_add.svg
- break;
- }
- case EExcelent:
- {
- column3Icon = KExcelentSignal; //qgn_indi_wlan_signal_good_add.svg
- break;
- }
-
- case ENoSignal:
- default:
- {
- column3Icon = KNoSignalIcon; //qgn_indi_wlan_signal_no_wlan.svg
- break;
- }
- }
-
- if ( column4Icon == KTransparentIcon )
- {
- aItem.Format( KVisibleItemFormat1Icon, column1Icon,
- primaryText,
- secondaryText,
- column3Icon );
- }
- else
- {
- aItem.Format( KVisibleItemFormat2Icons, column1Icon,
- primaryText,
- secondaryText,
- column3Icon,
- column4Icon );
- }
-
- CleanupStack::PopAndDestroy( secondaryText );
- CleanupStack::PopAndDestroy( primaryText );
- }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/model/bwins/wsfmodelu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-EXPORTS
- ?ObservedWlan@CWsfModel@@QAEABVTDesC8@@XZ @ 1 NONAME ; class TDesC8 const & CWsfModel::ObservedWlan(void)
- ?NewL@CWsfAppLauncher@@SAPAV1@XZ @ 2 NONAME ; class CWsfAppLauncher * CWsfAppLauncher::NewL(void)
- ?EnableScanL@CWsfModel@@QAEHXZ @ 3 NONAME ; int CWsfModel::EnableScanL(void)
- ?ActiveViewL@CWsfModel@@QAE?AVTUid@@XZ @ 4 NONAME ; class TUid CWsfModel::ActiveViewL(void)
- ?AbortConnectingL@CWsfModel@@QAEXXZ @ 5 NONAME ; void CWsfModel::AbortConnectingL(void)
- ?ContinueBrowsingL@CWsfModel@@QAEXXZ @ 6 NONAME ; void CWsfModel::ContinueBrowsingL(void)
- ?GetConnectedWlanDetails@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTWsfWlanInfo@@AAVTRequestStatus@@@Z @ 7 NONAME ; void CWsfModel::GetConnectedWlanDetails(class TPckgBuf<int> &, class TWsfWlanInfo &, class TRequestStatus &)
- ?SetRefreshState@CWsfModel@@QAEXH@Z @ 8 NONAME ; void CWsfModel::SetRefreshState(int)
- ?RefreshScan@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTRequestStatus@@@Z @ 9 NONAME ; void CWsfModel::RefreshScan(class TPckgBuf<int> &, class TRequestStatus &)
- ?SetEngineObserver@CWsfModel@@QAEXPAVMWsfModelObserver@@@Z @ 10 NONAME ; void CWsfModel::SetEngineObserver(class MWsfModelObserver *)
- ?CheckIsIapIdValidL@CWsfModel@@QBEXI@Z @ 11 NONAME ; void CWsfModel::CheckIsIapIdValidL(unsigned int) const
- ?ConnectL@CWsfModel@@QAEXAAV?$TPckgBuf@H@@KHW4TWsfIapPersistence@@AAVTRequestStatus@@@Z @ 12 NONAME ; void CWsfModel::ConnectL(class TPckgBuf<int> &, unsigned long, int, enum TWsfIapPersistence, class TRequestStatus &)
- ?SetActiveViewL@CWsfModel@@QAEXH@Z @ 13 NONAME ; void CWsfModel::SetActiveViewL(int)
- ?NewLC@CWsfModel@@SAPAV1@AAVMWsfStateChangeObserver@@H@Z @ 14 NONAME ; class CWsfModel * CWsfModel::NewLC(class MWsfStateChangeObserver &, int)
- ?IsScanEnabledL@CWsfModel@@QAEHXZ @ 15 NONAME ; int CWsfModel::IsScanEnabledL(void)
- ?SetConnectResultL@CWsfModel@@QAEXHI@Z @ 16 NONAME ; void CWsfModel::SetConnectResultL(int, unsigned int)
- ?AbortScanningL@CWsfModel@@QAEXXZ @ 17 NONAME ; void CWsfModel::AbortScanningL(void)
- ?CancelNotifyEvents@CWsfModel@@QAEXXZ @ 18 NONAME ; void CWsfModel::CancelNotifyEvents(void)
- ??1CWsfModel@@UAE@XZ @ 19 NONAME ; CWsfModel::~CWsfModel(void)
- ?GetWlanListL@CWsfModel@@QAEPAVCWsfWlanInfoArray@@XZ @ 20 NONAME ; class CWsfWlanInfoArray * CWsfModel::GetWlanListL(void)
- ?DisableScanL@CWsfModel@@QAEHXZ @ 21 NONAME ; int CWsfModel::DisableScanL(void)
- ?GetConnectedWlanDetailsL@CWsfModel@@QAEHAAVTWsfWlanInfo@@@Z @ 22 NONAME ; int CWsfModel::GetConnectedWlanDetailsL(class TWsfWlanInfo &)
- ?GetWlanListSize@CWsfModel@@QAEXAAV?$TPckgBuf@I@@AAVTRequestStatus@@@Z @ 23 NONAME ; void CWsfModel::GetWlanListSize(class TPckgBuf<unsigned int> &, class TRequestStatus &)
- ?NewL@CWsfModel@@SAPAV1@AAVMWsfStateChangeObserver@@H@Z @ 24 NONAME ; class CWsfModel * CWsfModel::NewL(class MWsfStateChangeObserver &, int)
- ?Refreshing@CWsfModel@@QAEHXZ @ 25 NONAME ; int CWsfModel::Refreshing(void)
- ?ContinueBrowsingL@CWsfModel@@QAEXK@Z @ 26 NONAME ; void CWsfModel::ContinueBrowsingL(unsigned long)
- ?DisconnectL@CWsfModel@@QAEXXZ @ 27 NONAME ; void CWsfModel::DisconnectL(void)
- ?IsConnectedL@CWsfModel@@QAEHXZ @ 28 NONAME ; int CWsfModel::IsConnectedL(void)
- ?CreateAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@H@Z @ 29 NONAME ; int CWsfModel::CreateAccessPointL(class TWsfWlanInfo &, int)
- ?NewLC@CWsfAppLauncher@@SAPAV1@XZ @ 30 NONAME ; class CWsfAppLauncher * CWsfAppLauncher::NewLC(void)
- ?RequestNotifyEventsL@CWsfModel@@QAEXAAVMWsfStateChangeObserver@@@Z @ 31 NONAME ; void CWsfModel::RequestNotifyEventsL(class MWsfStateChangeObserver &)
- ?GetWlanList@CWsfModel@@QAEXAAV?$TPckgBuf@I@@AAVTPtr8@@AAVTRequestStatus@@@Z @ 32 NONAME ; void CWsfModel::GetWlanList(class TPckgBuf<unsigned int> &, class TPtr8 &, class TRequestStatus &)
- ?LaunchBrowserL@CWsfModel@@UAEXK@Z @ 33 NONAME ; void CWsfModel::LaunchBrowserL(unsigned long)
- ?LaunchHelperApplicationL@CWsfModel@@QAEXAAVTWsfWlanInfo@@@Z @ 34 NONAME ; void CWsfModel::LaunchHelperApplicationL(class TWsfWlanInfo &)
- ?RefreshScanL@CWsfModel@@QAEHXZ @ 35 NONAME ; int CWsfModel::RefreshScanL(void)
- ?Disconnect@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTRequestStatus@@@Z @ 36 NONAME ; void CWsfModel::Disconnect(class TPckgBuf<int> &, class TRequestStatus &)
- ?SetObservedWlanL@CWsfModel@@QAEXABVTDesC8@@@Z @ 37 NONAME ; void CWsfModel::SetObservedWlanL(class TDesC8 const &)
- ?CloseHelperApplication@CWsfModel@@QAEHXZ @ 38 NONAME ; int CWsfModel::CloseHelperApplication(void)
- ?ConnectL@CWsfModel@@QAEHKHW4TWsfIapPersistence@@@Z @ 39 NONAME ; int CWsfModel::ConnectL(unsigned long, int, enum TWsfIapPersistence)
-
--- a/wlanutilities/wlansniffer/model/eabi/wsfmodelu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-EXPORTS
- _ZN15CWsfAppLauncher4NewLEv @ 1 NONAME
- _ZN15CWsfAppLauncher5NewLCEv @ 2 NONAME
- _ZN9CWsfModel10DisconnectER8TPckgBufIiER14TRequestStatus @ 3 NONAME
- _ZN9CWsfModel10RefreshingEv @ 4 NONAME
- _ZN9CWsfModel11ActiveViewLEv @ 5 NONAME
- _ZN9CWsfModel11DisconnectLEv @ 6 NONAME
- _ZN9CWsfModel11EnableScanLEv @ 7 NONAME
- _ZN9CWsfModel11GetWlanListER8TPckgBufIjER5TPtr8R14TRequestStatus @ 8 NONAME
- _ZN9CWsfModel11RefreshScanER8TPckgBufIiER14TRequestStatus @ 9 NONAME
- _ZN9CWsfModel12DisableScanLEv @ 10 NONAME
- _ZN9CWsfModel12GetWlanListLEv @ 11 NONAME
- _ZN9CWsfModel12IsConnectedLEv @ 12 NONAME
- _ZN9CWsfModel12ObservedWlanEv @ 13 NONAME
- _ZN9CWsfModel12RefreshScanLEv @ 14 NONAME
- _ZN9CWsfModel14AbortScanningLEv @ 15 NONAME
- _ZN9CWsfModel14IsScanEnabledLEv @ 16 NONAME
- _ZN9CWsfModel14LaunchBrowserLEm @ 17 NONAME
- _ZN9CWsfModel14SetActiveViewLEi @ 18 NONAME
- _ZN9CWsfModel15GetWlanListSizeER8TPckgBufIjER14TRequestStatus @ 19 NONAME
- _ZN9CWsfModel15SetRefreshStateEi @ 20 NONAME
- _ZN9CWsfModel16AbortConnectingLEv @ 21 NONAME
- _ZN9CWsfModel16SetObservedWlanLERK6TDesC8 @ 22 NONAME
- _ZN9CWsfModel17ContinueBrowsingLEm @ 23 NONAME
- _ZN9CWsfModel17ContinueBrowsingLEv @ 24 NONAME
- _ZN9CWsfModel17SetConnectResultLEij @ 25 NONAME
- _ZN9CWsfModel17SetEngineObserverEP17MWsfModelObserver @ 26 NONAME
- _ZN9CWsfModel18CancelNotifyEventsEv @ 27 NONAME
- _ZN9CWsfModel18CreateAccessPointLER12TWsfWlanInfoi @ 28 NONAME
- _ZN9CWsfModel20RequestNotifyEventsLER23MWsfStateChangeObserver @ 29 NONAME
- _ZN9CWsfModel22CloseHelperApplicationEv @ 30 NONAME
- _ZN9CWsfModel23GetConnectedWlanDetailsER8TPckgBufIiER12TWsfWlanInfoR14TRequestStatus @ 31 NONAME
- _ZN9CWsfModel24GetConnectedWlanDetailsLER12TWsfWlanInfo @ 32 NONAME
- _ZN9CWsfModel24LaunchHelperApplicationLER12TWsfWlanInfo @ 33 NONAME
- _ZN9CWsfModel4NewLER23MWsfStateChangeObserveri @ 34 NONAME
- _ZN9CWsfModel5NewLCER23MWsfStateChangeObserveri @ 35 NONAME
- _ZN9CWsfModel8ConnectLER8TPckgBufIiEmi18TWsfIapPersistenceR14TRequestStatus @ 36 NONAME
- _ZN9CWsfModel8ConnectLEmi18TWsfIapPersistence @ 37 NONAME
- _ZN9CWsfModelD0Ev @ 38 NONAME
- _ZN9CWsfModelD1Ev @ 39 NONAME
- _ZN9CWsfModelD2Ev @ 40 NONAME
- _ZNK9CWsfModel18CheckIsIapIdValidLEj @ 41 NONAME
- _ZThn12_N9CWsfModel14LaunchBrowserLEm @ 42 NONAME
-
--- a/wlanutilities/wlansniffer/model/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* 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: Build information file for project Model
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// private API
-../inc/wsfmodel.h |../../../inc/wsfmodel.h
-../inc/wsfmodel.inl |../../../inc/wsfmodel.inl
-../inc/wsfbrowserlaunchobserver.h |../../../inc/wsfbrowserlaunchobserver.h
-../inc/wsfbrowserlaunchadapter.h |../../../inc/wsfbrowserlaunchadapter.h
-../inc/wsfscreensaverstateobserver.h |../../../inc/wsfscreensaverstateobserver.h
-
-// inner API
-../inc/wsfmodelobserver.h |../../inc/wsfmodelobserver.h
-
-../rom/wsfmodel.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfmodel.iby)
-
-
-PRJ_MMPFILES
-model.mmp
-
-
-// End of file
--- a/wlanutilities/wlansniffer/model/group/model.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,76 +0,0 @@
-/*
-* 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: Project definition file for project Model
-*
-*/
-
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET wsfmodel.dll
-TARGETTYPE dll
-
-UID 0x1000008e 0x2000CF31
-
-CAPABILITY CAP_GENERAL_DLL
-
-
-// Source files
-SOURCEPATH ../src
-
-SOURCE wsfmodel.cpp
-SOURCE wsfscreensaverwatcher.cpp
-SOURCE wsfapplauncher.cpp
-SOURCE wsfactivewaiter.cpp
-
-
-
-// own headers
-USERINCLUDE ../inc
-
-// inner API
-USERINCLUDE ../../inc
-
-// private API
-USERINCLUDE ../../../inc
-
-
-//Macro to /epoc32 headers
-// MW_LAYER... not enough because of <browseruisdkcrkeys.h>
-APP_LAYER_SYSTEMINCLUDE
-
-
-
-// Used system libraries
-LIBRARY euser.lib
-LIBRARY bafl.lib
-LIBRARY apgrfx.lib
-LIBRARY cone.lib
-LIBRARY ws32.lib
-LIBRARY centralrepository.lib
-LIBRARY cmmanager.lib
-LIBRARY cmmanagerdatabase.lib
-LIBRARY sysutil.lib
-LIBRARY efsrv.lib
-
-LIBRARY wsfwlaninfo.lib
-LIBRARY wsfclient.lib
-LIBRARY wsfapwizard.lib
-
-DEBUGLIBRARY flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/model/inc/wsfactivewaiter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* 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: Declaration of CWsfActiveWaiter
-*
-*/
-
-
-
-#ifndef __WSFSERVER_ACTIVE_WAITER_H__
-#define __WSFSERVER_ACTIVE_WAITER_H__
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest
- *
- * Usage:
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest == KErrNone )
- * {
- * // handle success
- * }
- * else
- * {
- * // handle failure
- * }
- * CleanupStack::PopAndDestroy( waiter );
- *
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ) : public CActive
- {
- public:
- /**
- * NewL function
- * @param aPlugin a pointer to notifier plugin
- */
- static CWsfActiveWaiter* NewL( );
-
- /**
- * Destructor
- */
- virtual ~CWsfActiveWaiter();
-
- /**
- * Waits for it's TRequestStatus to be completed
- * @return Error code returned from server after request is
- * completed
- */
- TInt WaitForRequest( );
-
- protected:
- /**
- * ConstructL
- */
- void ConstructL();
-
- /**
- * Constructor
- * @param aPlugin a pointer to notifier plugin
- */
- CWsfActiveWaiter();
-
- /**
- * DoCancel from CActive
- */
- virtual void DoCancel();
-
- /**
- * RunL from CActive
- */
- virtual void RunL();
-
- protected:
- CActiveSchedulerWait iWait;
- };
-
-#endif // __WSFSERVER_ACTIVE_WAITER_H__
-
-// End of file
--- a/wlanutilities/wlansniffer/model/inc/wsfapplauncher.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,277 +0,0 @@
-/*
-* 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 CWsfAppLauncher
-*
-*/
-
-
-
-
-#ifndef C_WSFAPPLAUNCHER_H
-#define C_WSFAPPLAUNCHER_H
-
-#include <e32std.h>
-#include <w32std.h>
-
-class MWsfBrowserLaunchObserver;
-class CRepository;
-
-
-/**
-* Browser launching states
-*/
-enum TWsfLaunchState
- {
- EIdle,
- EShuttingDown,
- EStartingUp,
- ECompleted,
- EFinished
- };
-
-
-
-// CLASS DEFINITION
-/**
- * Class to manage browser launching and closure.
- *
- * @lib wsfmodel.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfAppLauncher ): public CActive
- {
- public: // Constuctors and destructors
-
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance
- */
- IMPORT_C static CWsfAppLauncher* NewL();
-
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance
- */
- IMPORT_C static CWsfAppLauncher* NewLC();
-
- /**
- * Destructor
- * @since S60 5.0
- */
- virtual ~CWsfAppLauncher();
-
-
- private: //Constuctors
-
- /**
- * Constructor
- * @since S60 5.0
- */
- CWsfAppLauncher();
-
- /**
- * Second-phase constructor
- * @since S60 5.0
- */
- void ConstructL();
-
-
- public: //New public functions
-
- /**
- * Launches Browser application asynchronously using selected iap
- * @since S60 5.0
- * @param aObserver Observer to be notified about launch completion
- * @param aIapId IAP id passed as a parameter
- */
- void LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver,
- TUint aIapId );
-
- /**
- * Launches Browser application asynchronously using selected iap and
- * user defined URL
- * @since S60 5.0
- * @param aObserver Observer to be notified about launch completion
- * @param aIapId IAP id passed as a parameter
- * @param aURL User defined WWW address to be used as start-up page
- */
- void LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver,
- TUint aIapId,
- const TDesC& aURL );
-
- /**
- * Switches Browser application to foreground
- * @since S60 5.0
- */
- void ContinueBrowsingL();
-
- /**
- * Switches Browser application to foreground
- * @since S60 5.0
- * @param aObserver Observer to be notified about launch completion
- * @param aIapId IAP id passed as a parameter
- */
- void ContinueBrowsingL( MWsfBrowserLaunchObserver& aObserver,
- TUint aIapId );
-
- /**
- * Query launching state
- * @since S60 5.0
- * @return Lauching state
- */
- TWsfLaunchState Launching();
-
-
- /**
- * Returns the IAP which was last passed to the browser
- * @since S60 5.0
- * @return The IAP id passed to the browser.
- */
- TUint32 BrowserIap() const;
-
-
- private: // New private functions
-
- /**
- * Kills browser application if the one is already lauched
- * @since S60 5.0
- * @return ETrue if browser was killed, EFalse otherwise
- */
- TBool KillBrowserIfAlreadyExists();
-
- /**
- * Launches the browser asynchronously.
- * @since S60 5.0
- */
- void DoLaunchBrowserL();
-
- /**
- * Checks if Browser exists
- * @since S60 5.0
- * @return ETrue if the browser exists
- */
- TBool BrowserExists();
-
- /**
- * Checks what the default homepage is (URL)
- * @since S60 5.0
- * @param aHomePageURL URL of the default homepage
- * @return KErrNone if successful, KErrNotFound if HomePage is
- * not defined
- */
- TInt BrowserHomepage( TDes& aHomePageURL );
-
-
- private: // From CActive
-
- /**
- * Implements cancellation of an outstanding request.
- * @since S60 5.0
- */
- void DoCancel();
-
- /**
- * Handles an active object's request completion event.
- * @since S60 5.0
- */
- void RunL();
-
- /**
- * Handles a leave occurring in RunL().
- * @since S60 5.0
- * @param aError Leave code
- * @return aError
- */
- TInt RunError( TInt aError );
-
-
- private: // data
-
- /**
- * Observer to be notified about launch completion. Not owned.
- */
- MWsfBrowserLaunchObserver* iObserver;
-
- /**
- * Window session
- */
- RWsSession iWsSession;
-
- /**
- * IAP id to use
- */
- TUint iIapId;
-
- /**
- * State of browser launching
- */
- TWsfLaunchState iLaunchState;
-
- /**
- * Indicates whether to launch bookmarks page
- * (if homepage is not set)
- */
- TBool iLaunchBookMarks;
-
- /**
- * Browser app's UID
- */
- TUid iBrowserUid;
-
- /**
- * Key number for browser's default homepage
- */
- TUint iHomepageKey;
-
- /**
- * Handle to a repository. Owned.
- */
- CRepository* iRepository;
-
- /**
- * URL of the homepage. Owned.
- */
- HBufC* iURL;
-
- /**
- * Timer to wait for browser startup etc.
- */
- RTimer iTimer;
-
- /**
- * Browser's cenrep key number for the homepage
- */
- TUint iBrowserHomePageKey;
-
- /**
- * Browser's cenrep key number for the starting page
- */
- TUint iBrowserStartingPageKey;
-
- /**
- * The id of the broser thread
- */
- TThreadId iThreadId;
-
- /**
- * The browser thread
- */
- RThread iThread;
- };
-
-
-#endif // C_WSFAPPLAUNCHER_H
-
--- a/wlanutilities/wlansniffer/model/inc/wsfbrowserlaunchadapter.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* 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 MWsfBrowserLaunchAdapter
-*
-*/
-
-
-
-
-
-#ifndef M_WSFBROWSERLAUNCHADAPTER_H
-#define M_WSFBROWSERLAUNCHADAPTER_H
-
-
-// CLASS DEFINITION
-/**
- * Interface class to manage browser launching
- *
- * @since S60 5.0
- */
-class MWsfBrowserLaunchAdapter
- {
-
- public:
- /**
- * Implementing class should launch the browser with the give IAP id
- * @since S60 5.0
- * @param aIapId The IAP id to connect with
- */
- virtual void LaunchBrowserL( TUint32 aIapId ) = 0;
-
-
- };
-
-
-#endif // M_WSFBROWSERLAUNCHADAPTER_H
--- a/wlanutilities/wlansniffer/model/inc/wsfbrowserlaunchobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* 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 MWsfBrowserLaunchObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFBROWSERLAUNCHOBSERVER_H
-#define M_WSFBROWSERLAUNCHOBSERVER_H
-
-
-
-// CLASS DEFINITION
-/**
- * Interface class to get notified about browser launch results
- *
- * @since S60 5.0
- */
-class MWsfBrowserLaunchObserver
- {
-
- public:
- /**
- * Called if the browser launch failed for some reason
- * @since S60 5.0
- * @param aError System-wide error code
- */
- virtual void BrowserLaunchFailed( TInt aError ) = 0;
-
- /**
- * Called if the launch has been completed successfully
- * @since S60 5.0
- */
- virtual void BrowserLaunchCompleteL() = 0;
-
- /**
- * Called when the previously launched browser exits
- * @since S60 5.0
- */
- virtual void BrowserExitL() = 0;
-
- };
-
-
-#endif // M_WSFBROWSERLAUNCHOBSERVER_H
--- a/wlanutilities/wlansniffer/model/inc/wsfmodel.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,507 +0,0 @@
-/*
-* 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 CWsfModel
-*
-*/
-
-
-
-#ifndef C_WSFMODEL_H
-#define C_WSFMODEL_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfbrowserlaunchobserver.h"
-#include "wsfscreensaverstateobserver.h"
-#include "wsfbrowserlaunchadapter.h"
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfAppLauncher;
-class MWsfModelObserver;
-class CWsfWlanInfoArray;
-class MWsfStateChangeObserver;
-class CEikonEnv;
-class CWsfScreenSaverWatcher;
-class CWsfAsyncOperationQueue;
-
-
-// CLASS DEFINITION
-/**
- * Class acts as an application level model and is also entry point to the
- * application engine which is implemented as server
- *
- * @lib wsfmodel.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfModel ): public CBase,
- public MWsfBrowserLaunchObserver,
- public MWsfScreenSaverStateObserver,
- public MWsfBrowserLaunchAdapter
- {
- public: // Constructors and destructor
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify about server events
- * @param aScreenSaverAware Whether to react to screensaver events
- * @return Model instance
- */
- IMPORT_C static CWsfModel* NewL( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify about server events
- * @param aScreenSaverAware Whether to react to screensaver events
- * @return Model instance
- */
- IMPORT_C static CWsfModel* NewLC( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware );
-
- IMPORT_C ~CWsfModel();
-
- private: // Constructors
- CWsfModel();
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify about server events
- * @param aScreenSaverAware Whether to react to screensaver events
- */
- void ConstructL( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware );
-
- public: // New methods
-
- /**
- * Attach model observer
- * @since S60 5.0
- * @param aObserver Pointer to the model observer
- */
- IMPORT_C void SetEngineObserver( MWsfModelObserver* aObserver );
-
- /**
- * Return the latest list of found WLANs. Ownership not passed.
- * @since S60 5.0
- * @return Array of WLANs
- */
- IMPORT_C CWsfWlanInfoArray* GetWlanListL();
-
- /**
- * Asyncronous request to the server to return wlan list size
- * @since S60 5.2
- * @param aPckg request result
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void GetWlanListSize( TPckgBuf<TUint>& aPckg,
- TRequestStatus& aStatus );
-
- /**
- * Asyncronous request to the server to return wlan list
- * @since S60 5.2
- * @param aPckg request result
- * @param aPtr wlan list
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void GetWlanList( TPckgBuf<TUint>& aPckg, TPtr8& aPtr,
- TRequestStatus& aStatus );
-
- /**
- * Store active views UID
- * @since S60 5.0
- * @param aActiveViewId Active view's UID
- */
- IMPORT_C void SetActiveViewL( TInt aActiveViewId );
-
- /**
- * Get UID of the active view
- * @since S60 5.0
- * @return UID of active view
- */
- IMPORT_C TUid ActiveViewL();
-
- /**
- * Store SSID of active WLAN
- * @since S60 5.0
- * @param aSsid WLAN's name (SSID)
- */
- IMPORT_C void SetObservedWlanL( const TDesC8& aSsid );
-
- /**
- * Get SSID of active WLAN
- * @since S60 5.0
- * @return Active WLAN's name (SSID)
- */
- IMPORT_C const TDesC8& ObservedWlan();
-
- /**
- * Connects to the given WLAN IAP
- * @since S60 5.0
- * @param aIapId WLAN IAP id to connect to.
- * @param aConnectOnly ETrue if Connect selected
- * @param aPersistence The value of the persistence property
- */
- IMPORT_C int ConnectL( TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence );
-
- /**
- * Asyncronous request to the server to connect to the given WLAN IAP
- * @since S60 5.2
- * @param aPckg request result
- * @param aIapId WLAN IAP id to connect to.
- * @param aConnectOnly ETrue if Connect selected
- * @param aPersistence The value of the persistence property
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void ConnectL( TPckgBuf<TBool>& aPckg, TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence,
- TRequestStatus& aStatus );
-
- /**
- * Sets connection result
- * @since S60 5.2
- * @param aResult connection result
- * @param aIapId WLAN IAP
- */
- IMPORT_C void SetConnectResultL( TInt aResult, TUint aIapId );
-
- /**
- * Disconnects WLAN
- * @since S60 5.0
- */
- IMPORT_C void DisconnectL();
-
- /**
- * Asyncronous request to the server to disconnect
- * @since S60 5.2
- * @param aPckg request result
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void Disconnect( TPckgBuf<TBool>& aPckg,
- TRequestStatus& aStatus );
-
- /**
- * Check if the engine is refreshing
- * @since S60 5.0
- * @return ETrue if first refreshing
- */
- IMPORT_C TBool Refreshing();
-
- /**
- * Change refreshing state
- * @since S60 5.0
- * @param aRefreshing Refreshing state
- */
- IMPORT_C void SetRefreshState( TBool aRefreshing );
-
- /**
- * Notifies server to start scanning if not scanning already
- * @since S60 5.0
- * @return ETrue on success
- */
- IMPORT_C TBool EnableScanL();
-
- /**
- * Notifies server to disable scanning
- * However, scanning will continue if some other client
- * has enabled scanning.
- * @since S60 5.0
- * @return ETrue on success
- */
- IMPORT_C TBool DisableScanL();
-
- /**
- * Checks if scanning is enabled in the server
- * @since S60 5.0
- * @return EFalse if not scanning
- */
- IMPORT_C TBool IsScanEnabledL();
-
- /**
- * Continues browsing
- * @since S60 5.0
- */
- IMPORT_C void ContinueBrowsingL();
-
- /**
- * Continues browsing (browser launched if needed)
- * @since S60 5.0
- * @param aIapId The IAP id to use with the browser
- */
- IMPORT_C void ContinueBrowsingL( TUint32 aIapId );
-
- /**
- * Creates new WLAN access point based on wlaninfo passed as parameter.
- * If aExplicitDefine is ETrue, the connection method is saved to the
- * destination selected by the user, otherwise it is put into the
- * Uncategorized folder.
- * @since S60 5.0
- * @param aWlan Reference to Wlan which is used as base
- * for new access point
- * @param aExplicitDefine Should be ETrue in case of
- * 'Define access point'
- * @return ETrue if access point creation succeeds
- */
- IMPORT_C TBool CreateAccessPointL( TWsfWlanInfo& aWlan,
- TBool aExplicitDefine );
-
- /**
- * Requests a rescan for available wlans
- * @since S60 5.0
- * @return ETrue on success
- */
- IMPORT_C TBool RefreshScanL();
-
- /**
- * Asyncronous request to the server to make a scan
- * @since S60 5.2
- * @param aPckg request result
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void RefreshScan( TPckgBuf<TBool>& aPckg,
- TRequestStatus& aStatus );
-
- /**
- * Closes helper application if it is launched
- * @since S60 5.2
- * @return ETrue if helper application task was closed
- */
- IMPORT_C TBool CloseHelperApplication();
-
- /**
- * Launches and helper application to create an accesspoint
- * @since S60 5.2
- * @param aWlanInfo The WlanInfo object to be passed to the helper app
- */
- IMPORT_C void LaunchHelperApplicationL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Cancel notify events from server
- * @since S60 5.0
- */
- IMPORT_C void CancelNotifyEvents();
-
- /**
- * Request notify events from server
- * @since S60 5.0
- * @param aObserver Instance of MWsfStateChangeObserver to handle events
- */
- IMPORT_C void RequestNotifyEventsL(
- MWsfStateChangeObserver& aObserver );
-
- /**
- * Queries if there is an active WLAN connection.
- * @since S60 5.0
- * @return ETrue if there is an active WLAN connection,
- * EFalse otherwise.
- */
- IMPORT_C TBool IsConnectedL();
-
- /**
- * If there is an active WLAN connection, returns its WLAN info.
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo object to fill
- * @return ETrue if success, EFalse otherwise.
- */
- IMPORT_C TBool GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo );
-
- /**
- * Asyncronous request to the server to return connected network
- * @since S60 5.2
- * @param aPckg request result
- * @param aWlanInfo The wlaninfo object to fill
- * @param aStatus The request status object used to contain
- * the completion status of the request.
- */
- IMPORT_C void GetConnectedWlanDetails( TPckgBuf<TBool>& aPckg,
- TWsfWlanInfo& aWlanInfo,
- TRequestStatus& aStatus );
-
- /**
- * Queries whether a connecting process is going on
- * @since S60 5.0
- * @return ETrue if connection is in progress
- */
- inline TBool IsConnecting() const;
-
- /**
- * Sets connecting status
- * @since S60 5.0
- * @param aIsConnecting The new status of the connecting process
- */
- inline void SetConnecting( TBool aIsConnecting );
-
- /**
- * Aborts the currently ongoing connecting process
- * @since S60 5.0
- */
- IMPORT_C void AbortConnectingL();
-
- /**
- * Aborts the currently ongoing scanning process
- * @since S60 5.0
- */
- IMPORT_C void AbortScanningL();
-
- /**
- * Check if Iap Id is valid
- * Leaves with system wide error code if Iap ID is
- * not valid or checking fails
- * @since S60 5.2
- * @param aIapId IAP id passed as a parameter
- */
- IMPORT_C void CheckIsIapIdValidL( TUint aIapId ) const;
-
- public: // from MWsfBrowserLaunchAdapter
- /**
- * Launches Browser application using selected iap
- * @since S60 5.0
- * @param aIapId IAP id passed as a parameter
- */
- IMPORT_C void LaunchBrowserL( TUint32 aIapId );
-
-
- public: // From MWsfBrowserLaunchObserver
-
- /**
- * Called if browser launch succeeds
- * @since S60 5.0
- */
- void BrowserLaunchCompleteL();
-
- /**
- * Called if browser launch failed
- * @since S60 5.0
- * @param aError System-wide error code
- */
- void BrowserLaunchFailed( TInt aError );
-
- /**
- * Called when the previously launched browser exits
- * @since S60 5.0
- */
- void BrowserExitL();
-
-
- private: // from MWsfScreenSaverStateObserver
-
- /**
- * Called if the status of the screensaver has been changed
- * @since S60 5.0
- * @param aScreenSaverActive Current status of the screensaver
- */
- void ScreenSaverStatusChangedL( const TBool aScreenSaverActive );
-
-
- private: // New methods
-
- /**
- * Check if there is disk space left
- * Leaves with KErrDiskFull is space is below CL
- * @since S60 5.0
- */
- void CheckSpaceBelowCriticalLevelL() const;
-
- /**
- * Check if access point to be created is
- * unknow and Network encryption is WAPI
- * Leaves with KErrWlanProtectedSetupSetupLocked
- * in the case of unknown WAPI AP.
- * @since S60 5.2
- */
- void CheckUnknownWapiL( TWsfWlanInfo& aWlan ) const;
-
- private: // Data
- /**
- * Reference to the current UI environment (not owned)
- */
- CEikonEnv* iEikEnv;
-
- /**
- * Reference to the model observer (not owned)
- */
- MWsfModelObserver* iObserver;
-
- /**
- * Browser launcher class. Owned.
- */
- CWsfAppLauncher* iBrowserLauncher;
-
- /**
- * Screen saver watcher class. Owned.
- */
- CWsfScreenSaverWatcher* iScreenSaverWatcher;
-
- /**
- * Client-side handle for server session
- */
- RWsfSession iSession;
-
- /**
- * Array to store WLAN scan results. Owned.
- */
- CWsfWlanInfoArray* iArray;
-
- /**
- * UID of active view
- */
- TUid iActiveView;
-
- /**
- * Name of currently observed WLAN
- */
- HBufC8* iObservedWlan;
-
- /**
- * Id of currently connected IAP (if applicable)
- */
- TUint iConnectedIapId;
-
- /**
- * Refreshing status
- */
- TBool iRefreshing;
-
- /**
- * Indicates whether connection creation has been started but not
- * finished yet.
- */
- TBool iConnecting;
-
- };
-
-
-#include "wsfmodel.inl"
-
-
-
-#endif // C_WSFMODEL_H
-
-// End of file
--- a/wlanutilities/wlansniffer/model/inc/wsfmodel.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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: Inline for CWsfModel
-*
-*/
-
-
-
-// INLINE FUNCTIONS
-
-// -----------------------------------------------------------------------------
-// CWsfModel::IsConnecting
-// -----------------------------------------------------------------------------
-//
-inline TBool CWsfModel::IsConnecting() const
- {
- return iConnecting;
- }
-
-
-// -----------------------------------------------------------------------------
-// CWsfModel::SetConnecting
-// -----------------------------------------------------------------------------
-//
-inline void CWsfModel::SetConnecting( TBool aIsConnecting )
- {
- iConnecting = aIsConnecting;
- }
-
-
--- a/wlanutilities/wlansniffer/model/inc/wsfmodelobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* 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 MWsfModelObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFMODELOBSERVER_H
-#define M_WSFMODELOBSERVER_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-#include <e32cmn.h>
-
-#include "wsfbrowserlaunchobserver.h"
-
-
-
-// CLASS DEFINITION
-/**
-* Class acts as an interface for the model to be able to call back its clients
-* in case of different model events.
-*
-* @since S60 5.0
-*/
-class MWsfModelObserver: public MWsfBrowserLaunchObserver
- {
- public: // Abstract methods
- /**
- * Notification that a connection is about to be created
- * @since S60 5.0
- * @param aIapId The IAP id of the connection being created
- */
- virtual void ConnectingL( TUint32 aIapId ) = 0;
-
- /**
- * Notification that the connection creation process ended
- * @since S60 5.0
- * @param aResult The result of the connection creation
- */
- virtual void ConnectingFinishedL( TInt aResult ) = 0;
-
- };
-
-
-#endif // M_WSFMODELOBSERVER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/model/inc/wsfscreensaverstateobserver.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* 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 MWsfScreenSaverStateObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFSCREENSAVERSTATEOBSERVER_H
-#define M_WSFSCREENSAVERSTATEOBSERVER_H
-
-
-#include <e32std.h>
-
-
-/**
- * Interface class for notifications about screen saver status change
- *
- * @since S60 5.0
- */
-class MWsfScreenSaverStateObserver
- {
- public:
- /**
- * Called when screen saver status has changed
- * @since S60 5.0
- * @param aScreenSaverActive ETrue if the screen saver was activated,
- * EFalse on deactivation
- */
- virtual void ScreenSaverStatusChangedL(
- const TBool aScreenSaverActive ) = 0;
- };
-
-
-#endif // M_WSFSCREENSAVERSTATEOBSERVER_H
--- a/wlanutilities/wlansniffer/model/inc/wsfscreensaverwatcher.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* 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 CWsfScreenSaverWatcher
-*
-*/
-
-
-
-#ifndef C_WSFSCREENSAVERWACTHER_H
-#define C_WSFSCREENSAVERWACTHER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-
-// FORWARD DECLARATIONS
-class MWsfScreenSaverStateObserver;
-
-/**
-* Active object class which monitors screen saver activity and notifies
-* the observer when changes occur.
-*
-* @lib wsfmodel.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfScreenSaverWatcher ): public CActive
- {
- public: // Constructors
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify when changes occur.
- * @return Class instance.
- */
- static CWsfScreenSaverWatcher* NewL(
- MWsfScreenSaverStateObserver& aObserver );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aObserver The object to notify when changes occur.
- * @return Class instance.
- */
- static CWsfScreenSaverWatcher* NewLC(
- MWsfScreenSaverStateObserver& aObserver );
-
- ~CWsfScreenSaverWatcher();
-
- private: // Constructors
-
- /**
- * Constructor.
- * @since S60 5.0
- * @param aObserver The object to notify when changes occur.
- */
- CWsfScreenSaverWatcher( MWsfScreenSaverStateObserver& aObserver );
-
- void ConstructL();
-
- public:
-
- /**
- * Start receiving events from screensaver
- * @since S60 5.0
- */
- void StartStatusScanning();
-
- protected: // from CActive
- void RunL();
- void DoCancel();
- TInt RunError( TInt aError );
-
- private: // Data
-
- /**
- * Handle to the screen saver property value
- */
- RProperty iProperty;
-
- /**
- * The object to notify when changes occur. Not owned.
- */
- MWsfScreenSaverStateObserver* iObserver;
-
- };
-
-#endif // C_WSFSCREENSAVERWACTHER_H
-
--- a/wlanutilities/wlansniffer/model/rom/wsfmodel.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 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: Image description file for project WlanInfoSorting
-*
-*/
-
-
-
-#ifndef WSFMODEL_IBY
-#define WSFMODEL_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferModel
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\wsfmodel.dll SHARED_LIB_DIR\wsfmodel.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFMODEL_IBY
--- a/wlanutilities/wlansniffer/model/src/wsfactivewaiter.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* 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: Implementation of CWsfActiveWaiter.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL( )
- {
- CWsfActiveWaiter* self =
- new ( ELeave ) CWsfActiveWaiter( );
- CleanupStack::PushL( self );
- self->ConstructL();
- CleanupStack::Pop( self );
-
- return self;
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::ConstructL()
- {
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter()
-: CActive( EPriorityNormal )
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::~CWsfActiveWaiter()
- {
- Cancel();
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::DoCancel()
- {
- }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::RunL()
- {
- LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
- if ( iWait.IsStarted() )
- {
- LOG_WRITE("async call completed, resuming.");
- iWait.AsyncStop();
- }
- }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest()
-// ---------------------------------------------------------
-//
-TInt CWsfActiveWaiter::WaitForRequest()
- {
- LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
- SetActive();
- iWait.Start();
-
- return iStatus.Int();
- }
-// End of File
-
--- a/wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,518 +0,0 @@
-/*
-* 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: Implementation of CWsfAppLauncher
-*
-*/
-
-
-
-
-// EXTERNAL INCLUDES
-#include <apgtask.h>
-#include <apgcli.h>
-#include <centralrepository.h>
-#include <browseruisdkcrkeys.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-
-// CLASS HEADER
-#include "wsfapplauncher.h"
-
-// INTERNAL INCLUDES
-#include "wsfbrowserlaunchobserver.h"
-#include "wsflogger.h"
-
-
-// LOCAL DEFINITIONS
-/**
-* Delay that we wait for the browser to start or terminate
-*/
-static const TInt KTimerTickInterval = 2 * 1000 * 1000;
-
-/**
-* Repository key ID for the browser's homepage URL
-*/
-static const TUint32 KBrowserNGHomepageURL = 0x00000030;
-
-
-#ifdef _DEBUG
- _LIT( KBrowserLauncherPanic, "CWsfAppLauncher" );
- #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
- User::Panic( KBrowserLauncherPanic, __LINE__) )
-#else
- #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfAppLauncher* CWsfAppLauncher::NewL()
- {
- CWsfAppLauncher* self = CWsfAppLauncher::NewLC();
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfAppLauncher* CWsfAppLauncher::NewLC()
- {
- CWsfAppLauncher* self = new( ELeave ) CWsfAppLauncher();
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::~CWsfAppLauncher
-// ---------------------------------------------------------------------------
-//
-CWsfAppLauncher::~CWsfAppLauncher()
- {
- Cancel();
- delete iURL;
- delete iRepository;
- iTimer.Close();
- iWsSession.Close();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::CWsfAppLauncher
-// ---------------------------------------------------------------------------
-//
-CWsfAppLauncher::CWsfAppLauncher():
- CActive( CActive::EPriorityStandard ),
- iIapId( 0 ),
- iLaunchState( EIdle ),
- iLaunchBookMarks( EFalse )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::ConstructL()
- {
- LOG_ENTERFN( "CWsfAppLauncher::ConstructL" );
- iBrowserUid = KCRUidBrowser;
- iHomepageKey = KBrowserNGHomepageURL;
- iBrowserStartingPageKey = KBrowserNGHomepageType;
-
- // Common settings for both browsers
- iRepository = CRepository::NewL( KCRUidBrowser );
-
- User::LeaveIfError( iWsSession.Connect() );
- User::LeaveIfError( iTimer.CreateLocal() );
-
- iURL = KNullDesC().AllocL();
- CActiveScheduler::Add( this );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::LaunchBrowserL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver,
- TUint aIapId,
- const TDesC& aURL )
- {
- LOG_ENTERFN( "CWsfAppLauncher::LaunchBrowserL_3" );
- Cancel();
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_3 -->> afer cancel" );
- iObserver = &aObserver;
- iIapId = aIapId;
- HBufC* url = aURL.AllocL();
- delete iURL;
- iURL = url;
-
- iLaunchState = EIdle;
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_3 -->> before set active" );
- SetActive();
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::LaunchBrowserL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver,
- TUint aIapId )
- {
- LOG_ENTERFN( "CWsfAppLauncher::LaunchBrowserL_2" );
- LOG_WRITEF( "CWsfAppLauncher::LaunchBrowserL_2 -->> iIapid %d", aIapId );
- HBufC* url = HBufC::NewLC(
- NCentralRepositoryConstants::KMaxUnicodeStringLength );
- TPtr urlPtr( url->Des() );
-
- iLaunchBookMarks = EFalse;
-
- RCmManager cmManager;
-
- cmManager.OpenL();
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> cmmanager opened" );
- CleanupClosePushL( cmManager );
-
- RCmConnectionMethod plugin;
- CleanupClosePushL( plugin );
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> cm before open" );
- LOG_WRITEF( "CWsfAppLauncher::LaunchBrowserL_2 -->> iIapid %d", aIapId );
- plugin = cmManager.ConnectionMethodL( aIapId );
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> cm after open" );
-
- // do we have start page for Access Point?
- HBufC* apHomepage = NULL;
- apHomepage = plugin.GetStringAttributeL( CMManager::ECmStartPage );
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> String Attrib got" );
- CleanupStack::PushL( apHomepage );
-
- if( apHomepage->Length() == 0 )
- {
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> hplength = 0" );
- // if we can't have Access Point URL then
- // we try to get browser homepage URL
- TInt err = BrowserHomepage( urlPtr );
-
- // if browser homepage is not defined either,
- // launch bookmarks view
- if ( err || url->Length() == 0 )
- {
- LOG_WRITE(
- "CWsfAppLauncher::LaunchBrowserL_2 -->> err in url length" );
- iLaunchBookMarks = ETrue;
- }
- }
- else
- {
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> hplength>0" );
- url->Des().Copy( *apHomepage );
- }
-
- LaunchBrowserL( aObserver, aIapId, *url );
-
- LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> after launch _3" );
- CleanupStack::PopAndDestroy( apHomepage );
- CleanupStack::PopAndDestroy( &plugin );
- CleanupStack::PopAndDestroy( &cmManager );
- CleanupStack::PopAndDestroy( url );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::DoLaunchBrowserL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::DoLaunchBrowserL()
- {
- LOG_ENTERFN( "CWsfAppLauncher::DoLaunchBrowserL" );
- _LIT( KFormatCommand, "%d %S" );
- const TInt KBrowserFirstParamUrlFollows = 4;
-
- iLaunchState = EStartingUp;
- HBufC* param = NULL;
- if ( iLaunchBookMarks )
- {
- param = KNullDesC().AllocLC();
- }
- else
- {
- param = HBufC::NewLC( KFormatCommand().Length() + iURL->Length() );
- param->Des().Format( KFormatCommand,
- KBrowserFirstParamUrlFollows, iURL );
- }
-
- RApaLsSession appArcSession;
- User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
- CleanupClosePushL( appArcSession );
-
- User::LeaveIfError( appArcSession.StartDocument( *param, iBrowserUid,
- iThreadId ) );
-
- CleanupStack::PopAndDestroy( &appArcSession );
- CleanupStack::PopAndDestroy( param );
-
-
- iTimer.Cancel();
- iTimer.After( iStatus, KTimerTickInterval );
- SetActive();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::BrowserExists
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppLauncher::BrowserExists()
- {
- LOG_ENTERFN( "CWsfAppLauncher::BrowserExists" );
- TApaTaskList taskList( iWsSession );
- TApaTask startedtask = taskList.FindApp( iBrowserUid );
- return startedtask.Exists();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::BrowserHomepage
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAppLauncher::BrowserHomepage( TDes& aHomePageURL )
- {
- LOG_ENTERFN( "CWsfAppLauncher::BrowserHomepage" );
- CRepository* repository( iRepository );
-
- // get the default starting page setting
- TInt startingPageMode( 0 );
- TInt err = repository->Get( iBrowserStartingPageKey, startingPageMode );
- if ( err == KErrNone )
- {
- switch ( startingPageMode )
- {
- case 1:
- case 2:
- {
- // user defined or current page
- err = repository->Get( iHomepageKey, aHomePageURL );
- break;
- }
- default:
- {
- aHomePageURL.Zero();
- }
- }
- }
-
- return err;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::KillBrowserIfAlreadyExists
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppLauncher::KillBrowserIfAlreadyExists()
- {
- LOG_ENTERFN( "CWsfAppLauncher::KillBrowserIfAlreadyExists" );
- _ASSERTD( iLaunchState == EIdle);
- _ASSERTD( !IsActive() );
-
- TBool killing = EFalse;
-
- TApaTaskList taskList( iWsSession );
- TApaTask task = taskList.FindApp( iBrowserUid );
-
- if ( task.Exists() )
- {
- // kill the browser...
- task.EndTask();
- killing = ETrue;
-
- iTimer.Cancel();
- iTimer.After( iStatus, KTimerTickInterval );
- }
- else
- {
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, KErrNone );
- }
-
- SetActive();
- iLaunchState = EShuttingDown;
- return killing;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::ContinueBrowsingL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::ContinueBrowsingL()
- {
- LOG_ENTERFN( "CWsfAppLauncher::ContinueBrowsingL_0" );
- //Check if the application is already running
- TBool exists = BrowserExists();
- if ( exists )
- {
- TApaTaskList taskList( iWsSession );
- TApaTask task = taskList.FindApp( iBrowserUid );
- task.BringToForeground();
- }
- else
- {
- User::Leave( KErrNotFound );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::ContinueBrowsingL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::ContinueBrowsingL( MWsfBrowserLaunchObserver& aObserver,
- TUint aIapId )
- {
- LOG_ENTERFN( "CWsfAppLauncher::ContinueBrowsingL_2" );
- //Check if the application is already running
- TBool exists = BrowserExists();
- if ( exists )
- {
- TApaTaskList taskList( iWsSession );
- TApaTask task = taskList.FindApp( iBrowserUid );
- task.BringToForeground();
- }
- else // browser not running - launch browser
- {
- LaunchBrowserL( aObserver, aIapId );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::Launching
-// ---------------------------------------------------------------------------
-//
-TWsfLaunchState CWsfAppLauncher::Launching()
- {
- LOG_ENTERFN( "CWsfAppLauncher::Launching" );
- return iLaunchState;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::BrowserIap
-// ---------------------------------------------------------------------------
-//
-TUint32 CWsfAppLauncher::BrowserIap() const
- {
- return iIapId;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::DoCancel()
- {
- LOG_ENTERFN( "CWsfAppLauncher::DoCancel" );
- iThread.LogonCancel( iStatus );
-
- iThread.Close();
- iTimer.Cancel();
- iLaunchState = EIdle;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::RunL()
- {
- LOG_ENTERFN( "CWsfAppLauncher::RunL" );
- _ASSERTD( iObserver );
- User::LeaveIfError( iStatus.Int() );
-
- switch( iLaunchState )
- {
- case EIdle: // Starting to launch
- {
- LOG_WRITE( "CWsfAppLauncher::RunL -->> EIdle" );
- KillBrowserIfAlreadyExists();
- break;
- }
- case EShuttingDown: // Existing browser was succesfully closed
- {
- LOG_WRITE( "CWsfAppLauncher::RunL -->> EShuttingDown" );
- DoLaunchBrowserL();
- break;
- }
- case EStartingUp: // Start-up completed, check browser exists
- {
- LOG_WRITE( "CWsfAppLauncher::RunL -->> EStartingUp" );
- TBool exists = BrowserExists();
- TInt err = exists ? KErrNone : KErrNotFound;
- iLaunchState = ECompleted;
- TRequestStatus* status = &iStatus;
- User::RequestComplete( status, err );
- SetActive();
- break;
- }
- case ECompleted: //Browser exists, notify observer about completion
- {
- LOG_WRITE( "CWsfAppLauncher::RunL -->> ECompleted" );
- iLaunchState = EFinished;
- LOG_WRITE( "CWsfAppLauncher::RunL -->> Before thread open" );
- User::LeaveIfError( iThread.Open( iThreadId, EOwnerProcess ) );
- LOG_WRITE( "CWsfAppLauncher::RunL -->> Thread opened" );
- iObserver->BrowserLaunchCompleteL();
- TRequestStatus* status = &iStatus;
- iThread.Logon( *status );
- SetActive();
- break;
- }
- case EFinished: //Browser exists, notify observer about completion
- {
- LOG_WRITE( "CWsfAppLauncher::RunL -->> EFinished" );
- iObserver->BrowserExitL();
- iLaunchState = EIdle;
- break;
- }
- default:
- {
- _ASSERTD( EFalse );
- }
- }
- }
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAppLauncher::RunError( TInt aError )
- {
- LOG_ENTERFN( "CWsfAppLauncher::RunError" );
- _ASSERTD( iObserver );
-
- switch( iLaunchState )
- {
- case EIdle: //
- case EShuttingDown: // Shuttind down existing browser failed
- case EStartingUp: // Starting up new browser failed
- case ECompleted: // Starting up new browser failed
- {
- iObserver->BrowserLaunchFailed( aError );
- break;
- }
- default:
- {
- _ASSERTD( EFalse );
- }
- }
-
- iLaunchState = EIdle;
- return aError;
- }
-
-
--- a/wlanutilities/wlansniffer/model/src/wsfmodel.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,787 +0,0 @@
-/*
-* 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: Implementation of CWsfModel
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <eikenv.h>
-#include <apgcli.h>
-#include <apgtask.h>
-#include <ictsclientinterface.h>
-#include <cmmanagerext.h>
-#include <cmdestinationext.h>
-#include <cmpluginwlandef.h>
-#include <centralrepository.h>
-#include <internetconnectivitycrkeys.h>
-#include <featmgr.h>
-#include <sysutil.h>
-#include <wlanerrorcodes.h>
-
-// CLASS HEADER
-#include "wsfmodel.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-#include "wsfwlaniapwizard.h"
-#include "wsfapplauncher.h"
-#include "wsfmodelobserver.h"
-#include "wsfstatechangeobserver.h"
-#include "wsfscreensaverwatcher.h"
-#include "wsflogger.h"
-
-using namespace CMManager;
-
-
-/**
-* UID of helper application
-* used when model is instantiated in the active idle
-*/
-static const TUid KHelperApUid = { 0x10281CEB };
-
-/**
-* Estimated overhead for access point creation
-*/
-const TInt KEstimatedOverhead = 8192;
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfModel* CWsfModel::NewL( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware )
- {
- CWsfModel* self = CWsfModel::NewLC( aObserver, aScreenSaverAware );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfModel* CWsfModel::NewLC( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware )
- {
- CWsfModel* self = new( ELeave ) CWsfModel;
- CleanupStack::PushL( self );
- self->ConstructL( aObserver, aScreenSaverAware );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::~CWsfModel
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfModel::~CWsfModel()
- {
- LOG_ENTERFN( "CWsfModel::~CWsfModel" );
- iSession.CancelNotifyEvent();
- iSession.Close();
- delete iScreenSaverWatcher;
- delete iArray;
- delete iObservedWlan;
- delete iBrowserLauncher;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CWsfModel
-// ----------------------------------------------------------------------------
-//
-CWsfModel::CWsfModel():
- iEikEnv( CEikonEnv::Static() ),
- iRefreshing( EFalse )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::ConstructL( MWsfStateChangeObserver& aObserver,
- const TBool aScreenSaverAware )
- {
- iArray = CWsfWlanInfoArray::NewL();
- iBrowserLauncher = CWsfAppLauncher::NewL();
- User::LeaveIfError( iSession.Connect() );
- iSession.NotifyEventL( aObserver );
- if ( aScreenSaverAware )
- {
- iScreenSaverWatcher = CWsfScreenSaverWatcher::NewL( *this );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetEngineObserver
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetEngineObserver( MWsfModelObserver* aObserver )
- {
- LOG_ENTERFN( "CWsfModel::SetEngineObserver" );
- iObserver = aObserver;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::GetWlanListL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArray* CWsfModel::GetWlanListL()
- {
- LOG_ENTERFN( "CWsfModel::GetWlanListL" );
- iArray->Reset();
- iSession.UpdateWlanListL( iArray );
- return iArray;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::GetWlanListSize
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::GetWlanListSize( TPckgBuf<TUint>& aPckg,
- TRequestStatus& aStatus )
- {
- LOG_ENTERFN( "CWsfModel::GetWlanListSize" );
- iSession.GetWlanListSize( aPckg, aStatus );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::GetWlanList
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::GetWlanList( TPckgBuf<TUint>& aPckg, TPtr8& aPtr,
- TRequestStatus& aStatus )
- {
- LOG_ENTERFN( "CWsfModel::GetWlanList" );
- iSession.GetWlanList( aPckg, aPtr, aStatus );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetActiveViewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetActiveViewL( TInt aViewId )
- {
- TUid id;
- id.iUid = aViewId;
- iActiveView = id;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ActiveViewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TUid CWsfModel::ActiveViewL()
- {
- return iActiveView;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetObservedWlanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetObservedWlanL( const TDesC8& aSsid )
- {
- HBufC8* ssid = aSsid.AllocL();
- delete iObservedWlan;
- iObservedWlan = ssid;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ObservedWlan
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CWsfModel::ObservedWlan()
- {
- return *iObservedWlan;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ConnectL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C int CWsfModel::ConnectL( TUint32 aIapId, TBool aConnectOnly,
- TWsfIapPersistence aPersistence )
- {
- LOG_ENTERFN( "CWsfModel::ConnectL" );
-
- if ( iObserver )
- {
- iObserver->ConnectingL( aIapId );
- }
-
- TInt err = iSession.ConnectWlanBearerL( aIapId, aConnectOnly, aPersistence );
- if ( err == KErrNone )
- {
- iConnectedIapId = aIapId;
- }
- else
- {
- if ( iObserver )
- {
- iObserver->BrowserLaunchFailed( err );
- }
- }
-
- if ( iObserver )
- {
- iObserver->ConnectingFinishedL( err );
- }
-
- iRefreshing = iSession.RequestScanL();
-
- return err;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ConnectL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::ConnectL( TPckgBuf<TBool>& aPckg, TUint32 aIapId,
- TBool aConnectOnly,
- TWsfIapPersistence aPersistence,
- TRequestStatus& aStatus )
- {
- LOG_ENTERFN( "CWsfModel::ConnectL" );
-
- if ( iObserver )
- {
- iObserver->ConnectingL( aIapId );
- }
-
- iSession.ConnectWlanBearer( aPckg, aIapId, aConnectOnly, aPersistence, aStatus );
- }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetConnectResultL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetConnectResultL( TInt aResult, TUint /*aIapId*/ )
- {
- LOG_ENTERFN( "CWsfModel::SetConnectResultL" );
-
- iSession.SetConnectWlanBearerResult( aResult );
-
- if ( iObserver && aResult != KErrNone )
- {
- iObserver->ConnectingFinishedL( aResult );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::DisconnectL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::DisconnectL()
- {
- LOG_ENTERFN( "CWsfModel::DisconnectL" );
- TBool disconnected = iSession.DisconnectWlanBearerL();
- LOG_WRITEF( "disconnected = %d", disconnected );
- iConnectedIapId = 0;
- if ( !disconnected )
- {
- iRefreshing = iSession.RequestScanL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::Disconnect
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::Disconnect( TPckgBuf<TBool>& aPckg, TRequestStatus& aStatus )
- {
- LOG_ENTERFN( "CWsfModel::Disconnect" );
- iSession.DisconnectWlanBearer( aPckg, aStatus );
- iConnectedIapId = 0;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::Refreshing
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::Refreshing()
- {
- return iRefreshing;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetRefreshState
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetRefreshState( TBool aRefreshing )
- {
- iRefreshing = aRefreshing;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::EnableScanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::EnableScanL()
- {
- LOG_ENTERFN( "CWsfModel::EnableScanL" );
- TBool enableScan( iSession.EnableScanL() );
- if ( iScreenSaverWatcher )
- {
- iScreenSaverWatcher->Cancel();
- iScreenSaverWatcher->StartStatusScanning();
- }
- return enableScan;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::DisableScanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::DisableScanL()
- {
- LOG_ENTERFN( "CWsfModel::DisableScanL" );
- TBool disableScan( iSession.DisableScanL() );
- if ( iScreenSaverWatcher )
- {
- iScreenSaverWatcher->Cancel();
- }
- return disableScan;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::IsScanEnabledL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::IsScanEnabledL()
- {
- return iSession.IsScanEnabledL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::LaunchBrowserL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::LaunchBrowserL( TUint32 aIapId )
- {
- LOG_ENTERFN( "CWsfModel::LaunchBrowserL" );
-
- if ( !iBrowserLauncher->Launching() ||
- iBrowserLauncher->BrowserIap() != aIapId )
- {
- LOG_WRITE( "launching browser..." );
- iConnectedIapId = aIapId;
- iBrowserLauncher->LaunchBrowserL( *this, aIapId );
- }
- else if ( iBrowserLauncher->BrowserIap() == aIapId )
- {
- LOG_WRITE( "bringing browser to foreground..." );
- ContinueBrowsingL();
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ContinueBrowsingL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::ContinueBrowsingL()
- {
- LOG_ENTERFN( "CWsfModel::ContinueBrowsingL(void)" );
- iBrowserLauncher->ContinueBrowsingL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ContinueBrowsingL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::ContinueBrowsingL( TUint32 aIapId )
- {
- LOG_ENTERFN( "CWsfModel::ContinueBrowsingL(TUint32)" );
- iBrowserLauncher->ContinueBrowsingL( *this, aIapId );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CreateAccessPointL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::CreateAccessPointL( TWsfWlanInfo& aWlan,
- TBool aExplicitDefine )
- {
- LOG_ENTERFN( "CWsfModel::CreateAccessPointL" );
- if ( aExplicitDefine )
- {
- LOG_WRITE( "called from 'Define access point'" );
- }
-
- CheckSpaceBelowCriticalLevelL();
- CheckUnknownWapiL( aWlan );
-
- CWsfWlanIapWizard* iapWizard = CWsfWlanIapWizard::NewLC();
-
- // the wlaninfo must be persistent to avoid nullpointer crashes due to
- // background refreshing
- TBool ret( ETrue );
-
- // query necessary data
- if ( !iapWizard->LaunchWizardL( aWlan, aExplicitDefine ) )
- {
- LOG_WRITE( "iapWizard.LaunchWizardL failed" );
- ret = EFalse;
- }
-
- // then create accesspoint
- if ( ret )
- {
- if ( iapWizard->CreateAccessPointL() )
- {
- // copy back the IAP id
- LOG_WRITEF( "IAP id = %d", aWlan.iIapId );
- }
- else
- {
- LOG_WRITE( "iapWizard.CreateAccessPointL failed" );
- ret = EFalse;
- }
- }
-
- CleanupStack::PopAndDestroy( iapWizard );
-
- return ret;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::RefreshScanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::RefreshScanL()
- {
- LOG_ENTERFN( "CWsfModel::RefreshScanL" );
- iRefreshing = iSession.RequestScanL();
- LOG_WRITEF( "iRefreshing = %d", iRefreshing );
- return iRefreshing;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::RefreshScan
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::RefreshScan( TPckgBuf<TBool>& aPckg,
- TRequestStatus& aStatus )
- {
- LOG_ENTERFN( "CWsfModel::RefreshScan" );
- iSession.RequestScan( aPckg, aStatus );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CloseHelperApplication
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::CloseHelperApplication()
- {
- LOG_ENTERFN( "CWsfModel::CloseHelperApplication" );
- TBool endTaskCalled = EFalse;
- // check if the app is already running ... and kill it.
- TUid id( TUid::Uid( KHelperApUid.iUid ) );
- TApaTaskList taskList( iEikEnv->WsSession() );
- TApaTask task = taskList.FindApp( id );
-
- if ( task.Exists() )
- {
- LOG_WRITE( "ending task" );
- task.EndTask();
- endTaskCalled = ETrue;
- }
- return endTaskCalled;
- }
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::LaunchHelperApplicationL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::LaunchHelperApplicationL( TWsfWlanInfo &aWlanInfo )
- {
- LOG_ENTERFN( "CWsfModel::LaunchHelperApplicationL" );
- TPckgC<TWsfWlanInfo> param( aWlanInfo );
-
- TBuf8<sizeof( TWsfWlanInfo )> temp;
- temp.Copy( param );
-
- TFileName fileName;
- fileName.Copy( temp );
-
- RApaLsSession appArcSession;
-
- User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
- CleanupClosePushL( appArcSession );
-
- // check if the app is already running ... and kill it.
- TUid id( TUid::Uid( KHelperApUid.iUid ) );
- TApaTaskList taskList( iEikEnv->WsSession() );
- TApaTask task = taskList.FindApp( id );
-
- if ( task.Exists() )
- {
- task.EndTask();
- }
-
- TThreadId threadId;
- User::LeaveIfError( appArcSession.StartDocument( fileName, TUid::Uid(
- KHelperApUid.iUid ), threadId ) );
-
- CleanupStack::PopAndDestroy( &appArcSession );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CancelNotifyEvents
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::CancelNotifyEvents()
- {
- LOG_ENTERFN( "CWsfModel::CancelNotifyEvents" );
- iSession.CancelNotifyEvent();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::RequestNotifyEventsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::RequestNotifyEventsL(
- MWsfStateChangeObserver& aObserver )
- {
- LOG_ENTERFN( "CWsfModel::RequestNotifyEventsL" );
- iSession.NotifyEventL( aObserver );
- }
-
-
-// ------------------------- From MWsfBrowserLaunchObserver -------------------
-
-// ----------------------------------------------------------------------------
-// CWsfModel::BrowserLaunchFailed
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::BrowserLaunchFailed( TInt aError )
- {
- LOG_ENTERFN( "CWsfModel::BrowserLaunchFailed" );
- LOG_WRITEF( "error = %d", aError );
-
- if ( iObserver )
- {
- iObserver->BrowserLaunchFailed( aError );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::BrowserLaunchCompleteL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::BrowserLaunchCompleteL()
- {
- LOG_ENTERFN( "CWsfModel::BrowserLaunchCompleteL" );
-
- iSession.MonitorAccessPointL( iConnectedIapId );
-
- if ( iObserver )
- {
- iObserver->BrowserLaunchCompleteL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::BrowserExitL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::BrowserExitL()
- {
- LOG_ENTERFN( "CWsfModel::BrowserExitL" );
-
- // browser has been terminated, do the cleanup if necessary
- iSession.SetIapPersistenceL( EIapForcedExpiry );
-
- if ( iObserver )
- {
- iObserver->BrowserExitL();
- }
- }
-
-// ------------------------- From MWsfScreenSaverStateObserver ----------------
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ScreenSaverStatusChangedL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::ScreenSaverStatusChangedL( const TBool aScreenSaverActive )
- {
- LOG_ENTERFN( "CWsfModel::ScreenSaverStatusChangedL" );
- LOG_WRITEF( "status = %d", aScreenSaverActive );
- if ( aScreenSaverActive )
- {
- iSession.DisableScanL();
- }
- else
- {
- iSession.EnableScanL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::IsConnectedL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::IsConnectedL()
- {
- return iSession.IsConnectedL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::GetConnectedWlanDetailsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo )
- {
- return iSession.GetConnectedWlanDetailsL( aWlanInfo );
- }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::GetConnectedWlanDetails
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::GetConnectedWlanDetails( TPckgBuf<TBool>& aPckg,
- TWsfWlanInfo& aWlanInfo,
- TRequestStatus& aStatus )
- {
- iSession.GetConnectedWlanDetails( aPckg, aWlanInfo, aStatus );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::AbortConnectingL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::AbortConnectingL()
- {
- LOG_ENTERFN( "CWsfModel::AbortConnectingL" );
- if ( iConnecting )
- {
- iSession.AbortConnectingL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::AbortScanningL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::AbortScanningL()
- {
- LOG_ENTERFN( "CWsfModel::AbortScanningL" );
- if ( iRefreshing )
- {
- iSession.AbortScanningL();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CheckSpaceBelowCriticalLevelL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::CheckSpaceBelowCriticalLevelL() const
- {
- // OOD handling. If disk space is low user is notified.
- RFs fs;
- User::LeaveIfError( fs.Connect() );
- CleanupClosePushL<RFs>( fs );
-
- // Checks the FFS space "after" addition
- TBool belowCL = SysUtil::FFSSpaceBelowCriticalLevelL
- ( &fs, KEstimatedOverhead );
-
- CleanupStack::PopAndDestroy(); // fs
-
- if( belowCL )
- {
- User::Leave( KErrDiskFull );
- }
- }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CheckUnknownWapiL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::CheckUnknownWapiL( TWsfWlanInfo& aWlan ) const
- {
- if( !aWlan.Known() && aWlan.SecurityMode() == EWlanSecModeWAPI )
- {
- User::Leave( KErrWlanProtectedSetupSetupLocked );
- }
- }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CheckIsIapIdValidL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::CheckIsIapIdValidL( TUint aIapId ) const
- {
- LOG_ENTERFN( "CWsfModel::CheckIsIapIdValidL" );
- LOG_WRITEF( "Checking iapId= %d", aIapId );
- if( aIapId )
- {
- RCmManagerExt cmManager;
- cmManager.OpenL();
- CleanupClosePushL( cmManager );
-
- RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( aIapId );
- cm.Close();
- CleanupStack::PopAndDestroy( &cmManager );
- }
- else
- {
- User::Leave( KErrArgument );
- }
- }
-
-// End of file
--- a/wlanutilities/wlansniffer/model/src/wsfscreensaverwatcher.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* 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: Implementation of CWsfScreenSaverWatcher
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <e32cmn.h>
-#include <ScreensaverInternalPSKeys.h>
-
-// CLASS HEADER
-#include "wsfscreensaverwatcher.h"
-
-// INTERNAL INCLUDES
-#include "wsfscreensaverstateobserver.h"
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher* CWsfScreenSaverWatcher::NewL(
- MWsfScreenSaverStateObserver& aObserver )
- {
- CWsfScreenSaverWatcher* thisPtr = NewLC( aObserver );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher* CWsfScreenSaverWatcher::NewLC(
- MWsfScreenSaverStateObserver& aObserver )
- {
- CWsfScreenSaverWatcher* thisPtr = new ( ELeave ) CWsfScreenSaverWatcher(
- aObserver );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::~CWsfScreenSaverWatcher
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher::~CWsfScreenSaverWatcher()
- {
- Cancel();
- iProperty.Close();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::CWsfScreenSaverWatcher
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher::CWsfScreenSaverWatcher(
- MWsfScreenSaverStateObserver& aObserver ):
- CActive( EPriorityStandard ),
- iObserver( &aObserver )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::ConstructL()
- {
- User::LeaveIfError( iProperty.Attach( KPSUidScreenSaver,
- KScreenSaverOn ) );
- CActiveScheduler::Add( this );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::RunL()
- {
- // read the value of property
- TBool screenSaverActive( EFalse );
- iProperty.Get( screenSaverActive );
- iObserver->ScreenSaverStatusChangedL( screenSaverActive );
- // reissue the request
- StartStatusScanning();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::DoCancel()
- {
- iProperty.Cancel();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::StartStatusScanning
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::StartStatusScanning()
- {
- iProperty.Subscribe( iStatus );
- SetActive();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::RunError
-// ----------------------------------------------------------------------------
-//
-TInt CWsfScreenSaverWatcher::RunError( TInt /*aError*/ )
- {
- // issue the request so we will continue to receive
- // state change notifications
- StartStatusScanning();
- return KErrNone;
- }
--- a/wlanutilities/wlansniffer/rom/wlansniffer.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* 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: Image description file for project WlanSniffer
-*
-*/
-
-
-#ifndef WLANSNIFFER_IBY
-#define WLANSNIFFER_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSniffer
-
-#include <data_caging_paths_for_iby.hrh>
-#include <bldvariant.hrh>
-
-
-// appshell icon
-S60_APP_AIF_ICONS(wsficons)
-
-// all other bitmaps
-data=DATAZ_\APP_BITMAP_DIR\wsficons.mif APP_BITMAP_DIR\wsficons.mif
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WLANSNIFFER_IBY
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-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: The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../widget_2001E637/group/bld.inf"
-#include "../widget_20026F45/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-// End of File
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002-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: The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/hsps/manifest.dat
-../hsps/00/wsfwidgetconfiguration.xml /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/hsps/wsfwidgetconfiguration.xml
-../hsps/00/wsfwidgetconfiguration.dtd /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/hsps/wsfwidgetconfiguration.dtd
-
-../xuikon/00/wsfwidget.dat /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/wsfwidget_2001E637.dat
-../xuikon/00/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/wsfwidget.css
-../xuikon/00/wsfwidget.xml /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/wsfwidget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/37/wsfwidget.css
-../xuikon/50/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/50/wsfwidget.css
-../xuikon/57/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/57/wsfwidget.css
-../xuikon/94/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/94/wsfwidget.css
-
-// Support for S60 localization
-//*****************************
-// export localizable loc files (engineering versions)
-#ifndef __WSFWIDGETCONFIGURATION_LOC__
-#define __WSFWIDGETCONFIGURATION_LOC__
-../loc/wsfwidgetconfiguration.loc MW_LAYER_LOC_EXPORT_PATH(wsfwidgetconfiguration.loc)
-#endif // __WSFWIDGETCONFIGURATION_LOC__
-
-// Support for S60 builds
-//***********************
-// export iby files
-../rom/wsfwidget_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_resources_2001E637.iby)
-../rom/wsfwidget_customer.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_customer_2001E637.iby)
-../rom/wsfwidget_variant.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_variant_2001E637.iby)
-../rom/wsfwidget.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_2001E637.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME wsfwidget_2001E637
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-// build icons
-
-
-// build application
-
-PRJ_TESTMMPFILES
-
-//#endif
-
-// End of File
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/manifest.dat Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<package version="2.0">
-
- <family>vga_tch</family>
-
- <type>widget</type>
-
- <!-- Interface UId -->
- <interfaceuid>0x2001f48a</interfaceuid>
-
- <!-- Vendor UId -->
- <provideruid>0x101FB657</provideruid>
-
- <!-- UID -->
- <configurationuid>0x2001E637</configurationuid>
-
- <!-- Description -->
- <fullname>&qtn_hs_wlan_widget;</fullname>
- <shortname>wsfwidget</shortname>
- <version>1.0</version>
- <description>&qtn_sniffer_wm_widget_description;</description>
- <filelogo>uid(0x10281CAA)</filelogo>
-
- <!-- Configuration -->
- <filexml>wsfwidgetconfiguration.xml</filexml>
-
- <!-- Name of the localization files -->
- <filedtd>wsfwidgetconfiguration.dtd</filedtd>
-
- <!-- Locale independent/common resources -->
-
- <!-- Locale specific resources -->
- <localization>
- <fileresource tag="xuikon">wsfwidget.o0000</fileresource>
- </localization>
-
-</package>
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.dtd Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "wsfwidgetconfiguration.dtd">
-<PartOf : "wsfwidgetconfiguration">
-
-<FileDescription: "Localization strings for the configuration">
-<FileVersion : >
-
-<Copyright:
-"Copyright (c) 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: Localization strings for the configuration">
-============================================================================
--->
-
-<!-- NOTE: make sure that there is at last one space character (hex 20) after the entity name -->
-
-<!--
-qtn_hs_wlan_widget.attributes
-qtn_hs_wlan_widget.layout "ai_gene_pane_1_t1"
-qtn_hs_wlan_widget.release "TB9.1"
-qtn_hs_wlan_widget.description "WLAN wizard"
-qtn_hs_wlan_widget.parents "ai_gene_pane_1"
--->
-<!ENTITY qtn_hs_wlan_widget "WLAN wizard">
-<!ENTITY qtn_sniffer_wm_widget_description "Discover and connect to Wireless LAN networks.">
-
-
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.xml Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<configuration>
- <control>
- <settings/>
- </control>
-</configuration>
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/loc/wsfwidgetconfiguration.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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: Localization strings for Wlan Sniffer widget
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-// d:Text for WLAN Wizard widget name
-// l:listrow_wgtman_pane_t1
-// r:TB9.1
-#define qtn_hs_wlan_widget "WLAN wizard"
-
-// d:Text for WLAN Wizard widget description
-// l:listrow_wgtman_pane_t2
-// r:TB9.2
-#define qtn_sniffer_wm_widget_description "Discover and connect to Wireless LAN networks."
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2005-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: wlansniffer widget IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_IBY__
-#define __WSFWIDGET_2001E637_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\manifest.dat \private\200159c0\install\wsfwidget_2001E637\hsps\00\manifest.dat
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\00\wsfwidget.o0000 \private\200159c0\install\wsfwidget_2001E637\xuikon\00\wsfwidget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_2001E637_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_customer.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005-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: wlansniffer widget language specific IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_CUSTOMER_IBY__
-#define __WSFWIDGET_2001E637_CUSTOMER_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_2001E637_CUSTOMER_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_resources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2005-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: wlansniffer widget language specific IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_RESOURCES_IBY__
-#define __WSFWIDGET_2001E637_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\37\wsfwidget.o0037 \private\200159c0\install\wsfwidget_2001E637\xuikon\37\wsfwidget.o0037
-#endif
-#if defined (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\50\wsfwidget.o0050 \private\200159c0\install\wsfwidget_2001E637\xuikon\50\wsfwidget.o0050
-#endif
-#if defined (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\57\wsfwidget.o0057 \private\200159c0\install\wsfwidget_2001E637\xuikon\57\wsfwidget.o0057
-#endif
-#if defined (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\94\wsfwidget.o0094 \private\200159c0\install\wsfwidget_2001E637\xuikon\94\wsfwidget.o0094
-#endif
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_2001E637_RESOURCES_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_variant.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005-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: wlansniffer widget variant specific IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_VARIANT_IBY__
-#define __WSFWIDGET_2001E637_VARIANT_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.xml \private\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_2001E637_VARIANT_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- height: 10u;
- display: block;
- nav-index: appearance;
- width: auto;
- padding-top: 0.5u;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- top: 0u;
- block-progression: lr;
- direction: ltr;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- top: 5u;
- block-progression: lr;
- direction: ltr;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 4%;
- margin-left: 1.0u;
- width: 4.0u;
- height: 4.0u;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-top: 4%;
- margin-left: 1.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: left;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-left: 6.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: left;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-right: 0.5u;
- width: 4.0u;
- height: 4.0u;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-right: 1u;
- width: 4.0u;
- height: 4.0u;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.dat Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
- <AppUid>E029CF57</AppUid>
- <Provideruid>101FB657</Provideruid>
- <ThemeUid>2001E637</ThemeUid>
- <ThemeFullName>WLAN wizard</ThemeFullName>
- <ThemeShortName>wsfwidget</ThemeShortName>
- <ThemeVersion>1.0</ThemeVersion>
- <FileXML>wsfwidget.xml</FileXML>
- <FileCSS>wsfwidget.css</FileCSS>
-</data>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.xml Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
- <widget id="wizardPluginContainer" focusable="true" _s60-initial-focus="1" >
-
- <contentsource name="WLANWizard" value="0x10281CAF" />
-
- <actions>
- <action>
- <trigger name="activate"/>
- <event name="WLANWizard/OpenMenu" />
- </action>
- <action>
- <trigger name="gainfocus"/>
- <event name="WLANWizard/GainFocusInfoArea" />
- </action>
- </actions>
-
- <button id="wizardInfoArea1" class="wizardStatusBox1" focusable="false">
- <image id="wizardStatusIcon" class="wizardicon" focusable="false">
- <property class="WLANWizard/StatusIcon"/>
- </image>
- <text id="statusName1" class="wizardEntryText1" focusable="false">
- <property class="WLANWizard/NetworkStatus" />
- </text>
- </button> <!-- enf of wizardInfoArea1 -->
-
- <button id="wizardInfoArea2" class="wizardStatusBox2" focusable="false">
- <text id="statusName2" class="wizardEntryText2" focusable="false">
- <property class="WLANWizard/NetworkName"/>
- </text>
- <image id="wizardSecureIcon" class="wizardicon" focusable="false">
- <property class="WLANWizard/SecureIcon"/>
- <property class="policy/Content" name="wizardSecureIcon" value="display: block;"/>
- </image>
- <image id="wizardStrengthIcon" class="wizardicon" focusable="false">
- <property class="WLANWizard/StrengthIcon"/>
- <property class="policy/Content" name="wizardStrengthIcon" value="display: block;"/>
- </image>
- </button> <!-- enf of wizardInfoArea2 -->
-
- </widget> <!-- end of wizardPluginContainer -->
-
-</xmluiml>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/37/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- height: 10u;
- display: block;
- nav-index: appearance;
- width: auto;
- padding-top: 0.5u;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- top: 5u;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 4%;
- margin-right: 1.0u;
- width: 4.0u;
- height: 4.0u;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-top: 4%;
- margin-right: 1.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-right: 6.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 0.5u;
- width: 4.0u;
- height: 4.0u;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 1u;
- width: 4.0u;
- height: 4.0u;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/50/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- height: 10u;
- display: block;
- nav-index: appearance;
- width: auto;
- padding-top: 0.5u;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- top: 5u;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 4%;
- margin-right: 1.0u;
- width: 4.0u;
- height: 4.0u;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-top: 4%;
- margin-right: 1.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-right: 6.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 0.5u;
- width: 4.0u;
- height: 4.0u;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 1u;
- width: 4.0u;
- height: 4.0u;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/57/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- height: 10u;
- display: block;
- nav-index: appearance;
- width: auto;
- padding-top: 0.5u;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- top: 5u;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 4%;
- margin-right: 1.0u;
- width: 4.0u;
- height: 4.0u;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-top: 4%;
- margin-right: 1.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-right: 6.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 0.5u;
- width: 4.0u;
- height: 4.0u;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 1u;
- width: 4.0u;
- height: 4.0u;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/94/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- height: 10u;
- display: block;
- nav-index: appearance;
- width: auto;
- padding-top: 0.5u;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- top: 5u;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 4%;
- margin-right: 1.0u;
- width: 4.0u;
- height: 4.0u;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-top: 4%;
- margin-right: 1.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- margin-right: 6.0u;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- text-align: right;
- _s60-text-valign: top;
- direction: ltr;
- color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 0.5u;
- width: 4.0u;
- height: 4.0u;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0.2%;
- margin-left: 1u;
- width: 4.0u;
- height: 4.0u;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002-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: The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/hsps/manifest.dat
-../hsps/00/wsfwidgetconfiguration.xml /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/hsps/wsfwidgetconfiguration.xml
-../hsps/00/wsfwidgetconfiguration.dtd /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/hsps/wsfwidgetconfiguration.dtd
-
-../xuikon/00/wsfwidget.dat /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/wsfwidget_20026F45.dat
-../xuikon/00/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/wsfwidget.css
-../xuikon/00/wsfwidget.xml /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/wsfwidget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/37/wsfwidget.css
-../xuikon/50/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/50/wsfwidget.css
-../xuikon/57/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/57/wsfwidget.css
-../xuikon/94/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/94/wsfwidget.css
-
-// Support for S60 localization
-//*****************************
-// export localizable loc files (engineering versions)
-#ifndef __WSFWIDGETCONFIGURATION_LOC__
-#define __WSFWIDGETCONFIGURATION_LOC__
-../loc/wsfwidgetconfiguration.loc MW_LAYER_LOC_EXPORT_PATH(wsfwidgetconfiguration.loc)
-#endif // __WSFWIDGETCONFIGURATION_LOC__
-
-// Support for S60 builds
-//***********************
-// export iby files
-../rom/wsfwidget_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_resources_20026F45.iby)
-../rom/wsfwidget_customer.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_customer_20026F45.iby)
-../rom/wsfwidget_variant.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_variant_20026F45.iby)
-../rom/wsfwidget.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_20026F45.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME wsfwidget_20026F45
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-// build icons
-
-
-// build application
-
-PRJ_TESTMMPFILES
-
-//#endif
-
-// End of File
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/manifest.dat Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<package version="2.0">
-
- <family>qhd_tch</family>
-
- <type>widget</type>
-
- <!-- Interface UId -->
- <interfaceuid>0x2001f48a</interfaceuid>
-
- <!-- Vendor UId -->
- <provideruid>0x101FB657</provideruid>
-
- <!-- UID -->
- <configurationuid>0x20026F45</configurationuid>
-
- <!-- Description -->
- <fullname>&qtn_hs_wlan_widget;</fullname>
- <shortname>wsfwidget</shortname>
- <version>1.0</version>
- <description>&qtn_sniffer_wm_widget_description;</description>
- <filelogo>uid(0x10281CAA)</filelogo>
-
- <!-- Configuration -->
- <filexml>wsfwidgetconfiguration.xml</filexml>
-
- <!-- Name of the localization files -->
- <filedtd>wsfwidgetconfiguration.dtd</filedtd>
-
- <!-- Locale independent/common resources -->
-
- <!-- Locale specific resources -->
- <localization>
- <fileresource tag="xuikon">wsfwidget.o0000</fileresource>
- </localization>
-
-</package>
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.dtd Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "wsfwidgetconfiguration.dtd">
-<PartOf : "wsfwidgetconfiguration">
-
-<FileDescription: "Localization strings for the configuration">
-<FileVersion : >
-
-<Copyright:
-"Copyright (c) 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: Localization strings for the configuration">
-============================================================================
--->
-
-<!-- NOTE: make sure that there is at last one space character (hex 20) after the entity name -->
-
-<!--
-qtn_hs_wlan_widget.attributes
-qtn_hs_wlan_widget.layout "ai_gene_pane_1_t1"
-qtn_hs_wlan_widget.release "TB9.1"
-qtn_hs_wlan_widget.description "WLAN wizard"
-qtn_hs_wlan_widget.parents "ai_gene_pane_1"
--->
-<!ENTITY qtn_hs_wlan_widget "WLAN wizard">
-<!ENTITY qtn_sniffer_wm_widget_description "Discover and connect to Wireless LAN networks.">
-
-
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.xml Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<configuration>
- <control>
- <settings/>
- </control>
-</configuration>
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/loc/wsfwidgetconfiguration.loc Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* 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: Localization strings for Wlan Sniffer widget
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-// d:Text for WLAN Wizard widget name
-// l:listrow_wgtman_pane_t1
-// r:TB9.1
-#define qtn_hs_wlan_widget "WLAN wizard"
-
-// d:Text for WLAN Wizard widget description
-// l:listrow_wgtman_pane_t2
-// r:TB9.2
-#define qtn_sniffer_wm_widget_description "Discover and connect to Wireless LAN networks."
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-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: The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_IBY__
-#define __WSFWIDGET_20026F45_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\manifest.dat \private\200159c0\install\wsfwidget_20026F45\hsps\00\manifest.dat
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\00\wsfwidget.o0000 \private\200159c0\install\wsfwidget_20026F45\xuikon\00\wsfwidget.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_20026F45_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_customer.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002-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: The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_CUSTOMER_IBY__
-#define __WSFWIDGET_20026F45_CUSTOMER_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_20026F45_CUSTOMER_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_resources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2002-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: The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_RESOURCES_IBY__
-#define __WSFWIDGET_20026F45_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\37\wsfwidget.o0037 \private\200159c0\install\wsfwidget_20026F45\xuikon\37\wsfwidget.o0037
-#endif
-#if defined (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\50\wsfwidget.o0050 \private\200159c0\install\wsfwidget_20026F45\xuikon\50\wsfwidget.o0050
-#endif
-#if defined (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\57\wsfwidget.o0057 \private\200159c0\install\wsfwidget_20026F45\xuikon\57\wsfwidget.o0057
-#endif
-#if defined (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\94\wsfwidget.o0094 \private\200159c0\install\wsfwidget_20026F45\xuikon\94\wsfwidget.o0094
-#endif
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_20026F45_RESOURCES_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_variant.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002-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: The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_VARIANT_IBY__
-#define __WSFWIDGET_20026F45_VARIANT_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.xml \private\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_20026F45_VARIANT_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- display: block;
- width: auto;
- height: auto;
- padding-left: 7px;
- padding-right: 7px;
- padding-top: 16px;
- padding-bottom: 17px;
- nav-index: appearance;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 0u;
- block-progression: lr;
- direction: ltr;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 25px;
- block-progression: lr;
- direction: ltr;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 0u;
- width: 24px;
- height: 24px;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-left: 5px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: left;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-left: 29px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: left;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-right: 5px;
- width: 24px;
- height: 24px;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-right: 0u;
- width: 24px;
- height: 24px;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.dat Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
- <AppUid>E029CF57</AppUid>
- <Provideruid>101FB657</Provideruid>
- <ThemeUid>20026F45</ThemeUid>
- <ThemeFullName>WLAN wizard</ThemeFullName>
- <ThemeShortName>wsfwidget</ThemeShortName>
- <ThemeVersion>1.0</ThemeVersion>
- <FileXML>wsfwidget.xml</FileXML>
- <FileCSS>wsfwidget.css</FileCSS>
-</data>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.xml Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0">
-
- <widget id="wizardPluginContainer" focusable="true" _s60-initial-focus="1" >
-
- <contentsource name="WLANWizard" value="0x10281CAF" />
-
- <actions>
- <action>
- <trigger name="activate"/>
- <event name="WLANWizard/OpenMenu" />
- </action>
- </actions>
-
- <button id="wizardInfoArea1" class="wizardStatusBox1" focusable="false">
- <image id="wizardStatusIcon" class="wizardicon" focusable="false">
- <property class="WLANWizard/StatusIcon"/>
- </image>
- <text id="statusName1" class="wizardEntryText1" focusable="false">
- <property class="WLANWizard/NetworkStatus" />
- </text>
- </button> <!-- enf of wizardInfoArea1 -->
-
- <button id="wizardInfoArea2" class="wizardStatusBox2" focusable="false">
- <text id="statusName2" class="wizardEntryText2" focusable="false">
- <property class="WLANWizard/NetworkName"/>
- </text>
- <image id="wizardSecureIcon" class="wizardicon" focusable="false">
- <property class="WLANWizard/SecureIcon"/>
- <property class="policy/Content" name="wizardSecureIcon" value="display: block;"/>
- </image>
- <image id="wizardStrengthIcon" class="wizardicon" focusable="false">
- <property class="WLANWizard/StrengthIcon"/>
- <property class="policy/Content" name="wizardStrengthIcon" value="display: block;"/>
- </image>
- </button> <!-- enf of wizardInfoArea2 -->
-
- </widget> <!-- end of wizardPluginContainer -->
-
-</xmluiml>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/37/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- display: block;
- width: auto;
- height: auto;
- padding-left: 7px;
- padding-right: 7px;
- padding-top: 16px;
- padding-bottom: 17px;
- nav-index: appearance;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 25px;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-right: 0u;
- width: 24px;
- height: 24px;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 5px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 29px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 5px;
- width: 24px;
- height: 24px;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 0u;
- width: 24px;
- height: 24px;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/50/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- display: block;
- width: auto;
- height: auto;
- padding-left: 7px;
- padding-right: 7px;
- padding-top: 16px;
- padding-bottom: 17px;
- nav-index: appearance;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 25px;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-right: 0u;
- width: 24px;
- height: 24px;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 5px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 29px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 5px;
- width: 24px;
- height: 24px;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 0u;
- width: 24px;
- height: 24px;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/57/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- display: block;
- width: auto;
- height: auto;
- padding-left: 7px;
- padding-right: 7px;
- padding-top: 16px;
- padding-bottom: 17px;
- nav-index: appearance;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 25px;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-right: 0u;
- width: 24px;
- height: 24px;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 5px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 29px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 5px;
- width: 24px;
- height: 24px;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 0u;
- width: 24px;
- height: 24px;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/94/wsfwidget.css Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/********************
- WIZARD PLUGIN AREA
-*********************/
-
-widget#wizardPluginContainer{
- display: block;
- width: auto;
- height: auto;
- padding-left: 7px;
- padding-right: 7px;
- padding-top: 16px;
- padding-bottom: 17px;
- nav-index: appearance;
- block-progression: tb;
-}
-
-button.wizardStatusBox1 {
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 0u;
- block-progression: rl;
- direction: rtl;
-}
-
-button.wizardStatusBox2{
- display: block;
- visibility: visible;
- width: auto;
- height: 24px;
- position: absolute;
- top: 25px;
- block-progression: rl;
- direction: rtl;
-}
-
-image.wizardicon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-right: 0u;
- width: 24px;
- height: 24px;
-}
-
-text.wizardEntryText1 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 5px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-text.wizardEntryText2 {
- display: block;
- visibility: visible;
- position: static;
- width: auto;
- height: 24px;
- margin-top: 0u;
- margin-right: 29px;
- font-family: EAknLogicalFontSecondaryFont;
- font-size: 3.5u;
- color: "SKIN(268458534 13056 74)";
- text-align: right;
- direction: ltr;
- _s60-text-valign: top;
-}
-
-image#wizardSecureIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 5px;
- width: 24px;
- height: 24px;
-}
-
-image#wizardStrengthIcon {
- display: block;
- visibility: visible;
- position: static;
- margin-top: 0u;
- margin-left: 0u;
- width: 24px;
- height: 24px;
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/wlaninfo/bwins/wsfwlaninfou.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-EXPORTS
- ?ExternalizeL@TWsfWlanInfo@@QBEXAAVRWriteStream@@@Z @ 1 NONAME ; void TWsfWlanInfo::ExternalizeL(class RWriteStream &) const
- ?At@CWsfWlanInfoArray@@QBEPAVTWsfWlanInfo@@H@Z @ 2 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::At(int) const
- ?GetSsidAsUtf8LC@TWsfWlanInfo@@QAEPAVHBufC8@@XZ @ 3 NONAME ; class HBufC8 * TWsfWlanInfo::GetSsidAsUtf8LC(void)
- ??ACWsfWlanInfoArray@@QBEPAVTWsfWlanInfo@@I@Z @ 4 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::operator[](unsigned int) const
- ?Delete@CWsfWlanInfoArray@@QAEXPAVTWsfWlanInfo@@@Z @ 5 NONAME ; void CWsfWlanInfoArray::Delete(class TWsfWlanInfo *)
- ?GetSsidAsUnicodeLC@TWsfWlanInfo@@QAEPAVHBufC16@@XZ @ 6 NONAME ; class HBufC16 * TWsfWlanInfo::GetSsidAsUnicodeLC(void)
- ?Reset@CWsfWlanInfoArray@@QAEXXZ @ 7 NONAME ; void CWsfWlanInfoArray::Reset(void)
- ?SetUIPrioritySort@CWsfWlanInfoArray@@QAEXH@Z @ 8 NONAME ; void CWsfWlanInfoArray::SetUIPrioritySort(int)
- ?NewLC@CWsfWlanInfoArray@@SAPAV1@XZ @ 9 NONAME ; class CWsfWlanInfoArray * CWsfWlanInfoArray::NewLC(void)
- ?AppendFromStreamBufferL@CWsfWlanInfoArray@@QAEHABVTDesC8@@@Z @ 10 NONAME ; int CWsfWlanInfoArray::AppendFromStreamBufferL(class TDesC8 const &)
- ?DeleteFromTail@CWsfWlanInfoArray@@QAEHH@Z @ 11 NONAME ; int CWsfWlanInfoArray::DeleteFromTail(int)
- ?Count@CWsfWlanInfoArray@@QAEIXZ @ 12 NONAME ; unsigned int CWsfWlanInfoArray::Count(void)
- ?GetSsidAsUnicodeLC@TWsfWlanInfo@@SAPAVHBufC16@@ABV?$TBuf8@$0CA@@@@Z @ 13 NONAME ; class HBufC16 * TWsfWlanInfo::GetSsidAsUnicodeLC(class TBuf8<32> const &)
- ?AppendL@CWsfWlanInfoArray@@QAEXPAVTWsfWlanInfo@@@Z @ 14 NONAME ; void CWsfWlanInfoArray::AppendL(class TWsfWlanInfo *)
- ??0TWsfWlanInfo@@QAE@AAVTDesC8@@GW4TWlanSecMode@CMManager@@HW4TWlanNetMode@3@KEK@Z @ 15 NONAME ; TWsfWlanInfo::TWsfWlanInfo(class TDesC8 &, unsigned short, enum CMManager::TWlanSecMode, int, enum CMManager::TWlanNetMode, unsigned long, unsigned char, unsigned long)
- ?SignalStrength@TWsfWlanInfo@@QAE?AW4TWsfWlanSignalStrengthLevel@@XZ @ 16 NONAME ; enum TWsfWlanSignalStrengthLevel TWsfWlanInfo::SignalStrength(void)
- ?MatchWithIapIDL@CWsfWlanInfoArray@@QAEXIHAAV?$RPointerArray@VTWsfWlanInfo@@@@@Z @ 17 NONAME ; void CWsfWlanInfoArray::MatchWithIapIDL(unsigned int, int, class RPointerArray<class TWsfWlanInfo> &)
- ?FindHiddenEntry@CWsfWlanInfoArray@@QAEPAVTWsfWlanInfo@@H@Z @ 18 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::FindHiddenEntry(int)
- ?GetIapNameAsUtf8LC@TWsfWlanInfo@@QAEPAVHBufC8@@XZ @ 19 NONAME ; class HBufC8 * TWsfWlanInfo::GetIapNameAsUtf8LC(void)
- ?SortArrayL@CWsfWlanInfoArray@@QAEXAAVMWsfWlanInfoArrayFilterVisitor@@@Z @ 20 NONAME ; void CWsfWlanInfoArray::SortArrayL(class MWsfWlanInfoArrayFilterVisitor &)
- ?GetArrayIndex@CWsfWlanInfoArray@@QBEHPAVTWsfWlanInfo@@@Z @ 21 NONAME ; int CWsfWlanInfoArray::GetArrayIndex(class TWsfWlanInfo *) const
- ?SortArrayL@CWsfWlanInfoArray@@QAEXXZ @ 22 NONAME ; void CWsfWlanInfoArray::SortArrayL(void)
- ?NewL@CWsfWlanInfoArray@@SAPAV1@XZ @ 23 NONAME ; class CWsfWlanInfoArray * CWsfWlanInfoArray::NewL(void)
- ?GetUIPrioritySort@CWsfWlanInfoArray@@QAEHXZ @ 24 NONAME ; int CWsfWlanInfoArray::GetUIPrioritySort(void)
- ?GetIapNameAsUnicodeLC@TWsfWlanInfo@@QAEPAVHBufC16@@XZ @ 25 NONAME ; class HBufC16 * TWsfWlanInfo::GetIapNameAsUnicodeLC(void)
- ??0TWsfWlanInfo@@QAE@XZ @ 26 NONAME ; TWsfWlanInfo::TWsfWlanInfo(void)
- ?SignalStrengthPercentage@TWsfWlanInfo@@QAEHXZ @ 27 NONAME ; int TWsfWlanInfo::SignalStrengthPercentage(void)
- ?SerializeContentLC@CWsfWlanInfoArray@@QAEPAVHBufC8@@XZ @ 28 NONAME ; class HBufC8 * CWsfWlanInfoArray::SerializeContentLC(void)
- ?Match@CWsfWlanInfoArray@@QAEPAVTWsfWlanInfo@@KH@Z @ 29 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::Match(unsigned long, int)
- ?InternalizeL@TWsfWlanInfo@@QAEXAAVRReadStream@@@Z @ 30 NONAME ; void TWsfWlanInfo::InternalizeL(class RReadStream &)
- ?MatchL@CWsfWlanInfoArray@@QAEXABVTDesC8@@W4TWlanSecMode@CMManager@@W4TWlanNetMode@4@HHAAV?$RPointerArray@VTWsfWlanInfo@@@@@Z @ 31 NONAME ; void CWsfWlanInfoArray::MatchL(class TDesC8 const &, enum CMManager::TWlanSecMode, enum CMManager::TWlanNetMode, int, int, class RPointerArray<class TWsfWlanInfo> &)
- ?Match@CWsfWlanInfoArray@@QAEPAVTWsfWlanInfo@@ABVTDesC8@@H@Z @ 32 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::Match(class TDesC8 const &, int)
-
--- a/wlanutilities/wlansniffer/wlaninfo/eabi/wsfwlaninfou.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-EXPORTS
- _ZN12TWsfWlanInfo12InternalizeLER11RReadStream @ 1 NONAME
- _ZN12TWsfWlanInfo14SignalStrengthEv @ 2 NONAME
- _ZN12TWsfWlanInfo15GetSsidAsUtf8LCEv @ 3 NONAME
- _ZN12TWsfWlanInfo18GetIapNameAsUtf8LCEv @ 4 NONAME
- _ZN12TWsfWlanInfo18GetSsidAsUnicodeLCERK5TBuf8ILi32EE @ 5 NONAME
- _ZN12TWsfWlanInfo18GetSsidAsUnicodeLCEv @ 6 NONAME
- _ZN12TWsfWlanInfo21GetIapNameAsUnicodeLCEv @ 7 NONAME
- _ZN12TWsfWlanInfo24SignalStrengthPercentageEv @ 8 NONAME
- _ZN12TWsfWlanInfoC1ER6TDesC8tN9CMManager12TWlanSecModeEiNS2_12TWlanNetModeEmhm @ 9 NONAME
- _ZN12TWsfWlanInfoC1Ev @ 10 NONAME
- _ZN12TWsfWlanInfoC2ER6TDesC8tN9CMManager12TWlanSecModeEiNS2_12TWlanNetModeEmhm @ 11 NONAME
- _ZN12TWsfWlanInfoC2Ev @ 12 NONAME
- _ZN17CWsfWlanInfoArray10SortArrayLER30MWsfWlanInfoArrayFilterVisitor @ 13 NONAME
- _ZN17CWsfWlanInfoArray10SortArrayLEv @ 14 NONAME
- _ZN17CWsfWlanInfoArray14DeleteFromTailEi @ 15 NONAME
- _ZN17CWsfWlanInfoArray15FindHiddenEntryEi @ 16 NONAME
- _ZN17CWsfWlanInfoArray15MatchWithIapIDLEjiR13RPointerArrayI12TWsfWlanInfoE @ 17 NONAME
- _ZN17CWsfWlanInfoArray17GetUIPrioritySortEv @ 18 NONAME
- _ZN17CWsfWlanInfoArray17SetUIPrioritySortEi @ 19 NONAME
- _ZN17CWsfWlanInfoArray18SerializeContentLCEv @ 20 NONAME
- _ZN17CWsfWlanInfoArray23AppendFromStreamBufferLERK6TDesC8 @ 21 NONAME
- _ZN17CWsfWlanInfoArray4NewLEv @ 22 NONAME
- _ZN17CWsfWlanInfoArray5CountEv @ 23 NONAME
- _ZN17CWsfWlanInfoArray5MatchERK6TDesC8i @ 24 NONAME
- _ZN17CWsfWlanInfoArray5MatchEmi @ 25 NONAME
- _ZN17CWsfWlanInfoArray5NewLCEv @ 26 NONAME
- _ZN17CWsfWlanInfoArray5ResetEv @ 27 NONAME
- _ZN17CWsfWlanInfoArray6DeleteEP12TWsfWlanInfo @ 28 NONAME
- _ZN17CWsfWlanInfoArray6MatchLERK6TDesC8N9CMManager12TWlanSecModeENS3_12TWlanNetModeEiiR13RPointerArrayI12TWsfWlanInfoE @ 29 NONAME
- _ZN17CWsfWlanInfoArray7AppendLEP12TWsfWlanInfo @ 30 NONAME
- _ZNK12TWsfWlanInfo12ExternalizeLER12RWriteStream @ 31 NONAME
- _ZNK17CWsfWlanInfoArray13GetArrayIndexEP12TWsfWlanInfo @ 32 NONAME
- _ZNK17CWsfWlanInfoArray2AtEi @ 33 NONAME
- _ZNK17CWsfWlanInfoArrayixEj @ 34 NONAME
-
--- a/wlanutilities/wlansniffer/wlaninfo/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-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: Build information file for project WlanInfo
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// private API
-../inc/wsfwlaninfo.h |../../../inc/wsfwlaninfo.h
-../inc/wsfwlaninfo.inl |../../../inc/wsfwlaninfo.inl
-../inc/wsfwlaninfoarray.h |../../../inc/wsfwlaninfoarray.h
-../inc/wsfwlaninfoarrayfiltervisitor.h |../../../inc/wsfwlaninfoarrayfiltervisitor.h
-
-// IBY
-../rom/wsfwlaninfo.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwlaninfo.iby)
-
-
-PRJ_MMPFILES
-wlaninfo.mmp
-
-// End of file
-
--- a/wlanutilities/wlansniffer/wlaninfo/group/wlaninfo.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007-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: Project definition file for project WlanInfo
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET wsfwlaninfo.dll
-TARGETTYPE dll
-UID 0x1000008d 0x10281CAC
-
-CAPABILITY ALL -TCB
-
-
-SOURCEPATH ../src
-SOURCE wsfwlaninfoarray.cpp
-SOURCE wsfwlaninfoarraysortkey.cpp
-SOURCE wsfwlaninfo.cpp
-
-USERINCLUDE ../inc
-USERINCLUDE ../../inc
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY charconv.lib
-
-
-// End of file
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* Copyright (c) 2007-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: Class header for TWsfWlanInfo
-*
-*/
-
-
-
-#ifndef T_WSFWLANINFO_H
-#define T_WSFWLANINFO_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <cmpluginwlandef.h>
-#include <wlanmgmtcommon.h>
-
-
-// ENUMS
-
-/**
- * Signal strength categories for UI
- */
-enum TWsfWlanSignalStrengthLevel
- {
- ENoSignal,
- EPoor,
- EAverage,
- EExcelent
- };
-
-
-/**
- * Connection status
- */
-enum TWsfWlanConnectionState
- {
- ENotConnected,
- EConnecting,
- EConnected
- };
-
-
-/**
- * Signal strength category boundaries in dB (absolute value).
- * Smaller value means better signal.
- */
-enum TWsfWlanSignalStrength
- {
- EWlanSignalStrengthMax = 60,
- EWlanSignalStrengthGood = 74,
- EWlanSignalStrengthLow = 87,
- EWlanSignalStrengthMin = 100,
- EWlanSignalUnavailable = 9999
- };
-
-
-/**
- * Flags for different types of networks
- */
-enum TWsfBrandDataDefs
- {
- EBrandedItem = 0xFF,
- EBlackListItem = 0x01,
- EUserSortListItem = 0x02,
- EFonSsid = 0x04,
- EUsesPresharedKey = 0x08
- };
-
-
-/**
- * Maximal length of IAP name that the class should be able to store
- */
-const TInt KWlanMaxAccessPointNameLength = 50;
-
-
-// FORWARD DECLARATIONS
-class RReadStream;
-class RWriteStream;
-
-
-// CLASS DEFINITION
-/**
- * Class to encapsulate network parameters
- *
- * TWsfWlanInfo serves for transferring the WLAN network related data
- * between the different submodules of Wlan Sniffer.
- *
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( TWsfWlanInfo )
- {
- public: // Constructors
-
- IMPORT_C TWsfWlanInfo();
-
- /**
- * Constructor.
- *
- * @since S60 5.0
- * @param aSsid SSID of the WLAN network
- * @param aStrengthLevel Signal strength in dB (absolute value)
- * @param aSecurityMode Network security mode
- * @param aVisibility ETrue for public networks, EFalse for hidden ones
- * @param aNetMode Network mode (infrastructure or adhoc)
- * @param aIapId IAP id if known, zero otherwise.
- * @param aCoverage Number of APs with the same SSID
- * @param aTransferRate Maximal transfer rate reported by the AP
- */
- IMPORT_C TWsfWlanInfo( TDesC8& aSsid,
- TUint16 aStrengthLevel,
- CMManager::TWlanSecMode aSecurityMode,
- TInt aVisibility,
- CMManager::TWlanNetMode aNetMode,
- TUint32 aIapId,
- TUint8 aCoverage,
- TUint32 aTransferRate );
-
- public: // New methods
-
- /**
- * Gets WLAN name (Ssid) as unicode format
- * @since S60 5.0
- * @return Ssid as unicode format
- */
- IMPORT_C HBufC* GetSsidAsUnicodeLC();
-
- /**
- * Gets WLAN name (Ssid) as unicode format
- * @since S60 5.0
- * @return Ssid as unicode format
- */
- IMPORT_C static HBufC* GetSsidAsUnicodeLC( const TWlanSsid& aSsid );
-
- /**
- * Gets WLAN name (Ssid) as 8-bit format
- * @since S60 5.0
- * @return Ssid as 8-bit format
- */
- IMPORT_C HBufC8* GetSsidAsUtf8LC();
-
- /**
- * Serializes data from the stream
- * @since S60 5.0
- * @param aStream Stream from where data is serialized
- */
- IMPORT_C void InternalizeL( RReadStream& aStream );
-
- /**
- * Serializes data to the stream
- * @since S60 5.0
- * @param aStream Stream where data will be serialized
- */
- IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
-
- /**
- * Get signal strength as enumeration
- * @since S60 5.0
- * @return Signal stregth as enumeration
- */
- IMPORT_C TWsfWlanSignalStrengthLevel SignalStrength();
-
- /**
- * Get signal strength as percentage
- * @since S60 5.0
- * @return Signal stregth as percentage
- */
- IMPORT_C TInt SignalStrengthPercentage();
-
- /**
- * Gets WLAN IAP name as unicode format
- * @since S60 5.0
- * @return Ssid as unicode format
- */
- IMPORT_C HBufC* GetIapNameAsUnicodeLC();
-
- /**
- * Gets WLAN IAP name as 8-bit format
- * @since S60 5.0
- * @return Ssid as 8-bit format
- */
- IMPORT_C HBufC8* GetIapNameAsUtf8LC();
-
- /**
- * Get WLAN connection state
- * @since S60 5.0
- * @return ETrue if connected
- */
- inline TBool Connected() const;
-
- /**
- * Get WLAN connection state
- * @since S60 5.2
- * @return TWsfWlanConnectionState
- */
- inline TWsfWlanConnectionState ConnectionStatus() const;
-
- /**
- * Get WLAN Known state
- * @since S60 5.0
- * @return ETrue if access point has been defined
- */
- inline TBool Known() const;
-
- /**
- * Get WLAN visibility state
- * @since S60 5.0
- * @return ETrue if WLAN is hidden
- */
- inline TBool Hidden() const;
-
- /**
- * Get WLAN security state
- * @since S60 5.0
- * @return ETrue if WLAN is secured.
- */
- inline TBool Secure() const;
-
- /**
- * Set the brand id for entry
- * @since S60 5.0
- * @param aBrandId The brand id.
- */
- inline void SetBrand( const TInt8 aBrandId );
-
- /**
- * Get brand id
- * @since S60 5.0
- * @return 8-bit value representing brand id
- */
- inline TInt8 BrandId() const;
-
- /**
- * Set blacklist entry flag
- * @since S60 5.0
- * @param aBlackListEntry ETrue if the network is blacklisted.
- */
- inline void SetBlackListEntry( const TBool aBlackListEntry );
-
- /**
- * Get blacklist flag
- * @since S60 5.0
- * @return ETrue if the entry is marked as black list entry
- */
- inline TBool BlackListEntry() const;
-
- /**
- * Get Fon entry flag
- * @since S60 5.0
- * @return ETrue if the network is recognised as FON.
- */
- inline TBool FonSsid() const;
-
- /**
- * Set Fon flag
- * @since S60 5.0
- * @param aFonSsid ETrue if the entry is a Fon list entry
- */
- inline void SetFonSsid( const TBool aFonSsid );
-
- /**
- * Query preshared key flag in WPA and 802.1x security modes.
- * Note that the result is undefined in case of other security modes.
- * @since S60 5.0
- * @return ETrue, if preshared key is used.
- */
- inline TBool UsesPreSharedKey() const;
-
- /**
- * Set preshared key flag for WPA and 802.1x security modes.
- * @since S60 5.0
- * @param aUsePresharedKey ETrue if the network uses preshared key
- */
- inline void SetUsesPreSharedKey( const TBool aUsePresharedKey );
-
- /**
- * Set the priority for entry
- * @since S60 5.1
- * @param aPriority The priority id.
- */
- inline void SetPriority( const TUint8 aPriority );
-
- /**
- * Get priority
- * @since S60 5.1
- * @return 8-bit value representing priority
- */
- inline TUint8 Priority() const;
-
- /**
- * Get WLAN security mode
- * @since S60 5.2
- * @return WLAN security mode
- */
- inline CMManager::TWlanSecMode SecurityMode() const;
-
-
- public: // Data
-
- // Network name (unknown: SSID, known: IAP name)
- TWlanSsid iSsid;
-
- // Network strength
- TUint16 iStrengthLevel;
-
- //Network encryption
- CMManager::TWlanSecMode iSecurityMode;
-
- //Network visibility
- TBool iVisibility;
-
- //Network capability
- CMManager::TWlanNetMode iNetMode;
-
- //Internet Access Point Id. 0 if the IAP has not been defined.
- TUint32 iIapId;
-
- // Available WLAN hotspots in this WLAN network
- TUint8 iCoverage;
-
- // Transferrate
- TUint32 iTransferRate;
-
- // Connection state
- TWsfWlanConnectionState iConnectionState;
-
- // filter flags
- TUint8 iFilterFlags;
-
- //brand id
- TUint8 iBrandId;
-
- // The name of the WLAN IAP
- TBuf8<KWlanMaxAccessPointNameLength> iNetworkName;
-
- //UI priority for known networks
- TUint8 iPriority;
-
- //Raw SSID - not converted
- TWlanSsid iRawSsid;
- };
-
-
-#include "wsfwlaninfo.inl"
-
-
-#endif // T_WSFWLANINFO_H
-
-// End of file
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.inl Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2007-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: Inline for TWsfWlanInfo
-*
-*/
-
-
-
-// INLINE FUNCTIONS
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Connected
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Connected() const
- {
- return ( iConnectionState == EConnected );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::ConnectionStatus
-// -----------------------------------------------------------------------------
-//
-inline TWsfWlanConnectionState TWsfWlanInfo::ConnectionStatus() const
- {
- return iConnectionState;
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Known
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Known() const
- {
- return ( iIapId );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Hidden
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Hidden() const
- {
- return !iVisibility;
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Secure
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Secure() const
- {
- return ( iSecurityMode != CMManager::EWlanSecModeOpen );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetBrand
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetBrand( const TInt8 aBrandId )
- {
- iBrandId = aBrandId;
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::BrandId
-// -----------------------------------------------------------------------------
-//
-inline TInt8 TWsfWlanInfo::BrandId() const
- {
- return iBrandId;
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetBlackListEntry
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetBlackListEntry( const TBool aBlackListEntry )
- {
- iFilterFlags = aBlackListEntry ?
- ( EBlackListItem | iFilterFlags ):
- ( ~EBlackListItem & iFilterFlags );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::BlackListEntry
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::BlackListEntry() const
- {
- return ( iFilterFlags & EBlackListItem );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::FonSsid
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::FonSsid() const
- {
- return ( iFilterFlags & EFonSsid );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetFonSsid
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetFonSsid( const TBool aFonSsid )
- {
- iFilterFlags = aFonSsid ?
- ( EFonSsid | iFilterFlags ):
- ( ~EFonSsid & iFilterFlags );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::UsesPreSharedKey
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::UsesPreSharedKey() const
- {
- return ( iFilterFlags & EUsesPresharedKey );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetUsesPreSharedKey
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetUsesPreSharedKey( const TBool aUsePresharedKey )
- {
- iFilterFlags = aUsePresharedKey?
- ( EUsesPresharedKey | iFilterFlags ):
- ( ~EUsesPresharedKey & iFilterFlags );
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetPriority
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetPriority( const TUint8 aPriority )
- {
- iPriority = aPriority;
- }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Priority
-// -----------------------------------------------------------------------------
-//
-inline TUint8 TWsfWlanInfo::Priority() const
- {
- return iPriority;
- }
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SecurityMode
-// -----------------------------------------------------------------------------
-//
-inline CMManager::TWlanSecMode TWsfWlanInfo::SecurityMode() const
- {
- return iSecurityMode;
- }
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarray.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,251 +0,0 @@
-/*
-* Copyright (c) 2007-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: Class header for CWsfWlanInfoArray
-*
-*/
-
-
-#ifndef C_WSFWLANINFOARRAY_H
-#define C_WSFWLANINFOARRAY_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class MWsfWlanInfoArrayFilterVisitor;
-
-
-// CLASS DEFINITION
-/**
- * Pointerarray container for TWsfWlanInfo items.
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfWlanInfoArray ): public CBase
- {
- public: // Constructors and destructor
-
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance.
- */
- IMPORT_C static CWsfWlanInfoArray* NewL();
-
- /**
- * Factory function.
- * @since S60 5.0
- * @return Class instance.
- */
- IMPORT_C static CWsfWlanInfoArray* NewLC();
-
- ~CWsfWlanInfoArray();
-
- private: // Constructors
- CWsfWlanInfoArray();
- void ConstructL();
-
- public: // New methods
-
- /**
- * Returns the index of the given wlaninfo
- * @since S60 5.0
- * @param aWlanInfo The element being searched for. Ownership not passed.
- * @return Index of info in the array, or -1 if not found
- */
- IMPORT_C TInt GetArrayIndex( TWsfWlanInfo* aWlanInfo ) const;
-
- /**
- * Add a wlaninfo to the array
- * @since S60 5.0
- * @param aWlanInfo The info element to be added to the array.
- * Ownership passed.
- */
- IMPORT_C void AppendL( TWsfWlanInfo* aWlanInfo );
-
- /**
- * Delete the given element from the array
- * @since S60 5.0
- * @param aWlanInfo The wlaninfo to be removed from the array.
- * Ownership not passed.
- */
- IMPORT_C void Delete( TWsfWlanInfo* aWlanInfo );
-
- /**
- * Wipes all the elements from the array
- * @since S60 5.0
- */
- IMPORT_C void Reset();
-
- /**
- * Returns the wlaninfo of the given index value in the array
- * @since S60 5.0
- * @param aIndex Index of the element in the array
- * @return Pointer to the wlan info object. Ownership not passed.
- */
- IMPORT_C TWsfWlanInfo* operator[]( TUint aIndex ) const;
-
- /**
- * Returns the wlaninfo of the given index value in the array with
- * boundary check.
- * @since S60 5.0
- * @param aIndex Index of the element in the array
- * @return Pointer to the wlan info object if the given index is valid
- * (ownership not passed), NULL otherwise
- */
- IMPORT_C TWsfWlanInfo* At( TInt aIndex ) const;
-
- /**
- * Return the number of info items stored in the array
- * @since S60 5.0
- * @return Number of items in the array.
- */
- IMPORT_C TUint Count();
-
- /**
- * Returns the info array element matching the SSID prior the given index
- * @since S60 5.0
- * @param aSsid The SSID to match
- * @param aPriorThis The index after which results are not reported
- * @return Pointer to the wlan info object (ownership not passed), or
- * NULL if ssid is not found
- */
- IMPORT_C TWsfWlanInfo* Match( const TDesC8& aSsid,
- const TInt aPriorThis );
-
- /**
- * Returns the info array element matching the IapID prior the given index
- * @since S60 5.2
- * @param aIapID The IapID to match
- * @param aPriorThis The index after which results are not reported
- * @return Pointer to the wlan info object (ownership not passed), or
- * NULL if IapID is not found
- */
- IMPORT_C TWsfWlanInfo* Match( const TUint32 aIapID,
- const TInt aPriorThis );
-
- /**
- * Returns the info array element matching the iap id prior the given index
- * @since S60 5.0
- * @param aIapId The Iap Id to match
- * @param aPriorThis The index after which results are not reported
- * @return Pointer to the wlan info object (ownership not passed), or
- * NULL if ssid is not found
- */
- IMPORT_C void MatchWithIapIDL( const TUint aIapID,
- const TInt aPriorThis,
- RPointerArray<TWsfWlanInfo>& aMatchArray );
-
-
- /**
- * Returns the info array element matching the SSID, security mode and net mode
- * prior the given index
- * @since S60 5.0
- * @param aSsid The SSID to match
- * @param aSecMode The security mode to match
- * @param aNetMode The network mode to match
- * @param aUsesPreSharedKey pre shared key usage to match
- * @param aPriorThis The index after which results are not reported
- * @return Pointer to the wlan info object (ownership not passed), or
- * NULL if ssid is not found
- */
- IMPORT_C void MatchL( const TDesC8& aSsid,
- CMManager::TWlanSecMode aSecMode,
- CMManager::TWlanNetMode aNetMode,
- TBool aUsesPreSharedKey,
- const TInt aPriorThis,
- RPointerArray<TWsfWlanInfo>& aMatchArray );
-
- /**
- * Serialize the array content to a buffer and pushes it on the
- * cleanup stack
- * @since S60 5.0
- * @return The buffer created
- */
- IMPORT_C HBufC8* SerializeContentLC();
-
- /**
- * Read wlan info objects from buffer and append them to the array
- * @since S60 5.0
- * @param aStreamBuffer The buffer to read from.
- * @return The new array size
- */
- IMPORT_C TInt AppendFromStreamBufferL( const TDesC8& aStreamBuffer );
-
- /**
- * Returns the hidden info array prior the given index
- * @since S60 5.0
- * @param aPriorThis The index after which results are not reported
- * @return Pointer to the wlan info object (ownership not passed),
- * or NULL if not found
- */
- IMPORT_C TWsfWlanInfo* FindHiddenEntry( const TInt aPriorThis );
-
- /**
- * Delete a given number of items starting from the last item in array
- * @since S60 5.0
- * @param aCount The number of items to be deleted
- * @return The count of remaining items in array
- */
- IMPORT_C TInt DeleteFromTail( const TInt aCount );
-
- /**
- * Sort the array contents in order of
- * configured access points in alphabetical order ( Ssid )
- * unknow networks in aplhabetical order ( Ssid )
- * and the hidden network container
- * @since S60 5.0
- */
- IMPORT_C void SortArrayL();
-
- /**
- * Set UI priority Sort for array
- * @since S60 5.1
- * @param aUIPrioritySort TBool value.
- */
- IMPORT_C void SetUIPrioritySort( const TBool aUIPrioritySort );
-
- /**
- * Get UI Priority Sort value
- * @since S60 5.1
- * @return TBool value representing iUIPrioritySort
- */
- IMPORT_C TBool GetUIPrioritySort();
-
- /*
- * Sort the array using a visitor SortKey
- * @since S60 5.0
- * @param aSortKey The sort key to be used.
- */
- IMPORT_C void SortArrayL( MWsfWlanInfoArrayFilterVisitor& aSortKey );
-
-
- private: // Data
-
- CArrayPtrFlat<TWsfWlanInfo>* iInfoArray; ///< Owned.
-
- /**
- * If EFalse, UI priority short not in use
- */
- TBool iUIPrioritySort;
-
- };
-
-#endif // C_WSFWLANINFOARRAY_H
-
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarrayfiltervisitor.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2007-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: Class header for MWsfWlanInfoArrayFilterVisitor
-*
-*/
-
-
-
-#ifndef M_WSFWLANINFOARRAYFILTERVISITOR_H
-#define M_WSFWLANINFOARRAYFILTERVISITOR_H
-
-// EXTERNAL INCLUDES
-#include <e32def.h>
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-
-
-// CLASS DEFINITION
-/**
- * Abstract interface for CWsfWlanInfoArray to allow visitor-like overloading
- * for array sorting
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-class MWsfWlanInfoArrayFilterVisitor
- {
- public: // Destructor
- /**
- * Destructor
- */
- virtual ~MWsfWlanInfoArrayFilterVisitor() {}
-
- public:
- /**
- * Execute presort before starting the actual sorting
- * @since S60 5.0
- * @param aArray The array to work on
- */
- virtual void FilterPreSortL( CWsfWlanInfoArray* aArray ) = 0;
-
- /**
- * Run postsort after he actual sorting is executed
- * @since S60 5.0
- * @param aArray The array to work on
- */
- virtual void FilterPostSortL( CWsfWlanInfoArray* aArray ) = 0;
-
- /**
- * Return the handle for sorting key
- * @since S60 5.0
- * @return The handle for the sorting key
- */
- virtual TKeyArrayFix& SortingKey() = 0;
-
- };
-
-#endif // M_WSFWLANINFOARRAYFILTERVISITOR_H
-
-// End of file
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarraysortkey.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2007-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: Class header for CWsfWlanInfoArraySortKey
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOARRAYSORTKEY_H
-#define C_WSFWLANINFOARRAYSORTKEY_H
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-
-
-// CLASS DEFINITION
-/**
- * Sort key for wlan info array
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfWlanInfoArraySortKey ): public TKeyArrayFix
- {
- public: // Constructors
- /**
- * Factory function.
- * @since S60 5.0
- * @param aArray The array to work with.
- */
- static CWsfWlanInfoArraySortKey* NewLC( CWsfWlanInfoArray& aArray );
-
- /**
- * Destructor.
- * @since S60 5.0
- */
- ~CWsfWlanInfoArraySortKey();
-
- private: // Constructors
- /**
- * Constructor.
- * @since S60 5.0
- * @param aArray The array to work with.
- */
- CWsfWlanInfoArraySortKey( CWsfWlanInfoArray& aArray );
-
- public: // from TKey
-
- /**
- * Compare function
- * @since S60 5.0
- * @param aLeft Left element to be compared
- * @param aRight Right element to be compared
- * @return -1 if aLeft<aRight, 0 if equal, 1 otherwise
- */
- virtual TInt Compare( TInt aLeft, TInt aRight ) const;
-
- public: // Data
- // The array to work with. Not owned.
- CWsfWlanInfoArray* iArray;
- };
-
-
-#endif // C_WSFWLANINFOARRAYSORTKEY_H
--- a/wlanutilities/wlansniffer/wlaninfo/rom/wsfwlaninfo.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 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: Image description file for project WlanInfo
-*
-*/
-
-
-
-#ifndef WSFWLANINFO_IBY
-#define WSFWLANINFO_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanInfo
-
-#include <bldvariant.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfwlaninfo.dll SHARED_LIB_DIR\wsfwlaninfo.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFWLANINFO_IBY
--- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2007-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: Implementation of TWsfWlanInfo
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <utf.h>
-#include <s32strm.h>
-
-// CLASS HEADER
-#include "wsfwlaninfo.h"
-
-
-using namespace CMManager;
-
-
-// Percentage max value
-static const TInt KMaxPercentage = 100;
-
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::TWsfWlanInfo
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanInfo::TWsfWlanInfo():
- iSsid( KNullDesC8 ),
- iStrengthLevel( EWlanSignalUnavailable ),
- iSecurityMode( EWlanSecModeOpen ),
- iVisibility( EFalse ),
- iNetMode( EAdhoc ),
- iIapId( 0 ),
- iCoverage( 0 ),
- iTransferRate( 0 ),
- iConnectionState( ENotConnected ),
- iFilterFlags( 0 ),
- iBrandId( 0 ),
- iNetworkName( KNullDesC8 ),
- iPriority ( 0 ),
- iRawSsid ( KNullDesC8 )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::TWsfWlanInfo
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanInfo::TWsfWlanInfo( TDesC8& aSsid,
- TUint16 aStrengthLevel,
- TWlanSecMode aSecurityMode,
- TInt aVisibility,
- TWlanNetMode aNetMode,
- TUint32 aIapId,
- TUint8 aCoverage,
- TUint32 aTransferRate ):
- iSsid( aSsid ),
- iStrengthLevel( aStrengthLevel ),
- iSecurityMode( aSecurityMode ),
- iVisibility( aVisibility ),
- iNetMode( aNetMode ),
- iIapId( aIapId ),
- iCoverage( aCoverage ),
- iTransferRate( aTransferRate ),
- iConnectionState( ENotConnected ),
- iFilterFlags( 0 ),
- iBrandId( 0 ),
- iPriority( 0 ),
- iRawSsid ( KNullDesC8 )
- {
- }
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUnicodeLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* TWsfWlanInfo::GetSsidAsUnicodeLC()
- {
- return GetSsidAsUnicodeLC( iSsid );
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUnicodeLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* TWsfWlanInfo::GetSsidAsUnicodeLC( const TWlanSsid& aSsid )
- {
- HBufC* ssid = HBufC::NewLC( aSsid.Length() );
- TPtr ptr = ssid->Des();
- TInt err = CnvUtfConverter::ConvertToUnicodeFromUtf8( ptr, aSsid );
- if ( err != KErrNone )
- {
- // If ssid wasn't utf-8 encoded, assume it unicode already
- // it's not specified how WLAN SSIDs should be encoded.
- ptr.Copy( aSsid );
- }
- return ssid;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUtf8LC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* TWsfWlanInfo::GetSsidAsUtf8LC()
- {
- HBufC8* ssid = iSsid.AllocLC();
- return ssid;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::InternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TWsfWlanInfo::InternalizeL( RReadStream& aStream )
- {
- aStream >> iSsid;
- iStrengthLevel = aStream.ReadInt16L();
- iSecurityMode = TWlanSecMode( aStream.ReadInt32L() );
- iVisibility = aStream.ReadInt8L();
- iNetMode = TWlanNetMode( aStream.ReadInt32L() );
- iIapId = aStream.ReadInt32L();
- iCoverage = aStream.ReadInt8L();
- iTransferRate = aStream.ReadInt32L();
- iConnectionState = TWsfWlanConnectionState( aStream.ReadInt8L() );
- iFilterFlags = aStream.ReadInt8L();
- iBrandId = aStream.ReadInt8L();
- iPriority = aStream.ReadInt8L();
- aStream >> iNetworkName;
- aStream >> iRawSsid;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::ExternalizeL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void TWsfWlanInfo::ExternalizeL(RWriteStream& aStream) const
- {
- aStream << iSsid;
- aStream.WriteInt16L( iStrengthLevel );
- aStream.WriteInt32L( iSecurityMode );
- aStream.WriteInt8L( iVisibility );
- aStream.WriteInt32L( iNetMode );
- aStream.WriteInt32L( iIapId );
- aStream.WriteInt8L( iCoverage );
- aStream.WriteInt32L( iTransferRate );
- aStream.WriteInt8L( iConnectionState );
- aStream.WriteInt8L( iFilterFlags );
- aStream.WriteInt8L( iBrandId );
- aStream.WriteInt8L( iPriority );
- aStream << iNetworkName;
- aStream << iRawSsid;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::SignalStrength
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanSignalStrengthLevel TWsfWlanInfo::SignalStrength()
- {
- // check the absolute signal level and return symbolic representation
- // smaller value means stronger signal
- TWsfWlanSignalStrengthLevel level( EAverage );
-
- if ( iStrengthLevel < EWlanSignalStrengthGood )
- {
- level = EExcelent;
- }
- else if ( iStrengthLevel > EWlanSignalStrengthLow )
- {
- if ( iStrengthLevel == EWlanSignalUnavailable )
- {
- level = ENoSignal;
- }
- else
- {
- level = EPoor;
- }
- }
-
- return level;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::SignalStrengthPercentage
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt TWsfWlanInfo::SignalStrengthPercentage()
- {
- // smaller value means stronger signal
- TInt signalStrength( 0 );
-
- if ( iStrengthLevel <= EWlanSignalStrengthMax )
- {
- signalStrength = KMaxPercentage;
- }
- else if ( iStrengthLevel < EWlanSignalStrengthMin )
- {
- TInt diff = EWlanSignalStrengthMin - iStrengthLevel;
- signalStrength = diff * KMaxPercentage /
- ( EWlanSignalStrengthMin - EWlanSignalStrengthMax );
- }
-
- return signalStrength;
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUnicodeLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* TWsfWlanInfo::GetIapNameAsUnicodeLC()
- {
- // This is essentially the same as ssid conversion
- return GetSsidAsUnicodeLC( iNetworkName );
- }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUtf8LC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* TWsfWlanInfo::GetIapNameAsUtf8LC()
- {
- HBufC8* networkName = iNetworkName.AllocLC();
- return networkName;
- }
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfoarray.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,517 +0,0 @@
-/*
-* Copyright (c) 2007-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: Implementation of CWsfWlanInfoArray
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <s32mem.h>
-
-
-// CLASS HEADER
-#include "wsfwlaninfoarray.h"
-
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfoarraysortkey.h"
-#include "wsfwlaninfoarrayfiltervisitor.h"
-
-
-using namespace CMManager;
-
-// LOCAL DEFINITIONS
-static const TUint KInfoArrayGranuality = 10;
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArray* CWsfWlanInfoArray::NewL()
- {
- CWsfWlanInfoArray* thisPtr = NewLC();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArray* CWsfWlanInfoArray::NewLC()
- {
- CWsfWlanInfoArray* thisPtr = new ( ELeave ) CWsfWlanInfoArray();
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::~CWsfWlanInfoArray
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoArray::~CWsfWlanInfoArray()
- {
- if ( iInfoArray )
- {
- iInfoArray->ResetAndDestroy();
- delete iInfoArray;
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::CWsfWlanInfoArray
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoArray::CWsfWlanInfoArray() :
- iUIPrioritySort( EFalse )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoArray::ConstructL()
- {
- iInfoArray = new (ELeave) CArrayPtrFlat<TWsfWlanInfo>(
- KInfoArrayGranuality );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Reset
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::Reset()
- {
- iInfoArray->ResetAndDestroy();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Count
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TUint CWsfWlanInfoArray::Count()
- {
- return iInfoArray->Count();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::AppendL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::AppendL( TWsfWlanInfo* aWlanInfo )
- {
- iInfoArray->AppendL( aWlanInfo );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::At
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::At( TInt aIndex ) const
- {
- TWsfWlanInfo* temp( NULL );
- TInt count = iInfoArray->Count();
-
- if ( count && ( aIndex < count ) )
- {
- temp = ( *iInfoArray )[aIndex];
- }
- return temp;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Delete
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::Delete( TWsfWlanInfo* aWlanInfo )
- {
- TInt count = iInfoArray->Count();
-
- for( TInt i = 0; i < count; ++i )
- {
- if ( ( *iInfoArray )[i] == aWlanInfo )
- {
- delete ( *iInfoArray )[i];
- iInfoArray->Delete( i );
- iInfoArray->Compress();
- break;
- }
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::GetArrayIndex
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfWlanInfoArray::GetArrayIndex( TWsfWlanInfo* aWlanInfo ) const
- {
- TBool found( EFalse );
- TInt index( 0 );
- TWsfWlanInfo* temp;
- TInt count = iInfoArray->Count();
-
- while( ( index < count ) && !found )
- {
- temp = ( *iInfoArray )[index];
- if ( !temp->iSsid.Compare( aWlanInfo->iSsid ) )
- {
- found = ETrue;
- }
- else
- {
- ++index;
- }
- }
- return ( found ? index : KErrNotFound );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::operator[]
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::operator[]( TUint aIndex ) const
- {
- return ( *iInfoArray )[aIndex];
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Match
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::Match( const TDesC8& aSsid,
- const TInt aPriorThis )
- {
- TInt count = iInfoArray->Count();
- TWsfWlanInfo* ret( NULL );
-
- count = count < aPriorThis ? count: aPriorThis;
-
- for( TInt i = 0; i < count; i++ )
- {
- TWsfWlanInfo* temp = ( *iInfoArray )[i];
- if ( !temp->iSsid.Compare( aSsid ) )
- {
- ret = temp;
- break;
- }
- }
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Match
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::Match( const TUint32 aIapID,
- const TInt aPriorThis )
- {
- TInt count = iInfoArray->Count();
- TWsfWlanInfo* ret( NULL );
-
- count = count < aPriorThis ? count: aPriorThis;
-
- for( TInt i = 0; i < count; i++ )
- {
- TWsfWlanInfo* temp = ( *iInfoArray )[i];
- if ( temp->iIapId == aIapID )
- {
- ret = temp;
- break;
- }
- }
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::MatchWithIapIDL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::MatchWithIapIDL( const TUint aIapID,
- const TInt aPriorThis,
- RPointerArray<TWsfWlanInfo>& aMatchArray )
- {
- aMatchArray.Reset();
-
- TInt count = iInfoArray->Count();
- TWsfWlanInfo* temp(NULL);
-
- count = count < aPriorThis ? count: aPriorThis;
-
- for( TInt i = 0; i < count ; i++ )
- {
- temp = ( *iInfoArray )[i];
- if( temp->iIapId == aIapID )
- {
- aMatchArray.AppendL(temp);
- }
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::MatchL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::MatchL( const TDesC8& aSsid,
- CMManager::TWlanSecMode aSecMode,
- CMManager::TWlanNetMode aNetMode,
- TBool aUsesPreSharedKey,
- const TInt aPriorThis,
- RPointerArray<TWsfWlanInfo>& aMatchArray )
- {
- aMatchArray.Reset();
-
- TInt count = iInfoArray->Count();
- TWsfWlanInfo* temp(NULL);
-
- count = count < aPriorThis ? count: aPriorThis;
-
- for( TInt i = 0; i < count ; i++ )
- {
- temp = ( *iInfoArray )[i];
- if( !temp->iSsid.Compare( aSsid ) && temp->iSecurityMode == aSecMode
- && temp->iNetMode == aNetMode )
- {
- aMatchArray.AppendL(temp);
- }
- else if ( temp->iIapId && !temp->iSsid.Compare( aSsid )
- && temp->SecurityMode() == CMManager::EWlanSecMode802_1x
- && temp->iNetMode == aNetMode )
- {
- if ( aSecMode == CMManager::EWlanSecModeOpen )
- {
- aMatchArray.AppendL(temp);
- }
- else if ( aSecMode == CMManager::EWlanSecModeWep )
- {
- aMatchArray.AppendL(temp);
- }
- else if ( aSecMode == CMManager::EWlanSecModeWpa
- && !aUsesPreSharedKey )
- {
- aMatchArray.AppendL(temp);
- }
- else if ( aSecMode == CMManager::EWlanSecMode802_1x )
- {
- aMatchArray.AppendL(temp);
- }
- }
- }
- }
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SerializeContentLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC8* CWsfWlanInfoArray::SerializeContentLC()
- {
- HBufC8* buffer( NULL );
-
- if ( !iInfoArray->Count() )
- {
- buffer = KNullDesC8().AllocLC();
- }
- else
- {
- TInt32 requiredBufferSize = sizeof( TUint32 ) +
- iInfoArray->Count() * sizeof( TWsfWlanInfo );
- buffer = HBufC8::NewLC( requiredBufferSize );
-
- // create a stream..
- TPtr8 bufferPtr = buffer->Des();
- RDesWriteStream writeStream( bufferPtr );
- writeStream.Open( bufferPtr);
- CleanupClosePushL( writeStream );
- writeStream.WriteInt16L( iInfoArray->Count() );
- TWsfWlanInfo* infoPtr = NULL;
- for ( TInt i( 0 ); i < iInfoArray->Count(); i++)
- {
- infoPtr = ( *iInfoArray )[i];
- writeStream << *infoPtr;
- }
- writeStream.CommitL();
- // try to realloc - save space realloc to required level..
- TStreamPos position = writeStream.Sink()->TellL( MStreamBuf::EWrite );
-
- CleanupStack::PopAndDestroy( &writeStream ); // closes the stream
- CleanupStack::Pop( buffer );
- HBufC8* newBuffer = buffer->ReAlloc( position.Offset() );
- if ( newBuffer ) // the realloc succeeded - swap the buffer
- {
- buffer = newBuffer;
- }
- CleanupStack::PushL( buffer);
- }
-
- return buffer;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::AppendFromStreamBufferL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfWlanInfoArray::AppendFromStreamBufferL(
- const TDesC8& aStreamBuffer )
- {
- RDesReadStream reader( aStreamBuffer );
- reader.Open( aStreamBuffer ); // codescanner false alarm
- // ignoring Open() return value.. Open returns void
- CleanupClosePushL( reader );
-
- TInt infoCount = reader.ReadInt16L();
-
- TWsfWlanInfo *infoPtr = NULL;
- for ( TInt i(0); i < infoCount; i++ )
- {
- infoPtr = new (ELeave)TWsfWlanInfo;
- CleanupStack::PushL( infoPtr );
- reader >> *infoPtr;
- AppendL( infoPtr );
- CleanupStack::Pop( infoPtr );
- }
-
- CleanupStack::PopAndDestroy( &reader );
- return Count();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::FindHiddenEntry
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::FindHiddenEntry(
- const TInt aPriorThis )
- {
- TInt count = iInfoArray->Count();
- TWsfWlanInfo* ret( NULL );
- count = count < aPriorThis ? count : aPriorThis;
-
- for ( TInt i = 0; i < count; ++i )
- {
- TWsfWlanInfo* temp = ( *iInfoArray )[i];
- if ( !temp->iVisibility )
- {
- ret = temp;
- break;
- }
- }
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::DeleteFromTail
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfWlanInfoArray::DeleteFromTail( const TInt aCount )
- {
- TInt arrayItemCount = iInfoArray->Count();
-
- if ( aCount >= arrayItemCount )
- {
- iInfoArray->ResetAndDestroy();
- }
- else
- {
- --arrayItemCount;
- for ( TInt i( 1 ) ; i <= aCount; ++i, --arrayItemCount )
- {
- delete ( *iInfoArray )[arrayItemCount];
- iInfoArray->Delete( arrayItemCount );
- }
- iInfoArray->Compress();
- }
-
- return iInfoArray->Count();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SortArrayL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::SortArrayL()
- {
- if ( iInfoArray->Count() > 1 )
- {
- CWsfWlanInfoArraySortKey* sortKey = CWsfWlanInfoArraySortKey::NewLC(
- *this );
-
- // Sort returns KErrGeneral if stack overflow, otherwise, returns
- // KErrNone. So we will Leave only if stack overflow,
- // but than that really does not matter...
- User::LeaveIfError( iInfoArray->Sort( *sortKey ) );
-
- CleanupStack::PopAndDestroy( sortKey );
- }
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SortArrayL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::SortArrayL(
- MWsfWlanInfoArrayFilterVisitor& aSortKey )
- {
- // the visitor sortkey may do some other stuff too
- // so don't make any asumptions...
- // just go for the sorting...
-
- aSortKey.FilterPreSortL( this );
-
- User::LeaveIfError( iInfoArray->Sort( aSortKey.SortingKey() ) );
-
- aSortKey.FilterPostSortL( this );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SetUIPrioritySort
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArray::SetUIPrioritySort( const TBool aUIPrioritySort )
- {
- iUIPrioritySort = aUIPrioritySort;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::GetUIPrioritySort
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfWlanInfoArray::GetUIPrioritySort( )
- {
- return iUIPrioritySort;
- }
-
--- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfoarraysortkey.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2007-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: Implementation of CWsfWlanInfoArraySortKey
-*
-*/
-
-
-// CLASS HEADER
-#include "wsfwlaninfoarraysortkey.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-
-
-// CONSTANTS
-static const TInt KLeftFirst = -1;
-static const TInt KRightFirst = 1;
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoArraySortKey* CWsfWlanInfoArraySortKey::NewLC(
- CWsfWlanInfoArray& aArray )
- {
- CWsfWlanInfoArraySortKey* thisPtr = new (ELeave) CWsfWlanInfoArraySortKey(
- aArray );
- CleanupStack::PushL( thisPtr );
- // no ConstructL at this stage required
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoArraySortKey::CWsfWlanInfoArraySortKey( CWsfWlanInfoArray& aArray )
- : TKeyArrayFix( 0, ECmpNormal )
- {
- iArray = &aArray;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoArraySortKey::~CWsfWlanInfoArraySortKey()
- {
- iArray = NULL; // not owning
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoArraySortKey::Compare( TInt aLeft, TInt aRight ) const
- {
- TWsfWlanInfo* left = iArray->At( aLeft );
- TWsfWlanInfo* right = iArray->At( aRight );
- TBool uiPrioritySort = iArray->GetUIPrioritySort();
-
- TInt ret( 0 );
-
- // connected goes first
- if ( left->Connected() )
- {
- ret = KLeftFirst;
- }
- else if ( right->Connected() )
- {
- ret = KRightFirst;
- }
-
- // then network with connecting status
- else if ( left->ConnectionStatus() == EConnecting )
- {
- ret = KLeftFirst;
- }
- else if ( right->ConnectionStatus() == EConnecting )
- {
- ret = KRightFirst;
- }
-
- // then customer favourite networks
- else if ( left->BrandId() )
- {
- if ( right->BrandId() )
- {
- // smaller brand id first
- ret = left->BrandId() - right->BrandId();
- }
- else
- {
- ret = KLeftFirst;
- }
- }
- else if ( right->BrandId() )
- {
- ret = KRightFirst;
- }
-
- // then ui priority networks
- else if ( uiPrioritySort && left->Priority() && !right->Priority() )
- {
- ret = KLeftFirst;
- }
- else if ( uiPrioritySort && !left->Priority() && right->Priority() )
- {
- ret = KRightFirst;
- }
- else if ( uiPrioritySort && left->Priority() && right->Priority() )
- {
- if ( left->Priority() < right->Priority() )
- {
- ret = KLeftFirst;
- }
- else
- {
- ret = KRightFirst;
- }
- }
-
- // then known networks
- else if ( left->Known() && !right->Known() )
- {
- ret = KLeftFirst;
- }
- else if ( !left->Known() && right->Known() )
- {
- ret = KRightFirst;
- }
-
- // finally SSID alphabetic order decides
- else
- {
- if ( ( left->iNetworkName.Length() ) &&
- ( right->iNetworkName.Length() ) )
- {
- ret = left->iNetworkName.CompareC( right->iNetworkName );
- }
- else if ( left->iNetworkName.Length() )
- {
- ret = left->iNetworkName.CompareC( right->iSsid );
- }
- else if ( right->iNetworkName.Length() )
- {
- ret = left->iSsid.CompareC( right->iNetworkName );
- }
- else
- {
- ret = left->iSsid.CompareC( right->iSsid );
- }
- }
-
- return ret;
- }
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/bwins/wsfwlaninfosortingu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
- ??1CWsfWlanInfoArrayVisitor@@UAE@XZ @ 1 NONAME ; CWsfWlanInfoArrayVisitor::~CWsfWlanInfoArrayVisitor(void)
- ?AppendBrandingIconsL@CWsfWlanInfoArrayVisitor@@QAEXAAVCAknIconArray@@@Z @ 2 NONAME ; void CWsfWlanInfoArrayVisitor::AppendBrandingIconsL(class CAknIconArray &)
- ?BlackListItemCount@CWsfWlanInfoArrayVisitor@@QBEHXZ @ 3 NONAME ; int CWsfWlanInfoArrayVisitor::BlackListItemCount(void) const
- ?EditBlackListL@CWsfWlanInfoArrayVisitor@@QAEXAAVCWsfWlanInfoArray@@@Z @ 4 NONAME ; void CWsfWlanInfoArrayVisitor::EditBlackListL(class CWsfWlanInfoArray &)
- ?FilterPostSortL@CWsfWlanInfoArrayVisitor@@UAEXPAVCWsfWlanInfoArray@@@Z @ 5 NONAME ; void CWsfWlanInfoArrayVisitor::FilterPostSortL(class CWsfWlanInfoArray *)
- ?FilterPreSortL@CWsfWlanInfoArrayVisitor@@UAEXPAVCWsfWlanInfoArray@@@Z @ 6 NONAME ; void CWsfWlanInfoArrayVisitor::FilterPreSortL(class CWsfWlanInfoArray *)
- ?LoadFilterDefinitionsL@CWsfWlanInfoArrayVisitor@@QAEXXZ @ 7 NONAME ; void CWsfWlanInfoArrayVisitor::LoadFilterDefinitionsL(void)
- ?NewL@CWsfWlanInfoArrayVisitor@@SAPAV1@H@Z @ 8 NONAME ; class CWsfWlanInfoArrayVisitor * CWsfWlanInfoArrayVisitor::NewL(int)
- ?NewLC@CWsfWlanInfoArrayVisitor@@SAPAV1@H@Z @ 9 NONAME ; class CWsfWlanInfoArrayVisitor * CWsfWlanInfoArrayVisitor::NewLC(int)
- ?SortingKey@CWsfWlanInfoArrayVisitor@@UAEAAVTKeyArrayFix@@XZ @ 10 NONAME ; class TKeyArrayFix & CWsfWlanInfoArrayVisitor::SortingKey(void)
-
Binary file wlanutilities/wlansniffer/wlaninfosorting/data/2000cf30.spd has changed
--- a/wlanutilities/wlansniffer/wlaninfosorting/data/backup_registration.xml Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
- <dbms_backup policy="2000cf30"/>
-</backup_registration>
--- a/wlanutilities/wlansniffer/wlaninfosorting/data/wsfwlaninfosorting.rss Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
-* 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: Resource definitions for project wlaninfosorting
-*
-*/
-
-
-
-NAME WIST
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.loc>
-#include <data_caging_paths_strings.hrh>
-
-#include "wsfwlansortingbrand.rh"
-#include <wsfmainapplication.loc>
-#include "wsfwlaninfosorting.hrh"
-#include <wsfwlaninfosorting.mbg>
-
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE TBUF16 { buf=""; }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_title_filter_out_wlans
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_title_filter_out_wlans
- {
- buf = qtn_note_title_filter_out_wlans;
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_blacklist_filter_selection_dialog_menubar
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_qtn_blacklist_filter_selection_dialog_menubar
- {
- titles =
- {
- MENU_TITLE
- {
- menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST;
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_blacklist_filter_selection_dialog
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_blacklist_filter_selection_dialog
- {
- flags = EAknDialogMarkableList;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
- items =
- {
- DLG_LINE
- {
- type = EAknCtSingleListBox;
- id = ESelectionListControl;
- control = LISTBOX
- {
- flags = EAknListBoxMarkableList | EAknListBoxLoopScrolling;
- };
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_preferred_filter_selection_dialog2
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_MULTISELECTION_LIST_QUERY r_qtn_preferred_filter_selection_dialog2
- {
- softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
- items =
- {
- AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE
- {
- control = AVKON_LIST_QUERY_CONTROL
- {
- listtype = EAknCtSingleGraphicPopupMenuListBox;
- listbox = AVKON_MULTISELECTION_LIST_QUERY_LIST
- {
- };
- heading = qtn_note_title_filter_out_wlans;
- };
- }
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_user_preferred_filter_selection_dialog
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_user_preferred_filter_selection_dialog
- {
- flags = EAknDialogMarkableList;
- buttons = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
- items =
- {
- DLG_LINE
- {
- type = EECustom;
- id = ESnifferLabel;
- control = LABEL
- {
- };
- },
-
- DLG_LINE
- {
- type = EAknCtSingleListBox;
- id = ESelectionListControl;
- control = LISTBOX
- {
- flags = EAknListBoxMarkableList | EAknListBoxLoopScrolling;
- height = 18;
- };
- }
-
- };
- }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_ssid_branding
-//
-// To add branded networks, modify the brandedItems structure as follows:
-//
-// brandedItems =
-// {
-// WLAN_BRAND_ITEM
-// {
-// brandedSsids = { "HugeOperator_protected", "HugeOperator_public" };
-// bmpIdImage = EMbmWsfwlaninfosortingHugeoperator;
-// bmpIdMask = EMbmWsfwlaninfosortingHugeoperator_mask;
-// }
-// }
-//
-// Bitmap enums are defined in wsfwlaninfosorting.mbg. See also remarks
-// in wsfwlaninfosorting.mk. In case you don't want to specify custom icons,
-// set the bmpIdImage and bmpIdMask as follows:
-//
-// bmpIdImage = EMbmWsfwlaninfosortingQgn_prop_wlan_bearer;
-// bmpIdMask = EMbmWsfwlaninfosortingQgn_prop_wlan_bearer_mask;
-//
-// DO NOT REMOVE the r_qtn_ssid_branding structure even if there are
-// no networks to define!
-// ---------------------------------------------------------------------------
-//
-RESOURCE WLAN_SORTING_BRAND r_qtn_ssid_branding
- {
- bmpfile = APP_BITMAP_DIR "\\wsfwlaninfosorting.mif";
- brandedItems =
- {
- };
- }
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/eabi/wsfwlaninfosortingu.def Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-EXPORTS
- _ZN24CWsfWlanInfoArrayVisitor10SortingKeyEv @ 1 NONAME
- _ZN24CWsfWlanInfoArrayVisitor14EditBlackListLER17CWsfWlanInfoArray @ 2 NONAME
- _ZN24CWsfWlanInfoArrayVisitor14FilterPreSortLEP17CWsfWlanInfoArray @ 3 NONAME
- _ZN24CWsfWlanInfoArrayVisitor15FilterPostSortLEP17CWsfWlanInfoArray @ 4 NONAME
- _ZN24CWsfWlanInfoArrayVisitor20AppendBrandingIconsLER13CAknIconArray @ 5 NONAME
- _ZN24CWsfWlanInfoArrayVisitor22LoadFilterDefinitionsLEv @ 6 NONAME
- _ZN24CWsfWlanInfoArrayVisitor4NewLEi @ 7 NONAME
- _ZN24CWsfWlanInfoArrayVisitor5NewLCEi @ 8 NONAME
- _ZN24CWsfWlanInfoArrayVisitorD0Ev @ 9 NONAME
- _ZN24CWsfWlanInfoArrayVisitorD1Ev @ 10 NONAME
- _ZN24CWsfWlanInfoArrayVisitorD2Ev @ 11 NONAME
- _ZNK24CWsfWlanInfoArrayVisitor18BlackListItemCountEv @ 12 NONAME
- _ZThn32_N24CWsfWlanInfoArrayVisitor10SortingKeyEv @ 13 NONAME ; #<thunk>#
- _ZThn32_N24CWsfWlanInfoArrayVisitor14FilterPreSortLEP17CWsfWlanInfoArray @ 14 NONAME ; #<thunk>#
- _ZThn32_N24CWsfWlanInfoArrayVisitor15FilterPostSortLEP17CWsfWlanInfoArray @ 15 NONAME ; #<thunk>#
- _ZThn32_N24CWsfWlanInfoArrayVisitorD0Ev @ 16 NONAME ; #<thunk>#
- _ZThn32_N24CWsfWlanInfoArrayVisitorD1Ev @ 17 NONAME ; #<thunk>#
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/group/bld.inf Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* 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: Build information file for project WlanInfoSorting
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-
-../inc/wsfwlaninfoarrayvisitor.h |../../../inc/wsfwlaninfoarrayvisitor.h
-
-../rom/wsfwlaninfosorting.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwlaninfosorting.iby)
-../rom/wsfwlaninfosortingresources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfwlaninfosortingresources.iby)
-
-// blacklist database
-../data/2000cf30.spd /epoc32/release/winscw/udeb/z/private/100012a5/policy/2000cf30.spd
-../data/2000cf30.spd /epoc32/release/winscw/urel/z/private/100012a5/policy/2000cf30.spd
-../data/2000cf30.spd /epoc32/data/z/private/100012a5/policy/2000cf30.spd
-
-// backup registration
-../data/backup_registration.xml /epoc32/release/winscw/udeb/z/private/10281caa/backup_registration.xml
-../data/backup_registration.xml /epoc32/release/winscw/urel/z/private/10281caa/backup_registration.xml
-../data/backup_registration.xml /epoc32/data/z/private/10281caa/backup_registration.xml
-
-
-PRJ_MMPFILES
-// gnumakefile wlaninfosortingicons.mk
-wlaninfosorting.mmp
-
-
-PRJ_EXTENSIONS
-/*
-* Add your branding icons here like:
-*
-* START EXTENSION s60/mifconv
-* OPTION TARGETFILE wsfwlaninfosorting.mif
-* OPTION HEADERFILE wsfwlaninfosorting.mbg
-* OPTION SOURCES -c8,1 hugeoperatoricon
-* OPTION SOURCES -c8,1 hugeoperatoricon2
-* END
-*
-* and use the enums that result in wsfwlaninfosorting.mbg when specifying
-* the custfav networks in the resource.
-*
-* If there are no customer favourite networks defined, you must still invoke
-* mifconv the following way:
-*
-* START EXTENSION s60/mifconv
-* OPTION TARGETFILE wsfwlaninfosorting.mif
-* OPTION HEADERFILE wsfwlaninfosorting.mbg
-* OPTION SOURCES -c8,1 qgn_prop_wlan_bearer
-* END
-*
-* In case any of the defined networks doesn't need a specific icon, you must
-* use the following invocation:
-*
-* START EXTENSION s60/mifconv
-* OPTION TARGETFILE wsfwlaninfosorting.mif
-* OPTION HEADERFILE wsfwlaninfosorting.mbg
-* OPTION SOURCES -c8,1 qgn_prop_wlan_bearer
-* OPTION SOURCES -c8,1 hugeoperatoricon
-* OPTION SOURCES -c8,1 hugeoperatoricon2
-* END
-*
-* and use the enums that result in wsfwlaninfosorting.mbg when specifying
-* the custfav networks in the resource. For the networks without icon, use
-* the enums corresponding to qgn_prop_wlan_bearer.
-*/
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wsfwlaninfosorting.mif
-OPTION HEADERFILE wsfwlaninfosorting.mbg
-OPTION SOURCES -c8,1 qgn_prop_wlan_bearer
-END
-
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/group/wlaninfosorting.mmp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* 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: Project definition file for project WlanInfoSorting
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-
-TARGET wsfwlaninfosorting.dll
-TARGETTYPE dll
-UID 0x1000008d 0x10281D14
-
-CAPABILITY CAP_GENERAL_DLL
-VENDORID VID_DEFAULT
-
-
-SOURCEPATH ../src
-SOURCE wsfwlaninfosortingdefault.cpp
-SOURCE wsfwlaninfosortingbrand.cpp
-SOURCE wsfwlaninfosortingblacklist.cpp
-SOURCE wsfwlaninfoarrayvisitor.cpp
-SOURCE wsfwlaninfosortingdbchangenotifier.cpp
-SOURCE wsfwlanssidselectiondlg2.cpp
-
-
-// own headers
-USERINCLUDE ../inc
-
-// inner API
-USERINCLUDE ../../inc
-
-// private API
-USERINCLUDE ../../../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-SOURCEPATH ../data
-
-START RESOURCE wsfwlaninfosorting.rss
-HEADER
-TARGETPATH RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-
-LIBRARY euser.lib
-LIBRARY estor.lib
-LIBRARY charconv.lib
-LIBRARY bafl.lib
-LIBRARY edbms.lib
-LIBRARY avkon.lib
-LIBRARY efsrv.lib
-LIBRARY cone.lib
-LIBRARY egul.lib
-LIBRARY aknicon.lib
-LIBRARY eikdlg.lib
-LIBRARY eikcore.lib
-LIBRARY eikcoctl.lib
-LIBRARY eikctl.lib
-LIBRARY commonengine.lib
-LIBRARY aknskins.lib
-LIBRARY ws32.lib
-LIBRARY wsfwlaninfo.lib
-
-DEBUGLIBRARY flogger.lib
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/group/wlaninfosortingicons.mk Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-#
-# 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: Scalable icons makefile for project WlanInfoSorting
-#
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32/release/$(PLATFORM)/$(CFG)/z
-else
-ZDIR=$(EPOCROOT)epoc32/data/z
-endif
-
-TARGETDIR=$(ZDIR)/resource/apps
-ICONTARGETFILENAME=$(TARGETDIR)/wsfwlaninfosorting.mif
-
-HEADERDIR=$(EPOCROOT)epoc32/include
-HEADERFILENAME=$(HEADERDIR)/wsfwlaninfosorting.mbg
-
-do_nothing :
- @rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-
-# Add your branding icons here like:
-#
-# RESOURCE :
-# mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-# /c8,1 /path/to/graphics/hugeoperator.svg \
-# /c8,1 /path/to/graphics/hugeoperator2.svg
-#
-# and use the enums that result in $(HEADERFILENAME) when specifying
-# the custfav networks in the resource.
-#
-# If there are no customer favourite networks defined, you must still invoke
-# mifconv the following way:
-#
-# RESOURCE:
-# mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-# /c8,1 qgn_prop_wlan_bearer.svg
-#
-# In case any of the defined networks doesn't need a specific icon, you must
-# use the following invocation:
-#
-# RESOURCE:
-# mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-# /c8,1 qgn_prop_wlan_bearer.svg \
-# /c8,1 /path/to/hugeoperator.svg \
-# /c8,1 /path/to/yetanothernetworkicon.svg
-#
-# and use the enums that result in $(HEADERFILENAME) when specifying
-# the custfav networks in the resource. For the networks without icon, use
-# the enums corresponding to qgn_prop_wlan_bearer.svg.
-#
-
-RESOURCE :
- mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
- /c8,1 qgn_prop_wlan_bearer.svg
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
- @echo $(HEADERFILENAME)&& \
- @echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfoarrayvisitor.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
-* 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 CWsfWlanInfoArrayVisitor
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOARRAYVISITOR_H
-#define C_WSFWLANINFOARRAYVISITOR_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <d32dbms.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfoarrayfiltervisitor.h"
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanInfoSortingDefault;
-class CWsfWlanInfoSortingBrand;
-class CWsfWlanInfoSortingBlackList;
-class CEikonEnv;
-class CAknIconArray;
-class CWsfWlanInfoSortingDbChangeNotifier;
-
-/**
-* This class is the main entry point for wlan list sorting services
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoArrayVisitor ): public CBase,
- public TKeyArrayFix,
- public MWsfWlanInfoArrayFilterVisitor
- {
- public: // construction
- /**
- * Factory function.
- * @since S60 5.0
- * @param aReadOnly If EFalse, database-dependent filters
- * won't get updated
- * @return Class instance
- */
- IMPORT_C static CWsfWlanInfoArrayVisitor* NewLC(
- const TBool aReadOnly );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aReadOnly If EFalse, database-dependent filters
- * won't get updated
- * @return Class instance
- */
- IMPORT_C static CWsfWlanInfoArrayVisitor* NewL(
- const TBool aReadOnly );
-
- IMPORT_C ~CWsfWlanInfoArrayVisitor();
-
- private:
- /**
- * Constructor.
- * @since S60 5.0
- * @param aReadOnly If EFalse, database-dependent filters
- * won't get updated
- */
- CWsfWlanInfoArrayVisitor( const TBool aReadOnly );
-
- void ConstructL();
-
-
- public: // new methods
- /**
- * Carries out operations before starting the actual sorting
- * @since S60 5.0
- * @param aArrayToBeFiltered The array we are working on.
- */
- IMPORT_C void FilterPreSortL( CWsfWlanInfoArray* aArrayToBeFiltered );
-
- /**
- * Carries out operations after having sorted the array
- * @since S60 5.0
- * @param aArrayToBeFiltered The array we are working on.
- */
- IMPORT_C void FilterPostSortL( CWsfWlanInfoArray* aArrayToBeFiltered );
-
- /**
- * Return the sorting key handle
- * @since S60 5.0
- * @return Reference to the sorting key
- */
- IMPORT_C TKeyArrayFix& SortingKey();
-
-
- public: // from TKeyArrayFix
- /**
- * Compares elements of the given indices according to the
- * sorting criteria.
- * @since S60 5.0
- * @param aLeft Index of left element
- * @param aRight Index of right element
- * @return Negative if the left element is less than the right,
- * positive if the right element is less than the left,
- * zero if the two elements are equal.
- */
- TInt Compare( TInt aLeft, TInt aRight ) const;
-
-
- public: // new methods
-
- /**
- * Load definition of each filter
- * @since S60 5.0
- */
- IMPORT_C void LoadFilterDefinitionsL();
-
- /**
- * Add the icons of the given array to the branding icon list
- * @since S60 5.0
- * @param aIconArray The icons to be appended
- */
- IMPORT_C void AppendBrandingIconsL( CAknIconArray& aIconArray );
-
- /**
- * Launches the UI to modify the SSID blacklist (filter out networks)
- * @since S60 5.0
- * @param aInfoItemArray The current wlaninfo array
- */
- IMPORT_C void EditBlackListL( CWsfWlanInfoArray& aInfoItemArray );
-
- /**
- * Returns the number of blacklisted SSIDs
- * @since S60 5.0
- * @return The count of filtered SSIDs
- */
- IMPORT_C TInt BlackListItemCount() const;
-
-
- private: // new methods
-
- /**
- * Opens the shared filter database
- * @since S60 5.0
- */
- void OpenDataBaseL();
-
-
- private: //data
-
- /**
- * The wlaninfo array we are currently working on. Not owned.
- */
- CWsfWlanInfoArray* iInfoArray;
-
- /**
- * Default sorting filter. Owned.
- */
- CWsfWlanInfoSortingDefault* iDefaultSorting;
-
- /**
- * Branded item sorting filter. Owned.
- */
- CWsfWlanInfoSortingBrand* iBrandSorting;
-
- /**
- * Blacklisted item sorting filter. Owned.
- */
- CWsfWlanInfoSortingBlackList* iBlackListSorting;
-
- /**
- * Notifier of database changes. Owned.
- */
- CWsfWlanInfoSortingDbChangeNotifier* iDbChangeNotifier;
-
- /**
- * Reference to the UI environment
- */
- CEikonEnv& iCoeEnv;
-
- /**
- * Resource file offset
- */
- TInt iResourceFileOffset;
-
- /**
- * Handle to the filter database
- */
- RDbNamedDatabase iFilterDb;
-
- /**
- * Handle to the DBMS
- */
- RDbs iDbms;
-
- /**
- * Handle to the FS
- */
- RFs iFileServer;
-
- /**
- * If EFalse, database-dependent filters won't get updated
- */
- TBool iReadOnly;
-
- };
-
-
-
-
-#endif // C_WSFWLANINFOARRAYVISITOR_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosorting.hrh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* 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: Resource headers for project wlaninfosorting
-*
-*/
-
-
-
-
-
-#ifndef WSFWLANINFOSORTING_HRH
-#define WSFWLANINFOSORTING_HRH
-
-
-enum TWsfControls
- {
- ESnifferLabel = 6000,
- EECustom
- };
-
-
-#endif // WSFWLANINFOSORTING_HRH
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingblacklist.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* 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 CWsfWlanInfoArrayVisitor
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGBLACKLIST_H
-#define C_WSFWLANINFOSORTINGBLACKLIST_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <d32dbms.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-#include "wsfwlaninfo.h"
-
-
-
-// FORWARD DECLARATIONS
-class CDesC8Array;
-class CGulIcon;
-class CAknIconArray;
-
-
-
-/**
-* Blacklisted item sorting filter
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoSortingBlackList ): public CBase,
- public MWsfWlanInfoSortingFilterVisitor
- {
- public:
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDatabase The database to read the blacklist from.
- * @return Class instance.
- */
- static CWsfWlanInfoSortingBlackList* NewLC(
- RDbNamedDatabase& aDatabase );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDatabase The database to read the blacklist from.
- * @return Class instance.
- */
- static CWsfWlanInfoSortingBlackList* NewL(
- RDbNamedDatabase& aDatabase );
-
- ~CWsfWlanInfoSortingBlackList();
-
-
- private:
- /**
- * Constructor.
- * @since S60 5.0
- * @param aDatabase The database to read the blacklist from.
- */
- CWsfWlanInfoSortingBlackList( RDbNamedDatabase& aDatabase );
-
- void ConstructL();
-
-
- public: // from MWsfWlanInfoSortingFilterVisitor
-
- /**
- * Do comparing between these two entries
- * @since S60 5.0
- * @param aInfoLeft Left element
- * @param aInfoRight Right element
- * @return Negative if aInfoLeft is smaller tha aInfoRight,
- * zero if the entries are equal,
- * positive if the aInfoLeft is greater than aInfoRight
- */
- virtual TInt Compare( const TWsfWlanInfo& aInfoLeft,
- const TWsfWlanInfo& aInfoRight );
-
- /**
- * Check if the entry matches to filter rules and carry out additional
- * operations if needed.
- * @since S60 5.0
- * @param aInfoLeft The element to be checked
- * @return ETrue if the item matches the blacklist rule
- */
- virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft );
-
- /**
- * Handle filter match
- * @since S60 5.0
- * @param aFilterEntry The element in question
- */
- virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry );
-
- /**
- * Edit filter definitions
- * @since S60 5.0
- * @param aInfoArray The element in question
- */
- virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray );
-
- /**
- * Read the filter defintions to filter
- * @since S60 5.0
- */
- virtual void ReadFilterDefsL();
-
-
- public: // new methods
- /**
- * Return the number of elements in the blacklist
- * @since S60 5.0
- * @return The count of blacklisted SSIDs
- */
- TInt BlackListItemCount() const;
-
-
- private: // new methods
- /**
- * Save filter definitions
- * @since S60 5.0
- */
- void SaveDefsL();
-
- /**
- * Restore filter definitions
- * @since S60 5.0
- */
- void RestoreDefsL();
-
- /**
- * Check if the blacklist table exists in the database
- * @since S60 5.0
- */
- void CheckTableL();
-
-
- private: //data
-
- /**
- * Array of blacklisted SSIDs. Owned.
- */
- CDesC8Array* iBlackListSsids;
-
- /**
- * Handle to the blacklist database. Not owned.
- */
- RDbNamedDatabase* iDefsDb;
-
- /**
- * Handle to the blacklist table
- */
- RDbTable iBlackListSsidTable;
- };
-
-
-
-#endif // C_WSFWLANINFOSORTINGBLACKLIST_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingbrand.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* 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 CWsfWlanInfoSortingBrand
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGBRAND_H
-#define C_WSFWLANINFOSORTINGBRAND_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class CAknIconArray;
-class CGulIcon;
-
-
-/**
-* Branded item sorting filter
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoSortingBrand ): public CBase,
- public MWsfWlanInfoSortingFilterVisitor
- {
- protected: // Type definitions
-
- /**
- * Structure to store and compare branded items
- *
- * @lib wsfwlaninfosorting.lib
- * @since S60 5.0
- */
- class TBrandableItem
- {
- public: // constructors
- TBrandableItem();
-
- /**
- * Constructor.
- * @since S60 5.0
- * @param aSsid SSID of the branded network
- * @param aBrandId ID of the branded network
- */
- TBrandableItem( const TDesC8& aSsid, const TInt8 aBrandId );
-
- public: // new methods
- /**
- * Compares two branded items.
- * @since S60 5.0
- * @param aItemLeft First item
- * @param aItemRight Second item
- * @return ETrue if the two items are equal
- */
- static TBool Match( const TBrandableItem& aItemLeft,
- const TBrandableItem& aItemRight );
-
- /**
- * Defines a sorting relation between two branded items based on
- * their brand id.
- * @since S60 5.0
- * @param aItemLeft Left item
- * @param aItemRight Right item
- * @return Negative if left < right, zero if left == right,
- * positive if left > right.
- */
- static TInt SortByBrandId( const TBrandableItem& aItemLeft,
- const TBrandableItem& aItemRight );
-
- /**
- * Defines a sorting relation between two branded items based on
- * their SSID.
- * @since S60 5.0
- * @param aItemLeft Left item
- * @param aItemRight Right item
- * @return Negative if left < right, zero if left == right,
- * positive if left > right.
- */
- static TInt SortBySsid( const TBrandableItem& aItemLeft,
- const TBrandableItem& aItemRight );
-
- public: // data
- /**
- * SSID of the branded item
- */
- TBuf8<KWlanMaxAccessPointNameLength> iSsid;
-
- /**
- * Brand identifier number
- */
- TInt8 iBrandId;
-
- /**
- * Icon id for this branded item
- */
- TInt iIconId;
-
- /**
- * Icon mask id for this branded item
- */
- TInt iMaskId;
- };
-
- public: // construction
- static CWsfWlanInfoSortingBrand* NewLC();
- static CWsfWlanInfoSortingBrand* NewL();
-
- ~CWsfWlanInfoSortingBrand();
-
-
- private: // constructors
- CWsfWlanInfoSortingBrand();
- void ConstructL();
-
-
- public: // new methods
-
- /**
- * Append the icons from the given array to the available icons list
- * @since S60 5.0
- * @param aIconArray The array to take the icons from
- */
- void AppendBrandIconsL( CAknIconArray& aIconArray );
-
-
- public: // from MWsfWlanInfoSortingFilterVisitor
-
- /**
- * Do comparing between these two entries
- * @since S60 5.0
- * @param aInfoLeft Left element
- * @param aInfoRight Right element
- * @return Negative if aInfoLeft is smaller tha aInfoRight,
- * zero if the entries are equal,
- * positive if the aInfoLeft is greater than aInfoRight
- */
- virtual TInt Compare( const TWsfWlanInfo& aInfoLeft,
- const TWsfWlanInfo& aInfoRight );
-
- /**
- * Check if the entry matches to filter rules and carry out additional
- * operations if needed.
- * @since S60 5.0
- * @param aInfoLeft The element to be checked
- * @return ETrue if the item matches the rule
- */
- virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft );
-
- /**
- * Handle filter match
- * @since S60 5.0
- * @param aFilterEntry The element in question
- */
- virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry );
-
- /**
- * Edit filter definitions
- * @since S60 5.0
- * @param aInfoArray The element in question
- */
- virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray );
-
- /**
- * Read the filter defintions to filter
- * @since S60 5.0
- */
- virtual void ReadFilterDefsL();
-
-
- private: // new methods
-
- /**
- * Creates an icon of the given icon and mask id
- * @since S60 5.0
- * @param aIconId Icon ID
- * @param aMaskId
- * @return The created icon. Ownership passed.
- */
- CGulIcon* MakeIconLC( const TInt aIconId, const TInt aMaskId );
-
- /**
- * Read the branded networks' data from file/resource
- * @since S60 5.0
- */
- void ReadBrandedSsidsL();
-
-
- private: //data
-
- /**
- * Array of branded items
- */
- RPointerArray<TBrandableItem> iBrandItemArray;
-
- /**
- * Name of the bitmap file for the brand icons. Owned.
- */
- HBufC* iBitmapFileName;
-
- /**
- * Indicates whether the read data is ok
- */
- TBool iBrandingDataOk;
- };
-
-
-
-#endif // C_WSFWLANINFOSORTINGBRAND_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingdbchangenotifier.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* 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 CWsfWlanInfoSortingDbChangeNotifier
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGDBCHANGENOTIFIER_H
-#define C_WSFWLANINFOSORTINGDBCHANGENOTIFIER_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-#include <d32dbms.h>
-
-
-// FORWARD DECLARATIONS
-class MWsfWlanInfoSortingFilterVisitor;
-
-
-/**
- * Active object to monitor changes in a given database
- *
- * @lib wsfwlaninfosorting.lib
- * @since S60 5.0
- */
-
-NONSHARABLE_CLASS( CWsfWlanInfoSortingDbChangeNotifier ): public CActive
- {
- public: // construction
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDatabase The database to be monitored. Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanInfoSortingDbChangeNotifier* NewLC(
- RDbDatabase& aDatabase );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aDatabase The database to be monitored. Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanInfoSortingDbChangeNotifier* NewL(
- RDbDatabase& aDatabase );
-
- ~CWsfWlanInfoSortingDbChangeNotifier();
-
-
- private: // constructors
- /**
- * Constructor
- * @since S60 5.0
- * @param aDatabase The database to be monitored. Ownership not passed.
- */
- CWsfWlanInfoSortingDbChangeNotifier( RDbDatabase& aDatabase );
-
- void ConstructL();
-
-
- public: // new methods
-
- /**
- * Starts monitoring the database
- * @since S60 5.0
- */
- void StartDbObservation();
-
- /**
- * Append filter to the list of clients to be notified.
- * @since S60 5.0
- * @param aRelatedFilter A filter which is interested in db events.
- * Ownership not passed.
- * @return - void
- */
- void AppendDbRelatedFilterL(
- MWsfWlanInfoSortingFilterVisitor* aRelatedFilter );
-
- /**
- * Removes the filter from the list of clients.
- * @since S60 5.0
- * @param aRelatedFilter A filter which is interested in db events.
- * Ownership not passed.
- * @return - void
- */
- void RemoveDbRelatedFilter(
- MWsfWlanInfoSortingFilterVisitor* aRelatedFilter );
-
-
- private: // from CActive
-
- void DoCancel();
- void RunL();
-
-
- private: //data
- /**
- * The database to be monitored. Not owned.
- */
- RDbDatabase* iDatabase;
-
- /**
- * Database notifier
- */
- RDbNotifier iNotifier;
-
- /**
- * Array of DB-related filters to be notified
- */
- RPointerArray<MWsfWlanInfoSortingFilterVisitor> iDbAwareFilters;
- };
-
-#endif // C_WSFWLANINFOSORTINGDBCHANGENOTIFIER_H
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingdefault.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* 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 CWsfWlanInfoSortingDefault
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGDEFAULT_H
-#define C_WSFWLANINFOSORTINGDEFAULT_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-
-
-// CLASS DEFINITION
-/**
-* Default sorting filter for WLAN items
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoSortingDefault ): public CBase,
- public MWsfWlanInfoSortingFilterVisitor
- {
- public:
- static CWsfWlanInfoSortingDefault* NewLC();
- static CWsfWlanInfoSortingDefault* NewL();
-
- ~CWsfWlanInfoSortingDefault();
-
-
- private: // constructors
- void ConstructL();
- CWsfWlanInfoSortingDefault();
-
-
- public: // from MWsfWlanInfoSortingFilterVisitor
-
- /**
- * Do comparing between these two entries
- * @since S60 5.0
- * @param aInfoLeft Left element
- * @param aInfoRight Right element
- * @return Negative if aInfoLeft is smaller tha aInfoRight,
- * zero if the entries are equal,
- * positive if the aInfoLeft is greater than aInfoRight
- */
- virtual TInt Compare( const TWsfWlanInfo& aInfoLeft,
- const TWsfWlanInfo& aInfoRight );
-
- /**
- * Check if the entry matches to filter rules and carry out additional
- * operations if needed.
- * @since S60 5.0
- * @param aInfoLeft The element to be checked
- * @return ETrue if the item matches the rule
- */
- virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft );
-
- /**
- * Handle filter match
- * @since S60 5.0
- * @param aFilterEntry The element in question
- */
- virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry );
-
- /**
- * Edit filter definitions
- * @since S60 5.0
- * @param aInfoArray The element in question
- */
- virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray );
-
- /**
- * Read the filter defintions to filter
- * @since S60 5.0
- */
- virtual void ReadFilterDefsL();
-
- };
-
-
-#endif // C_WSFWLANINFOSORTINGDEFAULT_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingfiltervisitor.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007-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: Class header for MWsfWlanInfoSortingFilterVisitor
-*
-*/
-
-
-
-#ifndef M_WSFWLANINFOSORTINGFILTERVISITOR_H
-#define M_WSFWLANINFOSORTINGFILTERVISITOR_H
-
-
-// EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class TWsfWlanInfo;
-class CWsfWlanInfoArray;
-
-
-// CLASS DEFINITION
-/**
- * Interface class for common filtering actions
- *
- * @since S60 5.0
- */
-class MWsfWlanInfoSortingFilterVisitor
- {
- public:
-
- /**
- * Do comparing between these two entries
- * @since S60 5.0
- * @param aInfoLeft Left element
- * @param aInfoRight Right element
- * @return Negative if aInfoLeft is smaller tha aInfoRight,
- * zero if the entries are equal,
- * positive if the aInfoLeft is greater than aInfoRight
- */
- virtual TInt Compare( const TWsfWlanInfo& aInfoLeft,
- const TWsfWlanInfo& aInfoRight ) = 0;
-
- /**
- * Check if the entry matches to filter rules and carry out additional
- * operations if needed.
- * @since S60 5.0
- * @param aInfoLeft The element to be checked
- * @return ETrue if the item matches the rules
- */
- virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft ) = 0;
-
-
- /**
- * Handle filter match
- * @since S60 5.0
- * @param aFilterEntry The element in question
- */
- virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry ) = 0;
-
- /**
- * Edit filter definitions
- * @since S60 5.0
- * @param aInfoArray The element in question
- */
- virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray ) = 0;
-
- /**
- * Read the filter defintions to filter
- * @since S60 5.0
- */
- virtual void ReadFilterDefsL() = 0;
- };
-
-
-
-
-#endif // M_WSFWLANINFOSORTINGFILTERVISITOR_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlansortingbrand.rh Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* 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: Resource headers for project wlaninfosorting
-*
-*/
-
-
-
-#ifndef WSFWLANSORTINGBRAND_RH
-#define WSFWLANSORTINGBRAND_RH
-
-
-STRUCT WLAN_BRAND_ITEM
- {
- LTEXT8 brandedSsids[]; // for ssid's with the same icon
- WORD bmpIdImage;
- WORD bmpIdMask;
- }
-
-STRUCT WLAN_SORTING_BRAND
- {
- LTEXT bmpfile="";
- STRUCT brandedItems[];
- }
-
-
-
-#endif // WSFWLANSORTINGBRAND_RH
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlanssidselectiondlg2.h Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* 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 CWsfWlanSsidSelectionDlg2
-*
-*/
-
-
-
-#ifndef C_WSFWLANSSIDSELECTIONDLG2_H
-#define C_WSFWLANSSIDSELECTIONDLG2_H
-
-
-// EXTERNAL INCLUDES
-#include <aknlistquerydialog.h>
-#include <badesca.h>
-
-
-// FORWARD DECLARATIONS
-class CAknTitlePane;
-class CAknIconArray;
-class CGulIcon;
-
-
-// CLASS DEFINITION
-/**
-* Dialog for modifying the SSID blacklist
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanSsidSelectionDlg2 ): public CAknListQueryDialog
- {
- public:
- /**
- * Factory function.
- * @since S60 5.0
- * @param aSsidArray Array of all SSIDs. Ownership not passed.
- * @param aSelectionIndexArray Array to indicate selected state of
- * the SSIDs. Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanSsidSelectionDlg2* NewL( CDesCArrayFlat& aSsidArray,
- CListBoxView::CSelectionIndexArray& aSelectionIndexArray );
-
- /**
- * Factory function.
- * @since S60 5.0
- * @param aSsidArray Array of all SSIDs. Ownership not passed.
- * @param aSelectionIndexArray Array to indicate selected state of
- * the SSIDS. Ownership not passed.
- * @return Class instance
- */
- static CWsfWlanSsidSelectionDlg2* NewLC( CDesCArrayFlat& aSsidArray,
- CListBoxView::CSelectionIndexArray& aSelectionIndexArray );
-
- ~CWsfWlanSsidSelectionDlg2();
-
-
- private:
- /**
- * Constructor.
- * @since S60 5.0
- * @param aSsidArray Array of all SSIDs. Ownership not passed.
- * @param aSelectionIndexArray Array to indicate selected state of
- * the SSIDS. Ownership not passed.
- * @return Class instance
- */
- CWsfWlanSsidSelectionDlg2( CDesCArrayFlat& aSsidArray,
- CListBoxView::CSelectionIndexArray& aSelectionIndexArray );
-
- void ConstructL();
-
-
- public: // from CEikDialog
- TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
- TEventCode aType );
-
- void PreLayoutDynInitL();
-
-
- private: // new methods
-
- /**
- * Creates a listbox item array of the SSID list
- * @since S60 5.0
- * @param aSource The source SSID array. Ownership not passed.
- * @param aDest The array to put the resulting listbox items in.
- * Ownership not passed.
- */
- void CopyAndFormatArrayContentsL( CDesCArrayFlat* aSource,
- CDesCArrayFlat* aDest );
-
- /**
- * Function to create checkbox icons for the markable list
- * @since S60 5.0
- * @param aFileName Path to the icon file
- * @param aIcon Icon id
- * @param aMask Mask id
- * @param aID Item ID of the masked bitmap to be created.
- * @return The constructed icon. Ownership passed.
- */
- CGulIcon* CreateIconLC( const TDesC& aFileName, TInt aIcon, TInt aMask,
- const TAknsItemID& aID );
-
- /**
- * Create an icon array of the checkbox icons
- * @since S60 5.0
- * @return The constructed icon array. Ownership passed.
- */
- CAknIconArray* CreateQueryIconArrayL();
-
-
- private: //data
-
- /**
- * Array of SSIDs in the list
- */
- CDesCArrayFlat* iSsidArray;
-
- /**
- * Array of selection states
- */
- CArrayFix<TInt>* iSelectedItems;
-
- /**
- * Reference to the title pane of the list. Not owned.
- */
- CAknTitlePane* iPane;
-
- /**
- * Title text. Owned.
- */
- HBufC* iTitle;
-
- };
-
-
-#endif // C_WSFWLANSSIDSELECTIONDLG2_H
--- a/wlanutilities/wlansniffer/wlaninfosorting/rom/wsfwlaninfosorting.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* 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: Image description file for project WlanInfoSorting
-*
-*/
-
-
-
-#ifndef WSFWLANINFOSORTING_IBY
-#define WSFWLANINFOSORTING_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WsfWlanInfoSorting
-
-#include <bldvariant.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfwlaninfosorting.dll SHARED_LIB_DIR\wsfwlaninfosorting.dll
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,wsfwlaninfosorting)
-
-#if defined(__SECURE_BACKUP__)
-data=DATAZ_\private\10281caa\backup_registration.xml private\10281caa\backup_registration.xml
-#endif
-
-data=DATAZ_\private\100012a5\policy\2000cf30.spd private\100012a5\policy\2000cf30.spd
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFWLANINFOSORTING_IBY
--- a/wlanutilities/wlansniffer/wlaninfosorting/rom/wsfwlaninfosortingresources.iby Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +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: Image description file for project WlanInfoSorting
-*
-*/
-
-
-#ifndef WSFWLANINFOSORTINGRESOURCES_IBY
-#define WSFWLANINFOSORTINGRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanInfoSortingResources
-
-#include <bldvariant.hrh>
-
-data = DATAZ_\RESOURCE_FILES_DIR\wsfwlaninfosorting.rsc RESOURCE_FILES_DIR\wsfwlaninfosorting.rsc
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFWLANINFOSORTINGRESOURCES_IBY
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfoarrayvisitor.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanInfoArrayVisitor
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <badesca.h>
-#include <e32base.h>
-#include <eikenv.h>
-#include <bautils.h>
-#include <data_caging_path_literals.hrh>
-
-// CLASS HEADER
-#include "wsfwlaninfoarrayvisitor.h"
-
-//INTERNAL INCLUDES
-#include "wsfwlaninfosortingbrand.h"
-#include "wsfwlaninfosortingdefault.h"
-#include "wsfwlaninfosortingblacklist.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfwlaninfosortingdbchangenotifier.h"
-
-
-/**
-* Blacklist database identifier
-*/
-_LIT( KBlacklistDbFormat, "SECURE[2000cf30]" );
-
-/**
-* Blacklist database file name
-*/
-_LIT( KBlacklistDbName, "c:wsfblacklist.db" );
-
-/**
-* ROM folder
-*/
-_LIT( KDriveZ, "z:" );
-
-/**
-* Resource file name
-*/
-_LIT( KResourceFileName, "wsfwlaninfosorting.rsc" );
-
-
-#ifdef _DEBUG
- _LIT( KCWsfWlanInfoArrayVisitor, "arrayvisitor" );
- #define __ASSERTD( cond ) __ASSERT_DEBUG( (cond), User::Panic( KCWsfWlanInfoArrayVisitor, __LINE__) )
-#else
- #define __ASSERTD( cond )
-#endif //_DEBUG
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArrayVisitor* CWsfWlanInfoArrayVisitor::NewLC(
- const TBool aReadOnly )
- {
- CWsfWlanInfoArrayVisitor* thisPtr = new (ELeave) CWsfWlanInfoArrayVisitor(
- aReadOnly );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArrayVisitor* CWsfWlanInfoArrayVisitor::NewL(
- const TBool aReadOnly )
- {
- CWsfWlanInfoArrayVisitor* thisPtr = NewLC( aReadOnly );
- CleanupStack::Pop();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::~CWsfWlanInfoArrayVisitor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArrayVisitor::~CWsfWlanInfoArrayVisitor()
- {
- delete iDbChangeNotifier;
- delete iBlackListSorting;
- delete iBrandSorting;
- delete iDefaultSorting;
-
- iFilterDb.Close();
-
-
- iDbms.Close();
- iFileServer.Close();
-
- // let the resourcefile go..
- if ( iResourceFileOffset != -1 )
- {
- iCoeEnv.DeleteResourceFile( iResourceFileOffset );
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::CWsfWlanInfoArrayVisitor
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoArrayVisitor::CWsfWlanInfoArrayVisitor( const TBool aReadOnly ):
- TKeyArrayFix( 0, ECmpNormal ),
- iCoeEnv( *CEikonEnv::Static() ),
- iResourceFileOffset( -1 ),
- iReadOnly( aReadOnly )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoArrayVisitor::ConstructL()
- {
- TFileName resourceFileName;
-
- resourceFileName.Append( KDriveZ );
- resourceFileName.Append( KDC_RESOURCE_FILES_DIR );
- resourceFileName.Append( KResourceFileName );
-
- BaflUtils::NearestLanguageFile( iCoeEnv.FsSession(), resourceFileName );
- iResourceFileOffset = iCoeEnv.AddResourceFileL( resourceFileName );
-
-
- User::LeaveIfError( iFileServer.Connect() );
- User::LeaveIfError( iDbms.Connect() );
-
- OpenDataBaseL();
-
-
- iDefaultSorting = CWsfWlanInfoSortingDefault::NewL();
- iBrandSorting = CWsfWlanInfoSortingBrand::NewL();
- iBlackListSorting = CWsfWlanInfoSortingBlackList::NewL( iFilterDb );
-
- iDbChangeNotifier = CWsfWlanInfoSortingDbChangeNotifier::NewL( iFilterDb );
- iDbChangeNotifier->AppendDbRelatedFilterL( iBlackListSorting );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::FilterPreSortL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::FilterPreSortL(
- CWsfWlanInfoArray* aArrayToBeFiltered )
- {
- __ASSERTD( aArrayToBeFiltered );
-
- // go through the filters
- // store the array ref
-
- TInt arrayLoopCount( aArrayToBeFiltered->Count() );
- TWsfWlanInfo* wlanInfo;
-
- for ( TInt arrayLoop( 0 ); arrayLoop < arrayLoopCount; ++arrayLoop )
- {
- wlanInfo = aArrayToBeFiltered->At( arrayLoop );
-
- // blacklist sorting must come first to be able to filter out
- // customer favourite networks, too
- if ( !iBlackListSorting->SetupOnRuleMatch( *wlanInfo ) )
- {
- iBrandSorting->SetupOnRuleMatch( *wlanInfo );
- }
- }
-
- iInfoArray = aArrayToBeFiltered;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::FilterPostSortL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::FilterPostSortL(
- CWsfWlanInfoArray* aArrayToBeFiltered )
- {
- __ASSERTD( aArrayToBeFiltered );
-
- // go through the filters....
-
- // we could remove the entries which are marked as blacklist entries...
- TInt arrayLoopCount( aArrayToBeFiltered->Count() );
- TWsfWlanInfo* wlanInfo;
-
- for ( TInt arrayLoop( arrayLoopCount - 1); arrayLoop >= 0; --arrayLoop )
- {
- wlanInfo = aArrayToBeFiltered->At( arrayLoop );
- if ( wlanInfo->BlackListEntry() && !wlanInfo->Connected() )
- {
- // filter out only non-connected items
- aArrayToBeFiltered->Delete( wlanInfo );
- }
- }
- // and let the iInfoArray expire..
- iInfoArray = NULL;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::SortingKey
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TKeyArrayFix& CWsfWlanInfoArrayVisitor::SortingKey()
- {
- return *this;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::LoadFilterDefinitionsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::LoadFilterDefinitionsL()
- {
- // filter by filter - call the load
- iDefaultSorting->ReadFilterDefsL();
- iBrandSorting->ReadFilterDefsL();
- iBlackListSorting->ReadFilterDefsL();
- if ( iReadOnly && !iDbChangeNotifier->IsActive() )
- {
- iDbChangeNotifier->StartDbObservation();
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::AppendBrandingIconsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::AppendBrandingIconsL(
- CAknIconArray& aIconArray )
- {
- iBrandSorting->AppendBrandIconsL( aIconArray );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::EditBlackListL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::EditBlackListL(
- CWsfWlanInfoArray& aInfoItemArray )
- {
- iBlackListSorting->EditFilterDefsL( aInfoItemArray );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::BlackListItemCount
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfWlanInfoArrayVisitor::BlackListItemCount() const
- {
- return iBlackListSorting->BlackListItemCount();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::Compare
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoArrayVisitor::Compare( TInt aLeft, TInt aRight ) const
- {
- TWsfWlanInfo* left = iInfoArray->At( aLeft );
- TWsfWlanInfo* right = iInfoArray->At( aRight );
-
- __ASSERTD( left );
- __ASSERTD( right );
-
- return iDefaultSorting->Compare( *left, *right );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::OpenDataBaseL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoArrayVisitor::OpenDataBaseL()
- {
- if ( iFilterDb.Open( iDbms, KBlacklistDbName, KBlacklistDbFormat ) !=
- KErrNone )
- {
- User::LeaveIfError( iFilterDb.Create( iDbms,
- KBlacklistDbName,
- KBlacklistDbFormat ) );
-
- // create tables in the new database
- CWsfWlanInfoSortingBlackList::NewLC( iFilterDb );
- CleanupStack::PopAndDestroy();
- }
- }
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingblacklist.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,451 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanInfoSortingBlackList
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <StringLoader.h>
-#include <aknselectionlist.h>
-#include <aknnotewrappers.h>
-#include <utf.h>
-
-// CLASS HEADER
-#include "wsfwlaninfosortingblacklist.h"
-
-// INTERNAL INCLUDES
-#include <wsfwlaninfosorting.rsg>
-#include "wsfwlaninfoarray.h"
-#include "wsfwlanssidselectiondlg2.h"
-#include "wsflogger.h"
-
-
-/**
-* SSID array granularity
-*/
-static const TInt KIntSsidArrayGranularity = 3;
-
-/**
-* SSID blacklist table name in DB
-*/
-_LIT( KBlackListTableName,"WIZARD_BLACKLIST");
-
-/**
-* SSID column name in blacklist table
-*/
-_LIT( KBlackListTableIdColumnName,"WIZARD_BLACKLIST_SSID");
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList* CWsfWlanInfoSortingBlackList::NewLC(
- RDbNamedDatabase& aDatabase )
- {
- CWsfWlanInfoSortingBlackList* thisPtr =
- new (ELeave) CWsfWlanInfoSortingBlackList( aDatabase );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList* CWsfWlanInfoSortingBlackList::NewL(
- RDbNamedDatabase& aDatabase )
- {
- CWsfWlanInfoSortingBlackList* thisPtr = NewLC( aDatabase );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::CWsfWlanInfoSortingBlackList
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList::CWsfWlanInfoSortingBlackList(
- RDbNamedDatabase& aDatabase ):
- iDefsDb( &aDatabase )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::~CWsfWlanInfoSortingBlackList
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList::~CWsfWlanInfoSortingBlackList()
- {
- // free the blacklist entries...
- if ( iBlackListSsids )
- {
- iBlackListSsids->Reset();
- }
- delete iBlackListSsids;
-
- iBlackListSsidTable.Close();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::ConstructL()
- {
- CheckTableL();
- iBlackListSsids = new (ELeave) CDesC8ArrayFlat( KIntSsidArrayGranularity );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::BlackListItemCount
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBlackList::BlackListItemCount() const
- {
- return iBlackListSsids->Count();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::Compare
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBlackList::Compare( const TWsfWlanInfo& /*aInfoLeft*/,
- const TWsfWlanInfo& /*aInfoRight*/ )
- {
- return 0;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::SetupOnRuleMatch
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBlackList::SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft )
- {
- // look through the ssid array - and look for a match
- TInt rulePosition( 0 );
-
- if ( aInfoLeft.BlackListEntry() )
- {
- return ETrue;
- }
-
- if ( iBlackListSsids->FindIsq( aInfoLeft.iSsid, rulePosition ) == 0 )
- {
- // the rule matches....
- aInfoLeft.SetBlackListEntry( ETrue );
- return ETrue;
- }
-
- return EFalse;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::MarkMatchedFilterL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::MarkMatchedFilterL(
- TWsfWlanInfo& aFilterEntry )
- {
- aFilterEntry.SetBlackListEntry( ETrue );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::EditFilterDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::EditFilterDefsL(
- CWsfWlanInfoArray& aInfoArray )
- {
- LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::EditFilterDefsL" );
-
- // ok - lets map aInfoArray contents and iBlackListSsids and build our selves
- // a list of blacklist entries and current non sorted entries...
-
- // first loop through the aInfoArray and ...
-
- // make 16 bit copy of the ssid array...
- TInt arrayItemCount( iBlackListSsids->Count() + aInfoArray.Count() );
- if ( !arrayItemCount )
- {
- // there's nothing to edit
- // just return before showing edit dialog
- return;
- }
-
- LOG_WRITE( "there are items to show" );
- CDesCArrayFlat *arrayOfItems =
- new (ELeave) CDesCArrayFlat( arrayItemCount );
- CleanupStack::PushL( arrayOfItems );
-
-
- // go through the ssid's in aInfoArray and append them to the array
- TInt wlanArrayCount( aInfoArray.Count() );
- TWsfWlanInfo* wlanInfo( NULL );
- TWsfWlanInfo* connectedWlan( NULL );
- for ( TInt loopCounter( 0 ); loopCounter < wlanArrayCount; ++loopCounter )
- {
- wlanInfo = aInfoArray.At( loopCounter );
-
-// formerly (custfav or hidden -> does not appear in the list):
-// if ( wlanInfo->BrandId() || wlanInfo->Hidden() )
-// instead now (connected -> does not appear in the list):
- if ( wlanInfo->Connected() )
- {
- connectedWlan = wlanInfo;
- continue;
- }
- HBufC* ssid = wlanInfo->GetSsidAsUnicodeLC();
- arrayOfItems->AppendL( *ssid );
- CleanupStack::PopAndDestroy( ssid );
- }
-
- // simple alphabetical sort
- arrayOfItems->Sort();
-
- LOG_WRITE( "items added, list sorted" );
-
-
- // now insert the already selected items onto the top
- CArrayFix<TInt> *selectedItems = new (ELeave) CArrayFixFlat<TInt>(
- arrayItemCount );
- CleanupStack::PushL( selectedItems );
-
- HBufC* connectedSsid( NULL );
- if ( connectedWlan )
- {
- connectedSsid = connectedWlan->GetSsidAsUnicodeLC();
- }
-
- TBool connectedBlacklisted( EFalse );
-
- TInt blackListLength( iBlackListSsids->Count() );
- TInt index( 0 );
- for ( TInt loopCounter( 0 ); loopCounter < blackListLength; ++loopCounter )
- {
- HBufC* ssidUnicode = TWsfWlanInfo::GetSsidAsUnicodeLC(
- iBlackListSsids->MdcaPoint( loopCounter ) );
-
- if ( !connectedWlan || ssidUnicode->Compare( *connectedSsid ) )
- {
- // only add the ssid to the list if it is not connected right now
- arrayOfItems->InsertL( index, *ssidUnicode );
- // these are already selected
- selectedItems->AppendL( index );
- ++index;
- }
- else if ( connectedWlan && !ssidUnicode->Compare( *connectedSsid ) )
- {
- connectedBlacklisted = ETrue;
- }
-
-
- CleanupStack::PopAndDestroy( ssidUnicode );
- }
-
- if ( !arrayOfItems->Count() )
- {
- // there's nothing to edit
- // just return before showing edit dialog
- if ( connectedWlan )
- {
- CleanupStack::PopAndDestroy( connectedSsid );
- }
-
- CleanupStack::PopAndDestroy( selectedItems );
- CleanupStack::PopAndDestroy( arrayOfItems );
- return;
- }
-
- LOG_WRITE( "creating the dialog" );
- CWsfWlanSsidSelectionDlg2* dlg = CWsfWlanSsidSelectionDlg2::NewL(
- *arrayOfItems, *selectedItems );
- dlg->PrepareLC( R_QTN_PREFERRED_FILTER_SELECTION_DIALOG2 );
-
- LOG_WRITE( "launching the dialog" );
- if ( dlg->RunLD() )
- {
- LOG_WRITE( "dialog closed" );
- // go throught the list of selected items... and store them...
- iBlackListSsids->Reset();
-
- TInt selectedCount( selectedItems->Count() );
-
- for ( TInt loopCounter( 0 ); loopCounter < selectedCount; ++loopCounter )
- {
- TPtrC ssid = arrayOfItems->MdcaPoint( selectedItems->At(
- loopCounter ) );
- HBufC8* ssidUtf8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L(
- ssid );
- CleanupStack::PushL( ssidUtf8 );
- iBlackListSsids->AppendL( *ssidUtf8 );
- CleanupStack::PopAndDestroy( ssidUtf8 );
- }
-
- if ( connectedBlacklisted )
- {
- HBufC8* ssidUtf8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L(
- *connectedSsid );
- CleanupStack::PushL( ssidUtf8 );
- iBlackListSsids->AppendL( *ssidUtf8 );
- CleanupStack::PopAndDestroy( ssidUtf8 );
- }
-
- iBlackListSsids->Sort();
- SaveDefsL();
- }
-
- if ( connectedWlan )
- {
- CleanupStack::PopAndDestroy( connectedSsid );
- }
-
- CleanupStack::PopAndDestroy( selectedItems );
- CleanupStack::PopAndDestroy( arrayOfItems );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::ReadFilterDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::ReadFilterDefsL()
- {
- RestoreDefsL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::SaveDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::SaveDefsL()
- {
- LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::SaveDefsL" );
-
- // clear the db-table
- if ( iBlackListSsidTable.FirstL() != EFalse )
- {
- do
- {
- iBlackListSsidTable.DeleteL();
- }
- while ( iBlackListSsidTable.NextL() );
- }
-
- // and add the iBlackListSsids contents there....
- TInt ssidCount( iBlackListSsids->Count() );
-
- if ( ssidCount )
- {
- // there are items
- CDbColSet* colSet = iBlackListSsidTable.ColSetL();
- CleanupStack::PushL( colSet );
- TDbColNo ssidColumnNumber = colSet->ColNo(
- KBlackListTableIdColumnName );
-
- for ( TInt i( 0 ); i < ssidCount; ++i )
- {
- iBlackListSsidTable.InsertL();
- iBlackListSsidTable.SetColL( ssidColumnNumber,
- iBlackListSsids->MdcaPoint( i ) );
- iBlackListSsidTable.PutL();
- }
- CleanupStack::PopAndDestroy( colSet );
- }
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::RestoreDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::RestoreDefsL()
- {
- LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::RestoreDefsL" );
- iBlackListSsids->Reset();
- iBlackListSsidTable.Reset();
- // go through the table and fill the ssid array...
- if ( iBlackListSsidTable.FirstL() )
- {
- CDbColSet* colSet = iBlackListSsidTable.ColSetL();
- CleanupStack::PushL( colSet );
- TDbColNo ssidColumnNumber = colSet->ColNo(
- KBlackListTableIdColumnName );
- do
- {
- iBlackListSsidTable.GetL();
- iBlackListSsids->AppendL( iBlackListSsidTable.ColDes8(
- ssidColumnNumber ) );
- }
- while ( iBlackListSsidTable.NextL() );
-
- CleanupStack::PopAndDestroy( colSet );
- // sort the array...
- iBlackListSsids->Sort();
-
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::CheckTableL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::CheckTableL()
- {
- LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::CheckTableL" );
-
- TInt tableStatus = iBlackListSsidTable.Open( *iDefsDb,
- KBlackListTableName );
- if ( tableStatus == KErrNotFound )
- {
- // the table does not exist... create it
- CDbColSet *ssidTableColumnSet = CDbColSet::NewLC();
-
- ssidTableColumnSet->AddL( TDbCol( KBlackListTableIdColumnName,
- EDbColText8 ) );
-
- iDefsDb->Begin();
- User::LeaveIfError( iDefsDb->CreateTable( KBlackListTableName,
- *ssidTableColumnSet ) );
- iDefsDb->Commit();
-
- CleanupStack::PopAndDestroy( ssidTableColumnSet );
- }
-
- if ( tableStatus != KErrNone )
- {
- User::LeaveIfError( iBlackListSsidTable.Open( *iDefsDb,
- KBlackListTableName ) );
- }
- }
-
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingbrand.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,458 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanInfoSortingBrand
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <eikenv.h>
-#include <barsread.h>
-#include <gulicon.h>
-#include <AknIconArray.h>
-#include <AknIconUtils.h>
-#include <mifconvdefs.h>
-#include <wsfwlaninfosorting.rsg>
-
-// CLASS HEADER
-#include "wsfwlaninfosortingbrand.h"
-
-
-
-/**
-* Compare result: left-hand item goes first
-*/
-static const TInt KLeftFirst = -1;
-
-/**
-* Compare result: right-hand item goes first
-*/
-static const TInt KRightFirst = 1;
-
-
-
-#ifdef _DEBUG
- // Add own assert debug
- // implementation if needed
- #define __ASSERTD( cond )
-#else
- #define __ASSERTD( cond )
-#endif //_DEBUG
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem():
- iSsid( KNullDesC8 ),
- iBrandId( 0 )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem( const TDesC8& aSsid,
- const TInt8 aBrandId ):
- iSsid( aSsid ),
- iBrandId( aBrandId )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::Match
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBrand::TBrandableItem::Match(
- const TBrandableItem& aItemLeft,
- const TBrandableItem& aItemRight )
- {
- return aItemLeft.iSsid.Compare( aItemRight.iSsid ) == 0;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId(
- const TBrandableItem& aItemLeft,
- const TBrandableItem& aItemRight )
- {
- return aItemLeft.iBrandId - aItemRight.iBrandId;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid(
- const TBrandableItem& aItemLeft,
- const TBrandableItem& aItemRight )
- {
- return aItemLeft.iSsid.Compare( aItemRight.iSsid );
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand* CWsfWlanInfoSortingBrand::NewLC()
- {
- CWsfWlanInfoSortingBrand* thisPtr =
- new (ELeave) CWsfWlanInfoSortingBrand();
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand* CWsfWlanInfoSortingBrand::NewL()
- {
- CWsfWlanInfoSortingBrand* thisPtr = NewLC();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::CWsfWlanInfoSortingBrand
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::CWsfWlanInfoSortingBrand():
- iBitmapFileName( NULL ),
- iBrandingDataOk( EFalse )
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::~CWsfWlanInfoSortingBrand
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::~CWsfWlanInfoSortingBrand()
- {
- delete iBitmapFileName;
- iBrandItemArray.ResetAndDestroy();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ConstructL()
- {
- // nothing to do...
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::Compare
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::Compare( const TWsfWlanInfo& aLeft,
- const TWsfWlanInfo& aRight )
- {
- TInt ret( 0 );
-
- // connected goes first
- if ( aLeft.Connected() )
- {
- ret = KLeftFirst;
- }
- else if ( aRight.Connected() )
- {
- ret = KRightFirst;
- }
-
- // then customer favourite networks
- else if ( aLeft.BrandId() )
- {
- if ( aRight.BrandId() )
- {
- // smaller brand id first
- ret = aLeft.BrandId() - aRight.BrandId();
- }
- else
- {
- ret = KLeftFirst;
- }
- }
- else if ( aRight.BrandId() )
- {
- ret = KRightFirst;
- }
-
-
- // then known networks
- else if ( aLeft.Known() && !aRight.Known() )
- {
- ret = KLeftFirst;
- }
- else if ( !aLeft.Known() && aRight.Known() )
- {
- ret = KRightFirst;
- }
-
- // finally SSID alphabetic order decides
- else
- {
- if ( ( aLeft.iNetworkName.Length() ) &&
- ( aRight.iNetworkName.Length() ) )
- {
- ret = aLeft.iNetworkName.CompareC( aRight.iNetworkName );
- }
- else if ( aLeft.iNetworkName.Length() )
- {
- ret = aLeft.iNetworkName.CompareC( aRight.iSsid );
- }
- else if ( aRight.iNetworkName.Length() )
- {
- ret = aLeft.iSsid.CompareC( aRight.iNetworkName );
- }
- else
- {
- ret = aLeft.iSsid.CompareC( aRight.iSsid );
- }
- }
-
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::SetupOnRuleMatch
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBrand::SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft )
- {
- TBool ret( EFalse );
- // check if the entry already has an branding flag on - return ETrue
-
- if ( iBrandingDataOk && !aInfoLeft.BrandId() )
- {
- // using the ssid... try to find the ssid from iBrandItemArray
- TBrandableItem item;
- item.iSsid = aInfoLeft.iSsid;
-
- TLinearOrder<TBrandableItem> findBinarySsid(
- CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-
- TInt entryFindValue = iBrandItemArray.FindInOrder( &item,
- findBinarySsid );
- if ( entryFindValue != KErrNotFound )
- {
- // mark the entry...
- aInfoLeft.SetBrand(
- iBrandItemArray[entryFindValue]->iBrandId );
- ret = ETrue;
- }
-
- }
-
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::MarkMatchedFilterL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::MarkMatchedFilterL(
- TWsfWlanInfo& /*aFilterEntry*/ )
- {
- // we do not modify the contents in default filter...
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::EditFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::EditFilterDefsL(
- CWsfWlanInfoArray& /*aInfoArray*/ )
- {
- // we have hardcoded rules... we don't need editui..
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ReadFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ReadFilterDefsL()
- {
- ReadBrandedSsidsL();
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ReadBrandedSsidsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ReadBrandedSsidsL()
- {
- iBrandItemArray.ResetAndDestroy();
- iBrandingDataOk = EFalse;
-
- TResourceReader reader;
- CEikonEnv& env = *CEikonEnv::Static();
- env.CreateResourceReaderLC( reader, R_QTN_SSID_BRANDING );
-
- delete iBitmapFileName;
- iBitmapFileName = NULL;
-
- // ok - lets read the filename...
- iBitmapFileName = reader.ReadHBufCL();
-
- if ( iBitmapFileName ) // not iconfilename defined....
- {
- // try to locate the icon file
- TFindFile finder( env.FsSession() );
-
- TParsePtrC parser( *iBitmapFileName );
-
- TInt findError = finder.FindByDir( parser.NameAndExt(),
- parser.Path() );
-
- delete iBitmapFileName;
- iBitmapFileName = NULL;
-
- if ( !findError )
- {
- iBitmapFileName = finder.File().AllocL();
-
- TInt brandedItemCount = reader.ReadInt16();
- TBrandableItem* brandableItem = NULL;
-
- CDesC8ArrayFlat* ssidArray = NULL;
- TInt iconId( 0 );
- TInt maskId( 0 );
-
- for ( TInt readCount( 0 ); readCount < brandedItemCount;
- ++readCount )
- {
- ssidArray = reader.ReadDesC8ArrayL();
- CleanupStack::PushL( ssidArray );
-
- iconId = reader.ReadInt16();
- maskId = reader.ReadInt16();
-
- TInt ssidCount( ssidArray->Count() );
-
- for ( TInt ssidIter( 0 ); ssidIter < ssidCount; ssidIter++ )
- {
- brandableItem = new (ELeave) TBrandableItem;
- brandableItem->iSsid = ssidArray->MdcaPoint( ssidIter );
- brandableItem->iBrandId = readCount + 1;
- brandableItem->iIconId = iconId;
- brandableItem->iMaskId = maskId;
- iBrandItemArray.AppendL( brandableItem );
- }
- CleanupStack::PopAndDestroy( ssidArray );
- }
-
- // and to speed up the ssid match sort the array by ssid
- TLinearOrder<TBrandableItem> sortingRuleSSId(
- CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-
- iBrandItemArray.Sort( sortingRuleSSId );
- iBrandingDataOk = ( iBrandItemArray.Count() > 0 );
- }
-
- }
-
- CleanupStack::PopAndDestroy(); //reader
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::AppendBrandIconsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::AppendBrandIconsL( CAknIconArray& aIconArray )
- {
- if ( iBrandingDataOk )
- {
- // sort the array by brandid
- TLinearOrder<TBrandableItem> sortingRule(
- CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId );
-
- iBrandItemArray.Sort( sortingRule );
-
-
- // loop here - load icon and append to array....
- TBrandableItem* item;
- TInt brandArrayCount( iBrandItemArray.Count() );
- TInt brandId( 0 );
- for ( TInt loopCounter( 0 ); loopCounter < brandArrayCount;
- ++loopCounter )
- {
- item = iBrandItemArray[ loopCounter ];
- if ( item->iBrandId > brandId )
- {
- brandId = item->iBrandId;
- aIconArray.AppendL( MakeIconLC( item->iIconId,
- item->iMaskId ) );
- CleanupStack::Pop(); // icon
- }
- }
-
- // and to speed up the ssid match sort the array by ssid
- TLinearOrder<TBrandableItem> sortingRuleSSId(
- CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-
- iBrandItemArray.Sort( sortingRuleSSId );
-
- }
-
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::MakeIconLC
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CWsfWlanInfoSortingBrand::MakeIconLC( const TInt aIconId,
- const TInt aMaskId )
- {
- CGulIcon* icon = CGulIcon::NewLC();
- CFbsBitmap* bitmap( NULL );
- CFbsBitmap* mask( NULL );
-
- // Creates bitmap an icon.
- AknIconUtils::CreateIconL( bitmap, mask, *iBitmapFileName,
- aIconId, aMaskId );
-
- icon->SetBitmap( bitmap );
- icon->SetMask( mask );
- return icon;
- }
-
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingdbchangenotifier.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanInfoSortingDbChangeNotifier
-*
-*/
-
-
-
-// CLASS HEADER
-#include "wsfwlaninfosortingdbchangenotifier.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier*
- CWsfWlanInfoSortingDbChangeNotifier::NewLC( RDbDatabase& aDatabase )
- {
- CWsfWlanInfoSortingDbChangeNotifier* thisPtr =
- new (ELeave) CWsfWlanInfoSortingDbChangeNotifier( aDatabase );
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier* CWsfWlanInfoSortingDbChangeNotifier::NewL(
- RDbDatabase& aDatabase )
- {
- CWsfWlanInfoSortingDbChangeNotifier* thisPtr = NewLC( aDatabase );
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::~CWsfWlanInfoSortingDbChangeNotifier
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier::~CWsfWlanInfoSortingDbChangeNotifier()
- {
- Cancel();
- iDbAwareFilters.Reset();
- iNotifier.Close();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::CWsfWlanInfoSortingDbChangeNotifier
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier::CWsfWlanInfoSortingDbChangeNotifier(
- RDbDatabase& aDatabase ):
- CActive( CActive::EPriorityLow ),
- iDatabase( &aDatabase )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::ConstructL()
- {
- User::LeaveIfError( iNotifier.Open( *iDatabase ) );
- CActiveScheduler::Add( this );
-
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::StartDbObservation
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::StartDbObservation()
- {
- iNotifier.NotifyChange( iStatus );
- SetActive();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::DoCancel()
- {
- iNotifier.Cancel();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::RunL()
- {
- if ( iStatus.Int() >= RDbNotifier::ECommit )
- {
- TInt dbAwareFiltersCount( iDbAwareFilters.Count() );
- if ( dbAwareFiltersCount )
- {
- TInt i( 0 );
- for ( ; i < dbAwareFiltersCount ; i++ )
- {
- (iDbAwareFilters)[i]->ReadFilterDefsL();
- }
- }
- }
- StartDbObservation();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::AppendDbRelatedFilterL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::AppendDbRelatedFilterL(
- MWsfWlanInfoSortingFilterVisitor* aRelatedFilter )
- {
- iDbAwareFilters.AppendL( aRelatedFilter );
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::RemoveDbRelatedFilter
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::RemoveDbRelatedFilter(
- MWsfWlanInfoSortingFilterVisitor* aRelatedFilter )
- {
- TInt index = iDbAwareFilters.Find( aRelatedFilter );
- if ( index != KErrNotFound )
- {
- iDbAwareFilters.Remove( index );
- }
- }
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingdefault.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanInfoSortingDefault
-*
-*/
-
-
-
-// CLASS HEADER
-#include "wsfwlaninfosortingdefault.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-/**
-* Compare result: left-hand item goes first
-*/
-static const TInt KLeftFirst = -1;
-
-/**
-* Compare result: right-hand item goes first
-*/
-static const TInt KRightFirst = 1;
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDefault* CWsfWlanInfoSortingDefault::NewLC()
- {
- CWsfWlanInfoSortingDefault* thisPtr =
- new (ELeave) CWsfWlanInfoSortingDefault();
- CleanupStack::PushL( thisPtr );
- thisPtr->ConstructL();
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDefault* CWsfWlanInfoSortingDefault::NewL()
- {
- CWsfWlanInfoSortingDefault* thisPtr = NewLC();
- CleanupStack::Pop( thisPtr );
- return thisPtr;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::CWsfWlanInfoSortingDefault
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDefault::CWsfWlanInfoSortingDefault()
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::~CWsfWlanInfoSortingDefault
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDefault::~CWsfWlanInfoSortingDefault()
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDefault::ConstructL()
- {
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::Compare
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingDefault::Compare( const TWsfWlanInfo& aLeft,
- const TWsfWlanInfo& aRight )
- {
- TInt ret( 0 );
-
- // connected goes first
- if ( aLeft.Connected() )
- {
- ret = KLeftFirst;
- }
- else if ( aRight.Connected() )
- {
- ret = KRightFirst;
- }
-
- // then customer favourite networks
- else if ( aLeft.BrandId() )
- {
- if ( aRight.BrandId() )
- {
- // smaller brand id first
- ret = aLeft.BrandId() - aRight.BrandId();
- }
- else
- {
- ret = KLeftFirst;
- }
- }
- else if ( aRight.BrandId() )
- {
- ret = KRightFirst;
- }
-
-
- // then known networks
- else if ( aLeft.Known() && !aRight.Known() )
- {
- ret = KLeftFirst;
- }
- else if ( !aLeft.Known() && aRight.Known() )
- {
- ret = KRightFirst;
- }
-
- // finally SSID alphabetic order decides
- else
- {
- if ( ( aLeft.iNetworkName.Length() ) &&
- ( aRight.iNetworkName.Length() ) )
- {
- ret = aLeft.iNetworkName.CompareC( aRight.iNetworkName );
- }
- else if ( aLeft.iNetworkName.Length() )
- {
- ret = aLeft.iNetworkName.CompareC( aRight.iSsid );
- }
- else if ( aRight.iNetworkName.Length() )
- {
- ret = aLeft.iSsid.CompareC( aRight.iNetworkName );
- }
- else
- {
- ret = aLeft.iSsid.CompareC( aRight.iSsid );
- }
- }
-
- return ret;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::SetupOnRuleMatch
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingDefault::SetupOnRuleMatch( TWsfWlanInfo&
- /*aInfoLeft*/ )
- {
- // as a default filter - every rules is a match
- return ETrue;
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::MarkMatchedFilterL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDefault::MarkMatchedFilterL(
- TWsfWlanInfo& /*aFilterEntry*/ )
- {
- // we do not modify the contents in default filter...
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::EditFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDefault::EditFilterDefsL(
- CWsfWlanInfoArray& /*aInfoArray*/)
- {
- // we have hardcoded rules... we don't need editui..
- }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::ReadFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDefault::ReadFilterDefsL()
- {
- // we have static definitions... nothing to do...
- }
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlanssidselectiondlg2.cpp Thu Aug 19 10:59:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* 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: Implementation of CWsfWlanSsidSelectionDlg2
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include <avkon.mbg>
-#include <AknIconUtils.h>
-#include <wsfwlaninfosorting.rsg>
-#include <AknIconArray.h> // CAknIcon
-#include <akntitle.h> // akntitle pane
-#include <aknlists.h> // CAknSingleGraphicStyleListBox
-
-// CLASS HEADER
-#include "wsfwlanssidselectiondlg2.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfosorting.hrh"
-#include "wsflogger.h"
-
-
-/**
-* Format string for listbox items
-*/
-_LIT( KFormatString, "1\t%S" );
-
-/**
-* Number of icons used
-*/
-static const TInt KNumIcons = 2;
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2* CWsfWlanSsidSelectionDlg2::NewL(
- CDesCArrayFlat& aSsidArray,
- CListBoxView::CSelectionIndexArray& aSelectionIndexArray )
- {
- CWsfWlanSsidSelectionDlg2* self = NewLC( aSsidArray,
- aSelectionIndexArray );
- CleanupStack::Pop( self );
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2* CWsfWlanSsidSelectionDlg2::NewLC(
- CDesCArrayFlat& aSsidArray,
- CListBoxView::CSelectionIndexArray& aSelectionIndexArray )
- {
- CWsfWlanSsidSelectionDlg2* self = new (ELeave) CWsfWlanSsidSelectionDlg2(
- aSsidArray, aSelectionIndexArray );
- CleanupStack::PushL( self );
- self->ConstructL();
- return self;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidSelectionDlg2::ConstructL()
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CWsfWlanSsidSelectionDlg2
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2::CWsfWlanSsidSelectionDlg2(
- CDesCArrayFlat& aSsidArray,
- CListBoxView::CSelectionIndexArray& aSelectionIndexArray ):
- CAknListQueryDialog( &aSelectionIndexArray ),
- iSsidArray( &aSsidArray ),
- iSelectedItems( &aSelectionIndexArray )
- {
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::~CWsfWlanSsidSelectionDlg2
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2::~CWsfWlanSsidSelectionDlg2()
- {
- // restore the title....
- if ( iTitle && iPane )
- {
- iPane->SetText( iTitle );
- }
-
- iPane = NULL;
- iTitle = NULL;
- iSsidArray = NULL;
- iSelectedItems = NULL;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::OfferKeyEventL
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CWsfWlanSsidSelectionDlg2::OfferKeyEventL(
- const TKeyEvent& aKeyEvent,
- TEventCode aType )
- {
- if ( aKeyEvent.iCode == EKeyApplicationF )
- {
- return EKeyWasConsumed;
- }
- else
- {
- return CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::PreLayoutDynInitL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidSelectionDlg2::PreLayoutDynInitL()
- {
- LOG_ENTERFN( "CWsfWlanSsidSelectionDlg2::PreLayoutDynInitL" );
-
- CAknListQueryDialog::PreLayoutDynInitL();
-
- CAknListQueryControl *control = static_cast<CAknListQueryControl*>(
- Control( EListQueryControl ) );
- CEikListBox* listBox = control->Listbox();
-
- CDesCArrayFlat *formattedSsids = new (ELeave) CDesCArrayFlat(
- iSsidArray->Count() );
- CleanupStack::PushL( formattedSsids );
- CopyAndFormatArrayContentsL( iSsidArray, formattedSsids );
-
- SetItemTextArray( formattedSsids );
-
- CleanupStack::Pop( formattedSsids );
-
- CAknIconArray* iconArray = CreateQueryIconArrayL();
- CleanupStack::PushL( iconArray );
- SetIconArrayL( iconArray );
- CleanupStack::Pop( iconArray );
-
- for (TInt i = 0; i < iSelectedItems->Count(); i++)
- {
- listBox->View()->SelectItemL( (*iSelectedItems)[i] );
- }
-
- CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
- iPane = (CAknTitlePane*) statusPane->ControlL(
- TUid::Uid( EEikStatusPaneUidTitle ) );
- iTitle = iPane->Text()->AllocL();
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CopyAndFormatArrayContentsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidSelectionDlg2::CopyAndFormatArrayContentsL(
- CDesCArrayFlat* aSource,
- CDesCArrayFlat* aDest )
- {
- TBuf<80> lineBuffer;
- TInt sourceCount( aSource->Count() );
- for ( TInt i( 0 ) ; i < sourceCount ; i++ )
- {
- const TDesC& item = aSource->MdcaPoint( i );
- lineBuffer.Format(KFormatString, &item );
- aDest->AppendL( lineBuffer );
- }
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CreateQueryIconArrayL
-// ----------------------------------------------------------------------------
-//
-CAknIconArray* CWsfWlanSsidSelectionDlg2::CreateQueryIconArrayL()
- {
- CAknIconArray* iconarray = new( ELeave )CAknIconArray( KNumIcons );
- CleanupStack::PushL( iconarray );
-
- const TDesC& iconfilename = AknIconUtils::AvkonIconFileName();
-
- // empty
- iconarray->AppendL( CreateIconLC( iconfilename,
- EMbmAvkonQgn_prop_checkbox_on,
- EMbmAvkonQgn_prop_checkbox_on_mask,
- KAknsIIDQgnPropEmpty ));
- CleanupStack::Pop(); // icon
-
- // copying
- iconarray->AppendL(CreateIconLC( iconfilename,
- EMbmAvkonQgn_prop_checkbox_off,
- EMbmAvkonQgn_prop_checkbox_off_mask,
- KAknsIIDNone ));
- CleanupStack::Pop(); // icon
- CleanupStack::Pop(); // iconarray
-
-
- return iconarray;
- }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CreateIconLC
-// ----------------------------------------------------------------------------
-//
-CGulIcon* CWsfWlanSsidSelectionDlg2::CreateIconLC( const TDesC& aFileName,
- TInt aIcon,
- TInt aMask,
- const TAknsItemID& aID )
- {
- MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-
- CGulIcon* icon = AknsUtils::CreateGulIconL( skinInstance, aID, aFileName,
- aIcon, aMask );
- CleanupStack::PushL( icon );
-
- return icon;
- }
-
-
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansniffer.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,27 @@
+#
+# Copyright (c) 2009-2010 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:
+# WLAN Sniffer project file.
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ wlansnifferapplication
+
+CONFIG += ordered
+
+# This enables compiling also the Symbian component from this level
+BLD_INF_RULES.prj_exports += \
+ "$${LITERAL_HASH}include \"./wlansnifferkeepalive/group/bld.inf\""
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansniffer.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer application main class.
+*/
+
+#ifndef WLANSNIFFER_H
+#define WLANSNIFFER_H
+
+// System includes
+
+#include <QSharedPointer>
+#include <HbApplication>
+
+// User includes
+
+// Forward declarations
+
+class WlanSnifferEngine;
+class HbTranslator;
+class WlanSnifferMainWindow;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSniffer : public HbApplication
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ WlanSniffer(int argc, char* argv[]);
+
+ ~WlanSniffer();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSniffer)
+
+ bool findKeepaliveProcess();
+
+private slots:
+
+ void exitApplication();
+
+private: // data
+
+ // Not owned data
+
+ // Owned data
+ WlanSnifferEngine *mEngine; //!< Sniffer engine
+ QSharedPointer<HbTranslator> mTranslator; //!< Translator for localisation
+ QSharedPointer<WlanSnifferMainWindow> mMainWindow; //!< Main window instance
+
+ // Friend classes
+};
+
+#endif // WLANSNIFFER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferengine.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,154 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer application engine.
+*/
+
+#ifndef WLANSNIFFERENGINE_H
+#define WLANSNIFFERENGINE_H
+
+// System includes
+
+#include <QObject>
+#include <QVariant>
+#include <QString>
+#include <xqsettingskey.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+
+// Forward declarations
+
+class WlanSnifferService;
+class XQSettingsManager;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSnifferEngine : public QObject
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit WlanSnifferEngine(QObject *parent = 0);
+
+ ~WlanSnifferEngine();
+
+ WlanQtUtils *wlanQtUtils() const;
+
+ bool isEmbedded() const;
+
+ void startWlanScanning();
+
+ void stopWlanScanning();
+
+ bool masterWlan() const;
+
+ void setMasterWlan(bool enabled);
+
+ bool forceDisableWlan() const;
+
+ bool offlineMode() const;
+
+signals:
+
+ /*!
+ Signal indicating that WLAN scan results are available.
+ */
+ void wlanScanReady();
+
+ /*!
+ Signal to inform that List View is requested.
+
+ @param [in] title Window title.
+ */
+ void toListView(const QString &title);
+
+ /*!
+ Signal to inform that application exit was requested.
+ */
+ void exitTriggered();
+
+ /*!
+ Signal indicating that the WLAN master status has changed.
+
+ @param [in] enabled Master WLAN status: true if enabled.
+ */
+ void masterWlanStatus(bool enabled);
+
+ /*!
+ Signal indicating that the force disable WLAN status has changed.
+
+ @param [in] disabled Force disable WLAN status: true if disabled.
+ */
+ void forceDisableWlanStatus(bool disabled);
+
+public slots:
+
+ void completeService();
+
+protected:
+
+ void timerEvent(QTimerEvent *event);
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSnifferEngine)
+
+private slots:
+
+ void updateSetting(const XQSettingsKey &key, const QVariant &value);
+
+ void handleWlanScanReady(int status);
+
+private: // data
+
+ // Not owned data
+
+ //! WLAN Sniffer service
+ WlanSnifferService *mService;
+
+ //! Settings manager for platform settings reading, writing & status changes.
+ XQSettingsManager *mSettingsManager;
+
+ // Owned data
+
+ //! Scan interval is 10 seconds
+ static const int scanTimerInterval = 10000;
+
+ //! WLAN scan timer ID
+ int mScanTimerId;
+
+ //! TRUE if scanning has been enabled
+ bool mScanEnabled;
+
+ //! TRUE if embedded
+ bool mEmbedded;
+
+ //! WLAN Qt Utils instance
+ QSharedPointer<WlanQtUtils> mWlanQtUtils;
+
+ // Friend classes
+};
+
+#endif // WLANSNIFFERENGINE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferlistitem.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,74 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer list view list widget item.
+*/
+
+#ifndef WLANSNIFFERLISTITEM_H
+#define WLANSNIFFERLISTITEM_H
+
+// System includes
+
+#include <HbListWidgetItem>
+#include <QString>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSnifferListItem : public HbListWidgetItem
+{
+
+public:
+
+ // Data types
+
+ WlanSnifferListItem();
+
+ ~WlanSnifferListItem();
+
+ void setNetworkName(const QString &text);
+
+ void setLeftIcon(const QString &icon);
+
+ void setSignalIcon(const QString &icon);
+
+ void setSecureIcon(const QString &icon);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSnifferListItem)
+
+private slots:
+
+private: // data
+
+ // Friend classes
+};
+
+#endif // WLANSNIFFERLISTITEM_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferlistview.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,158 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer List View.
+*/
+
+#ifndef WLANSNIFFERLISTVIEW_H
+#define WLANSNIFFERLISTVIEW_H
+
+// System includes
+
+#include <QSharedPointer>
+#include <QScopedPointer>
+
+#include <HbView>
+#include <HbMenu>
+#include <HbMessageBox>
+
+// User includes
+
+// Forward declarations
+
+class HbDocumentLoader;
+class HbListWidget;
+class HbListWidgetItem;
+class HbLabel;
+class HbPushButton;
+class WlanSnifferMainWindow;
+class WlanSnifferListWidget;
+class WlanSnifferEngine;
+class WlanQtUtilsAp;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSnifferListView : public HbView
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ WlanSnifferListView(
+ WlanSnifferEngine *engine,
+ WlanSnifferMainWindow *mainWindow);
+
+ ~WlanSnifferListView();
+
+signals:
+
+ /*!
+ Signal for triggering WLAN Wizard start.
+
+ @param [in] ap WLAN access point.
+ */
+
+ void wizardTriggered(const WlanQtUtilsAp *ap);
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSnifferListView)
+
+ void loadDocml(bool isEmbedded);
+
+ void updateWlanStatusLabel(bool enabled);
+
+ void handleConnect(QVariant data);
+
+private slots:
+
+ void updateListContent();
+
+ void updateWlanEnabled();
+
+ void updateConnectionOpened(int iapId);
+
+ void updateConnectionClosed(int iapId);
+
+ void handleContextMenuClosed();
+
+ void handleListItemActivated(HbListWidgetItem *item);
+
+ void handleListItemLongPressed(
+ HbListWidgetItem *item,
+ const QPointF &coords);
+
+ void handleListItemConnect();
+
+ void handleListItemDisconnect();
+
+ void handleWlanToggled();
+
+ void startWlanWizard();
+
+ void handleWlanEnableDialogClosed(HbAction *action);
+
+private: // data
+
+ // Owned data
+
+ //! Document loader for list view
+ QScopedPointer<HbDocumentLoader> mDocLoader;
+ //! WLAN Sniffer list view custom widget
+ QSharedPointer<WlanSnifferListWidget> mWlanListWidget;
+ //! Context menu reference, if one is open
+ QSharedPointer<HbMenu> mContextMenu;
+ /*!
+ Data identifying the network for which the context menu has been
+ opened: WlanQtUtilsAp class, or int IAP ID.
+ */
+ QVariant mContextMenuData;
+ //! WLAN enabling in airplane mode dialog
+ QSharedPointer<HbMessageBox> mWlanEnableDialog;
+ //! Flag for handling WLAN scan result update ignoring
+ bool mIgnoreWlanScanResults;
+ //! ID of the IAP we are currently connecting
+ int mConnectingIapId;
+
+ // Not owned data
+
+ //! WLAN Sniffer engine
+ WlanSnifferEngine *mEngine;
+ //! WLAN ON/OFF switch action
+ HbAction *mSwitchWlanAction;
+ //! Add WLAN manually action
+ HbAction *mAddWlanAction;
+ //! WLAN Sniffer list view widget
+ HbListWidget *mWlanList;
+ //! WLAN Status label
+ HbLabel *mStatusLabel;
+ //! WLAN ON/OFF button
+ HbPushButton *mWlanButton;
+
+ // Friend classes
+};
+
+#endif // WLANSNIFFERLISTVIEW_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferlistwidget.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer list widget class.
+*/
+
+#ifndef WLANSNIFFERLISTWIDGET_H
+#define WLANSNIFFERLISTWIDGET_H
+
+// System includes
+
+#include <QSharedPointer>
+#include <QList>
+#include <QString>
+
+// User includes
+
+// Forward declarations
+
+class HbListWidget;
+class HbListWidgetItem;
+class WlanSnifferListItem;
+class WlanQtUtilsIap;
+class WlanQtUtilsAp;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSnifferListWidget
+{
+
+public:
+
+ // Data types
+
+ /*!
+ Signal strength category boundaries in dB (absolute value).
+ Smaller value means better signal.
+ */
+ enum
+ {
+ SignalStrengthHigh = 65, //!< High signal strength
+ SignalStrengthMedium = 79 //!< Medium signal strength
+ };
+
+ explicit WlanSnifferListWidget(HbListWidget *listWidget);
+
+ virtual ~WlanSnifferListWidget();
+
+ void updateContent(
+ QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ QList< QSharedPointer<WlanQtUtilsAp> > &aps,
+ int connectedIapId);
+
+ void scrollTo(int row);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSnifferListWidget)
+
+ void sortIaps(
+ QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ int connectedIapId);
+
+ void sortAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &aps);
+
+ static bool iapLessThan(
+ const QSharedPointer<WlanQtUtilsIap> iap1,
+ const QSharedPointer<WlanQtUtilsIap> iap2);
+
+ static bool apLessThan(
+ const QSharedPointer<WlanQtUtilsAp> ap1,
+ const QSharedPointer<WlanQtUtilsAp> ap2);
+
+ WlanSnifferListItem *findFromOldList(QSharedPointer<WlanQtUtilsIap> iap);
+
+ WlanSnifferListItem *findFromOldList(QSharedPointer<WlanQtUtilsAp> ap);
+
+ HbListWidgetItem *listItemCreate(
+ QSharedPointer<WlanQtUtilsIap> iap,
+ int connectedIapId);
+
+ HbListWidgetItem *listItemCreate(QSharedPointer<WlanQtUtilsAp> ap);
+
+ QString signalStrengthIconChoose(int signalStrength);
+
+ QString leftIconChoose(int iapId, int connectedIapId);
+
+ void removeLostItems(
+ const QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ const QList< QSharedPointer<WlanQtUtilsAp> > &aps);
+
+ void addDiscoveredItemsAndUpdateRest(
+ const QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ const QList< QSharedPointer<WlanQtUtilsAp> > &aps,
+ int connectedIapId);
+
+ void traceListContent() const;
+
+private slots:
+
+private: // data
+
+ // Not owned data
+ HbListWidget *mListWidget; //!< WLAN list view widget
+
+ // Owned data
+
+ // Friend classes
+};
+
+#endif // WLANSNIFFERLISTWIDGET_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansniffermainwindow.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer main window.
+*/
+
+#ifndef WLANSNIFFERMAINWINDOW_H
+#define WLANSNIFFERMAINWINDOW_H
+
+// System includes
+
+#include <QObject>
+#include <QString>
+#include <HbMainWindow>
+#include <QSharedPointer>
+
+// User includes
+
+#include "wlansniffer.h"
+
+// Forward declarations
+
+class WlanWizard;
+class WlanSnifferListView;
+class WlanQtUtilsAp;
+class WlanSnifferEngine;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSnifferMainWindow : public HbMainWindow
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit WlanSnifferMainWindow(WlanSnifferEngine *engine);
+
+ ~WlanSnifferMainWindow();
+
+signals:
+
+public slots:
+
+ void toListView(const QString &title);
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSnifferMainWindow)
+
+ void addListView();
+
+private slots:
+
+ void startWlanWizard(const WlanQtUtilsAp *ap);
+
+ void handleWlanWizardComplete(int iapId, bool connected);
+
+ void handleWlanWizardCancelled();
+
+private: // data
+
+ // Owned data
+
+ QSharedPointer<WlanWizard> mWizard; //!< WLAN Wizard object
+ WlanSnifferListView *mListView; //!< List view object
+
+ // Not owned data
+
+ WlanSnifferEngine *mEngine; //!< WLAN Sniffer engine
+
+ // Friend classes
+};
+
+#endif // WLANSNIFFERMAINWINDOW_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/inc/wlansnifferservice.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,89 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer QtHighway Service.
+*/
+
+#ifndef WLANSNIFFERSERVICE_H
+#define WLANSNIFFERSERVICE_H
+
+// System includes
+
+#include <QString>
+#include <xqserviceprovider.h>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WlanSnifferService: public XQServiceProvider
+{
+ Q_OBJECT
+
+public:
+
+ // Data types
+
+ explicit WlanSnifferService(QObject *parent = 0);
+
+ ~WlanSnifferService();
+
+ void complete();
+
+signals:
+
+ /*!
+ Signal to inform WLAN Sniffer that List View is requested.
+
+ @param [in] title Window title.
+ */
+ void toListView(const QString &title);
+
+ /*!
+ Signal to inform WLAN Sniffer that exit was requested.
+ */
+ void exitTriggered();
+
+public slots:
+
+ void listView();
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WlanSnifferService)
+
+ QString title() const;
+
+private slots:
+
+private: // data
+
+ // Not owned data
+
+ // Owned data
+ int mAsyncRequestIndex; //!< Service request ID
+
+ // Friend classes
+};
+
+#endif // WLANSNIFFERSERVICE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/res/hblistviewitem.css Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,26 @@
+
+HbListViewItem[layoutName="wlanlistitem"]{
+ layout:wlanlistitem;
+}
+
+HbListViewItem::icon-1[layoutName="wlanlistitem"]{
+ fixed-height: var(hb-param-graphic-size-primary-small);
+ fixed-width: var(hb-param-graphic-size-primary-small);
+}
+
+HbListViewItem::text-1[layoutName="wlanlistitem"]{
+ text-height: var(hb-param-text-height-primary);
+ font-variant: primary;
+ pref-width:-1;
+ text-align: left;
+}
+
+HbListViewItem::icon-2[layoutName="wlanlistitem"]{
+ fixed-height: var(hb-param-graphic-size-secondary);
+ fixed-width: var(hb-param-graphic-size-secondary);
+}
+
+HbListViewItem::icon-3[layoutName="wlanlistitem"]{
+ fixed-height: var(hb-param-graphic-size-secondary);
+ fixed-width: var(hb-param-graphic-size-secondary);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/res/hblistviewitem.widgetml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,33 @@
+<hbwidget version="0.1" type="listviewitem">
+
+ <!--
+ Required items:
+ text-1
+ icon-1
+ icon-2
+
+ Optional items:
+ icon-3
+
+ Items from left to right:
+ icon-1 <- text-1 -> icon-3 -> icon-2
+ -->
+
+ <layout name="wlanlistitem" type="mesh">
+ <meshitem src="icon-1" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)" />
+ <meshitem src="icon-1" srcEdge="CENTERV" dst="text-1" dstEdge="CENTERV" />
+
+ <meshitem src="text-1" srcEdge="LEFT" dst="icon-1" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-middle-horizontal)" />
+ <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-top)"/>
+ <meshitem src="text-1" srcEdge="RIGHT" dst="icon-3" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" />
+ <meshitem src="text-1" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-bottom)" />
+
+ <meshitem src="icon-3" srcEdge="RIGHT" dst="icon-2" dstEdge="LEFT" spacing="0.5un" />
+ <meshitem src="icon-3" srcEdge="CENTERV" dst="text-1" dstEdge="CENTERV" />
+
+ <meshitem src="icon-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)" />
+ <meshitem src="icon-2" srcEdge="CENTERV" dst="text-1" dstEdge="CENTERV" />
+
+ </layout>
+
+</hbwidget>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/res/listview.css Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,6 @@
+/* WLAN status label in list view. */
+HbLabel#statusLabel::text {
+ /* Status label should take no more than two rows. */
+ text-line-count-min: 1;
+ text-line-count-max: 2;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/res/service_conf.xml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service>
+ <name>wlansniffer</name>
+ <filepath>No path</filepath>
+ <description>WLAN Sniffer</description>
+ <interface>
+ <name>com.nokia.symbian.IWlanSniffer</name>
+ <version>1.0</version>
+ <description>WLAN Sniffer List View</description>
+ </interface>
+</service>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/res/wlansniffer.qrc Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,12 @@
+<!DOCTYPE RCC>
+<RCC version="1.0">
+ <qresource prefix="/docml" >
+ <file alias="wlansnifferlistview.docml">wlansnifferlistview.docml.bin</file>
+ </qresource>
+
+ <qresource prefix="/wlansnifferlayout" >
+ <file>listview.css</file>
+ <file>hblistviewitem.css</file>
+ <file>hblistviewitem.widgetml</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/res/wlansnifferlistview.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <object name="addWlanAction" type="HbAction">
+ <string locid="txt_occ_opt_add_new_wlan" name="text"/>
+ </object>
+ <object name="switchWlanAction" type="HbAction"/>
+ <widget name="occ_list" type="HbView">
+ <widget name="viewMenu" role="HbView:menu" type="HbMenu">
+ <ref object="addWlanAction" role="HbWidget:addAction"/>
+ <ref object="switchWlanAction" role="HbWidget:addAction"/>
+ </widget>
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <widget name="statusContainer" type="HbWidget">
+ <widget name="statusLabel" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="aspectRatioMode" value="IgnoreAspectRatio"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <widget name="wlanButton" type="HbPushButton">
+ <bool name="checkable" value="TRUE"/>
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="expr(var(hb-param-margin-gene-left)+var(hb-param-graphic-size-function)+var(hb-param-margin-gene-right))" type="FIXED" width="expr(var(hb-param-margin-gene-left)+var(hb-param-graphic-size-function)+var(hb-param-margin-gene-right))"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Minimum" verticalStretch="0"/>
+ <layout orientation="Horizontal" spacing="var(hb-param-margin-gene-middle-horizontal)" type="linear">
+ <contentsmargins bottom="var(hb-param-margin-gene-bottom)" left="var(hb-param-margin-gene-left)" right="var(hb-param-margin-gene-right)" top="var(hb-param-margin-gene-top)"/>
+ <linearitem itemname="statusLabel"/>
+ <linearitem itemname="wlanButton"/>
+ </layout>
+ </widget>
+ <widget name="dividerIcon" type="HbLabel">
+ <enums name="alignment" value="AlignVCenter|AlignHCenter"/>
+ <icon iconName="qtg_graf_divider_h_thin" name="icon"/>
+ <enums name="aspectRatioMode" value="IgnoreAspectRatio"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint height="2px" type="FIXED"/>
+ </widget>
+ <widget name="listWidget" type="HbListWidget">
+ <bool name="uniformItemSizes" value="TRUE"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <fontspec name="fontSpec" role="Primary" textheight="var(hb-param-text-height-primary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ </widget>
+ <contentsmargins bottom="var(hb-param-margin-view-bottom)" left="var(hb-param-margin-view-left)" right="var(hb-param-margin-view-right)" top="var(hb-param-margin-view-top)"/>
+ </widget>
+ <section name="standalone">
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="statusContainer"/>
+ <linearitem itemname="dividerIcon"/>
+ <linearitem itemname="listWidget"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="embedded">
+ <widget name="content" role="HbView:widget" type="HbWidget">
+ <widget name="subTitle" type="HbDataForm">
+ <string locid="txt_occ_subhead_wireless_lan" name="heading"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Minimum" verticalStretch="0"/>
+ </widget>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <linearitem itemname="subTitle"/>
+ <linearitem itemname="statusContainer"/>
+ <linearitem itemname="dividerIcon"/>
+ <linearitem itemname="listWidget"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="standalone" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="embedded" sections="#common embedded"/>
+ <uistate name="standalone" sections="#common standalone"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/rom/wlansniffer.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,33 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer Application iby.
+*/
+
+#ifndef WLANSNIFFER_IBY
+#define WLANSNIFFER_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+#define UPGRADABLE_APP_REG_RSC(NAME) data=DATAZ_\PRIVATE\10003A3F\IMPORT\APPS\ ## NAME ## _reg.rsc Private\10003a3f\import\apps\ ## NAME ## _reg.rsc
+
+S60_APP_EXE(wlansniffer)
+S60_APP_RESOURCE(wlansniffer)
+UPGRADABLE_APP_REG_RSC(wlansniffer)
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANSNIFFER_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/rom/wlansniffer_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer Application resource iby.
+*/
+
+#ifndef WLANSNIFFER_RESOURCES_IBY
+#define WLANSNIFFER_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlansniffer.qm QT_TRANSLATIONS_DIR/wlansniffer.qm
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANSNIFFER_RESOURCES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/main.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,48 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer application main function.
+*/
+
+// System includes
+
+#ifdef WLANSNIFFER_SERVICETRACES
+#include <xqservicelog.h>
+#endif
+#include <qsysteminfo.h>
+
+// User includes
+
+#include "wlansniffer.h"
+
+// External function prototypes
+
+// Local constants
+
+int main(int argc, char *argv[])
+{
+ // Check WLAN dynamic configuration & exit if WLAN is not enabled
+ QtMobility::QSystemInfo sysinfo;
+ if (!sysinfo.hasFeatureSupported(QtMobility::QSystemInfo::WlanFeature)) {
+ return -1;
+ }
+
+#ifdef WLANSNIFFER_SERVICETRACES
+ qInstallMsgHandler(XQSERVICEMESSAGEHANDLER);
+#endif
+
+ WlanSniffer app(argc, argv);
+
+ return app.exec();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansniffer.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,159 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer application main class implementation.
+*/
+
+// System includes
+
+#include <QProcess>
+#include <QLocale>
+#include <HbStyleLoader>
+#include <HbTranslator>
+
+// User includes
+
+#include "wlansnifferengine.h"
+#include "wlansniffermainwindow.h"
+#include "wlansniffer.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferTraces.h"
+#endif
+
+/*!
+ \class WlanSniffer
+ \brief WLAN Sniffer main class implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+//! Location of WLAN Sniffer custom layout definitions
+static const QString WlanSnifferLayoutPath(":/wlansnifferlayout/");
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] argc Parameter count.
+ @param [in] argv Parameters.
+ */
+
+WlanSniffer::WlanSniffer(int argc, char* argv[]) :
+ HbApplication(argc, argv),
+ mEngine(new WlanSnifferEngine(this)),
+ mTranslator(),
+ mMainWindow(0)
+{
+ OstTraceFunctionEntry0(WLANSNIFFER_WLANSNIFFER_ENTRY);
+
+ // Start scanning immediately to get the first scan results as soon as
+ // possible, since the scanning takes time.
+ if (mEngine->masterWlan() && !mEngine->forceDisableWlan()) {
+ mEngine->startWlanScanning();
+ }
+
+ // Register custom layout location
+ HbStyleLoader::registerFilePath(WlanSnifferLayoutPath);
+
+ // Install localization
+ mTranslator = QSharedPointer<HbTranslator>(new HbTranslator());
+ mTranslator->loadCommon();
+
+ mMainWindow = QSharedPointer<WlanSnifferMainWindow>(
+ new WlanSnifferMainWindow(mEngine));
+
+ // Connect exit handling
+ bool connectStatus = connect(
+ mEngine,
+ SIGNAL(exitTriggered()),
+ this,
+ SLOT(exitApplication()));
+ Q_ASSERT(connectStatus);
+
+ // Start the Wlan Sniffer Keepalive process, if not started yet
+ // The purpose of the process is to manage Wlan links opened
+ // by this application, and the process should be running always
+ // after the first launch of this application.
+ if (findKeepaliveProcess() == false) {
+ QProcess::startDetached("wlansnifferkeepalive");
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFER_WLANSNIFFER_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+
+WlanSniffer::~WlanSniffer()
+{
+ OstTraceFunctionEntry0(WLANSNIFFER_WLANSNIFFERDESTR_ENTRY);
+
+ HbStyleLoader::unregisterFilePath(WlanSnifferLayoutPath);
+
+ OstTraceFunctionExit0(WLANSNIFFER_WLANSNIFFERDESTR_EXIT);
+}
+
+/*!
+ Function for finding possible running keepalive process.
+
+ @return TRUE if a keepalive process was found running.
+ */
+
+bool WlanSniffer::findKeepaliveProcess()
+{
+ OstTraceFunctionEntry0(WLANSNIFFER_FINDKEEPALIVEPROCESS_ENTRY);
+
+ // Try to search the keepalive process
+ bool found = false;
+ TFileName executableName;
+ executableName.Copy(_L("wlansnifferkeepalive*"));
+ TFindProcess processSearch;
+ TFullName processFullName;
+ while (processSearch.Next(processFullName) == KErrNone) {
+ if (processFullName.Match(executableName) != KErrNotFound) {
+ found = true;
+ break;
+ }
+ }
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANSNIFFER_FINDKEEPALIVEPROCESS_RESULT,
+ "WlanSniffer::findKeepaliveProcess;found=%hhu",
+ found);
+
+ OstTraceFunctionExit0(WLANSNIFFER_FINDKEEPALIVEPROCESS_EXIT);
+ return found;
+}
+
+/*!
+ Slot for handling application exit.
+ */
+
+void WlanSniffer::exitApplication()
+{
+ OstTraceFunctionEntry0(WLANSNIFFER_EXITAPPLICATION_ENTRY);
+
+ exit();
+
+ OstTraceFunctionExit0(WLANSNIFFER_EXITAPPLICATION_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansnifferengine.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,452 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer application engine.
+*/
+
+// System includes
+
+#include <QTimerEvent>
+
+#include <xqserviceutil.h>
+#include <xqsettingsmanager.h>
+#include <wlandevicesettingsinternalcrkeys.h>
+#include <startupdomainpskeys.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlansnifferservice.h"
+#include "wlansnifferengine.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferengineTraces.h"
+#endif
+
+/*!
+ \class WlanSnifferEngine
+ \brief WLAN Sniffer application engine.
+
+ This class implements the WLAN Sniffer application engine.
+ The purpose of the engine implementation is to gather all non-UI
+ implementation base functionality into one place that can be utilized
+ from multiple places (i.e. multiple views and windows).
+*/
+
+
+// External function prototypes
+
+// Local constants
+
+//! Master WLAN ON/OFF setting key
+static const XQSettingsKey masterWlanKey(
+ XQSettingsKey::TargetCentralRepository,
+ KCRUidWlanDeviceSettingsRegistryId.iUid,
+ KWlanOnOff);
+
+//! WLAN forced OFF setting key
+static const XQSettingsKey wlanForceKey(
+ XQSettingsKey::TargetCentralRepository,
+ KCRUidWlanDeviceSettingsRegistryId.iUid,
+ KWlanForceDisable);
+
+//! Offline mode setting key
+static const XQSettingsKey offlineKey(
+ XQSettingsKey::TargetPublishAndSubscribe,
+ KPSUidStartup.iUid,
+ KPSGlobalSystemState);
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] parent Parent object.
+ */
+
+WlanSnifferEngine::WlanSnifferEngine(QObject *parent) :
+ QObject(parent),
+ mService(new WlanSnifferService(this)),
+ mSettingsManager(new XQSettingsManager(this)),
+ mScanTimerId(0),
+ mScanEnabled(false),
+ mEmbedded(false),
+ mWlanQtUtils(new WlanQtUtils())
+{
+ OstTraceFunctionEntry0(WLANSNIFFERENGINE_WLANSNIFFERENGINE_ENTRY);
+
+ // Subscribe for WLAN status change indications
+ bool connectStatus = connect(
+ mSettingsManager,
+ SIGNAL(valueChanged(XQSettingsKey, QVariant)),
+ this,
+ SLOT(updateSetting(XQSettingsKey, QVariant)));
+ Q_ASSERT(connectStatus);
+ mSettingsManager->startMonitoring(masterWlanKey);
+ mSettingsManager->startMonitoring(wlanForceKey);
+
+ // Connect WLAN Sniffer service signals
+ connectStatus = connect(
+ mService,
+ SIGNAL(toListView(QString)),
+ this,
+ SIGNAL(toListView(QString)));
+ Q_ASSERT(connectStatus == true);
+ connectStatus = connect(
+ mService,
+ SIGNAL(returnValueDelivered()),
+ this,
+ SIGNAL(exitTriggered()));
+ Q_ASSERT(connectStatus == true);
+
+ // Store WLAN Sniffer service embedded status
+ mEmbedded = XQServiceUtil::isEmbedded();
+
+ OstTraceFunctionExit0(WLANSNIFFERENGINE_WLANSNIFFERENGINE_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+
+WlanSnifferEngine::~WlanSnifferEngine()
+{
+ OstTraceFunctionEntry0(DUP1_WLANSNIFFERENGINE_WLANSNIFFERENGINE_ENTRY);
+ OstTraceFunctionExit0(DUP1_WLANSNIFFERENGINE_WLANSNIFFERENGINE_EXIT);
+}
+
+/*!
+ Getter function for WLAN Qt Utilities instance owned by
+ this class. The whole WLAN Sniffer application uses the same
+ instance, and thus the reference is needed also in other classes.
+
+ @return WLAN Qt Utilities object.
+ */
+
+WlanQtUtils *WlanSnifferEngine::wlanQtUtils() const
+{
+ OstTraceFunctionEntry0(WLANSNIFFERENGINE_WLANQTUTILS_ENTRY);
+
+ // The reference must never be null.
+ Q_ASSERT(mWlanQtUtils.data());
+
+ OstTraceFunctionExit0(WLANSNIFFERENGINE_WLANQTUTILS_EXIT);
+ return mWlanQtUtils.data();
+}
+
+/*!
+ Getter for WLAN Sniffer service embedded property.
+
+ @return TRUE if WLAN Sniffer is used as an embedded service.
+ */
+
+bool WlanSnifferEngine::isEmbedded() const
+{
+ OstTraceFunctionEntry0(WLANSNIFFERENGINE_ISEMBEDDED_ENTRY);
+ OstTraceFunctionExit0(WLANSNIFFERENGINE_ISEMBEDDED_EXIT);
+ return mEmbedded;
+}
+
+/*!
+ Starts periodic WLAN Scanning.
+ It is allowed to call this function also when the scanning is already ON.
+ If so, the timer is not restarted but the scan period stays untouched.
+ */
+
+void WlanSnifferEngine::startWlanScanning()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERENGINE_STARTWLANSCANNING_ENTRY);
+
+ if (!mScanEnabled) {
+ OstTrace0(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_STARTWLANSCANNING,
+ "WlanSnifferEngine::startWlanScanning Periodic WLAN scanning starting");
+
+ mScanEnabled = true;
+ // Connect response signal
+ bool connectStatus = connect(
+ mWlanQtUtils.data(),
+ SIGNAL(wlanScanReady(int)),
+ this,
+ SLOT(handleWlanScanReady(int)));
+ Q_ASSERT(connectStatus);
+
+ // Start the first scan. Scan timer is started when scan result
+ // signal is received.
+ mWlanQtUtils->scanWlans();
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERENGINE_STARTWLANSCANNING_EXIT);
+}
+
+/*!
+ Stops periodic WLAN Scanning.
+ It is allowed to call this function also when periodic scanning is OFF.
+ */
+
+void WlanSnifferEngine::stopWlanScanning()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERENGINE_STOPWLANSCANNING_ENTRY);
+
+ if (mScanEnabled) {
+ OstTrace0(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_STOPWLANSCANNING,
+ "WlanSnifferEngine::stopWlanScanning Periodic WLAN scanning stopped");
+
+ mScanEnabled = false;
+ // Disconnect response signal
+ disconnect(
+ mWlanQtUtils.data(),
+ SIGNAL(wlanScanReady(int)),
+ this,
+ SLOT(handleWlanScanReady(int)));
+
+ // Stop the scan
+ mWlanQtUtils->stopWlanScan();
+
+ // Stop periodic scan timer
+ if (mScanTimerId != 0) {
+ killTimer(mScanTimerId);
+ mScanTimerId = 0;
+ }
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERENGINE_STOPWLANSCANNING_EXIT);
+}
+
+/*!
+ Function for getting the master WLAN status.
+
+ @return Master WLAN status: true if enabled, otherwise false.
+*/
+
+bool WlanSnifferEngine::masterWlan() const
+{
+ OstTraceFunctionEntry1(WLANSNIFFERENGINE_MASTERWLAN_ENTRY, this);
+
+ // Read WLAN ON/OFF setting from Cenrep
+ int wlanEnabled = mSettingsManager->readItemValue(masterWlanKey).toInt();
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_MASTERWLAN,
+ "WlanSnifferEngine::masterWlan;enabled=%d",
+ wlanEnabled);
+
+ OstTraceFunctionExit1(WLANSNIFFERENGINE_MASTERWLAN_EXIT, this);
+ return wlanEnabled ? true : false;
+}
+
+/*!
+ Function for switching the master WLAN status ON or OFF.
+
+ @param [in] enabled If set to true, WLAN is switched ON, and vice versa.
+*/
+
+void WlanSnifferEngine::setMasterWlan(bool enabled)
+{
+ OstTraceFunctionEntry1(WLANSNIFFERENGINE_SETMASTERWLAN_ENTRY, this);
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_SETMASTERWLAN,
+ "WlanSnifferEngine::setMasterWlan;enabled=%hhu",
+ enabled);
+
+ // Store WLAN ON/OFF setting to Cenrep
+ int wlanEnabled = enabled ? 1 : 0;
+ bool writeStatus = mSettingsManager->writeItemValue(masterWlanKey, wlanEnabled);
+ Q_ASSERT(writeStatus);
+
+ OstTraceFunctionExit1(WLANSNIFFERENGINE_SETMASTERWLAN_EXIT, this);
+}
+
+/*!
+ Function for getting the force disable WLAN status.
+
+ @return forced WLAN status: true if disabled, otherwise false.
+*/
+
+bool WlanSnifferEngine::forceDisableWlan() const
+{
+ OstTraceFunctionEntry1(WLANSNIFFERENGINE_FORCEDISABLEWLAN_ENTRY, this);
+
+ // Read force disable WLAN ON/OFF setting from Cenrep
+ int wlanDisabled = mSettingsManager->readItemValue(wlanForceKey).toInt();
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_FORCEDISABLEWLAN,
+ "WlanSnifferEngine::forceDisableWlan;wlanDisabled=%d",
+ wlanDisabled);
+
+ OstTraceFunctionEntry1(WLANSNIFFERENGINE_FORCEDISABLEWLAN_EXIT, this);
+ return wlanDisabled ? true : false;
+}
+
+/*!
+ Function for getting the offline mode status.
+
+ @return Offline mode status: true if offline, otherwise false.
+*/
+
+bool WlanSnifferEngine::offlineMode() const
+{
+ OstTraceFunctionEntry1(WLANSNIFFERENGINE_OFFLINEMODE_ENTRY, this);
+
+ // Read offline mode setting from Cenrep
+ int systemState = mSettingsManager->readItemValue(offlineKey).toInt();
+
+ bool offline = false;
+ if (ESwStateNormalRfOff == systemState) {
+ offline = true;
+ }
+
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_OFFLINEMODE,
+ "WlanSnifferEngine::offlineMode;offline=%hhu",
+ offline);
+
+ OstTraceFunctionExit1(WLANSNIFFERENGINE_OFFLINEMODE_EXIT, this);
+ return offline;
+}
+
+/*!
+ Function for completing the running WLAN Sniffer service.
+ This function must only be ran if a WLAN Sniffer service is running.
+ */
+
+void WlanSnifferEngine::completeService()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERENGINE_COMPLETESERVICE_ENTRY);
+
+ mService->complete();
+
+ OstTraceFunctionExit0(WLANSNIFFERENGINE_COMPLETESERVICE_EXIT);
+}
+
+/*!
+ This function (from QObject) handles timers. Initiates a new WLAN scan.
+
+ @param [in] event Timer event.
+ */
+
+void WlanSnifferEngine::timerEvent(QTimerEvent *event)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERENGINE_TIMEREVENT_ENTRY);
+
+ int timerId = event->timerId();
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_TIMEREVENT,
+ "WlanSnifferEngine::timerEvent;timerId=%d",
+ timerId);
+
+ // WLAN scan timer is the only used timer
+ Q_ASSERT(timerId == mScanTimerId);
+
+ // Request a new scan. Timer events come periodically.
+ mWlanQtUtils->scanWlans();
+
+ OstTraceFunctionExit0(WLANSNIFFERENGINE_TIMEREVENT_EXIT);
+}
+
+/*!
+ Slot for updating settings.
+
+ @param [in] key The changed key setting.
+ @param [in] value The new value of the setting.
+*/
+
+void WlanSnifferEngine::updateSetting(
+ const XQSettingsKey &key,
+ const QVariant &value)
+{
+ OstTraceFunctionEntry1(WLANSNIFFERENGINE_UPDATESETTING_ENTRY, this);
+
+ // Check that the key is WLAN ON/OFF, or wlanForceDisable since
+ // they are the only supported keys
+ Q_ASSERT(
+ key.target() == masterWlanKey.target() ||
+ key.target() == wlanForceKey.target());
+ Q_ASSERT(
+ key.uid() == masterWlanKey.uid() ||
+ key.uid() == wlanForceKey.uid());
+ Q_ASSERT(
+ key.key() == masterWlanKey.key() ||
+ key.key() == wlanForceKey.key());
+
+ bool ok;
+ bool boolean = value.toInt(&ok) ? true : false;
+ Q_ASSERT(ok);
+
+ // The updated key can be either the KWlanOnOff or the KWlanForceDisable
+ if (key.key() == wlanForceKey.key()) {
+ // Inform about WlanForceDisable status change
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_UPDATESETTING_WLANFORCEDISABLE,
+ "WlanSnifferEngine::emit forceWlanStatus;forcedWlanDisabled=%hhu",
+ boolean);
+ emit forceDisableWlanStatus(boolean);
+ } else {
+ // Inform about WLAN ON/OFF status change
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_UPDATESETTING_WLANONOFF,
+ "WlanSnifferEngine::emit masterWlanStatus;wlanEnabled=%hhu",
+ boolean);
+ emit masterWlanStatus(boolean);
+ }
+
+ OstTraceFunctionExit1(WLANSNIFFERENGINE_UPDATESETTING_EXIT, this);
+}
+
+/*!
+ Slot for handling Wlan scan result.
+
+ @param [in] status Scan status code.
+*/
+
+void WlanSnifferEngine::handleWlanScanReady(int status)
+{
+ OstTraceFunctionEntry1(WLANSNIFFERENGINE_HANDLEWLANSCANREADY_ENTRY, this);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERENGINE_HANDLEWLANSCANREADY,
+ "WlanSnifferEngine::handleWlanScanReady;status=%d",
+ status);
+
+ // Forward result signal only, if there was no error
+ if (status == WlanQtUtils::ScanStatusOk) {
+ emit wlanScanReady();
+ }
+
+ // Start timer for the next scan, if not running already
+ if (mScanTimerId == 0) {
+ mScanTimerId = startTimer(scanTimerInterval);
+ // The timer start must succeed
+ Q_ASSERT(mScanTimerId != 0);
+ }
+
+ OstTraceFunctionExit1(WLANSNIFFERENGINE_HANDLEWLANSCANREADY_EXIT, this);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansnifferlistitem.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,116 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer list view list widget item.
+*/
+
+// System includes
+
+#include <HbIcon>
+
+// User includes
+
+#include "wlansnifferlistitem.h"
+
+/*!
+ \class WlanSnifferListItem
+ \brief This class implements the custom list widget item used in
+ WLAN Sniffer list view.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+*/
+
+WlanSnifferListItem::WlanSnifferListItem() : HbListWidgetItem()
+{
+ // Fill data model with empty icons to work as a skeleton
+ QVariantList decoratorList;
+ decoratorList << HbIcon() << HbIcon() << HbIcon();
+ setData(decoratorList, Qt::DecorationRole);
+
+ // Fill data model with empty text to work as a skeleton
+ QVariantList displayList;
+ displayList << QString();
+ setData(displayList, Qt::DisplayRole);
+}
+
+/*!
+ Destructor.
+*/
+
+WlanSnifferListItem::~WlanSnifferListItem()
+{
+}
+
+/*!
+ List item network name setting function.
+
+ @param [in] name Network name to set.
+ */
+
+void WlanSnifferListItem::setNetworkName(const QString &name)
+{
+ setText(name);
+}
+
+/*!
+ List item left icon setting function.
+
+ @param [in] icon Icon logical name.
+ */
+
+void WlanSnifferListItem::setLeftIcon(const QString &icon)
+{
+ setIcon(HbIcon(icon));
+}
+
+/*!
+ List item signal strength icon setting function.
+
+ @param [in] icon Icon logical name.
+ */
+
+void WlanSnifferListItem::setSignalIcon(const QString &icon)
+{
+ setSecondaryIcon(HbIcon(icon));
+}
+
+/*!
+ List item secure icon setting function.
+
+ @param [in] icon Icon logical name.
+ */
+
+void WlanSnifferListItem::setSecureIcon(const QString &icon)
+{
+ // Fetch the current decorators (icons)
+ QVariant decorators = data(Qt::DecorationRole);
+ Q_ASSERT(decorators.canConvert<QVariantList>());
+ QVariantList decoratorList = decorators.toList();
+ // There must always be three icons
+ Q_ASSERT(decoratorList.count() == 3);
+
+ // Replace old icon
+ decoratorList[2] = HbIcon(icon);
+ setData(decoratorList, Qt::DecorationRole);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansnifferlistview.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,687 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer List View.
+*/
+
+// System includes
+
+#include <QGraphicsWidget>
+#include <QSharedPointer>
+#include <QObjectList>
+
+#include <HbLabel>
+#include <HbPushButton>
+#include <HbMenu>
+#include <HbAction>
+#include <HbListWidget>
+#include <HbListWidgetItem>
+#include <HbDocumentLoader>
+#include <HbInstance>
+#include <HbMessageBox>
+#include <HbParameterLengthLimiter>
+
+#include <xqserviceutil.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsiap.h"
+
+#include "wlansnifferengine.h"
+#include "wlansniffermainwindow.h"
+#include "wlansnifferlistview.h"
+#include "wlansnifferlistitem.h"
+#include "wlansnifferlistwidget.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferlistviewTraces.h"
+#endif
+
+/*!
+ \class WlanSnifferListView
+ \brief WLAN Sniffer application's list view implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+//! WLAN Sniffer list view docml file location
+static const QString WlanSnifferListViewDocml(":/docml/wlansnifferlistview.docml");
+
+//! WLAN Sniffer list view object name
+static const QString WlanSnifferListViewName("occ_list");
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] engine WLAN Sniffer application engine.
+ @param [in] mainWindow WLAN Sniffer main window.
+*/
+
+WlanSnifferListView::WlanSnifferListView(
+ WlanSnifferEngine *engine,
+ WlanSnifferMainWindow *mainWindow) :
+ HbView(),
+ mDocLoader(new HbDocumentLoader(mainWindow)),
+ mWlanListWidget(),
+ mContextMenu(),
+ mContextMenuData(),
+ mWlanEnableDialog(),
+ mIgnoreWlanScanResults(false),
+ mConnectingIapId(WlanQtUtils::IapIdNone),
+ mEngine(engine),
+ mSwitchWlanAction(0),
+ mAddWlanAction(0),
+ mWlanList(0),
+ mStatusLabel(0),
+ mWlanButton(0)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEW_ENTRY);
+
+ // Initialize UI from the docml based on standalone/embedded status
+ loadDocml(mEngine->isEmbedded());
+
+ if (mEngine->isEmbedded()) {
+ // We need to create a custom navigation action and handle exiting
+ // from the application differently in case the application was
+ // launched as embedded via QtHighway
+ HbAction *completeAction = new HbAction(Hb::BackNaviAction, this);
+ setNavigationAction(completeAction);
+ bool connectStatus = connect(
+ completeAction,
+ SIGNAL(triggered(bool)),
+ mEngine,
+ SLOT(completeService()));
+ Q_ASSERT(connectStatus);
+ }
+
+ // Connect WLAN network open & close signals
+ bool connectStatus = connect(
+ mEngine->wlanQtUtils(),
+ SIGNAL(wlanNetworkOpened(int)),
+ this,
+ SLOT(updateConnectionOpened(int)));
+ Q_ASSERT(connectStatus);
+ connectStatus = connect(
+ mEngine->wlanQtUtils(),
+ SIGNAL(wlanNetworkClosed(int, int)),
+ this,
+ SLOT(updateConnectionClosed(int))); // "reason" parameter ignored
+ Q_ASSERT(connectStatus);
+
+ // Connect WLAN ON/OFF setting change signal
+ connectStatus = connect(
+ mEngine,
+ SIGNAL(masterWlanStatus(bool)),
+ this,
+ SLOT(updateWlanEnabled()));
+ Q_ASSERT(connectStatus);
+
+ // Connect Force Disable WLAN setting change signal
+ connectStatus = connect(
+ mEngine,
+ SIGNAL(forceDisableWlanStatus(bool)),
+ this,
+ SLOT(updateWlanEnabled()));
+ Q_ASSERT(connectStatus);
+
+ // Connect signals to catch user interaction with the WLAN network list
+ connectStatus = connect(
+ mWlanList,
+ SIGNAL(activated(HbListWidgetItem *)),
+ this,
+ SLOT(handleListItemActivated(HbListWidgetItem *)));
+ Q_ASSERT(connectStatus);
+ connectStatus = connect(
+ mWlanList,
+ SIGNAL(longPressed(HbListWidgetItem *, QPointF)),
+ this,
+ SLOT(handleListItemLongPressed(HbListWidgetItem *, QPointF)));
+ Q_ASSERT(connectStatus);
+
+ // Connect signals to catch user interaction with WLAN ON/OFF switching
+ connectStatus = connect(
+ mWlanButton,
+ SIGNAL(clicked(bool)),
+ this,
+ SLOT(handleWlanToggled()));
+ Q_ASSERT(connectStatus);
+ connectStatus = connect(
+ mSwitchWlanAction,
+ SIGNAL(triggered(bool)),
+ this,
+ SLOT(handleWlanToggled()));
+ Q_ASSERT(connectStatus);
+
+ // Connect adding WLAN manually
+ connectStatus = connect(
+ mAddWlanAction,
+ SIGNAL(triggered(bool)),
+ this,
+ SLOT(startWlanWizard()));
+ Q_ASSERT(connectStatus);
+
+ // Connect WLAN scan results signal
+ connectStatus = connect(
+ mEngine,
+ SIGNAL(wlanScanReady()),
+ this,
+ SLOT(updateListContent()));
+ Q_ASSERT(connectStatus);
+
+ // Set the initial value of WLAN state
+ updateWlanEnabled();
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEW_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+
+WlanSnifferListView::~WlanSnifferListView()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEWDESTR_ENTRY);
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEWDESTR_EXIT);
+}
+
+/*!
+ Loading of WLAN Sniffer List View docml.
+
+ @param [in] isEmbedded TRUE if WLAN Sniffer is launched as embedded.
+*/
+
+void WlanSnifferListView::loadDocml(bool isEmbedded)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_LOADDOCML_ENTRY);
+
+ // Pass the view to the document loader. Document loader uses this view
+ // when docml is parsed, instead of creating a new view.
+ setObjectName(WlanSnifferListViewName);
+ QObjectList objectList;
+ objectList.append(this);
+ mDocLoader->setObjectTree(objectList);
+
+ // First load the common section
+ bool ok = false;
+ mDocLoader->load(WlanSnifferListViewDocml, &ok);
+ Q_ASSERT(ok);
+
+ // Then load the mode specific section
+ if (isEmbedded) {
+ mDocLoader->load(WlanSnifferListViewDocml, "embedded", &ok);
+ } else {
+ mDocLoader->load(WlanSnifferListViewDocml, "standalone", &ok);
+ }
+ Q_ASSERT(ok);
+
+ // Load the view by name from the xml file
+ QGraphicsWidget *widget = mDocLoader->findWidget(WlanSnifferListViewName);
+ Q_ASSERT(widget);
+
+ // Set view menu
+ HbMenu *viewMenu = qobject_cast<HbMenu *>(mDocLoader->findWidget("viewMenu"));
+ Q_ASSERT(viewMenu);
+ setMenu(viewMenu);
+
+ // WLAN Sniffer list widget takes responsibility of the list widget behaviour
+ mWlanList = qobject_cast<HbListWidget *>(mDocLoader->findWidget("listWidget"));
+ Q_ASSERT(mWlanList);
+ mWlanListWidget = QSharedPointer<WlanSnifferListWidget>(new WlanSnifferListWidget(mWlanList));
+
+ // Retrieve pointers to widgets we need to access from the code
+ mSwitchWlanAction = qobject_cast<HbAction *>(mDocLoader->findObject("switchWlanAction"));
+ Q_ASSERT(mSwitchWlanAction);
+
+ mAddWlanAction = qobject_cast<HbAction *>(mDocLoader->findObject("addWlanAction"));
+ Q_ASSERT(mAddWlanAction);
+
+ mWlanButton = qobject_cast<HbPushButton *>(mDocLoader->findWidget("wlanButton"));
+ Q_ASSERT(mWlanButton);
+
+ mStatusLabel = qobject_cast<HbLabel *>(mDocLoader->findWidget("statusLabel"));
+ Q_ASSERT(mStatusLabel);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_LOADDOCML_EXIT);
+}
+
+/*!
+ Updates WLAN status label based on current WLAN status.
+
+ @param [in] enabled True if WLAN is enabled.
+*/
+
+void WlanSnifferListView::updateWlanStatusLabel(bool enabled)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_UPDATEWLANSTATUSLABEL_ENTRY);
+
+ QString status;
+ if (!enabled) {
+ // WLAN is OFF
+ status = hbTrId("txt_occ_grid_wlan_is_switched_off");
+ } else {
+ int iapId = mEngine->wlanQtUtils()->activeIap();
+
+ switch (mEngine->wlanQtUtils()->connectionStatus()) {
+ case WlanQtUtils::ConnStatusConnecting:
+ // WLAN is connecting
+ Q_ASSERT(iapId != WlanQtUtils::IapIdNone);
+ status = HbParameterLengthLimiter(
+ "txt_occ_grid_connecting_to_1").arg(
+ mEngine->wlanQtUtils()->iapName(iapId));
+ break;
+
+ case WlanQtUtils::ConnStatusConnected:
+ // WLAN is connected
+ Q_ASSERT(iapId != WlanQtUtils::IapIdNone);
+ status = HbParameterLengthLimiter(
+ "txt_occ_grid_connected_to_1").arg(
+ mEngine->wlanQtUtils()->iapName(iapId));
+ break;
+
+ default:
+ // WLAN is disconnected
+ status = hbTrId("txt_occ_grid_not_connected");
+ break;
+ }
+ }
+ mStatusLabel->setPlainText(status);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_UPDATEWLANSTATUSLABEL_EXIT);
+}
+
+/*!
+ Handles a "Connect" action for the selected IAP or AP item.
+
+ @param data IAP ID (int), or AP class (WlanQtUtilsAp) to connect.
+*/
+
+void WlanSnifferListView::handleConnect(QVariant data)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLECONNECT_ENTRY);
+
+ // Check whether we need to disconnect a previous connection first
+ int activeWlanId = mEngine->wlanQtUtils()->activeIap();
+
+ // Get IAP ID if IAP is available
+ int iapId = WlanQtUtils::IapIdNone;
+ if (data.canConvert<int>()) {
+ iapId = data.toInt();
+ }
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTVIEW_HANDLECONNECT,
+ "WlanSnifferListView::handleConnect;activeWlanId=%d;iapId=%d",
+ activeWlanId,
+ iapId);
+
+ // Skip connecting if the IAP is already connected
+ if (activeWlanId != WlanQtUtils::IapIdNone && iapId == activeWlanId) {
+ return;
+ }
+
+ if (activeWlanId != WlanQtUtils::IapIdNone) {
+ mEngine->wlanQtUtils()->disconnectIap(activeWlanId);
+
+ // Update list widget so that the IAP is no longer connected
+ updateListContent();
+ }
+
+ if (iapId != WlanQtUtils::IapIdNone) {
+ // Item was an IAP, connect it.
+ mConnectingIapId = iapId;
+ mStatusLabel->setPlainText(
+ HbParameterLengthLimiter(
+ "txt_occ_grid_connecting_to_1").arg(
+ mEngine->wlanQtUtils()->iapName(iapId)));
+ mEngine->wlanQtUtils()->connectIap(iapId);
+ } else {
+ // Item is a WLAN AP. Summon the Wlan Wizard to handle creation
+ // of the IAP and connecting it.
+ Q_ASSERT(data.canConvert<WlanQtUtilsAp>());
+ WlanQtUtilsAp ap = data.value<WlanQtUtilsAp>();
+ emit wizardTriggered(&ap);
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLECONNECT_EXIT);
+}
+
+/*!
+ Updates WLAN list widget with new WLAN scan results.
+*/
+
+void WlanSnifferListView::updateListContent()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_UPDATELISTCONTENT_ENTRY);
+
+ if (!mIgnoreWlanScanResults) {
+ // Get the latest scan results
+ QList< QSharedPointer<WlanQtUtilsIap> > iaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > aps;
+ mEngine->wlanQtUtils()->availableWlans(iaps, aps);
+
+ // Check for connected IAP
+ int iapId = WlanQtUtils::IapIdNone;
+ if (mEngine->wlanQtUtils()->connectionStatus() ==
+ WlanQtUtils::ConnStatusConnected) {
+ iapId = mEngine->wlanQtUtils()->activeIap();
+ }
+
+ // Let the list widget class update the list content
+ mWlanListWidget->updateContent(iaps, aps, iapId);
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_UPDATELISTCONTENT_EXIT);
+}
+
+/*!
+ WLAN state settings change handler. This slot handles both the
+ WLAN ON/OFF setting and WLAN forced OFF setting.
+ Updates all WLAN ON/OFF related (UI) elements.
+*/
+
+void WlanSnifferListView::updateWlanEnabled()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_UPDATEWLANENABLED_ENTRY);
+
+ // Check the updated setting status
+ bool forcedOff = mEngine->forceDisableWlan();
+ bool enabled = mEngine->masterWlan() && !forcedOff;
+
+ // Update the WLAN status label
+ updateWlanStatusLabel(enabled);
+
+ // Set the WLAN ON/OFF button state
+ mWlanButton->setChecked(enabled);
+
+ // Select the right WLAN button icon and menu action text
+ if (enabled) {
+ mWlanButton->setIcon(HbIcon("qtg_mono_wlan"));
+ mSwitchWlanAction->setText(hbTrId("txt_occ_opt_switch_wlan_off"));
+ } else {
+ mWlanButton->setIcon(HbIcon("qtg_mono_wlan_offline"));
+ mSwitchWlanAction->setText(hbTrId("txt_occ_opt_switch_wlan_on"));
+ }
+
+ // Set triggable WLAN UI elements disabled if WLAN is forced OFF
+ mWlanButton->setEnabled(!forcedOff);
+ mSwitchWlanAction->setEnabled(!forcedOff);
+
+ // Disable manual WLAN IAP creation when WLAN is switched OFF
+ mAddWlanAction->setEnabled(enabled);
+
+ // Switch WLAN scanning ON/OFF
+ if (enabled) {
+ mEngine->startWlanScanning();
+ } else {
+ mEngine->stopWlanScanning();
+ // Clear the network list when going to offline
+ mWlanList->clear();
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_UPDATEWLANENABLED_EXIT);
+}
+
+/*!
+ Connection opened slot. Updates connection status.
+
+ @param [in] iapId IAP ID of the connected WLAN IAP.
+*/
+
+void WlanSnifferListView::updateConnectionOpened(int iapId)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_UPDATECONNECTIONOPENED_ENTRY);
+
+ mConnectingIapId = WlanQtUtils::IapIdNone;
+ mStatusLabel->setPlainText(
+ HbParameterLengthLimiter(
+ "txt_occ_grid_connected_to_1").arg(
+ mEngine->wlanQtUtils()->iapName(iapId)));
+
+ // Update the list widget content
+ updateListContent();
+
+ // Scroll to the top of the list
+ mWlanListWidget->scrollTo(0);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_UPDATECONNECTIONOPENED_EXIT);
+}
+
+/*!
+ Connection closing handler. Updates connection status.
+
+ @param [in] iapId Disconnected IAP ID.
+*/
+
+void WlanSnifferListView::updateConnectionClosed(int iapId)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_UPDATECONNECTIONCLOSED_ENTRY);
+
+ if (mEngine->masterWlan() && !mEngine->forceDisableWlan()) {
+ // Check whether we can update the status text to "Not connected"
+ if (mConnectingIapId == WlanQtUtils::IapIdNone ||
+ mConnectingIapId == iapId) {
+ mStatusLabel->setPlainText(hbTrId("txt_occ_grid_not_connected"));
+ }
+ // else: we are already connecting to another network so don't touch
+ // the status label
+
+ // Update the list widget content
+ updateListContent();
+ }
+
+ if (mConnectingIapId == iapId) {
+ // Not connecting to this network anymore
+ mConnectingIapId = WlanQtUtils::IapIdNone;
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_UPDATECONNECTIONCLOSED_EXIT);
+}
+
+/*!
+ Context menu closing handler.
+*/
+
+void WlanSnifferListView::handleContextMenuClosed()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLECONTEXTMENUCLOSED_ENTRY);
+
+ // Let list updating start again
+ mIgnoreWlanScanResults = false;
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLECONTEXTMENUCLOSED_EXIT);
+}
+
+/*!
+ List item activation handler. Connects the WLAN network, and if there
+ is no IAP yet for it, starts WLAN Wizard.
+
+ @param [in] item Selected WLAN network list item.
+*/
+
+void WlanSnifferListView::handleListItemActivated(HbListWidgetItem *item)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLELISTITEMACTIVATED_ENTRY);
+
+ handleConnect(item->data());
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLELISTITEMACTIVATED_EXIT);
+}
+
+/*!
+ WLAN List item long press handler.
+ The long press of a list item (i.e. WLAN IAP) opens a context menu that
+ is populated depending on the state of the WLAN network in case.
+
+ @param [in] item Selected list item.
+ @param [in] coords Coordinates of the long press.
+*/
+
+void WlanSnifferListView::handleListItemLongPressed(
+ HbListWidgetItem *item,
+ const QPointF &coords)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLELISTITEMLONGPRESSED_ENTRY);
+
+ mContextMenu = QSharedPointer<HbMenu>(new HbMenu());
+
+ int activeIap = mEngine->wlanQtUtils()->activeIap();
+
+ // Remember the item that was long pressed
+ mContextMenuData = item->data();
+ if (mContextMenuData.canConvert<int>()
+ && mContextMenuData.toInt() == activeIap) {
+ // Connected IAP, add "Disconnect" action
+ mContextMenu->addAction(
+ hbTrId("txt_common_menu_disconnect"),
+ this,
+ SLOT(handleListItemDisconnect()));
+ } else {
+ // Not connected IAP or AP, add "Connect" action
+ mContextMenu->addAction(
+ hbTrId("txt_common_menu_connect"),
+ this,
+ SLOT(handleListItemConnect()));
+ }
+
+ // Show the menu and connect closure signal (to re-enable list refreshing)
+ bool connectStatus = connect(
+ mContextMenu.data(),
+ SIGNAL(aboutToClose()),
+ this,
+ SLOT(handleContextMenuClosed()));
+ Q_ASSERT(connectStatus);
+ mContextMenu->setTimeout(HbPopup::ContextMenuTimeout);
+ mContextMenu->setPreferredPos(coords);
+ mContextMenu->show();
+
+ // Skip WLAN scan result updates during context menu handling
+ mIgnoreWlanScanResults = true;
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLELISTITEMLONGPRESSED_EXIT);
+}
+
+/*!
+ Handles the "Connect" action selected from the context menu for a list item.
+*/
+
+void WlanSnifferListView::handleListItemConnect()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLELISTITEMCONNECT_ENTRY);
+
+ handleConnect(mContextMenuData);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLELISTITEMCONNECT_EXIT);
+}
+
+/*!
+ Handles the "Disconnect" action selected from the context menu for a list item.
+*/
+
+void WlanSnifferListView::handleListItemDisconnect()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLELISTITEMDISCONNECT_ENTRY);
+
+ // "Disconnect" was only added, if the item was an IAP and data was
+ // the IAP ID.
+ Q_ASSERT(mContextMenuData.canConvert<int>());
+ mEngine->wlanQtUtils()->disconnectIap(mContextMenuData.toInt());
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLELISTITEMDISCONNECT_EXIT);
+}
+
+/*!
+ Function for handling WLAN ON/OFF switch initiation.
+*/
+
+void WlanSnifferListView::handleWlanToggled()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLEWLANTOGGLED_ENTRY);
+
+ // Toggle the new WLAN ON/OFF value
+ bool wlanOn = mEngine->masterWlan();
+ OstTraceExt1(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTVIEW_HANDLEWLANTOGGLED,
+ "WlanSnifferListView::handleWlanToggled;wlan=%hhu",
+ wlanOn);
+
+ // We have to check whether the offline mode is ON. If it is, then the
+ // user needs to be queried whether WLAN will be used in offline mode.
+ if (!wlanOn && mEngine->offlineMode()) {
+ // Show the dialog and wait for user input.
+ mWlanEnableDialog = QSharedPointer<HbMessageBox>(
+ new HbMessageBox(HbMessageBox::MessageTypeQuestion));
+ mWlanEnableDialog->setTimeout(HbPopup::StandardTimeout);
+ mWlanEnableDialog->setText(hbTrId("txt_occ_info_activate_wlan_in_airplane_mode"));
+ // Open the dialog and connect the result to the handleWlanEnableDialogClosed slot
+ mWlanEnableDialog->open(this, SLOT(handleWlanEnableDialogClosed(HbAction*)));
+ } else {
+ // Stop WLAN scanning immediately when switching WLAN OFF.
+ // WLAN might have sent scan results just before disabling WLAN.
+ if (wlanOn) {
+ mEngine->stopWlanScanning();
+ }
+ mEngine->setMasterWlan(!wlanOn);
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLEWLANTOGGLED_EXIT);
+}
+
+/*!
+ Function for handling WLAN Wizard starting when adding WLAN manually.
+*/
+
+void WlanSnifferListView::startWlanWizard()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_STARTWLANWIZARD_ENTRY);
+
+ // TODO: Stop connections & do other cleanup before wizard can start?
+
+ emit wizardTriggered(NULL);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_STARTWLANWIZARD_EXIT);
+}
+
+/*!
+ Function to handle the input received when the wlan enabling
+ query is closed.
+
+ @param [in] action The user action received from the dialog.
+*/
+
+void WlanSnifferListView::handleWlanEnableDialogClosed(HbAction *action)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTVIEW_HANDLEWLANENABLEDIALOGCLOSED_ENTRY);
+
+ // The dialog must exist
+ Q_ASSERT(mWlanEnableDialog);
+
+ // If the user selected yes, then the wlan value is toggled,
+ // otherwise nothing needs to be done.
+ // TODO: Update actions().at(0) when a better solution is provided by orbit
+ if (action == mWlanEnableDialog->actions().at(0)) {
+ mEngine->setMasterWlan(true);
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTVIEW_HANDLEWLANENABLEDIALOGCLOSED_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansnifferlistwidget.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,642 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer list widget class.
+*/
+
+// System includes
+
+#include <QSharedPointer>
+#include <HbListWidget>
+#include <HbListWidgetItem>
+#include <HbAbstractViewItem>
+#include <HbStringUtil>
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "wlanqtutilsiap.h"
+
+#include "wlansniffer.h"
+#include "wlansnifferlistitem.h"
+#include "wlansnifferlistwidget.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferlistwidgetTraces.h"
+#endif
+
+/*!
+ \class WlanSnifferListWidget
+ \brief WLAN Sniffer Custom List Widget implementation.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+/*!
+ String comparator for list view. Used for locale-aware SSID comparison
+ in list view.
+
+ @param [in] string1 String #1 to compare.
+ @param [in] string2 String #2 to compare.
+
+ @return Zero (0), if strings are considered to be same,
+ Positive (>0) if string1 is considered to be "greater than" string2.
+ Negative (<0) if string1 is considered to be "less than" string2.
+*/
+
+static int WlanSsidStringComparator(
+ const QString &string1,
+ const QString &string2)
+{
+ return HbStringUtil::compareC(string1, string2);
+}
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] listWidget List Widget created to customize.
+*/
+
+WlanSnifferListWidget::WlanSnifferListWidget(HbListWidget *listWidget) :
+ mListWidget(listWidget)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_WLANSNIFFERLISTWIDGET_ENTRY);
+
+ // Set custom WLAN list item layout
+ mListWidget->setLayoutName("wlanlistitem");
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_WLANSNIFFERLISTWIDGET_EXIT);
+}
+
+/*!
+ Destructor.
+*/
+
+WlanSnifferListWidget::~WlanSnifferListWidget()
+{
+ OstTraceFunctionEntry0(DUP1_WLANSNIFFERLISTWIDGET_WLANSNIFFERLISTWIDGET_ENTRY);
+ OstTraceFunctionExit0(DUP1_WLANSNIFFERLISTWIDGET_WLANSNIFFERLISTWIDGET_EXIT);
+}
+
+/*!
+ Updates the list widget content with the given IAPs and APs.
+
+ @param [in] iaps New WLAN IAP list.
+ @param [in] aps New WLAN AP list.
+ @param [in] connectedIapId IAP ID of the connected WLAN or
+ IapIdNone if not connected.
+ */
+
+void WlanSnifferListWidget::updateContent(
+ QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ QList< QSharedPointer<WlanQtUtilsAp> > &aps,
+ int connectedIapId)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_UPDATESCANSTATUS_ENTRY);
+
+ traceListContent();
+
+ // Sort the scan result lists
+ sortIaps(iaps, connectedIapId);
+ sortAps(aps);
+
+ // Remove items, which are not present in new IAP or AP lists
+ removeLostItems(iaps, aps);
+
+ // Add items, which are only found in the new IAP and AP lists.
+ // Also update the icons of existing items (connection mode and
+ // signal strength may have changed)
+ addDiscoveredItemsAndUpdateRest(iaps, aps, connectedIapId);
+
+ traceListContent();
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_UPDATESCANSTATUS_EXIT);
+}
+
+/*!
+ Scroll the list widget to given row.
+
+ @param [in] row Row to scroll to. Indexing starts from zero.
+ */
+
+void WlanSnifferListWidget::scrollTo(int row)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_SCROLLTO_ENTRY);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTWIDGET_SCROLLTO,
+ "WlanSnifferListWidget::scrollTo;row=%d",
+ row);
+
+ // Check that the row exists
+ if (row < mListWidget->count()) {
+ // Do the scrolling
+ QModelIndex index = mListWidget->model()->index(row, 0);
+ mListWidget->scrollTo(index);
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_SCROLLTO_EXIT);
+}
+
+/*!
+ IAP list sorting. Sorts IAPs into alphabetical order taking localization
+ into account.
+
+ @param [in,out] iaps WLAN IAP list.
+ @param [in] connectedIapId IAP ID of the connected WLAN or
+ IapIdNone if not connected.
+*/
+
+void WlanSnifferListWidget::sortIaps(
+ QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ int connectedIapId)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_SORTIAPS_ENTRY);
+
+ // Order the list by IAP name
+ qSort(
+ iaps.begin(),
+ iaps.end(),
+ WlanSnifferListWidget::iapLessThan);
+
+ // Find the possible connected IAP
+ int connectedIndex = 0;
+ for (int i = 0; i < iaps.size(); i++) {
+ if (iaps[i]->value(WlanQtUtilsIap::ConfIdIapId).toInt() == connectedIapId) {
+ connectedIndex = i;
+ break;
+ }
+ }
+
+ // Move the possible connected IAP to the beginning
+ if (connectedIndex) {
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTWIDGET_SORTIAPS_MOVE_CONNECTED,
+ "WlanSnifferListWidget::sortIaps Moving connected IAP to top;connectedIapId=%d;connectedIndex=%d",
+ connectedIapId,
+ connectedIndex);
+
+ iaps.move(connectedIndex, 0);
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_SORTIAPS_EXIT);
+}
+
+/*!
+ AP list sorting. Sorts APs into alphabetical order taking localization
+ into account.
+
+ @param [in,out] aps WLAN AP list.
+*/
+
+void WlanSnifferListWidget::sortAps(
+ QList< QSharedPointer<WlanQtUtilsAp> > &aps)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_SORTAPS_ENTRY);
+
+ // Order the list by AP SSID
+ qSort(
+ aps.begin(),
+ aps.end(),
+ WlanSnifferListWidget::apLessThan);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_SORTAPS_EXIT);
+}
+
+/*!
+ Compares two WLAN IAPs. Comparison is done with the IAP name.
+
+ @param[in] iap1 IAP to compare with.
+ @param[in] iap2 IAP to compare.
+
+ @return Returns true if the first iap is "less than" the second one.
+ */
+
+bool WlanSnifferListWidget::iapLessThan(
+ const QSharedPointer<WlanQtUtilsIap> iap1,
+ const QSharedPointer<WlanQtUtilsIap> iap2)
+{
+ // Primary comparison is based on the name
+ int result = HbStringUtil::compareC(
+ iap1->value(WlanQtUtilsIap::ConfIdName).toString(),
+ iap2->value(WlanQtUtilsIap::ConfIdName).toString());
+
+ return (result < 0) ? true : false;
+}
+
+/*!
+ Compares two WLAN APs. Comparison is done with the AP SSID.
+
+ @param[in] ap1 AP to compare with.
+ @param[in] ap2 AP to compare.
+
+ @return Returns true if the first ap is "less than" the second one.
+ */
+
+bool WlanSnifferListWidget::apLessThan(
+ const QSharedPointer<WlanQtUtilsAp> ap1,
+ const QSharedPointer<WlanQtUtilsAp> ap2)
+{
+ // Use AP comparison function with localized SSID comparison
+ int result = WlanQtUtilsAp::compare(
+ ap1.data(),
+ ap2.data(),
+ WlanSsidStringComparator);
+
+ return (result < 0) ? true : false;
+}
+
+/*!
+ Function for finding the given IAP from the old Wlan list.
+
+ @param [in] iap IAP to find.
+
+ @return Found WLAN List Widget item, 0 if not found.
+*/
+
+WlanSnifferListItem *WlanSnifferListWidget::findFromOldList(
+ QSharedPointer<WlanQtUtilsIap> iap)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_FINDFROMOLDLIST_IAP_ENTRY);
+
+ WlanSnifferListItem *result = NULL;
+ QVariant iapData = iap->value(WlanQtUtilsIap::ConfIdIapId);
+ for (int row = 0; row < mListWidget->count(); row++) {
+ HbListWidgetItem *item = mListWidget->item(row);
+ if (item->data() == iapData) {
+ result = static_cast<WlanSnifferListItem *>(item);
+ break;
+ }
+ }
+
+ OstTraceExt2(
+ TRACE_DUMP,
+ WLANSNIFFERLISTWIDGET_FINDFROMOLDLIST_IAP,
+ "WlanSnifferListWidget::findFromOldList;iapId=%d;found=%hhu",
+ iapData.toInt(),
+ (result != NULL) ? true : false);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_FINDFROMOLDLIST_IAP_EXIT);
+ return result;
+}
+
+/*!
+ Function for finding the given AP from the old Wlan list.
+
+ @param [in] ap AP to find.
+
+ @return Found WLAN List Widget item, 0 if not found.
+*/
+
+WlanSnifferListItem *WlanSnifferListWidget::findFromOldList(
+ QSharedPointer<WlanQtUtilsAp> ap)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_FINDFROMOLDLIST_AP_ENTRY);
+
+ WlanSnifferListItem *result = NULL;
+ for (int row = 0; row < mListWidget->count(); row++) {
+ HbListWidgetItem *item = mListWidget->item(row);
+ if (item->data().canConvert<WlanQtUtilsAp>()) {
+ WlanQtUtilsAp oldAp = item->data().value<WlanQtUtilsAp>();
+ if (WlanQtUtilsAp::compare(ap.data(), &oldAp) == 0) {
+ result = static_cast<WlanSnifferListItem *>(item);
+ break;
+ }
+ }
+ }
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString tmp(ap.data()->value(WlanQtUtilsAp::ConfIdSsid).toString());
+ TPtrC16 ssid(tmp.utf16(), tmp.length());
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTWIDGET_FINDFROMOLDLIST_AP,
+ "WlanSnifferListWidget::findFromOldList;found=%hhu;ssid=%S",
+ (result != NULL) ? true : false,
+ ssid);
+#endif
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_FINDFROMOLDLIST_AP_EXIT);
+ return result;
+}
+
+/*!
+ Function for creating a new list item from the given IAP.
+
+ @param [in] iap WLAN IAP to create.
+ @param [in] connectedIapId IAP ID of the connected WLAN or
+ IapIdNone if not connected.
+
+ @return New WLAN List Widget item.
+*/
+
+HbListWidgetItem *WlanSnifferListWidget::listItemCreate(
+ QSharedPointer<WlanQtUtilsIap> iap,
+ int connectedIapId)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_LISTITEMCREATE_IAP_ENTRY);
+
+ WlanSnifferListItem *item = new WlanSnifferListItem();
+ item->setNetworkName(iap->value(WlanQtUtilsIap::ConfIdName).toString());
+ // Note: WPS icon is needed only in IAP setup, no longer here
+ if (iap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt() !=
+ CMManagerShim::WlanSecModeOpen) {
+ item->setSecureIcon("qtg_small_lock");
+ }
+
+ item->setLeftIcon(
+ leftIconChoose(
+ iap->value(WlanQtUtilsIap::ConfIdIapId).toInt(),
+ connectedIapId));
+ item->setSignalIcon(
+ signalStrengthIconChoose(
+ iap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt()));
+
+ item->setData(iap->value(WlanQtUtilsIap::ConfIdIapId));
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_LISTITEMCREATE_IAP_EXIT);
+ return item;
+}
+
+/*!
+ Function for creating a new list item from the given AP.
+
+ @param [in] ap WLAN AP to create.
+
+ @return New WLAN List Widget item.
+*/
+
+HbListWidgetItem *WlanSnifferListWidget::listItemCreate(
+ QSharedPointer<WlanQtUtilsAp> ap)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_LISTITEMCREATE_AP_ENTRY);
+
+ WlanSnifferListItem *item = new WlanSnifferListItem();
+ item->setNetworkName(ap->value(WlanQtUtilsAp::ConfIdSsid).toString());
+ if (ap->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool()) {
+ // WPS is supported, use a dedicated security icon
+ item->setSecureIcon("qtg_small_wifi");
+ } else if (ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt()
+ != CMManagerShim::WlanSecModeOpen) {
+ // Other secure networks
+ item->setSecureIcon("qtg_small_lock");
+ }
+ item->setSignalIcon(
+ signalStrengthIconChoose(
+ ap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt()));
+
+ QVariant data;
+ data.setValue(*ap);
+ item->setData(data);
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_LISTITEMCREATE_AP_EXIT);
+ return item;
+}
+
+/*!
+ Function for selecting the correct signal strength icon.
+
+ @param [in] signalStrength Signal strength.
+
+ @return Signal strength icon logical name.
+*/
+
+QString WlanSnifferListWidget::signalStrengthIconChoose(int signalStrength)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_SIGNALSTRENGTHICONCHOOSE_ENTRY);
+
+ QString iconName;
+ if (signalStrength <= SignalStrengthHigh) {
+ iconName = "qtg_small_signal_good";
+ } else if (signalStrength <= SignalStrengthMedium) {
+ iconName = "qtg_small_signal_medium";
+ } else {
+ iconName = "qtg_small_signal_low";
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_SIGNALSTRENGTHICONCHOOSE_EXIT);
+ return iconName;
+}
+
+/*!
+ Function for selecting the correct "left" icon, which is different for
+ connected and not connected IAPs.
+
+ @param [in] iapId IAP ID of the WLAN IAP.
+ @param [in] connectedIapId IAP ID of the connected WLAN or
+ IapIdNone if not connected.
+
+ @return Icon logical name of the "left" icon.
+*/
+
+QString WlanSnifferListWidget::leftIconChoose(
+ int iapId,
+ int connectedIapId)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_LEFTICONCHOOSE_ENTRY);
+
+ QString iconName;
+ if (iapId == connectedIapId) {
+ iconName = "qtg_small_connection";
+ } else {
+ iconName = "qtg_small_wlan";
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_LEFTICONCHOOSE_EXIT);
+ return iconName;
+}
+
+/*!
+ Function for removing from the old Wlan list those items, which are
+ not present in the given new lists.
+
+ @param [in] iaps New WLAN IAP list.
+ @param [in] aps New WLAN AP list.
+*/
+
+void WlanSnifferListWidget::removeLostItems(
+ const QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ const QList< QSharedPointer<WlanQtUtilsAp> > &aps)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_REMOVELOSTITEMS_ENTRY);
+
+ int row = 0;
+ // Loop through all rows in the current list and try to find the items from
+ // the new lists
+ while (row < mListWidget->count()) {
+ bool found = false;
+ const HbListWidgetItem *item = mListWidget->item(row);
+ if (item->data().canConvert<int>()) {
+ // Item was an IAP, try to find it from the new IAP list
+ foreach (QSharedPointer<WlanQtUtilsIap> iap, iaps) {
+ if (iap->value(WlanQtUtilsIap::ConfIdIapId) ==
+ item->data()) {
+ found = true;
+ break;
+ }
+ }
+ } else {
+ // Item has to be an AP, try to find it from the new AP list
+ Q_ASSERT(item->data().canConvert<WlanQtUtilsAp>());
+ WlanQtUtilsAp oldAp = item->data().value<WlanQtUtilsAp>();
+ foreach (QSharedPointer<WlanQtUtilsAp> newAp, aps) {
+ if (WlanQtUtilsAp::compare(newAp.data(), &oldAp) == 0) {
+ found = true;
+ break;
+ }
+ }
+ }
+ if (found == false) {
+ // Item was lost. Remove this row and delete it. Don't increment
+ // row index, because the next item now has the same row index
+ // as this one had
+ delete mListWidget->takeItem(row);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTWIDGET_REMOVELOSTITEMS,
+ "WlanSnifferListWidget::removeLostItems Removed;row=%d",
+ row);
+ } else {
+ // Item still exists, move on to next row
+ row++;
+ }
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_REMOVELOSTITEMS_EXIT);
+}
+
+/*!
+ Function for adding to the Wlan list those items, which are new
+ in the given new lists. Also, icons and order of the existing list
+ items are updated.
+
+ @param [in] iaps New WLAN IAP list.
+ @param [in] aps New WLAN AP list.
+ @param [in] connectedIapId IAP ID of the connected WLAN or
+ IapIdNone if not connected.
+*/
+
+void WlanSnifferListWidget::addDiscoveredItemsAndUpdateRest(
+ const QList< QSharedPointer<WlanQtUtilsIap> > &iaps,
+ const QList< QSharedPointer<WlanQtUtilsAp> > &aps,
+ int connectedIapId)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERLISTWIDGET_ADDDISCOVEREDITEMSANDUPDATEREST_ENTRY);
+
+ int row = 0;
+ // Loop through new IAPs and try to find them from the old list
+ foreach (QSharedPointer<WlanQtUtilsIap> newIap, iaps) {
+ WlanSnifferListItem *oldItem = findFromOldList(newIap);
+ if (oldItem != NULL) {
+ // Match found, update icons
+ oldItem->setLeftIcon(
+ leftIconChoose(
+ newIap->value(WlanQtUtilsIap::ConfIdIapId).toInt(),
+ connectedIapId));
+ oldItem->setSignalIcon(
+ signalStrengthIconChoose(
+ newIap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt()));
+ // Also move the IAP to new row, if necessary (IAP order changes
+ // when IAPs are connected/disconnected)
+ int oldRow = mListWidget->row(oldItem);
+ if (row != oldRow) {
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTWIDGET_ADDDISCOVEREDITEMSANDUPDATEREST_MOVE,
+ "WlanSnifferListWidget::addDiscoveredItemsAndUpdateRest Moved;oldRow=%d;row=%d",
+ oldRow,
+ row);
+ mListWidget->takeItem(oldRow);
+ mListWidget->insertItem(row, oldItem);
+ }
+ } else {
+ // New item discovered, add it to the list. Row is the same as the
+ // index of the item in the new scan list
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTWIDGET_ADDDISCOVEREDITEMSANDUPDATEREST_ADD_IAP,
+ "WlanSnifferListWidget::addDiscoveredItemsAndUpdateRest Added IAP;row=%d",
+ row);
+ mListWidget->insertItem(row, listItemCreate(newIap, connectedIapId));
+ }
+ // Move to next row
+ row++;
+ }
+ // Repeat the same for new APs. Notice that row index continues from
+ // previous loop
+ foreach (QSharedPointer<WlanQtUtilsAp> newAp, aps) {
+ WlanSnifferListItem *oldItem = findFromOldList(newAp);
+ if (oldItem != NULL) {
+ oldItem->setSignalIcon(
+ signalStrengthIconChoose(
+ newAp->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt()));
+ // Notice that AP order may not change, they are always in
+ // alphabetical order
+ } else {
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANSNIFFERLISTWIDGET_ADDDISCOVEREDITEMSANDUPDATEREST_ADD_AP,
+ "WlanSnifferListWidget::addDiscoveredItemsAndUpdateRest Added AP;row=%d",
+ row);
+ mListWidget->insertItem(row, listItemCreate(newAp));
+ }
+ row++;
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERLISTWIDGET_ADDDISCOVEREDITEMSANDUPDATEREST_EXIT);
+}
+
+/*!
+ This function traces the contents of the list.
+*/
+
+void WlanSnifferListWidget::traceListContent() const
+{
+#ifdef OST_TRACE_COMPILER_IN_USE
+ for (int row = 0; row < mListWidget->count(); row++) {
+ HbListWidgetItem *item = mListWidget->item(row);
+ if (item->data().canConvert<int>()) {
+ OstTraceExt2(
+ TRACE_DUMP,
+ WLANSNIFFERLISTWIDGET_TRACELISTCONTENT_IAP,
+ "WlanSnifferListWidget::traceListContent IAP;row=%d;id=%d",
+ row,
+ item->data().toInt());
+ } else {
+ Q_ASSERT(item->data().canConvert<WlanQtUtilsAp>());
+ WlanQtUtilsAp ap = item->data().value<WlanQtUtilsAp>();
+ QString tmp(ap.value(WlanQtUtilsAp::ConfIdSsid).toString());
+ TPtrC16 ssid(tmp.utf16(), tmp.length());
+ OstTraceExt2(
+ TRACE_DUMP,
+ WLANSNIFFERLISTWIDGET_TRACELISTCONTENT_AP,
+ "WlanSnifferListWidget::traceListContent AP;row=%d;ssid=%S",
+ row,
+ ssid);
+ }
+ }
+#endif
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansniffermainwindow.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,231 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer main window.
+*/
+
+// System includes
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+
+#include "wlanwizard.h"
+
+#include "wlansnifferengine.h"
+#include "wlansnifferlistview.h"
+#include "wlansniffermainwindow.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansniffermainwindowTraces.h"
+#endif
+
+/*!
+ \class WlanSnifferMainWindow
+ \brief WLAN Sniffer main window.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] engine WLAN Sniffer application engine.
+ */
+
+WlanSnifferMainWindow::WlanSnifferMainWindow(WlanSnifferEngine *engine) :
+ mWizard(0),
+ mListView(0),
+ mEngine(engine)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOW_ENTRY);
+
+ // Add the list view to the main window
+ addListView();
+ bool connectStatus = connect(
+ mEngine,
+ SIGNAL(toListView(QString)),
+ this,
+ SLOT(toListView(QString)));
+ Q_ASSERT(connectStatus == true);
+
+ // When using WLAN Sniffer service, the view show is called after the service
+ // request arrives.
+ if (!mEngine->isEmbedded()) {
+ // Show the list view
+ toListView(hbTrId("txt_occ_title_wireless_lan"));
+ }
+
+ OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOW_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+
+WlanSnifferMainWindow::~WlanSnifferMainWindow()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOWDESTR_ENTRY);
+ OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOWDESTR_EXIT);
+}
+
+/*!
+ Shows the WLAN Sniffer list view.
+
+ @param [in] title View title.
+ */
+
+void WlanSnifferMainWindow::toListView(const QString &title)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_TOLISTVIEW_ENTRY);
+
+ // Show the list view
+ mListView->setTitle(title);
+ setCurrentView(mListView);
+ show();
+
+ OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_TOLISTVIEW_EXIT);
+}
+
+/*!
+ Creates and adds the WLAN List View to main window.
+ */
+
+void WlanSnifferMainWindow::addListView()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_ADDLISTVIEW_ENTRY);
+
+ mListView = new WlanSnifferListView(mEngine, this);
+ addView(mListView);
+
+ bool connectStatus = connect(
+ mListView,
+ SIGNAL(wizardTriggered(const WlanQtUtilsAp *)),
+ this,
+ SLOT(startWlanWizard(const WlanQtUtilsAp *)));
+
+ OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_ADDLISTVIEW_EXIT);
+}
+
+/*!
+ Starts WLAN Wizard for new WLAN IAP creation.
+
+ @param [in] ap WLAN Access Point to create, or NULL for adding WLAN manually.
+ */
+
+void WlanSnifferMainWindow::startWlanWizard(const WlanQtUtilsAp *ap)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_STARTWLANWIZARD_ENTRY);
+
+ Q_ASSERT(mWizard == NULL);
+
+ // Stop WLAN scanning for the duration of WLAN Wizard
+ mEngine->stopWlanScanning();
+
+ mWizard = QSharedPointer<WlanWizard>(new WlanWizard(this));
+ bool connectStatus = connect(
+ mWizard.data(),
+ SIGNAL(finished(int,bool)),
+ this,
+ SLOT(handleWlanWizardComplete(int,bool)),
+ Qt::QueuedConnection);
+ Q_ASSERT(connectStatus == true);
+
+ connectStatus = connect(
+ mWizard.data(),
+ SIGNAL(cancelled()),
+ this,
+ SLOT(handleWlanWizardCancelled()),
+ Qt::QueuedConnection);
+ Q_ASSERT(connectStatus == true);
+
+ // Create an IAP for a specific AP
+ if (ap) {
+ mWizard->setParameters(
+ ap->value(WlanQtUtilsAp::ConfIdSsid).toString(),
+ ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt(),
+ ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
+ ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toInt(),
+ ap->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool());
+ }
+ // else: Add WLAN IAP manually
+
+ mWizard->show();
+
+ OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_STARTWLANWIZARD_EXIT);
+}
+
+/*!
+ WLAN Wizard successful completion handler.
+
+ @param [in] iapId IAP ID of the new WLAN IAP.
+ @param [in] connected TRUE if connected.
+ */
+
+void WlanSnifferMainWindow::handleWlanWizardComplete(
+ int iapId,
+ bool connected)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_HANDLEWLANWIZARDCOMPLETE_ENTRY);
+
+ // The wizard must exist
+ Q_ASSERT(mWizard);
+
+ // Enable scanning again
+ mEngine->startWlanScanning();
+
+ if (connected) {
+ // The IAP ID must be valid
+ Q_ASSERT(iapId != WlanQtUtils::IapIdNone);
+
+ // Connect (share) the new IAP in order to keep the connection open when
+ // deleting Wizard.
+ mEngine->wlanQtUtils()->connectIap(iapId, false);
+ }
+ // else: created IAP not connected at all, or already dropped
+ // (probably due to being out of coverage) so don't try to share it
+
+ // Delete the Wizard instance. This is OK since the connect is Qt::QueuedConnection.
+ mWizard.clear();
+
+ OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_HANDLEWLANWIZARDCOMPLETE_EXIT);
+}
+
+/*!
+ WLAN Wizard cancellation handler.
+ */
+
+void WlanSnifferMainWindow::handleWlanWizardCancelled()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERMAINWINDOW_HANDLEWLANWIZARDCANCELLED_ENTRY);
+
+ // The wizard must exist
+ Q_ASSERT(mWizard);
+
+ // Enable scanning again
+ mEngine->startWlanScanning();
+
+ // Delete the Wizard instance. This is OK since the connect is Qt::QueuedConnection.
+ mWizard.clear();
+
+ OstTraceFunctionExit0(WLANSNIFFERMAINWINDOW_HANDLEWLANWIZARDCANCELLED_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/src/wlansnifferservice.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2009-2010 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:
+* WLAN Sniffer QtHighway Service.
+*/
+
+// System includes
+
+// User includes
+
+#include "wlansnifferservice.h"
+#include <xqaiwdecl.h>
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferserviceTraces.h"
+#endif
+
+/*!
+ \class WlanSnifferService
+ \brief WLAN Sniffer QtHighway service implementation.
+
+ This class implements a QtHighway service that can be used to launch
+ a WLAN Sniffer application.
+*/
+
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param[in] parent Object parent.
+ */
+
+WlanSnifferService::WlanSnifferService(QObject* parent) :
+ XQServiceProvider(
+ QLatin1String("wlansniffer.com.nokia.symbian.IWlanSniffer"),
+ parent)
+{
+ OstTraceFunctionEntry0(WLANSNIFFERSERVICE_WLANSNIFFERSERVICE_ENTRY);
+
+ publishAll();
+
+ OstTraceFunctionExit0(WLANSNIFFERSERVICE_WLANSNIFFERSERVICE_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+
+WlanSnifferService::~WlanSnifferService()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERSERVICE_WLANSNIFFERSERVICEDESTR_ENTRY);
+ OstTraceFunctionExit0(WLANSNIFFERSERVICE_WLANSNIFFERSERVICEDESTR_EXIT);
+}
+
+/*!
+ Completes the current service.
+ */
+
+void WlanSnifferService::complete()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERSERVICE_COMPLETE_ENTRY);
+
+ QVariant returnValue(true);
+ bool status = completeRequest(mAsyncRequestIndex, returnValue);
+ Q_ASSERT(status);
+
+ OstTraceFunctionExit0(WLANSNIFFERSERVICE_COMPLETE_EXIT);
+}
+
+/*!
+ List view service function. Launches the WLAN Sniffer List View.
+ */
+
+void WlanSnifferService::listView()
+{
+ OstTraceFunctionEntry0(WLANSNIFFERSERVICE_LISTVIEW_ENTRY);
+
+ mAsyncRequestIndex = setCurrentRequestAsync();
+ emit toListView(title());
+
+ OstTraceFunctionExit0(WLANSNIFFERSERVICE_LISTVIEW_EXIT);
+}
+
+/*
+ Extracts and returns the client application's title (if available).
+
+ @return Client application's title string or empty if not available.
+ */
+
+QString WlanSnifferService::title() const
+{
+ OstTraceFunctionEntry0(WLANSNIFFERSERVICE_TITLE_ENTRY);
+
+ // Get service request info
+ XQRequestInfo info = requestInfo();
+
+ // There must be a valid request info object
+ Q_ASSERT(info.isValid());
+
+ // Extract the title
+ QVariant titleInfo = info.info(XQINFO_KEY_WINDOW_TITLE);
+ QString title = titleInfo.toString();
+
+ OstTraceFunctionExit0(WLANSNIFFERSERVICE_TITLE_EXIT);
+ return title;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2010 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:
+* OST trace definition header.
+*/
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/tsrc/ctcmakeandruncases.cmd Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,24 @@
+:: Copyright (c) 2010 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:
+:: Batch file to instrument and run test cases with CTC.
+
+@echo off
+del MON.*
+del profile.txt
+rmdir /S /Q CTCHTML
+call qmake "CONFIG -= debug"
+call sbs clean
+call sbs reallyclean
+call ctcwrap -C EXCLUDE=* -C NO_EXCLUDE+..\src\wlansnifferlistwidget.cpp -i d -2comp sbs -c winscw_udeb
+call \epoc32\release\winscw\udeb\t_wlansniffer.exe
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/tsrc/ctcresults.cmd Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,17 @@
+:: Copyright (c) 2010 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:
+:: Batch file to create coverage reports from CTC results.
+
+call ctcpost -p profile.txt
+call ctc2html -i profile.txt
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/tsrc/makeandruncases.cmd Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+:: Copyright (c) 2010 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:
+:: Batch file to compile and run test cases.
+
+@echo off
+call qmake
+call sbs clean
+call sbs reallyclean
+call sbs -c winscw_udeb
+call \epoc32\release\winscw\udeb\t_wlansniffer.exe
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/tsrc/t_wlansniffer.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,563 @@
+/*
+* Copyright (c) 2010 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:
+* This is the source file for testing Wlan Sniffer application.
+*/
+
+// System includes
+
+#include <QTest>
+#include <QSharedPointer>
+#include <HbApplication>
+#include <HbListWidget>
+#include <HbListWidgetItem>
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilsap.h"
+
+#include "wlansnifferlistwidget.h"
+#include "t_wlansniffer.h"
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+/*!
+ Test main function. Runs all test cases.
+ */
+
+int main(int argc, char *argv[])
+{
+ HbApplication app(argc, argv);
+
+ char *pass[3];
+ pass[0] = argv[0];
+ pass[1] = "-o";
+ pass[2] = "c:\\data\\TestWlanSniffer.txt";
+
+ TestWlanSniffer tc;
+ int res = QTest::qExec(&tc, 3, pass);
+
+ return res;
+}
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ This function will be called before the first test function is executed.
+*/
+
+void TestWlanSniffer::initTestCase()
+{
+ mWidget = NULL;
+}
+
+/*!
+ This function will be called after the last test function was executed.
+ */
+
+void TestWlanSniffer::cleanupTestCase()
+{
+}
+
+/*!
+ This function will be called before each test function is executed.
+ */
+
+void TestWlanSniffer::init()
+{
+ mListWidget = new HbListWidget();
+ mWidget = new WlanSnifferListWidget(mListWidget);
+
+ mIaps.clear();
+ mAps.clear();
+}
+
+/*!
+ This function will be called after each test function is executed.
+ */
+
+void TestWlanSniffer::cleanup()
+{
+ delete mWidget;
+ mWidget = NULL;
+
+ mListWidget->clear();
+ delete mListWidget;
+ mListWidget = NULL;
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentIapAdded()
+{
+ appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 2", 90, 0, CMManagerShim::WlanSecModeWpa);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 2);
+ verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(1, QString("SSID 2"), CMManagerShim::WlanSecModeWpa);
+
+ appendWlanIap(1, 0, "SSID 3", "SSID 3", 20, CMManagerShim::WlanSecModeWpa);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 3);
+ verifyIap(0, 1);
+ verifyAp(1, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(2, QString("SSID 2"), CMManagerShim::WlanSecModeWpa);
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentApAdded()
+{
+ appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 1);
+ verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+
+ appendWlanAp("SSID 2", 90, 0, CMManagerShim::WlanSecModeWpa);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 2);
+ verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(1, QString("SSID 2"), CMManagerShim::WlanSecModeWpa);
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentIapRemoved()
+{
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 90, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 3", 90, 0, CMManagerShim::WlanSecModeWep);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 3);
+ verifyIap(0, 1);
+ verifyIap(1, 2);
+ verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeWep);
+
+ mIaps.takeAt(0);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 2);
+ verifyIap(0, 2);
+ verifyAp(1, QString("SSID 3"), CMManagerShim::WlanSecModeWep);
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentApRemoved()
+{
+ appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 1);
+ verifyAp(0, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+
+ mAps.takeAt(0);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 0);
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentIapConnected()
+{
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 95, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 15, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 3);
+ verifyIap(0, 1);
+ verifyIap(1, 2);
+ verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
+
+ // IAP order changed because one is connected
+ mIaps.clear();
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 20, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
+
+ mWidget->updateContent(mIaps, mAps, 2);
+
+ QCOMPARE(mListWidget->count(), 3);
+ verifyIap(0, 2);
+ verifyIap(1, 1);
+ verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentIapDisconnected()
+{
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 20, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 2);
+
+ QCOMPARE(mListWidget->count(), 3);
+ verifyIap(0, 2);
+ verifyIap(1, 1);
+ verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
+
+ // IAP order changed because not connected anymore
+ mIaps.clear();
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 60, CMManagerShim::WlanSecModeWpa);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 3);
+ verifyIap(0, 1);
+ verifyIap(1, 2);
+ verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentRobustness1()
+{
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 15, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 95, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 5", 40, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 5);
+ verifyIap(0, 1);
+ verifyIap(1, 2);
+ verifyAp(2, QString("SSID 3"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(3, QString("SSID 4"), CMManagerShim::WlanSecModeWep);
+ verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeOpen);
+
+ mIaps.clear();
+ appendWlanIap(3, 0, "SSID 3", "SSID 3", 10, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 20, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 30, CMManagerShim::WlanSecModeWpa);
+ mAps.clear();
+ appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 5", 40, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 6", 30, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 7", 40, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 3);
+
+ QCOMPARE(mListWidget->count(), 7);
+ verifyIap(0, 3);
+ verifyIap(1, 1);
+ verifyIap(2, 2);
+ verifyAp(3, QString("SSID 4"), CMManagerShim::WlanSecModeWep);
+ verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(5, QString("SSID 6"), CMManagerShim::WlanSecModeWep);
+ verifyAp(6, QString("SSID 7"), CMManagerShim::WlanSecModeOpen);
+
+ mIaps.clear();
+ appendWlanIap(4, 0, "SSID X", "SSID X", 10, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 20, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(3, 0, "SSID 3", "SSID 3", 10, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(5, 0, "SSID 3", "SSID 3", 50, CMManagerShim::WlanSecModeWapi);
+ mAps.clear();
+ appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 4a", 40, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 7", 76, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 7", 90, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 8", 30, 0, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 9", 30, 0, CMManagerShim::WlanSecModeWpa);
+
+ mWidget->updateContent(mIaps, mAps, 4);
+
+ QCOMPARE(mListWidget->count(), 10);
+ verifyIap(0, 4);
+ verifyIap(1, 2);
+ verifyIap(2, 3);
+ verifyIap(3, 5);
+ verifyAp(4, QString("SSID 4"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(5, QString("SSID 4a"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(6, QString("SSID 7"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(7, QString("SSID 7"), CMManagerShim::WlanSecModeWep);
+ verifyAp(8, QString("SSID 8"), CMManagerShim::WlanSecModeWpa);
+ verifyAp(9, QString("SSID 9"), CMManagerShim::WlanSecModeWpa);
+
+ mIaps.clear();
+ appendWlanIap(3, 0, "SSID 3", "SSID 3", 50, CMManagerShim::WlanSecModeOpen);
+ mAps.clear();
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 1);
+ verifyIap(0, 3);
+
+ mIaps.clear();
+ mAps.clear();
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 0);
+}
+
+/*!
+ This function tests Wlan list widget content updating.
+ */
+
+void TestWlanSniffer::testUpdateContentRobustness2()
+{
+ QSharedPointer<WlanQtUtilsIap> iap2(new WlanQtUtilsIap());
+ iap2->setValue(WlanQtUtilsIap::ConfIdIapId, 2);
+ iap2->setValue(WlanQtUtilsIap::ConfIdNetworkId, 0);
+ iap2->setValue(WlanQtUtilsIap::ConfIdName, "SSID 2");
+ iap2->setValue(WlanQtUtilsAp::ConfIdSsid, "SSID 2");
+ iap2->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 10);
+ iap2->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ iap2->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+ QSharedPointer<WlanQtUtilsIap> iap4(new WlanQtUtilsIap());
+ iap4->setValue(WlanQtUtilsIap::ConfIdIapId, 4);
+ iap4->setValue(WlanQtUtilsIap::ConfIdNetworkId, 0);
+ iap4->setValue(WlanQtUtilsIap::ConfIdName, "SSID 4");
+ iap4->setValue(WlanQtUtilsAp::ConfIdSsid, "SSID 4");
+ iap4->setValue(WlanQtUtilsAp::ConfIdSignalStrength, 20);
+ iap4->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ iap4->setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeWpa);
+
+ appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 5", 20, 0, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 6", 20, 0, CMManagerShim::WlanSecModeWpa);
+
+ mIaps.append(iap2);
+ mIaps.append(iap4);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 6);
+ verifyIap(0, 2);
+ verifyIap(1, 4);
+ verifyAp(2, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(3, QString("SSID 3"), CMManagerShim::WlanSecModeWpa);
+ verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeWpa);
+ verifyAp(5, QString("SSID 6"), CMManagerShim::WlanSecModeWpa);
+
+ mIaps.clear();
+ mAps.clear();
+ mIaps.append(iap2);
+ appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 2);
+ verifyIap(0, 2);
+ verifyAp(1, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+
+ mIaps.clear();
+ mAps.clear();
+ mIaps.append(iap2);
+ mIaps.append(iap4);
+ appendWlanAp("SSID 1", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 5", 20, 0, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 6", 20, 0, CMManagerShim::WlanSecModeWpa);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 6);
+ verifyIap(0, 2);
+ verifyIap(1, 4);
+ verifyAp(2, QString("SSID 1"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(3, QString("SSID 3"), CMManagerShim::WlanSecModeWpa);
+ verifyAp(4, QString("SSID 5"), CMManagerShim::WlanSecModeWpa);
+ verifyAp(5, QString("SSID 6"), CMManagerShim::WlanSecModeWpa);
+}
+
+/*!
+ This function tests list sorting. The list content comes in "random" order,
+ and the list widget should sort the list alphabetically.
+ */
+
+void TestWlanSniffer::testUpdateContentSort()
+{
+ appendWlanIap(1, 0, "Dada", "dada", 20, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(2, 0, "salakka", "salakka", 30, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(3, 0, "lahna", "lahna", 40, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(4, 0, "Labiili", "labiili", 50, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(5, 0, "ABCD", "ABCD", 60, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(6, 0, "connected", "connected", 60, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(7, 0, "IAP 1", "IAP 1", 10, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(8, 0, "IAP 10", "IAP 10", 10, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(9, 0, "IAP 2", "IAP 2", 10, CMManagerShim::WlanSecModeOpen);
+ appendWlanIap(10, 0, "IAP 11", "IAP 11", 10, CMManagerShim::WlanSecModeOpen);
+
+ appendWlanAp("jokuap", 20, 0, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("Jippii", 30, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("jalava", 40, 0, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("abba", 50, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("hippokampus", 60, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 6);
+
+ QCOMPARE(mListWidget->count(), 15);
+ verifyIap(0, 6);
+ verifyIap(1, 5);
+ verifyIap(2, 1);
+ verifyIap(3, 7);
+ verifyIap(4, 8);
+ verifyIap(5, 10);
+ verifyIap(6, 9);
+ verifyIap(7, 4);
+ verifyIap(8, 3);
+ verifyIap(9, 2);
+ verifyAp(10, QString("abba"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(11, QString("hippokampus"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(12, QString("jalava"), CMManagerShim::WlanSecModeWpa);
+ verifyAp(13, QString("Jippii"), CMManagerShim::WlanSecModeOpen);
+ verifyAp(14, QString("jokuap"), CMManagerShim::WlanSecModeWpa);
+}
+
+/*!
+ This function tests list scrolling. There's no way to verify in this test
+ that the scrolling actually works, but let's execute the code at least.
+ */
+
+void TestWlanSniffer::testScrollTo()
+{
+ appendWlanIap(1, 0, "SSID 1", "SSID 1", 15, CMManagerShim::WlanSecModeWpa);
+ appendWlanIap(2, 0, "SSID 2", "SSID 2", 95, CMManagerShim::WlanSecModeWpa);
+ appendWlanAp("SSID 3", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 4", 30, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 5", 40, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 6", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 7", 30, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 8", 40, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 9", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 10", 30, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 11", 40, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 12", 20, 0, CMManagerShim::WlanSecModeOpen);
+ appendWlanAp("SSID 13", 30, 0, CMManagerShim::WlanSecModeWep);
+ appendWlanAp("SSID 14", 40, 0, CMManagerShim::WlanSecModeOpen);
+
+ mWidget->updateContent(mIaps, mAps, 0);
+
+ QCOMPARE(mListWidget->count(), 14);
+
+ // Scroll to last row
+ mWidget->scrollTo(13);
+ // Scroll to non-existing row -> ignored
+ mWidget->scrollTo(20);
+ // Scroll to first row
+ mWidget->scrollTo(0);
+
+ QCOMPARE(mListWidget->count(), 14);
+}
+
+/*!
+ This function verifies that the item on "row" is an IAP matching the given parameters.
+ */
+
+void TestWlanSniffer::verifyIap(int row, int iapId)
+{
+ QVERIFY(mListWidget->item(row)->data().canConvert<int>());
+ int id = mListWidget->item(row)->data().value<int>();
+ QCOMPARE(id, iapId);
+}
+
+/*!
+ This function verifies that the item on "row" is an AP matching the given parameters.
+ */
+
+void TestWlanSniffer::verifyAp(int row, QString ssid, int securityMode)
+{
+ QVERIFY(mListWidget->item(row)->data().canConvert<WlanQtUtilsAp>());
+ WlanQtUtilsAp ap = mListWidget->item(row)->data().value<WlanQtUtilsAp>();
+ QCOMPARE(ap.value(WlanQtUtilsAp::ConfIdSsid).toString(), ssid);
+ QCOMPARE(ap.value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(), securityMode);
+}
+
+/*!
+ Sub test case for appending an AP to AP list.
+*/
+
+void TestWlanSniffer::appendWlanAp(
+ QString ssId,
+ int signalStrength,
+ int networkMode,
+ int securityMode)
+{
+ QSharedPointer<WlanQtUtilsAp> ap(new WlanQtUtilsAp());
+ ap->setValue(WlanQtUtilsAp::ConfIdSsid, ssId);
+ ap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, signalStrength);
+ ap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, networkMode);
+ ap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+ ap->setValue(WlanQtUtilsAp::ConfIdWpsSupported, false);
+ mAps.append(ap);
+}
+
+/*!
+ Sub test case for appending an IAP to IAP list.
+*/
+
+void TestWlanSniffer::appendWlanIap(
+ int iapId,
+ int netId,
+ QString name,
+ QString ssId,
+ int signalStrength,
+ int securityMode)
+{
+ WlanQtUtilsIap *iap = new WlanQtUtilsIap();
+ iap->setValue(WlanQtUtilsIap::ConfIdIapId, iapId);
+ iap->setValue(WlanQtUtilsIap::ConfIdNetworkId, netId);
+ iap->setValue(WlanQtUtilsIap::ConfIdName, name);
+ iap->setValue(WlanQtUtilsAp::ConfIdSsid, ssId);
+ iap->setValue(WlanQtUtilsAp::ConfIdSignalStrength, signalStrength);
+ iap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ iap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
+ iap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, false);
+ iap->setValue(WlanQtUtilsAp::ConfIdWpsSupported, false);
+ mIaps.append(QSharedPointer<WlanQtUtilsIap>(iap));
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/tsrc/t_wlansniffer.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2010 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:
+* This is the header file for testing Wlan Sniffer application.
+*/
+
+#ifndef T_WLANSNIFFER_H
+#define T_WLANSNIFFER_H
+
+// System includes
+
+#include <QObject>
+#include <QSharedPointer>
+
+// User includes
+
+// Forward declarations
+
+class HbListWidget;
+class WlanQtUtilsIap;
+class WlanQtUtilsAp;
+class WlanSnifferListWidget;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class TestWlanSniffer: public QObject
+{
+ Q_OBJECT
+
+private slots:
+
+ // Functions from QTest framework.
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+ // Test functions for WlanSnifferListWidget class
+ void testUpdateContentIapAdded();
+ void testUpdateContentApAdded();
+ void testUpdateContentIapRemoved();
+ void testUpdateContentApRemoved();
+ void testUpdateContentIapConnected();
+ void testUpdateContentIapDisconnected();
+ void testUpdateContentRobustness1();
+ void testUpdateContentRobustness2();
+ void testUpdateContentSort();
+ void testScrollTo();
+
+private:
+
+ // Helper functions, that is, sub test cases.
+ void verifyIap(int row, int iapId);
+ void verifyAp(int row, QString ssid, int securityMode);
+ void appendWlanAp(
+ QString ssId,
+ int signalStrength,
+ int networkMode,
+ int securityMode);
+ void appendWlanIap(
+ int iapId,
+ int netId,
+ QString name,
+ QString ssId,
+ int signalStrength,
+ int securityMode);
+
+private: // data
+
+ HbListWidget *mListWidget;
+ WlanSnifferListWidget *mWidget;
+ QList< QSharedPointer<WlanQtUtilsIap> > mIaps;
+ QList< QSharedPointer<WlanQtUtilsAp> > mAps;
+};
+
+#endif // T_WLANSNIFFER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/tsrc/t_wlansniffer.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,49 @@
+#
+# Copyright (c) 2010 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:
+# WLAN Sniffer UT project file.
+#
+
+CONFIG += qtestlib hb
+
+TEMPLATE = app
+TARGET = t_wlansniffer
+
+TARGET.CAPABILITY = ALL -TCB
+
+DEPENDPATH += .
+
+#Store generated files to their own directory
+MOC_DIR = build
+RCC_DIR = build
+
+INCLUDEPATH += \
+ . \
+ ../inc \
+ ../traces \
+ ../../../inc
+
+# Input
+HEADERS += \
+ t_wlansniffer.h \
+ ../inc/wlansnifferlistitem.h \
+ ../inc/wlansnifferlistwidget.h \
+ ../traces/OstTraceDefinitions.h
+
+SOURCES += \
+ t_wlansniffer.cpp \
+ ../src/wlansnifferlistitem.cpp \
+ ../src/wlansnifferlistwidget.cpp
+
+symbian*::LIBS += -lwlanqtutilities
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferapplication/wlansnifferapplication.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,81 @@
+#
+# Copyright (c) 2009-2010 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:
+# Project file for WLAN Sniffer application.
+#
+
+TEMPLATE = app
+TARGET = wlansniffer
+DEPENDPATH += .
+# Own headers
+INCLUDEPATH += \
+ inc \
+ traces
+# wlanutilities Private API
+INCLUDEPATH += ../../inc
+CONFIG += hb no_icon service
+
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, this can be removed
+symbian: {
+ MMP_RULES += "USERINCLUDE traces"
+}
+
+#Store generated files to their own directory
+MOC_DIR = build
+RCC_DIR = build
+
+TRANSLATIONS = wlansniffer.ts
+
+# Input
+SOURCES += \
+ src/main.cpp \
+ src/wlansniffer.cpp \
+ src/wlansnifferengine.cpp \
+ src/wlansnifferlistitem.cpp \
+ src/wlansnifferlistview.cpp \
+ src/wlansnifferlistwidget.cpp \
+ src/wlansniffermainwindow.cpp \
+ src/wlansnifferservice.cpp
+
+HEADERS += \
+ inc/wlansniffer.h \
+ inc/wlansnifferengine.h \
+ inc/wlansnifferlistitem.h \
+ inc/wlansnifferlistview.h \
+ inc/wlansnifferlistwidget.h \
+ inc/wlansniffermainwindow.h \
+ inc/wlansnifferservice.h \
+ traces/OstTraceDefinitions.h
+
+RESOURCES = res/wlansniffer.qrc
+
+DOCML += res/wlansnifferlistview.docml
+
+SERVICE.FILE = res/service_conf.xml
+SERVICE.OPTIONS = embeddable
+
+# Common libraries
+LIBS += -lwlanqtutilities -lxqservice -lxqserviceutil -lqtsysteminfo -lwlanwizard -lxqsettingsmanager
+
+symbian*: {
+ TARGET.CAPABILITY = CAP_APPLICATION NetworkControl
+ TARGET.UID3 = 0x10281CAA
+
+ BLD_INF_RULES.prj_exports += "rom/wlansniffer.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlansniffer.iby)"
+ BLD_INF_RULES.prj_exports += "rom/wlansniffer_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlansniffer_resources.iby)"
+
+ # Enable for QtHighway tracing
+ # DEFINES += WLANSNIFFER_SERVICETRACES
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/group/bld.inf Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,26 @@
+/*
+* Copyright (c) 2010 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:
+* Build info file for Wlan Sniffer Keepalive process
+*/
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_EXPORTS
+
+../rom/wsfkeepalive.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfkeepalive.iby)
+
+PRJ_MMPFILES
+wsfkeepalive.mmp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/group/wsfkeepalive.mmp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2010 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:
+* Project definition file for Wlan Sniffer Keepalive process.
+*/
+
+TARGET wlansnifferkeepalive.exe
+TARGETTYPE exe
+UID 0x100039CE 0x2002FF5F
+
+USERINCLUDE ../inc
+USERINCLUDE ../traces
+MW_LAYER_SYSTEMINCLUDE
+
+SOURCEPATH ../src
+SOURCE main.cpp
+SOURCE wsfkeepalive.cpp
+SOURCE wsfkeepalivecmm.cpp
+SOURCE wsfkeepaliveconnmon.cpp
+SOURCE wsfkeepaliveconnmondisc.cpp
+SOURCE wsfkeepaliveesock.cpp
+SOURCE wsfkeepalivetimer.cpp
+
+LIBRARY euser.lib
+LIBRARY connmon.lib
+LIBRARY esock.lib
+LIBRARY extendedconnpref.lib
+LIBRARY netmeta.lib
+LIBRARY cmmanager.lib
+
+CAPABILITY CAP_APPLICATION NetworkControl
+
+#ifdef ENABLE_ABIV2_MODE
+ DEBUGGABLE_UDEBONLY
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/inc/wsfkeepalive.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,175 @@
+/*
+* Copyright (c) 2010 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:
+* Main implementation of Wlan Sniffer Keepalive application.
+*/
+
+#ifndef WSFKEEPALIVE_H
+#define WSFKEEPALIVE_H
+
+// System includes
+
+// User includes
+
+#include "wsfkeepalivetimer.h"
+
+// Forward declarations
+
+class CWsfKeepaliveCmm;
+class CWsfKeepaliveConnMon;
+class CWsfKeepaliveConnMonDisc;
+class CWsfKeepaliveEsock;
+
+// External data types
+
+// Global function prototypes
+
+// Constants
+
+// Class declaration
+
+/**
+ * Main implementation of Wlan Sniffer Keepalive application.
+ *
+ * This class contains the actual application logic, which monitors
+ * Wlan connections and keeps them alive, if needed.
+ */
+class CWsfKeepalive : public CBase, public MWsfKeepaliveTimerNotify
+ {
+ // Friend classes:
+ friend class CWsfKeepaliveTestSuite;
+
+public:
+
+ // Data types
+
+ // Constants
+
+ /** Invalid/not available connection ID */
+ static const TUint KInvalidConnectionId = 0;
+
+ /** Constructors */
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return New object allocated from heap
+ */
+ static CWsfKeepalive* NewL();
+
+ /**> Destructor */
+ virtual ~CWsfKeepalive();
+
+public:
+
+ /**
+ * Timer expiration handler. Disconnects the monitored connection,
+ * if needed. Restarts timer, if needed.
+ *
+ * @param aError Status of the timer event
+ */
+ void TimerExpired( TInt aError );
+
+ /**
+ * Wlan connection event handler. Shares and starts to monitor the
+ * opened connection, if necessary.
+ *
+ * @param aConnectionId ID of the opened connection
+ * @param aIapId IAP ID of the opened connection
+ */
+ void WlanConnectionOpenedL( TUint aConnectionId, TUint aIapId );
+
+ /**
+ * Wlan connection event handler. Stops monitoring the connection.
+ */
+ void WlanConnectionClosed();
+
+protected:
+
+private:
+
+ CWsfKeepalive();
+
+ void ConstructL();
+
+ TBool OpenedByWlanSniffer( TUint aConnectionId );
+
+ TBool NoRealClients( TUint aConnectionId );
+
+ void SetState( TUint aState );
+
+private: // Data
+
+ // Constants
+
+ /**
+ * State values for the keepalive implementation
+ */
+ enum
+ {
+ /** Not monitoring any connection */
+ EInactive,
+ /** Monitoring connection, which has no real clients */
+ EActiveNoClients,
+ /** Monitoring connection, which has one or more real clients */
+ EActiveWithClients
+ };
+
+ /**
+ * Timer for polling users of a connection
+ */
+ CWsfKeepaliveTimer* iTimer;
+
+ /**
+ * Connection Method Manager class reference
+ */
+ CWsfKeepaliveCmm* iCmMgr;
+
+ /**
+ * Connection Monitor class reference
+ */
+ CWsfKeepaliveConnMon* iConnMon;
+
+ /**
+ * Connection Disconnector class reference
+ */
+ CWsfKeepaliveConnMonDisc* iConnMonDisc;
+
+ /**
+ * RConnection handler class reference
+ */
+ CWsfKeepaliveEsock* iEsock;
+
+ /**
+ * Time when keepalive started for monitored connection
+ */
+ TTime iKeepaliveStart;
+
+ /**
+ * ID of monitored connection, KInvalidConnectionId if not valid
+ */
+ TUint iConnectionId;
+
+ /**
+ * State of the keepalive implementation
+ */
+ TUint iState;
+
+ /**
+ * IapId of the connection
+ */
+ TUint iIapId;
+ };
+
+#endif // WSFKEEPALIVE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/inc/wsfkeepalivecmm.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,95 @@
+/*
+ * Copyright (c) 2010 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:
+ * Connection Method Manager interface implementation.
+ */
+
+#ifndef WSFKEEPALIVECMM_H
+#define WSFKEEPALIVECMM_H
+
+// System includes
+
+#include <e32base.h>
+#include <cmmanager.h>
+
+// User includes
+
+// Forward declarations
+
+class CWsfKeepalive;
+
+// External data types
+
+// Global function prototypes
+
+// Constants
+
+// Class declaration
+
+/**
+ * Connection Method Manager interface implementation.
+ *
+ * This class uses the Connection Method Manager interface to get and deleted
+ * Hotspot IAP.
+ */
+class CWsfKeepaliveCmm : public CBase
+ {
+ // Friend classes:
+
+public:
+
+ // Data types
+
+ /** Constructors */
+
+ /**
+ * Two-phased constructor.
+ *
+ */
+ static CWsfKeepaliveCmm* NewL();
+
+ /**> Destructor */
+ virtual ~CWsfKeepaliveCmm();
+
+public:
+
+ /**
+ * Cm Manager Hotspot info getter.
+ */
+ TBool CWsfKeepaliveCmm::GetHotspotInfoL(TInt32 aIapId);
+
+ /**
+ * Cm Manager Hotspot IAP deleter.
+ */
+ TBool CWsfKeepaliveCmm::DeleteHotspotIapL(TInt32 aIapId);
+
+protected:
+
+private:
+
+ CWsfKeepaliveCmm();
+
+ void ConstructL();
+
+
+private: // Data
+
+ /**
+ * Handle to Connection Method Manger
+ */
+ RCmManager iCmManager;
+
+ };
+
+#endif // WSFKEEPALIVECMM_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/inc/wsfkeepaliveconnmon.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,107 @@
+/*
+ * Copyright (c) 2010 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:
+ * Connection Monitor interface implementation.
+ */
+
+#ifndef WSFKEEPALIVECONNMON_H
+#define WSFKEEPALIVECONNMON_H
+
+// System includes
+
+#include <e32base.h>
+#include <rconnmon.h>
+
+// User includes
+
+// Forward declarations
+
+class CWsfKeepalive;
+
+// External data types
+
+// Global function prototypes
+
+// Constants
+
+// Class declaration
+
+/**
+ * Connection Monitor interface implementation.
+ *
+ * This class uses the Connection Monitor interface to monitor status
+ * of Wlan connections we might be interested in.
+ */
+class CWsfKeepaliveConnMon : public CBase, public MConnectionMonitorObserver
+ {
+ // Friend classes:
+
+public:
+
+ // Data types
+
+ /** Constructors */
+
+ /**
+ * Two-phased constructor.
+ *
+ * @param aNotify Status of Wlan connections is notified to this class
+ * @return New object allocated from heap
+ */
+ static CWsfKeepaliveConnMon* NewL( CWsfKeepalive& aNotify );
+
+ /**> Destructor */
+ virtual ~CWsfKeepaliveConnMon();
+
+public:
+
+ /**
+ * Connection Monitor connection client info getter.
+ *
+ * @param aClientInfo Where to store information
+ * @param aConnectionId ID of the connection, whose info is requested
+ */
+ void GetClientInfo(
+ TConnMonClientEnumBuf& aClientInfo,
+ TUint aConnectionId );
+
+protected:
+
+private:
+
+ CWsfKeepaliveConnMon( CWsfKeepalive& aNotify );
+
+ void ConstructL();
+
+ void EventL( const CConnMonEventBase& aConnMonEvent );
+
+private: // Data
+
+ /**
+ * Status of Wlan connections is notified to this class
+ */
+ CWsfKeepalive& iNotify;
+
+ /**
+ * Handle to Connection Monitor Server
+ */
+ RConnectionMonitor iMonitor;
+
+ /**
+ * Id of the connection we are currently monitoring
+ */
+ TUint iMonitoringConnectionId;
+ };
+
+#endif // WSFKEEPALIVECONNMON_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/inc/wsfkeepaliveconnmondisc.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,91 @@
+/*
+ * Copyright (c) 2010 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:
+ * Connection Monitor disconnect interface implementation.
+ */
+
+#ifndef WSFKEEPALIVECONNMONDISC_H
+#define WSFKEEPALIVECONNMONDISC_H
+
+// System includes
+
+#include <e32base.h>
+
+// User includes
+
+// Forward declarations
+
+class RConnectionMonitor;
+
+// External data types
+
+// Global function prototypes
+
+// Constants
+
+// Class declaration
+
+/**
+ * Connection Monitor disconnect interface implementation.
+ *
+ * This class uses the Connection Monitor interface to disconnect
+ * connections regardless of the amount of users for the connection.
+ */
+class CWsfKeepaliveConnMonDisc : public CBase
+ {
+ // Friend classes:
+
+public:
+
+ // Data types
+
+ /** Constructors */
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return New object allocated from heap
+ */
+ static CWsfKeepaliveConnMonDisc* NewL();
+
+ /**> Destructor */
+ virtual ~CWsfKeepaliveConnMonDisc();
+
+public:
+
+ /**
+ * Disconnects the given connection regardless of the amount of
+ * users for the connection.
+ *
+ * @param aConnectionId ID of the connection to disconnect
+ */
+ void Disconnect( TUint aConnectionId );
+
+protected:
+
+private:
+
+ CWsfKeepaliveConnMonDisc();
+
+ void ConstructL();
+
+private: // Data
+
+ /**
+ * Handle to Connection Monitor Server
+ */
+ RConnectionMonitor iMonitor;
+ };
+
+#endif // WSFKEEPALIVECONNMONDISC_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/inc/wsfkeepaliveesock.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,100 @@
+/*
+* Copyright (c) 2010 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:
+* Esock library (RConnection) interface implementation.
+*/
+
+#ifndef WSFKEEPALIVEESOCK_H
+#define WSFKEEPALIVEESOCK_H
+
+// System includes
+
+#include <es_sock.h>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Global function prototypes
+
+// Constants
+
+// Class declaration
+
+/**
+ * Esock library (RConnection) interface implementation.
+ *
+ * This class implements RConnection opening and closing using the Esock
+ * library.
+ */
+class CWsfKeepaliveEsock : public CActive
+{
+ // Friend classes:
+
+public:
+
+ // Data types
+
+ /** Constructors */
+
+ /**
+ * Two-phased constructor.
+ *
+ * @return New object allocated from heap
+ */
+ static CWsfKeepaliveEsock* NewL();
+
+ /**> Destructor */
+ virtual ~CWsfKeepaliveEsock();
+
+public:
+
+ /**
+ * Starts connection creation.
+ *
+ * @param aIapId ID of the IAP to connect
+ */
+ void ConnectL( TUint aIapId );
+
+ /**
+ * Stops connection.
+ */
+ void Disconnect();
+
+private:
+
+ CWsfKeepaliveEsock();
+
+ void ConstructL();
+
+ void RunL();
+
+ void DoCancel();
+
+private: // Data
+
+ /**
+ * Handle to Socket Server
+ */
+ RSocketServ iSocketServer;
+
+ /**
+ * Handle to RConnection object
+ */
+ RConnection iConnection;
+};
+
+#endif // WSFKEEPALIVEESOCK_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/inc/wsfkeepalivetimer.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,121 @@
+/*
+* Copyright (c) 2010 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:
+* Timer implementation.
+*/
+
+#ifndef WSFKEEPALIVETIMER_H
+#define WSFKEEPALIVETIMER_H
+
+// System includes
+
+#include <e32base.h>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Global function prototypes
+
+// Constants
+
+// Class declaration
+
+/**
+ * Timer interface class.
+ *
+ * This is an interface class, which the Keepalive implementation needs
+ * to inherit in order to receive timer notifications.
+ */
+class MWsfKeepaliveTimerNotify
+ {
+public:
+
+ /**
+ * Pure virtual timer expiration function that needs to be
+ * implemented in the Keepalive implementation class.
+ *
+ * @param aError Status of the timer event
+ */
+ virtual void TimerExpired( TInt aError ) = 0;
+ };
+
+/**
+ * Timer implementation.
+ *
+ * This is the actual timer implementation class.
+ */
+class CWsfKeepaliveTimer: public CActive
+{
+ // Friend classes:
+
+public:
+
+ // Data types
+
+ /** Constructors */
+
+ /**
+ * Two-phased constructor.
+ *
+ * @param aNotify Timer expirations are notified to this class
+ * @return New object allocated from heap
+ */
+ static CWsfKeepaliveTimer* NewL( MWsfKeepaliveTimerNotify& aNotify );
+
+ /**> Destructor */
+ virtual ~CWsfKeepaliveTimer();
+
+public:
+
+ /**
+ * Sets the timer to expire after the given interval.
+ *
+ * @param aInterval Interval in microseconds
+ */
+ void After( TTimeIntervalMicroSeconds32 aInterval );
+
+ /**
+ * Stops the timer.
+ */
+ void Stop();
+
+protected:
+
+private:
+
+ CWsfKeepaliveTimer( MWsfKeepaliveTimerNotify& aNotify );
+
+ void ConstructL();
+
+ void RunL();
+
+ void DoCancel();
+
+private: // Data
+
+ /**
+ * Actual timer object
+ */
+ RTimer iTimer;
+
+ /**
+ * Timer expirations are notified to this class
+ */
+ MWsfKeepaliveTimerNotify& iNotify;
+ };
+
+#endif // WSFKEEPALIVETIMER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/rom/wsfkeepalive.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2010 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:
+ * Wlan Sniffer Keepalive process iby.
+ */
+
+#ifndef WSFKEEPALIVE_IBY
+#define WSFKEEPALIVE_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR\BUILD_DIR\wlansnifferkeepalive.exe PROGRAMS_DIR\wlansnifferkeepalive.exe
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WSFKEEPALIVE_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/src/main.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2010 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:
+* Wlan Sniffer Keepalive main function.
+*/
+
+// System include files
+
+#include <e32base.h>
+#include <e32std.h>
+
+// User include files
+
+#include "wsfkeepalive.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "mainTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Main implementation run in the active scheduler.
+// ---------------------------------------------------------------------------
+//
+LOCAL_C void MainL()
+ {
+ OstTraceFunctionEntry0( WSFKEEPALIVEMAINL_ENTRY );
+
+ // Create the main implementation class and start monitoring events
+ CWsfKeepalive* implementation = CWsfKeepalive::NewL();
+
+ // Start active scheduler
+ CActiveScheduler::Start();
+
+ // All finished, cleanup
+ delete implementation;
+
+ OstTraceFunctionExit0( WSFKEEPALIVEMAINL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Starts main implementation.
+// ---------------------------------------------------------------------------
+//
+LOCAL_C void DoStartL()
+ {
+ OstTraceFunctionEntry0( WSFKEEPALIVEDOSTARTL_ENTRY );
+
+ // Create active scheduler (to run active objects)
+ CActiveScheduler* scheduler = new (ELeave) CActiveScheduler();
+ CleanupStack::PushL( scheduler );
+ CActiveScheduler::Install( scheduler );
+
+ MainL();
+
+ // Delete active scheduler
+ CleanupStack::PopAndDestroy( scheduler );
+
+ OstTraceFunctionExit0( WSFKEEPALIVEDOSTARTL_EXIT );
+ }
+
+// ======== GLOBAL FUNCTIONS ========
+
+// ---------------------------------------------------------------------------
+// Main function of the application executable.
+// ---------------------------------------------------------------------------
+//
+GLDEF_C TInt E32Main()
+ {
+ OstTraceFunctionEntry0( WSFKEEPALIVEE32MAIN_ENTRY );
+
+ // Create cleanup stack
+ __UHEAP_MARK;
+ CTrapCleanup* cleanup = CTrapCleanup::New();
+
+ // Run application code inside TRAP harness
+ TRAPD( mainError, DoStartL() );
+ if ( mainError )
+ {
+ OstTrace1(
+ TRACE_FATAL,
+ _E32MAIN_ERROR,
+ "::E32Main Error;mainError=%d",
+ mainError );
+ }
+
+ delete cleanup;
+ __UHEAP_MARKEND;
+
+ OstTraceFunctionExit0( WSFKEEPALIVEE32MAIN_EXIT );
+ return KErrNone;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/src/wsfkeepalive.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,365 @@
+/*
+* Copyright (c) 2010 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:
+* Main implementation of Wlan Sniffer Keepalive application.
+*/
+
+// System include files
+
+#include <rconnmon.h>
+
+// User include files
+
+#include "wsfkeepalivetimer.h"
+#include "wsfkeepalivecmm.h"
+#include "wsfkeepaliveconnmon.h"
+#include "wsfkeepaliveconnmondisc.h"
+#include "wsfkeepaliveesock.h"
+#include "wsfkeepalive.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wsfkeepaliveTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+// We need to poll for client info every 5 seconds
+static const int KKeepalivePollInterval = 5000000;
+
+// We can close a connection after 5 minutes of inactivity
+static const int KKeepaliveInactivityInterval = 300;
+
+// UID of Wlan sniffer application
+static const TUid KWlanSnifferUid = { 0x10281CAA };
+
+// UID of Wlan login application
+static const TUid KWlanloginUid = { 0x2002E6D0 };
+
+// List of UIDs of clients not considered as "real"
+static const TUid KDiscardedClientUids[] =
+ {
+ { 0x2002FF5F }, // Sniffer keepalive process, that is, us
+ KWlanSnifferUid, // Sniffer application (wlansniffer.exe)
+ KWlanloginUid, // Wlan Login application (wlanlogin.exe)
+ { 0x101fD9C5 } // DHCP server (dhcpserv.exe)
+ };
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+CWsfKeepalive* CWsfKeepalive::NewL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_NEWL_ENTRY );
+
+ CWsfKeepalive* me = new ( ELeave ) CWsfKeepalive();
+ CleanupStack::PushL( me );
+ me->ConstructL();
+ CleanupStack::Pop( me );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_NEWL_EXIT );
+ return me;
+ }
+
+CWsfKeepalive::~CWsfKeepalive()
+ {
+ OstTraceFunctionEntry0( DUP1_CWSFKEEPALIVE_CWSFKEEPALIVE_ENTRY );
+
+ delete iEsock;
+ delete iConnMonDisc;
+ delete iCmMgr;
+ delete iConnMon;
+ delete iTimer;
+
+ OstTraceFunctionExit0( DUP1_CWSFKEEPALIVE_CWSFKEEPALIVE_EXIT );
+ }
+
+void CWsfKeepalive::TimerExpired( TInt aError )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_TIMEREXPIRED_ENTRY );
+
+ TBool restartTimer = ETrue; // Should we restart timer or not?
+ if ( aError == KErrNone )
+ {
+ // Timer successfully completed, handle it
+ if ( NoRealClients( iConnectionId ) )
+ {
+ TTime now;
+ now.UniversalTime();
+
+ // Check whether we are moving from EActiveWithClients to
+ // EActiveNoClients
+ if ( iState == EActiveWithClients )
+ {
+ OstTrace0(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_TIMEREXPIRED_RESET,
+ "CWsfKeepalive::TimerExpired Keepalive time reset" );
+
+ // Connection had clients, but doesn't anymore. Keepalive
+ // inactivity time starts now
+ iKeepaliveStart = now;
+ }
+ // Check whether keepalive time has been reached
+ else if ( iKeepaliveStart +
+ TTimeIntervalSeconds( KKeepaliveInactivityInterval ) <= now )
+ {
+ OstTrace0(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_TIMEREXPIRED_DONE,
+ "CWsfKeepalive::TimerExpired Keepalive time expired" );
+
+ // Keepalive time limit expired, connection should be stopped
+ iEsock->Disconnect();
+ iConnMonDisc->Disconnect( iConnectionId );
+ restartTimer = EFalse;
+ }
+
+ // There are now no real clients for the connection
+ SetState( EActiveNoClients );
+ }
+ else
+ {
+ // One or more real clients are using the connection
+ SetState( EActiveWithClients );
+ }
+ }
+ else
+ {
+ // Timer not successful, probably because we stopped it
+ restartTimer = EFalse;
+ }
+
+ if ( restartTimer )
+ {
+ TTimeIntervalMicroSeconds32 interval( KKeepalivePollInterval );
+ iTimer->After( interval );
+ }
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_TIMEREXPIRED_EXIT );
+ }
+
+void CWsfKeepalive::WlanConnectionOpenedL( TUint aConnectionId, TUint aIapId )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_WLANCONNECTIONOPENEDL_ENTRY );
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_WLANCONNECTIONOPENED,
+ "CWsfKeepalive::WlanConnectionOpened;aConnectionId=%u;aIapId=%u",
+ aConnectionId,
+ aIapId );
+
+ // We are only interested in connections opened by the Wlan Sniffer
+ if ( OpenedByWlanSniffer( aConnectionId ) )
+ {
+ // Start to monitor this connection, and add us as a user to the
+ // connection
+ iConnectionId = aConnectionId;
+ iIapId = aIapId;
+ iEsock->ConnectL( aIapId );
+
+ // Assume there are no real clients yet. Setup timer for polling
+ // when real clients might be added to the connection
+ SetState( EActiveNoClients );
+ iKeepaliveStart.UniversalTime();
+
+ OstTrace0(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_WLANCONNECTIONOPENED_RESET,
+ "CWsfKeepalive::WlanConnectionOpened Keepalive time reset" );
+
+ TTimeIntervalMicroSeconds32 interval( KKeepalivePollInterval );
+ iTimer->After( interval );
+ }
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_WLANCONNECTIONOPENEDL_EXIT );
+ }
+
+void CWsfKeepalive::WlanConnectionClosed()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_WLANCONNECTIONCLOSED_ENTRY );
+
+ // No need to monitor anything anymore
+ SetState( EInactive );
+ iConnectionId = KInvalidConnectionId;
+ // Stop also the polling timer
+ iTimer->Stop();
+
+ OstTrace1(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_WLANCONNECTIONCLOSED_IAPID,
+ "CWsfKeepalive::WlanConnectionClosed iapId=%d",
+ iIapId );
+
+ // If connected to hotspot IAP, the IAP must be deleted
+ if ( iCmMgr->GetHotspotInfoL( iIapId ) )
+ {
+ OstTrace0(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_WLANCONNECTIONCLOSED_HOTSPOTDETECTED,
+ "CWsfKeepalive::WlanConnectionClosed Hotspot IAP detected" );
+
+ if ( !iCmMgr->DeleteHotspotIapL( iIapId ) )
+ {
+ OstTrace0(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_WLANCONNECTIONCLOSED_HOTSPOTDELETEFAILED,
+ "CWsfKeepalive::WlanConnectionClosed Hotspot delete failed" );
+ }
+ iIapId = 0;
+ }
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_WLANCONNECTIONCLOSED_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CWsfKeepalive::CWsfKeepalive() :
+ iConnectionId( KInvalidConnectionId ),
+ iState( EInactive ),
+ iIapId( 0 )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_CWSFKEEPALIVE_ENTRY );
+ OstTraceFunctionExit0( CWSFKEEPALIVE_CWSFKEEPALIVE_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Leaving constructor
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepalive::ConstructL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_CONSTRUCTL_ENTRY );
+
+ iTimer = CWsfKeepaliveTimer::NewL( *this );
+ iConnMon = CWsfKeepaliveConnMon::NewL( *this );
+ iConnMonDisc = CWsfKeepaliveConnMonDisc::NewL();
+ iEsock = CWsfKeepaliveEsock::NewL();
+ iCmMgr = CWsfKeepaliveCmm::NewL();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_CONSTRUCTL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Checks whether the given connection was opened by the Wlan Sniffer
+// application
+// ---------------------------------------------------------------------------
+//
+TBool CWsfKeepalive::OpenedByWlanSniffer( TUint aConnectionId )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_OPENEDBYWLANSNIFFER_ENTRY );
+
+ TBool retVal = EFalse;
+
+ // Get all clients of this connection
+ TConnMonClientEnumBuf clientInfo;
+ iConnMon->GetClientInfo( clientInfo, aConnectionId );
+
+ // Check whether Wlan sniffer is one of the clients
+ for ( TInt i( 0 ); i < clientInfo().iCount; ++i )
+ {
+ if ( clientInfo().iUid[i] == KWlanSnifferUid )
+ {
+ // Match found, stop looking
+ retVal = ETrue;
+ break;
+ }
+ }
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_OPENEDBYWLANSNIFFER,
+ "CWsfKeepalive::OpenedByWlanSniffer;aConnectionId=%u;retVal=%u",
+ aConnectionId,
+ retVal );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_OPENEDBYWLANSNIFFER_EXIT );
+ return retVal;
+ }
+
+// ---------------------------------------------------------------------------
+// Checks whether there are any real clients using the given connection
+// ---------------------------------------------------------------------------
+//
+TBool CWsfKeepalive::NoRealClients( TUint aConnectionId )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_NOREALCLIENTS_ENTRY );
+
+ // Get all clients of this connection
+ TConnMonClientEnumBuf clientInfo;
+ iConnMon->GetClientInfo( clientInfo, aConnectionId );
+
+ // Get the client count
+ TInt clientCount = clientInfo().iCount;
+
+ TInt discardedClientCount = sizeof( KDiscardedClientUids ) / sizeof( TUid );
+
+ // Decrease count by each non-real client we must discard
+ for ( TInt i( 0 ); i < clientInfo().iCount; ++i )
+ {
+ for ( TInt j( 0 ); j < discardedClientCount; ++j )
+ {
+ if ( clientInfo().iUid[i] == KDiscardedClientUids[j] )
+ {
+ OstTrace1(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_NOREALCLIENTS_DISCARD,
+ "CWsfKeepalive::NoRealClients Client discarded;clientInfo().iUid[i].iUid=%x",
+ clientInfo().iUid[i].iUid );
+ --clientCount;
+ break;
+ }
+ }
+ }
+
+ // If we reached zero, there were no real clients
+ TBool retVal = clientCount == 0 ? ETrue : EFalse;
+ OstTraceExt2(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_NOREALCLIENTS,
+ "CWsfKeepalive::NoRealClients;aConnectionId=%u;retVal=%u",
+ aConnectionId,
+ retVal );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_NOREALCLIENTS_EXIT );
+ return retVal;
+ }
+
+// ---------------------------------------------------------------------------
+// Sets the given state and traces the transition, if state changed.
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepalive::SetState( TUint aState )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVE_SETSTATE_ENTRY );
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ if ( aState != iState )
+ {
+ OstTrace1(
+ TRACE_NORMAL,
+ CWSFKEEPALIVE_SETSTATE,
+ "CWsfKeepalive::SetState;aState=%{State}",
+ aState );
+ }
+#endif
+ iState = aState;
+
+ OstTraceFunctionExit0( CWSFKEEPALIVE_SETSTATE_EXIT );
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/src/wsfkeepalivecmm.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,135 @@
+/*
+ * Copyright (c) 2010 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:
+ * Connection Method Manager interface implementation.
+ */
+
+// System include files
+
+#include <nifvar.h>
+#include <cmmanagerdef.h>
+#include <cmconnectionmethod.h>
+
+// User include files
+
+#include "wsfkeepalive.h"
+#include "wsfkeepalivecmm.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wsfkeepalivecmmTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+CWsfKeepaliveCmm* CWsfKeepaliveCmm::NewL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECMM_NEWL_ENTRY );
+
+ CWsfKeepaliveCmm* me = new ( ELeave ) CWsfKeepaliveCmm();
+ CleanupStack::PushL( me );
+ me->ConstructL();
+ CleanupStack::Pop( me );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECMM_NEWL_EXIT );
+ return me;
+ }
+
+CWsfKeepaliveCmm::~CWsfKeepaliveCmm()
+ {
+ OstTraceFunctionEntry0(
+ DUP1_CWSFKEEPALIVECMM_CWSFKEEPALIVECMM_ENTRY );
+
+ iCmManager.Close();
+
+ OstTraceFunctionExit0(
+ DUP1_CWSFKEEPALIVECMM_CWSFKEEPALIVECMM_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CWsfKeepaliveCmm::CWsfKeepaliveCmm()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECMM_CWSFKEEPALIVECMM_ENTRY );
+ OstTraceFunctionExit0( CWSFKEEPALIVECMM_CWSFKEEPALIVECMM_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Leaving constructor
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveCmm::ConstructL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECMM_CONSTRUCTL_ENTRY );
+
+ iCmManager.OpenL();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECMM_CONSTRUCTL_EXIT );
+ }
+
+// ---------------------------------------------------------
+// Gets Hotspot metadata information
+// ---------------------------------------------------------
+//
+TBool CWsfKeepaliveCmm::GetHotspotInfoL(TInt32 aIapId)
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECMM_GETHOTSPOTINFO_ENTRY );
+ TBool isHotspotIap = EFalse;
+
+ RCmConnectionMethod connectionMethod = iCmManager.ConnectionMethodL(aIapId);
+
+ TRAPD(err, isHotspotIap = connectionMethod.GetBoolAttributeL( CMManager::ECmMetaHotSpot ));
+
+ if (err != KErrNone)
+ {
+ isHotspotIap = EFalse;
+ }
+
+ OstTrace1(
+ TRACE_NORMAL,
+ CWSFKEEPALIVECMM_GETHOTSPOTINFO_HOTSPOT,
+ "CWsfKeepaliveCmm::GetHotspotInfoL isHotspotIap=%d",
+ isHotspotIap );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECMM_GETHOTSPOTINFO_EXIT );
+ return isHotspotIap;
+ }
+
+// ---------------------------------------------------------
+// Delete Hotspot IAP
+// ---------------------------------------------------------
+//
+TBool CWsfKeepaliveCmm::DeleteHotspotIapL(TInt32 aIapId)
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECMM_DELETEHOTSPOTIAP_ENTRY );
+ TBool ret = EFalse;
+
+ RCmConnectionMethod connectionMethod = iCmManager.ConnectionMethodL(aIapId);
+ TRAPD(err, ret = connectionMethod.DeleteL());
+
+ if (err != KErrNone)
+ {
+ ret = EFalse;
+ }
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECMM_DELETEHOTSPOTIAP_EXIT );
+ return ret;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/src/wsfkeepaliveconnmon.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,213 @@
+/*
+ * Copyright (c) 2010 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:
+ * Connection Monitor interface implementation.
+ */
+
+// System include files
+
+#include <rconnmon.h>
+#include <nifvar.h>
+
+// User include files
+
+#include "wsfkeepalive.h"
+#include "wsfkeepaliveconnmon.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wsfkeepaliveconnmonTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+CWsfKeepaliveConnMon* CWsfKeepaliveConnMon::NewL( CWsfKeepalive& aNotify )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMON_NEWL_ENTRY );
+
+ CWsfKeepaliveConnMon* me = new ( ELeave ) CWsfKeepaliveConnMon( aNotify );
+ CleanupStack::PushL( me );
+ me->ConstructL();
+ CleanupStack::Pop( me );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMON_NEWL_EXIT );
+ return me;
+ }
+
+CWsfKeepaliveConnMon::~CWsfKeepaliveConnMon()
+ {
+ OstTraceFunctionEntry0(
+ DUP1_CWSFKEEPALIVECONNMON_CWSFKEEPALIVECONNMON_ENTRY );
+
+ // Stop monitoring observer events
+ iMonitor.CancelNotifications();
+ iMonitor.Close();
+
+ OstTraceFunctionExit0(
+ DUP1_CWSFKEEPALIVECONNMON_CWSFKEEPALIVECONNMON_EXIT );
+ }
+
+void CWsfKeepaliveConnMon::GetClientInfo(
+ TConnMonClientEnumBuf& aClientInfo,
+ TUint aConnectionId )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMON_GETCLIENTINFO_ENTRY );
+
+ // Get all clients of this connection
+ TRequestStatus status;
+ iMonitor.GetPckgAttribute(
+ aConnectionId,
+ 0,
+ KClientInfo,
+ aClientInfo,
+ status );
+ User::WaitForRequest( status );
+ if ( status.Int() != KErrNone )
+ {
+ // Make sure we don't try to use the result buffer since its
+ // contents are not ok
+ aClientInfo().iCount = 0;
+ }
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ for ( TInt i( 0 ); i < aClientInfo().iCount; ++i )
+ {
+ OstTrace1(
+ TRACE_NORMAL,
+ CWSFKEEPALIVECONNMON_GETCLIENTINFO,
+ "CWsfKeepaliveConnMon::GetClientInfo Client ID;aClientInfo().iUid[i].iUid=%x",
+ aClientInfo().iUid[i].iUid );
+ }
+#endif
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMON_GETCLIENTINFO_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CWsfKeepaliveConnMon::CWsfKeepaliveConnMon( CWsfKeepalive& aNotify ) :
+ iNotify( aNotify ),
+ iMonitoringConnectionId( CWsfKeepalive::KInvalidConnectionId )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMON_CWSFKEEPALIVECONNMON_ENTRY );
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMON_CWSFKEEPALIVECONNMON_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Leaving constructor
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveConnMon::ConstructL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMON_CONSTRUCTL_ENTRY );
+
+ iMonitor.ConnectL();
+ // Start monitoring observer events
+ iMonitor.NotifyEventL( *this );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMON_CONSTRUCTL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Event method is called every time an observer event occures
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveConnMon::EventL( const CConnMonEventBase& aConnMonEvent )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMON_EVENTL_ENTRY );
+
+ TUint connectionId = aConnMonEvent.ConnectionId();
+ TInt bearer;
+ TRequestStatus status;
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ CWSFKEEPALIVECONNMON_EVENTL_EVENTTYPE,
+ "CWsfKeepaliveConnMon::EventL;connectionId=%u;aConnMonEvent.EventType()=%{ConnMonEvent}",
+ connectionId,
+ aConnMonEvent.EventType() );
+
+ const CConnMonConnectionStatusChange* connectionStatusChangeEvent;
+ switch ( aConnMonEvent.EventType() )
+ {
+ case EConnMonDeleteConnection:
+ // We are only interested in one connection
+ if ( connectionId == iMonitoringConnectionId )
+ {
+ iNotify.WlanConnectionClosed();
+ iMonitoringConnectionId = CWsfKeepalive::KInvalidConnectionId;
+ }
+ break;
+
+ case EConnMonConnectionStatusChange:
+ connectionStatusChangeEvent =
+ static_cast<
+ const CConnMonConnectionStatusChange* >( &aConnMonEvent );
+
+ OstTrace1(
+ TRACE_NORMAL,
+ CWSFKEEPALIVECONNMON_EVENTL_CONNSTATUS,
+ "CWsfKeepaliveConnMon::EventL;connectionStatusChangeEvent->ConnectionStatus()=%{ConnMonConnStatus}",
+ connectionStatusChangeEvent->ConnectionStatus() );
+
+ // We are only interested in connected event
+ if ( connectionStatusChangeEvent->ConnectionStatus()
+ == KLinkLayerOpen )
+ {
+ // Get the connection bearer type.
+ iMonitor.GetIntAttribute(
+ connectionId,
+ 0,
+ KBearer,
+ bearer,
+ status );
+ User::WaitForRequest( status );
+
+ // We are only interested in WLAN connections
+ if ( status.Int() == KErrNone && bearer == EBearerWLAN )
+ {
+ // Get connection IAP ID.
+ TUint iapId = 0;
+ iMonitor.GetUintAttribute(
+ connectionId,
+ 0,
+ KIAPId,
+ iapId,
+ status );
+ User::WaitForRequest( status );
+
+ if ( status == KErrNone )
+ {
+ iNotify.WlanConnectionOpenedL( connectionId, iapId );
+ // Remember this connection
+ iMonitoringConnectionId = connectionId;
+ }
+ }
+ }
+ break;
+
+ default:
+ // Not interesting
+ break;
+ }
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMON_EVENTL_EXIT );
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/src/wsfkeepaliveconnmondisc.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2010 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:
+ * Connection Monitor disconnect interface implementation.
+ */
+
+// System include files
+
+#include <rconnmon.h>
+
+// User include files
+
+#include "wsfkeepaliveconnmondisc.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wsfkeepaliveconnmondiscTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+CWsfKeepaliveConnMonDisc* CWsfKeepaliveConnMonDisc::NewL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMONDISC_NEWL_ENTRY );
+
+ CWsfKeepaliveConnMonDisc* me = new ( ELeave ) CWsfKeepaliveConnMonDisc();
+ CleanupStack::PushL( me );
+ me->ConstructL();
+ CleanupStack::Pop( me );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMONDISC_NEWL_EXIT );
+ return me;
+ }
+
+CWsfKeepaliveConnMonDisc::~CWsfKeepaliveConnMonDisc()
+ {
+ OstTraceFunctionEntry0(
+ DUP1_CWSFKEEPALIVECONNMONDISC_CWSFKEEPALIVECONNMONDISC_ENTRY );
+
+ iMonitor.Close();
+
+ OstTraceFunctionExit0(
+ DUP1_CWSFKEEPALIVECONNMONDISC_CWSFKEEPALIVECONNMONDISC_EXIT );
+ }
+
+void CWsfKeepaliveConnMonDisc::Disconnect( TUint aConnectionId )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMONDISC_DISCONNECT_ENTRY );
+
+ TInt KErr = iMonitor.SetBoolAttribute(
+ aConnectionId,
+ 0,
+ KConnectionStop,
+ ETrue );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMONDISC_DISCONNECT_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CWsfKeepaliveConnMonDisc::CWsfKeepaliveConnMonDisc()
+ {
+ OstTraceFunctionEntry0(
+ CWSFKEEPALIVECONNMONDISC_CWSFKEEPALIVECONNMONDISC_ENTRY );
+ OstTraceFunctionExit0(
+ CWSFKEEPALIVECONNMONDISC_CWSFKEEPALIVECONNMONDISC_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Leaving constructor
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveConnMonDisc::ConstructL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVECONNMONDISC_CONSTRUCTL_ENTRY );
+
+ iMonitor.ConnectL();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVECONNMONDISC_CONSTRUCTL_EXIT );
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/src/wsfkeepaliveesock.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,151 @@
+/*
+* Copyright (c) 2010 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:
+* Esock library (RConnection) interface implementation.
+*/
+
+// System include files
+
+#include <e32base.h>
+#include <es_sock.h>
+#include <in_sock.h>
+#include <extendedconnpref.h>
+
+// User include files
+
+#include "wsfkeepaliveesock.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wsfkeepaliveesockTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+CWsfKeepaliveEsock* CWsfKeepaliveEsock::NewL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVEESOCK_NEWL_ENTRY );
+
+ CWsfKeepaliveEsock* me = new ( ELeave ) CWsfKeepaliveEsock();
+ CleanupStack::PushL( me );
+ me->ConstructL();
+ CleanupStack::Pop( me );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVEESOCK_NEWL_EXIT );
+ return me;
+ }
+
+CWsfKeepaliveEsock::~CWsfKeepaliveEsock()
+ {
+ OstTraceFunctionEntry0(
+ DUP1_CWSFKEEPALIVEESOCK_CWSFKEEPALIVEESOCK_ENTRY );
+
+ Cancel();
+ iSocketServer.Close();
+
+ OstTraceFunctionExit0( DUP1_CWSFKEEPALIVEESOCK_CWSFKEEPALIVEESOCK_EXIT );
+ }
+
+void CWsfKeepaliveEsock::ConnectL( TUint aIapId )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVEESOCK_CONNECTL_ENTRY );
+
+ // Open an RConnection object.
+ User::LeaveIfError( iConnection.Open( iSocketServer ) );
+
+ // Create overrides for connection preferences to force opening of the
+ // given IAP without any user prompts.
+ TConnPrefList prefList;
+ TExtendedConnPref prefs;
+ prefs.SetIapId( aIapId );
+ prefs.SetNoteBehaviour( TExtendedConnPref::ENoteBehaviourConnSilent );
+ prefList.AppendL( &prefs );
+
+ // Start a connection with connection preferences
+ iConnection.Start( prefList, iStatus );
+
+ SetActive();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVEESOCK_CONNECTL_EXIT );
+ }
+
+void CWsfKeepaliveEsock::Disconnect()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVEESOCK_DISCONNECT_ENTRY );
+
+ iConnection.Close();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVEESOCK_DISCONNECT_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CWsfKeepaliveEsock::CWsfKeepaliveEsock() :
+ CActive( EPriorityStandard )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVEESOCK_CWSFKEEPALIVEESOCK_ENTRY );
+ OstTraceFunctionExit0( CWSFKEEPALIVEESOCK_CWSFKEEPALIVEESOCK_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Leaving constructor
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveEsock::ConstructL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVEESOCK_CONSTRUCTL_ENTRY );
+
+ CActiveScheduler::Add( this );
+ User::LeaveIfError( iSocketServer.Connect() );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVEESOCK_CONSTRUCTL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Handles an active object's request completion event
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveEsock::RunL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVEESOCK_RUNL_ENTRY );
+
+ OstTrace1(
+ TRACE_NORMAL,
+ CWSFKEEPALIVEESOCK_RUNL,
+ "CWsfKeepaliveEsock::RunL;iStatus.Int()=%d",
+ iStatus.Int() );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVEESOCK_RUNL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Implements cancellation of an outstanding request
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveEsock::DoCancel()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVEESOCK_DOCANCEL_ENTRY );
+
+ // Disconnect a (possibly) ongoing request
+ Disconnect();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVEESOCK_DOCANCEL_EXIT );
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/src/wsfkeepalivetimer.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,132 @@
+/*
+* Copyright (c) 2010 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:
+* Timer implementation.
+*/
+
+// System include files
+
+// User include files
+
+#include "wsfkeepalivetimer.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wsfkeepalivetimerTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+CWsfKeepaliveTimer* CWsfKeepaliveTimer::NewL(
+ MWsfKeepaliveTimerNotify& aNotify )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVETIMER_NEWL_ENTRY );
+
+ CWsfKeepaliveTimer* me =
+ new ( ELeave ) CWsfKeepaliveTimer( aNotify );
+ CleanupStack::PushL( me );
+ me->ConstructL();
+ CleanupStack::Pop( me );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVETIMER_NEWL_EXIT );
+ return me;
+ }
+
+CWsfKeepaliveTimer::~CWsfKeepaliveTimer()
+ {
+ OstTraceFunctionEntry0( DUP1_CWSFKEEPALIVETIMER_CWSFKEEPALIVETIMER_ENTRY );
+
+ Cancel();
+ iTimer.Close();
+
+ OstTraceFunctionExit0( DUP1_CWSFKEEPALIVETIMER_CWSFKEEPALIVETIMER_EXIT );
+ }
+
+void CWsfKeepaliveTimer::After( TTimeIntervalMicroSeconds32 aInterval )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVETIMER_AFTER_ENTRY );
+
+ // Cancel a (possibly) ongoing timer before starting new one
+ Cancel();
+ iTimer.After( iStatus, aInterval );
+ SetActive();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVETIMER_AFTER_EXIT );
+ }
+
+void CWsfKeepaliveTimer::Stop()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVETIMER_STOP_ENTRY );
+
+ iTimer.Cancel();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVETIMER_STOP_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Default constructor
+// ---------------------------------------------------------------------------
+//
+CWsfKeepaliveTimer::CWsfKeepaliveTimer( MWsfKeepaliveTimerNotify& aNotify ) :
+ CActive( EPriorityStandard ),
+ iNotify( aNotify )
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVETIMER_CWSFKEEPALIVETIMER_ENTRY );
+ OstTraceFunctionExit0( CWSFKEEPALIVETIMER_CWSFKEEPALIVETIMER_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Leaving constructor
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveTimer::ConstructL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVETIMER_CONSTRUCTL_ENTRY );
+
+ CActiveScheduler::Add( this );
+ User::LeaveIfError( iTimer.CreateLocal() );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVETIMER_CONSTRUCTL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Handles an active object's request completion event
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveTimer::RunL()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVETIMER_RUNL_ENTRY );
+
+ iNotify.TimerExpired( iStatus.Int() );
+
+ OstTraceFunctionExit0( CWSFKEEPALIVETIMER_RUNL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
+// Implements cancellation of an outstanding request
+// ---------------------------------------------------------------------------
+//
+void CWsfKeepaliveTimer::DoCancel()
+ {
+ OstTraceFunctionEntry0( CWSFKEEPALIVETIMER_DOCANCEL_ENTRY );
+
+ iTimer.Cancel();
+
+ OstTraceFunctionExit0( CWSFKEEPALIVETIMER_DOCANCEL_EXIT );
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+* Copyright (c) 2010 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:
+* OST trace definition header.
+*/
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansnifferkeepalive/traces/trace.properties Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<trace_properties>
+ <enum name="State">
+ <value id="0">Inactive</value>
+ <value id="1">ActiveNoClients</value>
+ <value id="2">ActiveWithClients</value>
+ </enum>
+ <!-- These come from rconnmon.h -->
+ <enum name="ConnMonEvent">
+ <value id="1">EConnMonCreateConnection</value>
+ <value id="2">EConnMonDeleteConnection</value>
+ <value id="3">EConnMonCreateSubConnection</value>
+ <value id="4">EConnMonDeleteSubConnection</value>
+ <value id="5">EConnMonDownlinkDataThreshold</value>
+ <value id="6">EConnMonUplinkDataThreshold</value>
+ <value id="7">EConnMonNetworkStatusChange</value>
+ <value id="8">EConnMonConnectionStatusChange</value>
+ <value id="9">EConnMonConnectionActivityChange</value>
+ <value id="10">EConnMonNetworkRegistrationChange</value>
+ <value id="11">EConnMonBearerChange</value>
+ <value id="12">EConnMonSignalStrengthChange</value>
+ <value id="13">EConnMonBearerAvailabilityChange</value>
+ <value id="14">EConnMonIapAvailabilityChange</value>
+ <value id="15">EConnMonTransmitPowerChange</value>
+ <value id="16">EConnMonSNAPsAvailabilityChange</value>
+ <value id="17">EConnMonNewWLANNetworkDetected</value>
+ <value id="18">EConnMonOldWLANNetworkLost</value>
+ <value id="19">EConnMonPacketDataAvailable</value>
+ <value id="20">EConnMonPacketDataUnavailable</value>
+ <value id="21">EConnMonBearerInfoChange</value>
+ <value id="22">EConnMonBearerGroupChange</value>
+ </enum>
+ <!-- These come from nifvar.h, most interesting ones are listed here -->
+ <enum name="ConnMonConnStatus">
+ <value id="0">KConnectionUninitialised</value>
+ <value id="1000">KStartingSelection</value>
+ <value id="2000">KFinishedSelection</value>
+ <value id="2001">KConnectionFailure</value>
+ <value id="4000">KDataTransferTemporarilyBlocked</value>
+ <value id="7000">KLinkLayerOpen</value>
+ <value id="8000">KLinkLayerClosed</value>
+ <value id="8100">KConfigDaemonLoading</value>
+ <value id="8200">KConfigDaemonLoaded</value>
+ <value id="8300">KConfigDaemonStartingRegistration</value>
+ <value id="8400">KConfigDaemonFinishedRegistration</value>
+ <value id="8600">KConfigDaemonStartingDeregistration</value>
+ <value id="8700">KConfigDaemonFinishedDeregistrationStop</value>
+ <value id="8800">KConfigDaemonUnloading</value>
+ <value id="8900">KConfigDaemonUnloaded</value>
+ </enum>
+</trace_properties>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanutilities.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,31 @@
+#
+# Copyright (c) 2009-2010 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:
+# Project file for wlanutilities directory in wirelessacc package.
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS += \
+ wlanqtutilities \
+ eapwizard \
+ wpswizard \
+ wlanwizard \
+ wlansniffer \
+ wlanentryplugin \
+ wlanindicatorplugin \
+ cpwlansettingsplugin \
+ wlanlogin
+
+CONFIG += ordered
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/bwins/wlanwizardu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,18 @@
+EXPORTS
+ ?qt_metacall@WlanWizard@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1 NONAME ; int WlanWizard::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ?setParameters@WlanWizard@@QAEXABVQString@@HH_N1@Z @ 2 NONAME ; void WlanWizard::setParameters(class QString const &, int, int, bool, bool)
+ ?metaObject@WlanWizard@@UBEPBUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const * WlanWizard::metaObject(void) const
+ ?trUtf8@WlanWizard@@SA?AVQString@@PBD0@Z @ 4 NONAME ; class QString WlanWizard::trUtf8(char const *, char const *)
+ ?tr@WlanWizard@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString WlanWizard::tr(char const *, char const *, int)
+ ?trUtf8@WlanWizard@@SA?AVQString@@PBD0H@Z @ 6 NONAME ; class QString WlanWizard::trUtf8(char const *, char const *, int)
+ ??_EWlanWizard@@UAE@I@Z @ 7 NONAME ; WlanWizard::~WlanWizard(unsigned int)
+ ?show@WlanWizard@@QAEXXZ @ 8 NONAME ; void WlanWizard::show(void)
+ ?cancelled@WlanWizard@@IAEXXZ @ 9 NONAME ; void WlanWizard::cancelled(void)
+ ?tr@WlanWizard@@SA?AVQString@@PBD0@Z @ 10 NONAME ; class QString WlanWizard::tr(char const *, char const *)
+ ?getStaticMetaObject@WlanWizard@@SAABUQMetaObject@@XZ @ 11 NONAME ; struct QMetaObject const & WlanWizard::getStaticMetaObject(void)
+ ??1WlanWizard@@UAE@XZ @ 12 NONAME ; WlanWizard::~WlanWizard(void)
+ ?finished@WlanWizard@@IAEXH_N@Z @ 13 NONAME ; void WlanWizard::finished(int, bool)
+ ?staticMetaObject@WlanWizard@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const WlanWizard::staticMetaObject
+ ??0WlanWizard@@QAE@PAVHbMainWindow@@@Z @ 15 NONAME ; WlanWizard::WlanWizard(class HbMainWindow *)
+ ?qt_metacast@WlanWizard@@UAEPAXPBD@Z @ 16 NONAME ; void * WlanWizard::qt_metacast(char const *)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/eabi/wlanwizardu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,18 @@
+EXPORTS
+ _ZN10WlanWizard11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+ _ZN10WlanWizard11qt_metacastEPKc @ 2 NONAME
+ _ZN10WlanWizard13setParametersERK7QStringiibb @ 3 NONAME
+ _ZN10WlanWizard16staticMetaObjectE @ 4 NONAME DATA 16
+ _ZN10WlanWizard19getStaticMetaObjectEv @ 5 NONAME
+ _ZN10WlanWizard4showEv @ 6 NONAME
+ _ZN10WlanWizard8finishedEib @ 7 NONAME
+ _ZN10WlanWizard9cancelledEv @ 8 NONAME
+ _ZN10WlanWizardC1EP12HbMainWindow @ 9 NONAME
+ _ZN10WlanWizardC2EP12HbMainWindow @ 10 NONAME
+ _ZN10WlanWizardD0Ev @ 11 NONAME
+ _ZN10WlanWizardD1Ev @ 12 NONAME
+ _ZN10WlanWizardD2Ev @ 13 NONAME
+ _ZNK10WlanWizard10metaObjectEv @ 14 NONAME
+ _ZTI10WlanWizard @ 15 NONAME
+ _ZTV10WlanWizard @ 16 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizard.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,86 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard API
+*/
+
+#ifndef WLANWIZARD_H
+#define WLANWIZARD_H
+
+// System includes
+#include <QObject>
+
+// User includes
+
+// Forward declarations
+class HbMainWindow;
+class WlanWizardPrivate;
+class TestWlanWizardContext;
+
+// External data types
+
+// Constants
+#ifdef BUILD_WLAN_WIZARD_DLL
+#define WLAN_WIZARD_EXPORT Q_DECL_EXPORT
+#else
+#define WLAN_WIZARD_EXPORT Q_DECL_IMPORT
+#endif
+
+/*!
+ @addtogroup group_wlan_wizard_api
+ @{
+ */
+class WLAN_WIZARD_EXPORT WlanWizard: public QObject
+{
+ Q_OBJECT
+
+public:
+ explicit WlanWizard(HbMainWindow *mainWindow);
+ ~WlanWizard();
+
+ void setParameters(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool usePsk,
+ bool wps);
+
+signals:
+ void cancelled();
+ void finished(int iapId, bool connected);
+
+public slots:
+ void show();
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizard)
+
+private slots:
+
+private:
+ //! Pointer to private implementation
+ WlanWizardPrivate *d_ptr;
+
+ // Friend classes
+ friend class WlanWizardPrivate;
+ friend class TestWlanWizardContext;
+};
+
+/*! @} */
+
+#endif // WLANWIZARD_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizard_p.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,192 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard: Private implementation.
+*/
+
+#ifndef WLANWIZARD_P_H
+#define WLANWIZARD_P_H
+
+// System includes
+#include <QObject>
+#include <QHash>
+
+// User includes
+#include "wlanwizardhelper.h"
+
+// Forward declarations
+class QTimer;
+class HbTranslator;
+class HbStackedWidget;
+class HbWidget;
+class HbLabel;
+class HbDialog;
+class HbAction;
+class HbDocumentLoader;
+class HbMainWindow;
+class WlanQtUtils;
+class WlanWizardPlugin;
+class WlanWizardPage;
+class WlanWizard;
+class EapWizard;
+class WpsWizard;
+
+class TestWlanWizardContext;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+class WlanWizardPrivate: public QObject, public WlanWizardHelper
+{
+ Q_OBJECT
+
+public:
+ // API implementation
+ WlanWizardPrivate(WlanWizard* wizard, HbMainWindow *mainWindow);
+ virtual ~WlanWizardPrivate();
+
+ void setParameters(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool usePsk,
+ bool wps);
+
+ void show();
+
+public:
+ // For WLAN Wizard pages
+ int getNextPageId(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool usePsk,
+ bool hidden,
+ bool wps);
+
+ WlanQtUtils* wlanQtUtils() const;
+ WlanWizardPlugin* wlanWizardPlugin() const;
+ bool isEapEnabled() const;
+ bool handleIap();
+
+public:
+ // from WlanWizardHelper, for all wizards
+ virtual QVariant configuration(ConfigurationId confId) const;
+ virtual void setConfiguration(ConfigurationId confId, const QVariant &value);
+ virtual void clearConfiguration(ConfigurationId confId);
+ virtual bool configurationExists(ConfigurationId confId);
+ virtual void enableNextButton(bool enable);
+ virtual void addPage(int pageId, WlanWizardPage *page);
+ virtual void nextPage();
+ virtual HbMainWindow* mainWindow() const;
+ virtual bool isCurrentPage(const HbWidget *page) const;
+ virtual int nextPageId(bool useWps);
+
+signals:
+
+public slots:
+
+ void cancelTriggered();
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPrivate)
+ static const int PageTimeout = 1500;
+
+private slots:
+ void previousTriggered();
+ void nextTriggered();
+ void finishTriggered();
+ void onTimeOut();
+ void startPageOperation();
+
+private:
+ void toNextPage();
+ void showPage(int pageId, bool removeFromStack);
+ void createPages();
+ void closeViews();
+ void updateFrame(int pageId);
+ void loadDocml();
+ void disconnectActions();
+
+private:
+ // Not owned pointers
+ //! Pointer to Wizard API class, needed to send signals
+ WlanWizard *q_ptr;
+ //! Pointer to mainwindow from where the wizard was launched
+ HbMainWindow *mMainWindow;
+ //! used for timer protected pages (progressbar)
+ QTimer *mPageTimer;
+ //! Wizard heading aka HbDialog::heading
+ HbLabel *mTitle;
+ //! Toolbar action: Next
+ HbAction *mActionNext;
+ //! Toolbar action: Previous
+ HbAction *mActionPrevious;
+ //! Toolbar action: Finish
+ HbAction *mActionFinish;
+ //! Toolbar action: Cancel
+ HbAction *mActionCancel;
+ /*! acts as HbDialog::contentWidget. When next is clicked a wizard page
+ (HbWidget) is added to the stack. When prev is pressed the current
+ item is removed from the stack. The previous pages are always in the
+ stacked widget
+ */
+ HbStackedWidget *mStackedWidget;
+
+ // Owned pointers
+
+ //! Dialog, from docml
+ QScopedPointer<HbDialog> mDialog;
+ //! Translator
+ QScopedPointer<HbTranslator> mTranslator;
+ //! Provides services like: create/update iap, scan, connect, disconnect
+ QScopedPointer<WlanQtUtils> mWlanQtUtils;
+ //! Document loader for docml
+ QScopedPointer<HbDocumentLoader> mDocLoader;
+ //! Extensible Authentication Protocol (EAP) Wizard plugin, instantiated
+ //! when required
+ QScopedPointer<EapWizard> mEapWizard;
+ //! Wifi Protected Setup (WPS) Wizard plugin, instantiated when required
+ QScopedPointer<WpsWizard> mWpsWizard;
+ //! Maps UI object of page into a control object
+ QHash<HbWidget* , WlanWizardPage *> mPageMapper;
+ //! Maps page id to control object of page.
+ QHash<int, WlanWizardPage *> mPages;
+
+ //! Holds wlan wizard configurations.
+ QHash<ConfigurationId, QVariant> mConfigurations;
+ //! holds the page id which is displayed when WlanWizard::show() is called
+ int mFirstPageId;
+ //! Flag to keep track if movement to next page is allowed when timer is used
+ bool mPageFinished;
+ //! flag to indicate that wizard has been closed via either cancel or finish
+ bool mClosed;
+
+ // Friend classes
+ friend class WlanWizard;
+ friend class TestWlanWizardContext;
+};
+
+/*! @} */
+
+#endif // WLANWIZARD_P_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardhelper.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,210 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard Plugin API: Interface for plugins to wizard services.
+*/
+
+#ifndef WLANWIZARDHELPER_H
+#define WLANWIZARDHELPER_H
+
+// System includes
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+
+// Forward declarations
+class HbMainWindow;
+class HbWidget;
+class WlanWizardPage;
+
+// External data types
+
+// Constants
+
+/*!
+ * @addtogroup group_wlan_wizard_api_internal
+ * @{
+ */
+
+/*!
+ This class specifies the interface class that wizard plugins (EAP and WPS)
+ can use to access wizard framework services.
+ */
+class WlanWizardHelper
+{
+public:
+ /*!
+ WLAN Wizard configuration, which are accessible by wlan wizard and it's
+ plugins. WLAN wizard pages uses this information to store configurations
+ from ui and state events.
+
+ Please remember to update trace.properties upon changes.
+ */
+ enum ConfigurationId {
+ //! QString: WLAN Network name (aka SSID)
+ ConfSsid = 0,
+ //! int: CMManagerShim::WlanConnectionMode
+ ConfNetworkMode = 1,
+ //! int: CMManagerShim::WlanSecMode
+ ConfSecurityMode = 2,
+ //! QString: WPA PSK
+ ConfKeyWpa = 3,
+ //! QString: WEP Key 1
+ ConfKeyWep1 = 4,
+ //! QString: WEP Key 2
+ ConfKeyWep2 = 5,
+ //! QString: WEP Key 3
+ ConfKeyWep3 = 6,
+ //! QString: WEP Key 4
+ ConfKeyWep4 = 7,
+ //! int: CMManagerShim:::WlanWepKeyIndex, Default WEP Key index
+ ConfKeyWepDefault = 8,
+ //! bool: Internet Connectivity Test result, true passed.
+ ConfIctStatus = 9,
+ //! int, -1 (WlanQtUtils::IapIdNone): not defined: IAP ID
+ ConfIapId = 10,
+ //! bool: true if connection was established successfully
+ ConfConnected = 11,
+ //! bool: WLAN AP explicit scanning need
+ ConfWlanScanSSID = 12,
+ //! bool: if true use psk, if false use EAP
+ ConfUsePsk = 13,
+ //! bool: if true processing connection page is required.
+ ConfProcessSettings = 14,
+ //! QString: Localized error string for WlanWizardPageGenericError
+ ConfGenericErrorString = 15,
+ //! WlanWizardScanList: Available network options
+ ConfAvailableNetworkOptions = 16,
+ //! bool: Wps supported
+ ConfWpsSupported = 17,
+ //! int: Identifies how many steps should be gone backwards from
+ // GenericErrorPage
+ ConfGenericErrorPageStepsBackwards = 18,
+ };
+
+public:
+
+ /*!
+ Reader method for wlan configurations.
+
+ See ConfigurationId for further details about the data types in QVariant.
+
+ @param [in] confId Defines what configuration is read.
+
+ @return configuration value.
+ */
+ virtual QVariant configuration(ConfigurationId confId) const = 0;
+
+ /*!
+ Sets wlan configuration value for given configuration identifier.
+ See ConfigurationId for further details about the data types in QVariant.
+
+ @param [in] confId Configuration Identifier do to be set
+ @param [in] value Value for configuration.
+ */
+ virtual void setConfiguration(
+ ConfigurationId confId,
+ const QVariant &value) = 0;
+
+ /*!
+ * Clears wlan configuration at the given configuration identifier and sets
+ * the configuration value to type Invalid.
+ *
+ * @param [in] confId Configuration Identifier do to be cleared
+ */
+ virtual void clearConfiguration(ConfigurationId confId) = 0;
+
+ /*!
+ * Tests whether a configuration has been set.
+ *
+ * @param [in] confId Configuration Identifier do to be tested
+ * @return true if configuration value != Invalid, else false.
+ */
+ virtual bool configurationExists(ConfigurationId confId) = 0;
+
+ /*!
+ Enables the next button in wizard.
+
+ @param [in] enable to enable button set to true.
+ */
+ virtual void enableNextButton(bool enable) = 0;
+
+ /*!
+ Adds a new wizard page into the wizard framework.
+
+ @param [in] pageId The identifier of Page. See WlanWizardPage::PageIds.
+ @param [in] page New wizard page.
+ */
+ virtual void addPage(int pageId, WlanWizardPage *page) = 0;
+
+ /*!
+ Triggers movement to the next page.
+
+ @note This operation has been protected with 1.5 second timer to prevent
+ too short lasting pages.
+
+ @note Must be used with WlanWizardPage::startOperation().
+ */
+ virtual void nextPage() = 0;
+
+ /*!
+ @return the main window of wizard.
+ */
+ virtual HbMainWindow *mainWindow() const = 0;
+
+ /*!
+ Checks if provided page visualization is the current visible page.
+
+ @param [in] page Wizard Page visualization to be checked
+
+ @return true if the page is currently visible.
+ */
+ virtual bool isCurrentPage(const HbWidget *page) const = 0;
+
+ /*!
+ Can be used to get correct page id based on the existing configuration.
+
+ This method can be used in so called entry points to wizards
+ - WLAN Wizard has been lauched and setParameters() has been called
+ - WLAN Wizard makes own internal scanning
+ - WPS Wizard uses manual configuration mode.
+
+ @param [in] useWps true: if WPS Wizard needs to be opened, false: otherwise
+
+ @return Page Id based on configurations:
+ - WEP/WPA(2) with PSK: WlanWizardPageInternal::PageKeyQuery
+ - Open: WlanWizardPage::PageProcessSettings
+ - 802.1x or WPA (2) with EAP: WlanWizardPage::PageEapStart
+ - UseWps: WlanWizardPage::PageWpsStart
+ */
+ virtual int nextPageId(bool useWps) = 0;
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+private slots:
+
+private: // data
+};
+
+/*! @} */
+
+#endif // WLANWIZARDHELPER_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpage.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,211 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Plugin API: Interface for wizard pages.
+ *
+ */
+
+#ifndef WLANWIZARDPAGE_H
+#define WLANWIZARDPAGE_H
+
+// System includes
+
+// User includes
+
+// Forward declarations
+class HbWidget;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard_api_internal
+ @{
+ */
+
+/*!
+ Interface for wizard pages.
+
+ Princibles of the interface, see description of the method for detailed
+ information.
+ - initializePage() is called at first to create the UI visualizatio
+ - showPage() is called to detect whether next button should be enabled. This
+ method is called every time before the current page is displayed.
+ - requiresStartOperation() is called to check if page needs timer protection.
+ This is mainly used for pages where are progress bar and some asyncronous
+ operation with network layer, which commands on success to progress to next
+ wizard page.
+ - startOperation() is called to start page operation, this is called if above
+ method returs true.
+ - nextId() is called when user presses next toolbar button or when page has
+ called WlanWizardHelper::nextPage() method, which is used with timer
+ protected pages.
+ - previousTriggered() is called when previous toolbar button is pressed.
+ - cancelTriggered() is called when cancel toolbar button is pressed.
+
+ Wizard Page must implement all pure virtual methods
+ - initializePage()
+ - nextId()
+
+ For other methods there is default implementation, which can be overwritten.
+ */
+class WlanWizardPage
+{
+public:
+ //! default value for previousTriggered(), step one step.
+ static const int OneStepBackwards = 1;
+ static const int SingleResult = 1;
+
+ /*!
+ Defines common page ids for wizard and page id pools for wizard plugins.
+
+ Remember to update trace.properties file upon changes.
+ */
+ enum PageIds {
+ //! No need to change the wizard page.
+ PageNone = 0,
+ //! Process settings. Start connection and runs ict
+ PageProcessSettings,
+ //! Generic Error note page
+ PageGenericError,
+ //! Starting value for WLAN wizard page ids. Defined by WLAN Wizard.
+ PageWlanStart = 0x1000,
+ //! Starting value for EAP wizard page ids. Defined by EAP Wizard.
+ PageEapStart = 0x2000,
+ //! Starting value for WPS wizard page ids. Defined by WPS Wizard.
+ PageWpsStart = 0x3000,
+ };
+
+public:
+
+ /*!
+ Creates a visualization of the wizard page and returns ownership of the
+ object to the caller. Wizard framework deletes the visualization at the
+ desctructor of WlanWizardPrivate implementation. WizardPage control
+ object can safely use the same pointer during the life time of the
+ control object. This method is called every time when moving to a new
+ page, not when user presses "previous" button. showPage() method is
+ called in both cases.
+
+ @return pointer to a visualization of the page.
+ */
+ virtual HbWidget* initializePage() = 0;
+
+ /*!
+ This method is called, after a visualization is created with
+ initializePage() method, to detect whether next button should be enabled
+ or not. It is up to the policy of the page when next button should be
+ enabled. This method is called everytime before the current
+ active page is displayed. In other words this method is "aboutToShow()"
+
+ Default implementation: wizard page is valid and next button is enabled.
+
+ @return validity.
+ */
+ virtual bool showPage()
+ {
+ return true;
+ };
+
+ /*!
+ If the wizard page requires timer protection and asyncronous time
+ lasting operation, return true. This is used in pages e.g. where
+ progressbar is shown. The whole point is to initialize the UI before
+ starting the operation, so that the progress bar is painted before the
+ operation takes place.
+
+ In practise this means that if true is returned by this method.
+ - WlanWizardPage::startOperation() is called to start the page operation.
+ - 1.5sec timer is used to protect the page
+ - wizardPage MUST call WlanWizardHelper::nextPage() to trigger entry to
+ next wizard page.
+
+ @return true if protection is needed.
+ */
+
+ virtual bool requiresStartOperation()
+ {
+ return false;
+ };
+
+ /*!
+ In case the wizard page needs timer protection to the page use this
+ method to start control operation of the page. This method will be called
+ after requiresStartOperation() if true is returned with different call
+ stack.
+
+ See requiresStartOperation(), WlanWizardHelper::nextPage().
+ */
+ virtual void startOperation() {};
+
+ /*!
+ Returns id of next page. This method is called when end user has pressed
+ "next" toolbar button or WlanWizardHelper::nextPage() is called.
+
+ In case the wizard page does not want to make any movement forwards
+ WlanWizardPage::PageNone MUST be returned.
+
+ Default implementation: Page ID WlanWizardPage::PageNone is retuned and
+ removeFromStack is false.
+
+ @param [out] removeFromStack return value to the caller, if this page
+ needs to be removed from the stack, which means that this page cannot be
+ accessible from the next page using "previous" toolbar button.
+
+ @return page identifier of next wizard page
+ */
+ virtual int nextId(bool &removeFromStack) const
+ {
+ removeFromStack = false;
+ return WlanWizardPage::PageNone;
+ }
+
+ /*!
+ This method is called when "previous" button has been pressed.
+
+ Default implementation: one page backwards
+
+ @return how many steps should be gone backwards.
+ */
+ virtual int previousTriggered()
+ {
+ return OneStepBackwards;
+ };
+
+ /*!
+ This method is called when "cancel" button has been pressed.
+
+ Default implementation: No actions.
+ */
+ virtual void cancelTriggered() {};
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+private slots:
+
+private: // data
+};
+
+/*! @} */
+
+#endif // WLANWIZARDPAGE_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpagegenericerror.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Generic error page
+ *
+ */
+
+#ifndef WLANWIZARDPAGEGENERICERROR_H
+#define WLANWIZARDPAGEGENERICERROR_H
+
+// System includes
+
+// User includes
+#include "wlanwizardpageinternal.h"
+
+// Forward declarations
+class HbLabel;
+class WlanWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+class WlanWizardPageGenericError : public WlanWizardPageInternal
+{
+public:
+ explicit WlanWizardPageGenericError(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageGenericError();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ bool showPage();
+ int previousTriggered();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageGenericError)
+
+private slots:
+
+private: // data
+ //! Pointer to visialization of this page
+ HbWidget *mWidget;
+ //! Error label. Gets string from WlanWizardHelper::ConfGenericErrorString
+ HbLabel *mLabel;
+};
+
+/*! @} */
+
+#endif // WLANWIZARDPAGEGENERICERROR_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpageinternal.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,97 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard: Interface for wizard pages (wlan internal).
+ *
+ */
+
+#ifndef WLANWIZARDPAGEINTERNAL_H
+#define WLANWIZARDPAGEINTERNAL_H
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wlanwizardpage.h"
+
+// Forward declarations
+class HbWidget;
+class WlanWizardPrivate;
+class HbDocumentLoader;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+class WlanWizardPageInternal : public QObject, public WlanWizardPage
+{
+public:
+ /*!
+ WLAN Wizard internal pages.
+
+ Remember to update trace.properties file upon changes.
+ */
+ enum WlanPageIds {
+ //! SSID Query
+ PageSsid = WlanWizardPage::PageWlanStart,
+ //! Scanning page
+ PageScanning,
+ //! Manual network security selection page
+ PageNetworkSecurity,
+ //! WEP/WPA(2) key query page
+ PageKeyQuery,
+ //! WLAN Network mode page
+ PageNetworkMode,
+ //! Wizard summary page
+ PageSummary,
+ };
+
+public: // from WlanWizardPage
+ explicit WlanWizardPageInternal(WlanWizardPrivate *wizard);
+ virtual ~WlanWizardPageInternal();
+
+public:
+ //! Pointer to private object. Provides services to pages
+ WlanWizardPrivate* mWizard;
+
+signals:
+
+public slots:
+
+protected:
+ void loadDocmlSection(
+ HbDocumentLoader *loader,
+ Qt::Orientation orientation,
+ const QString &filename,
+ const QString &portraitSection,
+ const QString &landscapeSection) const;
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageInternal)
+
+private slots:
+
+private: // data
+};
+
+/*! @} */
+
+#endif // WLANWIZARDPAGEINTERNAL_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpagekeyquery.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,90 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Key Query page for WEP and WPA (2).
+ *
+ */
+
+#ifndef WLANWIZARDPAGEKEYQUERY_H
+#define WLANWIZARDPAGEKEYQUERY_H
+
+// System includes
+
+// User includes
+#include "wlanwizardpageinternal.h"
+#include "wlanwizardutils.h"
+
+// Forward declarations
+class QChar;
+class HbLabel;
+class HbLineEdit;
+class HbDocumentLoader;
+class WlanWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+class WlanWizardPageKeyQuery: public WlanWizardPageInternal
+{
+ Q_OBJECT
+public:
+ explicit WlanWizardPageKeyQuery(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageKeyQuery();
+
+public: // From WlanWizardPageInternal
+ HbWidget* initializePage();
+ int nextId(bool &removeFromStack) const;
+ bool showPage();
+
+signals:
+
+public slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+
+protected:
+ bool eventFilter(QObject *obj, QEvent *event);
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageKeyQuery)
+ QString keyStatusToErrorString(WlanWizardUtils::KeyStatus status) const;
+
+private slots:
+
+private:
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! Title text for line editor
+ HbLabel *mLabelTitle;
+ //! Line editor for WLAN WEP / WPA PSK key
+ HbLineEdit *mLineEdit;
+ //! Label for key specific error texts
+ HbLabel *mLabelError;
+
+ // OWNED
+ //! docml document loader
+ HbDocumentLoader *mDocLoader;
+};
+
+/*! @} */
+
+#endif // WLANWIZARDPAGEKEYQUERY_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpagenetworkmode.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,132 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Manual Network mode query page.
+ *
+ */
+
+#ifndef WLANWIZARDPAGENETWORKMODE_H
+#define WLANWIZARDPAGENETWORKMODE_H
+
+// System includes
+
+// User includes
+#include "wlanwizardpageinternal.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbLabel;
+class WlanWizardPrivate;
+class HbDocumentLoader;
+class WlanNetworkSetting;
+
+// External data types
+
+// Constants
+
+/*!
+ * @addtogroup group_wlan_wizard
+ * @{
+ */
+
+class WlanWizardPageNetworkMode : public WlanWizardPageInternal
+{
+ Q_OBJECT
+public:
+
+ explicit WlanWizardPageNetworkMode(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageNetworkMode();
+
+public: // From WlanWizardPageInternal
+ HbWidget* initializePage();
+ int nextId(bool &removeFromStack) const;
+ bool showPage();
+
+signals:
+
+public slots:
+ void itemSelected();
+ void loadDocmlSection(Qt::Orientation orientation);
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageNetworkMode)
+ void addToList(
+ QStringList &list,
+ const QString &item,
+ int mode,
+ bool isHidden,
+ bool wpsSupported);
+ void populateRadioButtonList(QStringList &list);
+ int selectNextPage(const WlanNetworkSetting &setting) const;
+
+private slots:
+
+private:
+
+ /*!
+ * Internal network mode value constant. Used when wps used.
+ */
+ static const int NetworkModeNone = -1;
+
+ /*!
+ * Pointer to the view.
+ */
+ HbWidget *mWidget;
+
+ /*!
+ * Pointer to the radio button list object.
+ */
+ HbRadioButtonList *mList;
+
+ /*!
+ * Pointer to the label object.
+ */
+ HbLabel *mLabel;
+
+ /*!
+ * Pointer to document loader object.
+ */
+ HbDocumentLoader *mLoader;
+
+ /*!
+ * True, if a mode has been selected. False otherwise.
+ */
+ bool mValid;
+
+ /*!
+ * List of network modes. This list is tied to the radio buttons during
+ * the initialization of the page.
+ */
+ QList<int> mNetworkModes;
+
+ /*!
+ * List of publicity modes. This list is tied to the radio buttons during
+ * the initialization of the page.
+ */
+ QList<bool> mIsHidden;
+
+ /*!
+ * List of wps support. This list is tied to the radio buttons during
+ * the initialization of the page.
+ */
+ QList<bool> mWpsSupported;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpageprocessingsettings.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Processing settings, connection and running ict.
+ *
+ */
+
+#ifndef WLANWIZARDPAGEPROCESSINGSETTINGS_H
+#define WLANWIZARDPAGEPROCESSINGSETTINGS_H
+
+// System includes
+
+// User includes
+#include "wlanwizardpageinternal.h"
+#include "wlanqtutils.h"
+
+// Forward declarations
+class HbDocumentLoader;
+class HbLabel;
+class WlanWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+class WlanWizardPageProcessingSettings: public WlanWizardPageInternal
+{
+ Q_OBJECT
+public:
+ explicit WlanWizardPageProcessingSettings(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageProcessingSettings();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+ int nextId(bool &removeFromStack) const;
+ bool showPage();
+ bool requiresStartOperation();
+ void startOperation();
+
+signals:
+
+public slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+ void wlanNetworkClosed(int iapId, int reason);
+ void ictResult(int iapId, int result);
+ void wlanNetworkOpened(int iapId);
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageProcessingSettings)
+
+private slots:
+
+private: // data
+ // OWNED
+ //! Docml document loader
+ HbDocumentLoader *mDocLoader;
+
+ // NOT OWNED
+ //! Visualization of the page
+ HbWidget *mWidget;
+ //! Title for text in the page
+ HbLabel *mLabel;
+ //! PageId for next wizard page
+ int mNextPageId;
+};
+
+/*! @} */
+
+#endif // WLANWIZARDPAGEPROCESSINGSETTINGS_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpagescanning.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard Page: Scan processing
+*/
+
+#ifndef WLANWIZARDPAGESCANNING_H
+#define WLANWIZARDPAGESCANNING_H
+
+// System includes
+#include <QSharedPointer>
+#include <QList>
+#include <QHash>
+
+// User includes
+#include "wlanwizardpageinternal.h"
+#include "wlanwizard.h"
+#include "wlanwizardscanlist.h"
+
+// Forward declarations
+class WlanWizardPrivate;
+class HbLabel;
+class HbProgressBar;
+class HbDocumentLoader;
+class WlanQtUtilsAp;
+
+// External data types
+
+// Constants
+
+/*!
+ * @addtogroup group_wlan_wizard
+ * @{
+ */
+
+class WlanWizardPageScanning: public WlanWizardPageInternal
+{
+ Q_OBJECT
+
+public:
+ explicit WlanWizardPageScanning(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageScanning();
+
+public:
+ HbWidget* initializePage();
+ int nextId(bool &removeFromStack) const;
+ int previousTriggered();
+ bool showPage();
+ bool requiresStartOperation();
+ void startOperation();
+
+signals:
+
+public slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+ void wlanScanResultPreCheck(int scanStatus);
+ void wlanScanDirectReady(int scanStatus);
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageScanning)
+ void wlanScanApReady();
+ void getSsidMatchList(
+ QString ssid,
+ const QList<QSharedPointer<WlanQtUtilsAp> > &matchList);
+ void getFinalScanResults(
+ const QList<QSharedPointer<WlanQtUtilsAp> > &directScanResults,
+ const QList<QSharedPointer<WlanQtUtilsAp> > &openScanResults,
+ QList<WlanScanResult> &finalResults);
+ int processMultipleScanResults(const QList<WlanScanResult> &finalResults);
+ void selectNextPageActions(const QList<WlanScanResult> &finalResults);
+
+private slots:
+
+private:
+ /*!
+ * Pointer to the view.
+ */
+ HbWidget *mWidget;
+
+ /*!
+ * Pointer to the label widget.
+ */
+ HbLabel *mLabel;
+
+ /*!
+ * Pointer to document loader object.
+ */
+ HbDocumentLoader *mLoader;
+
+ /*!
+ * The next page identifier.
+ */
+ int mNextPageId;
+
+ /*!
+ * Indicator, whether AP scan results are available or not.
+ */
+ bool mScanResultsAvailable;
+
+ /*!
+ * Indicator of the current scan status.
+ */
+ int mScanStatus;
+
+ /*!
+ * list containing the results of a normal scan of open networks.
+ */
+ QList<QSharedPointer<WlanQtUtilsAp> > mWlanApList;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpagesecuritymode.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,124 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Security mode selection
+ *
+ */
+
+#ifndef WLANWIZARDPAGESECURITYMODE_H
+#define WLANWIZARDPAGESECURITYMODE_H
+
+// System includes
+
+// User includes
+#include "wlanwizardpageinternal.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbLabel;
+class WlanWizardPrivate;
+class HbDocumentLoader;
+
+// External data types
+
+// Constants
+
+/*!
+ * @addtogroup group_wlan_wizard
+ * @{
+ */
+
+class WlanWizardPageSecurityMode: public WlanWizardPageInternal
+{
+ Q_OBJECT
+public:
+ explicit WlanWizardPageSecurityMode(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageSecurityMode();
+
+public:
+ HbWidget* initializePage();
+ int nextId(bool &removeFromStack) const;
+ bool showPage();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageSecurityMode)
+ void populateSecModeList();
+ void addToList(
+ QStringList &list,
+ const QString &item,
+ int mode,
+ int page,
+ bool psk);
+
+private slots:
+ void itemSelected();
+ void loadDocmlSection(Qt::Orientation orientation);
+
+private:
+ /*!
+ * Pointer to the view.
+ */
+ HbWidget *mWidget;
+
+ /*!
+ * Pointer to the radio button list object.
+ */
+ HbRadioButtonList *mList;
+
+ /*!
+ * Pointer to the label object.
+ */
+ HbLabel *mLabel;
+
+ /*!
+ * Pointer to document loader object.
+ */
+ HbDocumentLoader *mLoader;
+
+ /*!
+ * True, if a mode has been selected. False otherwise.
+ */
+ bool mValid;
+
+ /*!
+ * List of sequrity modes. This list is tied to the radio buttons during
+ * the initialization of the page.
+ */
+ QList<int> mSecModes;
+
+ /*!
+ * List of page identifiers. This list is tied to the radio buttons during
+ * the initialization of the page.
+ */
+ QList<int> mPageIds;
+
+ /*!
+ * List of password usage. This list is tied to the radio buttons during
+ * the initialization of the page. True, if password is to be queried,
+ * false otherwise
+ */
+ QList<bool> mUsePsk;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpagessid.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,98 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Ssid query
+ *
+ */
+
+#ifndef WLANWIZARDPAGESSID_H
+#define WLANWIZARDPAGESSID_H
+
+// System includes
+
+// User includes
+#include "wlanwizardpageinternal.h"
+#include "wlanwizardutils.h"
+
+// Forward declarations
+class WlanWizardPrivate;
+class HbLabel;
+class HbLineEdit;
+class HbDocumentLoader;
+class TestWlanWizardUi;
+
+// External data types
+
+// Constants
+
+/*!
+ * @addtogroup group_wlan_wizard
+ * @{
+ */
+
+class WlanWizardPageSsid: public WlanWizardPageInternal
+{
+ Q_OBJECT
+public:
+ explicit WlanWizardPageSsid(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageSsid();
+
+public:
+ HbWidget* initializePage();
+ virtual bool showPage();
+ int nextId(bool &removeFromStack) const;
+
+signals:
+
+public slots:
+ void loadDocmlSection(Qt::Orientation orientation);
+ void textChanged(const QString &text);
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageSsid)
+
+private slots:
+
+private:
+ /*!
+ * Pointer to the view.
+ */
+ HbWidget *mWidget;
+
+ /*!
+ * Pointer to the header label object.
+ */
+ HbLabel *mLabel;
+
+ /*!
+ * Pointer to the line edit object.
+ */
+ HbLineEdit *mSsid;
+
+ /*!
+ * Pointer to the document loader object.
+ */
+ HbDocumentLoader *mLoader;
+
+ // Friend classes
+ friend class TestWlanWizardUi;
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardpagesummary.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Summary
+ *
+ */
+
+#ifndef WLANWIZARDPAGESUMMARY_H
+#define WLANWIZARDPAGESUMMARY_H
+
+// System includes
+
+// User includes
+#include "wlanwizardpageinternal.h"
+
+// Forward declarations
+class HbLabel;
+class WlanWizardPrivate;
+class HbListWidget;
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+class WlanWizardPageSummary : public WlanWizardPageInternal
+{
+public:
+ explicit WlanWizardPageSummary(WlanWizardPrivate* parent);
+ virtual ~WlanWizardPageSummary();
+
+public: // From WlanWizardPage
+ HbWidget* initializePage();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardPageSummary)
+ void loadDocml();
+ QString networkModeText() const;
+ QString securityModeText() const;
+ void addDynamicItems(int &row);
+ void appendToList(int &row, const QString title, const QString value);
+ void appendToListPluginInfo(WlanWizardPlugin::Summary id, int &row);
+
+private slots:
+
+private: // data
+ //! Visualization of the page
+ HbListWidget *mListWidget;
+};
+
+/*! @} */
+
+#endif // WLANWIZARDPAGESUMMARY_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardplugin.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,118 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Plugin API: Service required from the wizard plugin.
+ *
+ */
+
+#ifndef WLANWIZARDPLUGIN_H
+#define WLANWIZARDPLUGIN_H
+
+// System includes
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard_api_internal
+ @{
+ */
+
+/*!
+ Interface that wizard plugin must implement or at least the plugin MUST
+ inherit this interface and use the default implementations.
+ */
+class WlanWizardPlugin
+{
+public:
+ /*!
+ Enumerators for WLAN Wizard summary page.
+ */
+ enum Summary {
+ //! EAP Outer Type
+ SummaryEapOuterType = 0,
+ //! EAP Inner Type
+ SummaryEapInnerType,
+ //! EAP Fast: Provisioning mode
+ SummaryEapFastProvisioningMode,
+ };
+
+public:
+ /*!
+ This method is used to query summary items from the wizard plugins
+ that are eap and wps wizard.
+
+ Both item and value are localized strings.
+
+ @param [in] sum Summary id to be queried
+ @param [out] item The item string is returned here
+ @param [out] value the value of item is returned here.
+
+ @return true if summary item is found, false otherwise.
+ */
+ virtual bool summary(
+ WlanWizardPlugin::Summary sum,
+ QString &item,
+ QString &value)
+ {
+ Q_UNUSED(sum);
+ Q_UNUSED(item);
+ Q_UNUSED(value);
+ return false;
+ };
+
+ /*!
+ Stores wizard specific settings if any.
+ */
+ virtual bool storeSettings()
+ {
+ return true;
+ };
+
+ /*!
+ Maps plugin specific error codes into a localized string.
+
+ @param [in] errorCode Symbian error code.
+
+ @return If mapping can be done a localized error string is returned
+ otherwise an empty string is returned. In case of empty string wlanwizard
+ will use default error code.
+ */
+ virtual QString errorString(int errorCode)
+ {
+ Q_UNUSED(errorCode);
+ return QString();
+ }
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+private slots:
+
+private: // data
+};
+/*! @} */
+
+#endif /* WLANWIZARDPLUGIN_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardscanlist.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,144 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Plugin API: Service required from the wizard plugin.
+ *
+ */
+
+#ifndef WLANWIZARDSCANLIST_H_
+#define WLANWIZARDSCANLIST_H_
+
+// System includes
+#include <QList>
+#include <QHash>
+#include <QMetaType>
+#include <QString>
+#include <QSharedPointer>
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+// User includes
+
+// Forward declarations
+class WlanQtUtilsAp;
+
+// External data types
+/*!
+ * Data structure with scan results and access point visibility information.
+ */
+class WlanScanResult
+{
+public:
+ QSharedPointer<WlanQtUtilsAp> scanResult;
+ bool networkHidden;
+};
+
+/*!
+ * Data structure containing security setting information and wizard page
+ * navigation information.
+ */
+class WlanSecuritySetting
+{
+public:
+ //! Enumerated value defined by CMManagerShim::WlanSecMode
+ int mode;
+
+ //! true, if passkey is required, false otherwise
+ bool usePsk;
+
+ /*!
+ * Identifier of the next page associated with this security mode.
+ * Page ids are defined in WlanWizardPageInternal::WlanPageIds
+ */
+ int nextPageId;
+
+ bool operator==(const WlanSecuritySetting& setting) const {
+ return (mode == setting.mode &&
+ usePsk == setting.usePsk &&
+ nextPageId == setting.nextPageId);
+ }
+};
+
+/*!
+ * Data structure containing network mode, visibility and wireless protection
+ * setup suppport information.
+ */
+class WlanNetworkSetting
+{
+public:
+ //! Enumerated value defined by CMManagerShim::WlanConnMode
+ int mode;
+
+ //! true, if hidden, false otherwise
+ bool hidden;
+
+ //! true, if supported, false otherwise
+ bool wpsSupported;
+
+ bool operator==(const WlanNetworkSetting& setting) const {
+ return (mode == setting.mode &&
+ hidden == setting.hidden &&
+ wpsSupported == setting.wpsSupported);
+ }
+};
+
+/*!
+ * Necessary public function for an argument of type WlanNetworkSetting to
+ * function as a QHash key.
+ */
+inline uint qHash(const WlanNetworkSetting &key)
+ {
+ uint hash = key.mode;
+ hash <<= 1;
+ hash |= key.hidden ? 1 : 0;
+ hash <<= 1;
+ hash |= key.wpsSupported ? 1 : 0;
+ return qHash(hash);
+ }
+
+// Constants
+
+class WlanWizardScanList
+{
+public:
+ WlanWizardScanList();
+ WlanWizardScanList(const WlanWizardScanList &scanList);
+ ~WlanWizardScanList();
+ void build(const QList<WlanScanResult> &results);
+ const WlanSecuritySetting &getSecMode(WlanNetworkSetting netMode, int index = 0) const;
+ int netModes() const;
+ int secModes(WlanNetworkSetting netMode) const;
+ QList<WlanNetworkSetting> getNetModes() const;
+ bool wpsSelected() const;
+
+private:
+ // Disabling implicit assignment operator
+ WlanWizardScanList &operator=(const WlanWizardScanList &);
+
+private:
+ QHash<WlanNetworkSetting, QList<WlanSecuritySetting> > mOpenOptions;
+ bool mWpsSelected;
+};
+
+/*!
+ * This macro makes WlanWizardScanList QVariant-compatible.
+ */
+Q_DECLARE_METATYPE(WlanWizardScanList)
+
+/*! @} */
+
+#endif /* WLANWIZARDSCANLIST_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardsummaryviewitem.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2010 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:
+ * Wlan Wizard Page: Summary: Custom list view item
+ */
+
+#ifndef WLANWIZARDSUMMARYLISTVIEWITEM_H
+#define WLANWIZARDSUMMARYLISTVIEWITEM_H
+
+// System includes
+#include <HbListViewItem>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+class WlanWizardSummaryListViewItem : public HbListViewItem
+{
+public:
+ explicit WlanWizardSummaryListViewItem(QGraphicsItem* parent = 0);
+ virtual ~WlanWizardSummaryListViewItem();
+
+ virtual HbAbstractViewItem* createItem();
+ virtual void updateChildItems();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+private slots:
+
+private: // data
+};
+
+/*! @} */
+
+#endif // WLANWIZARDSUMMARYLISTVIEWITEM_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/inc/wlanwizardutils.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,88 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Utilities
+ *
+ */
+
+#ifndef WLANWIZARDUTILS_H
+#define WLANWIZARDUTILS_H
+
+// System includes
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+/*!
+ @addtogroup group_wlan_wizard
+ @{
+ */
+
+class WlanWizardUtils
+{
+public:
+ enum KeyStatus {
+ KeyStatusOk = 0,
+ KeyStatusIllegalCharacters,
+ KeyStatusWpaTooShort,
+ KeyStatusWpaTooLong,
+ KeyStatusWepInvalidLength,
+ };
+
+ enum SsidStatus {
+ SsidStatusOk = 0,
+ SsidStatusIllegalCharacters,
+ SsidStatusInvalidLength
+ };
+
+ static const int SsidMinLength = 1;
+ static const int SsidMaxLength = 32;
+ static const int WpaMinLength = 8;
+ static const int WpaMaxLength = 64;
+ static const int WepHex64BitMaxLength = 10;
+ static const int WepHex128BitMaxLength = 26;
+ static const int WepAscii64BitMaxLength = 5;
+ static const int WepAscii128BitMaxLength = 13;
+
+public:
+ static KeyStatus validateWepKey(const QString &key);
+ static KeyStatus validateWpaKey(const QString &key);
+ static KeyStatus isAscii(const QString &key);
+ static KeyStatus isHex(const QString &key);
+ static SsidStatus validateSsid(const QString &ssid);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WlanWizardUtils)
+
+private slots:
+
+private: // data
+};
+
+/*! @} */
+
+#endif /* WLANWIZARDUTILS_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/custom.css Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,11 @@
+HbDialog#dialog:portrait
+{
+pref-width: var(hb-param-screen-width);
+pref-height: var(hb-param-screen-height);
+}
+
+HbDialog#dialog:landscape
+{
+pref-width: var(hb-param-screen-width);
+pref-height: var(hb-param-screen-height);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/hblistviewitem.css Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,31 @@
+
+HbListViewItem[layoutName="wlanwizardsummaryitem"]{
+ layout:wlanwizardsummaryitem-portrait;
+}
+
+HbListViewItem[layoutName="wlanwizardsummaryitem"]:landscape{
+ layout:wlanwizardsummaryitem-landscape;
+}
+
+HbListViewItem::text-1[layoutName="wlanwizardsummaryitem"]{
+ text-height: var(hb-param-text-height-secondary);
+ font-variant: primary;
+ text-align: left;
+ size-policy-horizontal: preferred;
+ pref-width:-1;
+}
+
+HbListViewItem::text-1[layoutName="wlanwizardsummaryitem"]:landscape{
+ text-height: var(hb-param-text-height-secondary);
+ font-variant: primary;
+ text-align: left;
+ size-policy-horizontal: fixed;
+ fixed-width: expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup));
+}
+
+HbListViewItem::text-2[layoutName="wlanwizardsummaryitem"]{
+ text-height: var(hb-param-text-height-tiny);
+ font-variant: secondary;
+ pref-width:-1;
+ text-align: left;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/hblistviewitem.widgetml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,51 @@
+<hbwidget version="0.1" type="HbListViewItem">
+
+<!-- wlanwizardsummaryitem-portrait -->
+ <!--
+ Custom list view item layout for wizard summary items in portrait mode.
+
+ Required items:
+ text-1 text-2
+
+ Items from left to right:
+ <- text-1 ->
+ text-2 ->
+ -->
+ <layout name="wlanwizardsummaryitem-portrait" type="mesh">
+
+ <meshitem src="text-1" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)" />
+ <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-middle-vertical)"/>
+ <meshitem src="text-1" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)" />
+
+ <meshitem src="text-1" srcEdge="BOTTOM" dst="text-2" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" />
+
+ <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="LEFT" />
+ <meshitem src="text-2" srcEdge="RIGHT" dst="text-1" dstEdge="RIGHT" />
+ <meshitem src="text-2" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-middle-vertical)" />
+
+ </layout>
+
+<!-- wlanwizardsummaryitem-landscape -->
+ <!--
+ Custom list view item layout for wizard summary items in landscape mode.
+
+ Required items:
+ text-1 text-2
+
+ Items from left to right:
+ <- text-1 -> text-2 ->
+ -->
+
+ <layout name="wlanwizardsummaryitem-landscape" type="mesh">
+
+ <meshitem src="text-1" srcEdge="LEFT" dst="" dstEdge="LEFT" spacing="-var(hb-param-margin-gene-left)" />
+ <meshitem src="text-1" srcEdge="TOP" dst="" dstEdge="TOP" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+ <meshitem src="text-1" srcEdge="BOTTOM" dst="" dstEdge="BOTTOM" spacing="var(hb-param-margin-gene-middle-horizontal)" />
+
+ <meshitem src="text-2" srcEdge="LEFT" dst="text-1" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-middle-horizontal)"/>
+ <meshitem src="text-2" srcEdge="TOP" dst="text-1" dstEdge="TOP" />
+
+ <meshitem src="text-2" srcEdge="RIGHT" dst="" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-right)" />
+
+ </layout>
+</hbwidget>
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/occ_add_wlan_01_04.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_add_wlan_01" type="HbWidget">
+ <widget name="container" type="HbWidget">
+ <widget name="dialog" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignLeft|AlignTop|AlignLeading"/>
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <widget name="lineEditKey" type="HbLineEdit">
+ <integer name="maxRows" value="3"/>
+ </widget>
+ <widget name="labelErrorNote" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <contentsmargins bottom="0un" left="0un" right="0un" top="var(hb-param-margin-gene-top)"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <layout type="grid"/>
+ </widget>
+ <layout orientation="Vertical" spacing="0un" type="linear">
+ <contentsmargins bottom="0un" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="container"/>
+ <stretchitem stretchfactor="1"/>
+ </layout>
+ </widget>
+ <section name="portrait_section">
+ <widget name="occ_add_wlan_01" type="HbWidget">
+ <widget name="container" type="HbWidget">
+ <widget name="dialog" type="HbLabel">
+ <sizepolicy horizontalPolicy="Preferred" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ <contentsmargins bottom="var(hb-param-margin-gene-middle-vertical)" left="0un" right="0un" top="0un"/>
+ </widget>
+ <layout spacing="0un" type="grid">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <griditem column="0" itemname="lineEditKey" row="1"/>
+ <griditem column="0" itemname="labelErrorNote" row="2"/>
+ <griditem column="0" itemname="dialog" row="0"/>
+ </layout>
+ </widget>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="occ_add_wlan_01" type="HbWidget">
+ <widget name="container" type="HbWidget">
+ <widget name="dialog" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup) +var(hb-param-margin-gene-middle-horizontal))"/>
+ <contentsmargins bottom="0un" left="0un" right="var(hb-param-margin-gene-middle-horizontal)" top="0un"/>
+ </widget>
+ <layout spacing="0un" type="grid">
+ <contentsmargins bottom="0un" left="0un" right="0un" top="0un"/>
+ <griditem column="0" itemname="dialog" row="0"/>
+ <griditem column="1" itemname="lineEditKey" row="0"/>
+ <griditem column="0" column_span="2" itemname="labelErrorNote" row="1"/>
+ </layout>
+ </widget>
+ </widget>
+ </section>
+ <metadata activeUIState="landscape" display="NHD-3.2-inch_landscape" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/occ_add_wlan_02_03.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,50 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_add_wlan_02" type="HbWidget">
+ <widget name="list" type="HbRadioButtonList"/>
+ <widget name="dialog_6" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignLeft|AlignTop|AlignLeading"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait_section">
+ <widget name="occ_add_wlan_02" type="HbWidget">
+ <widget name="dialog_6" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="list" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="list" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dialog_6" srcEdge="BOTTOM"/>
+ <anchoritem dst="list" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="dialog_6" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dialog_6" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="dialog_6" dstEdge="RIGHT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="occ_add_wlan_02" type="HbWidget">
+ <widget name="dialog_6" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="dialog_6" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="dialog_6" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="list" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="dialog_6" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="TOP" spacing="0un" src="dialog_6" srcEdge="TOP"/>
+ <anchoritem dst="list" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="list" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="portrait" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/occ_add_wlan_05.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_add_wlan_05" type="HbListWidget"/>
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/occ_add_wlan_06.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_add_wlan_06" type="HbWidget">
+ <widget name="dialog" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <widget name="progressBar" type="HbProgressBar">
+ <integer name="progressValue" value="0"/>
+ <integer name="minimum" value="0"/>
+ <enums name="orientation" value="Horizontal"/>
+ <integer name="maximum" value="0"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait_section">
+ <widget name="occ_add_wlan_06" type="HbWidget">
+ <widget name="dialog" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="dialog" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dialog" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="dialog" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="progressBar" dstEdge="LEFT" spacing="0un" src="dialog" srcEdge="LEFT"/>
+ <anchoritem dst="progressBar" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="dialog" srcEdge="BOTTOM"/>
+ <anchoritem dst="progressBar" dstEdge="RIGHT" spacing="0un" src="dialog" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape_section">
+ <widget name="occ_add_wlan_06" type="HbWidget">
+ <widget name="dialog" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="dialog" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dialog" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="progressBar" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="dialog" srcEdge="RIGHT"/>
+ <anchoritem dst="progressBar" dstEdge="TOP" spacing="0un" src="dialog" srcEdge="TOP"/>
+ <anchoritem dst="progressBar" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="portrait" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="portrait" sections="#common portrait_section"/>
+ <uistate name="landscape" sections="#common landscape_section"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/occ_add_wlan_error.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_add_wlan_error" type="HbWidget">
+ <widget name="dialog" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <real name="z" value="0"/>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor">
+ <anchoritem dst="dialog" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="dialog" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="dialog" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ </layout>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/occ_wlan_wizard_main.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <object name="actionCancel" type="HbAction">
+ <icon iconName="qtg_mono_exit" name="icon"/>
+ </object>
+ <object name="actionPrevious" type="HbAction">
+ <icon iconName="qtg_mono_arrow_left" name="icon"/>
+ </object>
+ <object name="actionNext" type="HbAction">
+ <icon iconName="qtg_mono_arrow_right" name="icon"/>
+ </object>
+ <object name="actionFinish" type="HbAction">
+ <icon iconName="qtg_mono_tick" name="icon"/>
+ </object>
+ <widget name="dialog" type="HbDialog">
+ <bool name="backgroundFaded" value="TRUE"/>
+ <bool name="dismissOnAction" value="FALSE"/>
+ <integer name="timeout" value="0"/>
+ <enums name="frameType" value="Strong"/>
+ <enums name="dismissPolicy" value="NoDismiss"/>
+ <widget name="title" role="HbDialog:headingWidget" type="HbLabel"/>
+ <widget name="stackedWidget" role="HbDialog:contentWidget" type="HbStackedWidget"/>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD-3.2-inch_portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/resources/resource.qrc Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,17 @@
+<RCC>
+ <qresource prefix="/docml">
+ <file alias="occ_wlan_wizard_main.docml">occ_wlan_wizard_main.docml.bin</file>
+ <file alias="occ_add_wlan_05.docml">occ_add_wlan_05.docml.bin</file>
+ <file alias="occ_add_wlan_06.docml">occ_add_wlan_06.docml.bin</file>
+ <file alias="occ_add_wlan_02_03.docml">occ_add_wlan_02_03.docml.bin</file>
+ <file alias="occ_add_wlan_01_04.docml">occ_add_wlan_01_04.docml.bin</file>
+ <file alias="occ_add_wlan_error.docml">occ_add_wlan_error.docml.bin</file>
+ </qresource>
+ <qresource prefix="/css" >
+ <file>custom.css</file>
+ </qresource>
+ <qresource prefix="/wizardsummarylayout" >
+ <file>hblistviewitem.css</file>
+ <file>hblistviewitem.widgetml</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/rom/wlanwizard.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2009 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:
+* IBY file for WLAN Wizard
+*/
+
+#ifndef WLANWIZARD_IBY
+#define WLANWIZARD_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR\BUILD_DIR\wlanwizard.dll SHARED_LIB_DIR\wlanwizard.dll
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANWIZARD_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/rom/wlanwizard_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard resource iby.
+*/
+
+#ifndef WLANWIZARD_RESOURCES_IBY
+#define WLANWIZARD_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlanwizard.qm QT_TRANSLATIONS_DIR/wlanwizard.qm
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANWIZARD_RESOURCES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizard.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,172 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard: API.
+*/
+
+// System includes
+
+// User includes
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+
+/*!
+ \class WlanWizard
+ \brief Interface of WLAN Wizard.
+
+ Example usage:
+ \code
+ MyClass::createWizard() {
+ mWizard = new WlanWizard(mainWindow());
+ connect(
+ mWizard,
+ SIGNAL(finished(int, bool)),
+ this,
+ SLOT(finished(int, bool)));
+ connect(mWizard, SIGNAL(cancelled()), this, SLOT(cancelled()));
+
+ // If client know the parameters for WLAN Access Point call following
+ mWizard->setParameters(
+ "MySSid",
+ CmManagerShim::Infra,
+ CmManagerShim::WlanSecModeWpa,
+ true, // WPA-PSK
+ false); // Non-Wifi Protected Setup
+
+ // and execute wizard
+ mWizard->show();
+ }
+
+ void MyClass::finished(int iapId, bool connected) {
+ // User has successfully created WLAN IAP with the wizard.
+
+ // if connected equals to true, wizard has established connection to it
+ // now the client needs to connect also to given IAP Id to keep the
+ // connection open.
+ // see WlanQtUtils or RConnection.
+
+ // Delete wizard. Do not delete in this call stack since this call has
+ // been done from the context of the wizards call stack.
+ mWizard->deleteLater();
+ mWizard = NULL;
+ }
+
+ void MyClass::cancelled() {
+ // wizard operation was cancelled by user, iap has not been created
+ // and WLAN connection is not established
+
+ // Delete wizard. Do not delete in this call stack since this call has
+ // been done from the context of the wizards call stack.
+ mWizard->deleteLater();
+ mWizard = NULL;
+ }
+ \endcode
+
+ Implements wizard based on wizard pattern.
+ */
+
+/*!
+ \fn void WlanWizard::cancelled()
+ This signal is emitted when the execution of wizard has been cancelled.
+ */
+
+/*!
+ \fn void WlanWizard::finished(int iapId, bool connected)
+ This signal is emitted when the execution of wizard has been finished
+ succesfully.
+
+ @param iapId IAP ID that has been created.
+ @param connected true if the connection to wlan has been established.
+ */
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor of WLAN Wizard.
+
+ @param [in] mainWindow HbMainWindow to where the wizard is going to be executed.
+ */
+WlanWizard::WlanWizard(HbMainWindow *mainWindow) :
+ d_ptr(new WlanWizardPrivate(this, mainWindow))
+{
+}
+
+/*!
+ Destructor.
+ */
+WlanWizard::~WlanWizard()
+{
+ delete d_ptr;
+}
+
+/*!
+ Client can set the known WLAN Access Point configurations to speed up wizard
+ processing and make it easier for end user.
+
+ Values for network mode (CmManagerShim::WlanConnectionMode) and security mode
+ (CmManagerShim::WlanSecMode).
+
+ Supported configuration sets:
+ - Open: \a ssid \a networkMode \a securityMode
+ - WEP: \a ssid \a networkMode \a securityMode
+ - WPA (2) with EAP: \a ssid \a networkMode \a securityMode \a usePsk (false)
+ - WPA (2) with PSK: \a ssid \a networkMode \a securityMode \a usePsk (true)
+ - 802.1x: \a ssid \a networkMode \a securityMode
+
+ Hidden WLAN:
+ \a hidden can be used with \a networkMode CmManagerShim::Infra
+
+ Wifi Protected Setup
+ \a wps can be used with Open, WEP and WPA (2) with PSK.
+
+ @param [in] ssid The name of WLAN network (ssid), max length 32 characters.
+ @param [in] networkMode Network mode of known access point
+ @param [in] securityMode Security mode of known access point
+ @param [in] usePsk used only with WPA or WPA2 \a securityMode
+ @param [in] wps is Wifi Protected Setup supported?
+ */
+void WlanWizard::setParameters(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool usePsk,
+ bool wps)
+{
+ d_ptr->setParameters(ssid, networkMode, securityMode, usePsk, wps);
+}
+
+/*!
+ Executes the wizard and shows the first page.
+
+ @note it is not allowed to call this method twice with same instance.
+
+ Possible signals:
+ - finished(int, bool): called after wizard has successfully completed
+ - cancelled(): user has cancelled the wizard operations.
+
+ First page for the wizard is SSID (WLAN network name) query or if
+ setParameters() has been called the first page is determined based on the
+ given configuration combination.
+ */
+void WlanWizard::show()
+{
+ d_ptr->show();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizard_p.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,1300 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard: Private implementation.
+*/
+
+// System includes
+
+#include <QApplication>
+#include <QGraphicsWidget>
+#include <QTimer>
+#include <QDebug>
+
+#include <HbTranslator>
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbDialog>
+#include <HbStackedWidget>
+#include <HbLabel>
+#include <HbAction>
+#include <HbStyleLoader>
+
+// User includes
+
+#include "eapwizard.h"
+#include "wpswizard.h"
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "wlanwizardplugin.h"
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardutils.h"
+#include "wlanwizardpagekeyquery.h"
+#include "wlanwizardpagesummary.h"
+#include "wlanwizardpageprocessingsettings.h"
+#include "wlanwizardpagegenericerror.h"
+#include "wlanwizardpagessid.h"
+#include "wlanwizardpagenetworkmode.h"
+#include "wlanwizardpagescanning.h"
+#include "wlanwizardpagesecuritymode.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizard_pTraces.h"
+#endif
+
+/*!
+ \class WlanWizardPrivate
+ \brief Private implementation of WlanWizard. Implements the interface
+ WlanWizardHelper to the wizard plugins.
+ */
+
+// External function prototypes
+
+// Local constants
+
+/*!
+ \var PageTimeout Timeout for timer protected pages. 1.5sec
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor of private implementation.
+
+ @param [in] wizard Pointer to the API class.
+ @param [in] mainWindow pointer to mainwindow.
+ */
+WlanWizardPrivate::WlanWizardPrivate(
+ WlanWizard* wizard,
+ HbMainWindow *mainWindow) :
+ QObject(wizard),
+ q_ptr(wizard),
+ mMainWindow(mainWindow),
+ mPageTimer(new QTimer(this)),
+ mTitle(NULL),
+ mActionNext(NULL),
+ mActionPrevious(NULL),
+ mActionFinish(NULL),
+ mActionCancel(NULL),
+ mStackedWidget(NULL),
+ mDialog(NULL),
+ mTranslator(new HbTranslator("wlanwizard")),
+ mWlanQtUtils(new WlanQtUtils()),
+ mDocLoader(new HbDocumentLoader(mainWindow)),
+ mEapWizard(NULL),
+ mWpsWizard(NULL),
+ mFirstPageId(WlanWizardPageInternal::PageNone),
+ mPageFinished(false),
+ mClosed(false)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_WLANWIZARDPRIVATE,
+ "WlanWizardPrivate::WlanWizardPrivate;this=%x",
+ this);
+
+ // Set initial values for configurations
+ setConfiguration(ConfIapId, WlanQtUtils::IapIdNone);
+ setConfiguration(ConfConnected, false);
+ setConfiguration(ConfWlanScanSSID, false);
+ setConfiguration(ConfProcessSettings, false);
+ setConfiguration(ConfIctStatus, false);
+
+ // Initialize timer for timer protected pages
+ mPageTimer->setSingleShot(true);
+
+ // Load the wizard frame (title, content, actions) from docml
+ loadDocml();
+
+ // Creates the control object of the wlan wizard pages.
+ createPages();
+
+ // EAP Wizard will add wizard pages at construction phase using
+ // WlanWizardHelper::addPage()
+ mEapWizard.reset(new EapWizard(this) );
+
+ // WPS Wizard will add wizard pages at construction phase using
+ // WlanWizardHelper::addPage()
+ mWpsWizard.reset(new WpsWizard(this));
+
+ // First page is SSID query, unless client sets configurations via
+ // setParameters(), which decides the first page..
+ mFirstPageId = WlanWizardPageInternal::PageSsid;
+
+ OstTraceExt2(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_DONE,
+ "WlanWizardPrivate::WlanWizardPrivate - done;"
+ "this=%x;mFirstPageId=%{PageIds}",
+ (unsigned)this,
+ mFirstPageId);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+WlanWizardPrivate::~WlanWizardPrivate()
+{
+ OstTraceFunctionEntry0(DUP1_WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_DWLANWIZARDPRIVATE,
+ "WlanWizardPrivate::~WlanWizardPrivate;this=%x",
+ this);
+
+ // Remove wizard pages from stackedwidgets, since stackedwidget owns the
+ // objects and all pages are deleted below.
+ while (mStackedWidget->count()) {
+ mStackedWidget->removeAt(0);
+ }
+
+ // Delete UI instances (HbWidget) of pages
+ QHashIterator<HbWidget*, WlanWizardPage*> i(mPageMapper);
+ while (i.hasNext()) {
+ i.next();
+ delete i.key();
+ }
+ mPageMapper.clear();
+
+ // WlanWizardPage objects are automatically deleted since this is the
+ // parent of the objects.
+ mPages.clear();
+
+ // timer is cancelled/deleted automatically when the parent (this) is deleted
+
+ // TODO: See TSW Error: MTAA-854DK8 and loadDocml()
+ HbStyleLoader::unregisterFilePath(":/css/custom.css");
+
+ mDialog->setAttribute( Qt::WA_DeleteOnClose, true );
+ mDialog->close();
+ // Remove the pointer from QScopedPointer to prevent double deallocation
+ mDialog.take();
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_DWLANWIZARDPRIVATE_DONE,
+ "WlanWizardPrivate::~WlanWizardPrivate-Done;this=%x",
+ this);
+
+ OstTraceFunctionExit0(DUP1_WLANWIZARDPRIVATE_WLANWIZARDPRIVATE_EXIT);
+}
+
+/*!
+ See WlanWizard::setParameters().
+ */
+void WlanWizardPrivate::setParameters(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool usePsk,
+ bool wps)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SETPARAMETERS_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_SETPARAMETERS,
+ "WlanWizardPrivate::setParameters;this=%x",
+ this);
+
+ mFirstPageId = getNextPageId(
+ ssid,
+ networkMode,
+ securityMode,
+ usePsk,
+ false,
+ wps);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_SETPARAMETERS_DONE,
+ "WlanWizardPrivate::setParameters - Done;this=%x",
+ this);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_SETPARAMETERS_EXIT);
+}
+
+/*!
+ See WlanWizard::show().
+ */
+void WlanWizardPrivate::show()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SHOW_ENTRY);
+
+ OstTraceExt2(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_SHOW,
+ "WlanWizardPrivate::show;this=%x;mFirstPageId=%{PageIds}",
+ (unsigned)this,
+ mFirstPageId);
+
+ Q_ASSERT(mClosed == false);
+ showPage(mFirstPageId, false);
+ mDialog->show();
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_SHOW_DONE,
+ "WlanWizardPrivate::show - Done;this=%x;",
+ (unsigned)this);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_SHOW_EXIT);
+}
+
+/*!
+ See WlanWizard::setParameters() for descriptions of parameters.
+
+ Based on the provided parameters next page id is returned.
+
+ @return next page id based on provided configurations.
+ */
+int WlanWizardPrivate::getNextPageId(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool usePsk,
+ bool hidden,
+ bool wps)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_GETNEXTPAGEID_ENTRY);
+
+ setConfiguration(ConfProcessSettings, true);
+ setConfiguration(ConfSsid, ssid);
+ setConfiguration(ConfNetworkMode, networkMode);
+ setConfiguration(ConfSecurityMode, securityMode);
+ setConfiguration(ConfUsePsk, usePsk);
+ setConfiguration(ConfWlanScanSSID, hidden);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANWIZARDPRIVATE_GETNEXTPAGEID,
+ "WlanWizardPrivate::getNextPageId;wps=%u",
+ wps);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_GETNEXTPAGEID_EXIT);
+ return nextPageId(wps);
+}
+
+/*!
+ Utility method for WLAN Wizard pages to query the wlanqtutils class.
+
+ @return a valid pointer to WlanQtUtils class.
+ */
+WlanQtUtils* WlanWizardPrivate::wlanQtUtils() const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_WLANQTUTILS_ENTRY);
+
+ Q_ASSERT(mWlanQtUtils.data());
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_WLANQTUTILS_EXIT);
+ return mWlanQtUtils.data();
+}
+
+/*!
+ Utility method for WLAN Wizard pages to query active wizard plugin object
+
+ @return NULL in case plugin is not active.
+ */
+WlanWizardPlugin* WlanWizardPrivate::wlanWizardPlugin() const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_WLANWIZARDPLUGIN_ENTRY);
+
+ WlanWizardPlugin* plugin = NULL;
+
+ if (isEapEnabled()) {
+ plugin = mEapWizard.data();
+ Q_ASSERT(plugin);
+ }
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANWIZARDPRIVATE_WLANWIZARDPLUGIN,
+ "WlanWizardPrivate::wlanWizardPlugin;plugin=%x",
+ plugin);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_WLANWIZARDPLUGIN_EXIT);
+ return plugin;
+}
+
+/*!
+ Utility method for WLAN Wizard pages to query if EAP mode is active at the
+ moment
+
+ @return true in case EAP is currently activated.
+ */
+bool WlanWizardPrivate::isEapEnabled() const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ISEAPENABLED_ENTRY);
+
+ bool ret = false;
+ int secMode = configuration(ConfSecurityMode).toInt();
+
+ if (((secMode == CMManagerShim::WlanSecModeWpa ||
+ secMode == CMManagerShim::WlanSecModeWpa2) &&
+ !configuration(ConfUsePsk).toBool()) ||
+ secMode == CMManagerShim::WlanSecMode802_1x) {
+ ret = true;
+ }
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANWIZARDPRIVATE_ISEAPENABLED,
+ "WlanWizardPrivate::isEapEnabled;ret=%u",
+ ret);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_ISEAPENABLED_EXIT);
+ return ret;
+}
+
+/*!
+ Creates new iap or updates existing iap.
+
+ @return false in case IAP creation/update failed.
+ */
+bool WlanWizardPrivate::handleIap()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_HANDLEIAP_ENTRY);
+
+ OstTrace0(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_HANDLEIAP,
+ "WlanWizardPrivate::handleIap");
+
+ bool ret = true;
+ bool usePsk = true;
+ int securityMode = configuration(ConfSecurityMode).toInt();
+ WlanQtUtilsAp wlanAp;
+
+ // Set default values
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true );
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1 );
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
+
+ // Set configuration
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdSsid, configuration(ConfSsid));
+ wlanAp.setValue(
+ WlanQtUtilsAp::ConfIdConnectionMode,
+ configuration(ConfNetworkMode));
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdHidden, false);
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, configuration(ConfWlanScanSSID));
+
+ switch (securityMode) {
+ case CMManagerShim::WlanSecModeWep:
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey1, configuration(ConfKeyWep1));
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey2, configuration(ConfKeyWep2));
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey3, configuration(ConfKeyWep3));
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWepKey4, configuration(ConfKeyWep4));
+ wlanAp.setValue(
+ WlanQtUtilsAp::ConfIdWepDefaultIndex,
+ configuration(ConfKeyWepDefault));
+ break;
+
+ case CMManagerShim::WlanSecModeWpa:
+ case CMManagerShim::WlanSecModeWpa2:
+ usePsk = configuration(ConfUsePsk).toBool();
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, usePsk);
+ if (usePsk){
+ wlanAp.setValue(WlanQtUtilsAp::ConfIdWpaPsk, configuration(ConfKeyWpa));
+ }
+ break;
+
+ default:
+ Q_ASSERT(securityMode == CMManagerShim::WlanSecModeOpen ||
+ securityMode == CMManagerShim::WlanSecMode802_1x);
+ // No WLAN Specific configuration
+ break;
+ }
+
+ // Create IAP if does not exists or update the existing IAP
+ int referenceId = configuration(ConfIapId).toInt();
+ if (referenceId == WlanQtUtils::IapIdNone) {
+ OstTrace0(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_HANDLEIAP_CREATE,
+ "WlanWizardPrivate::handleIap: Create IAP");
+
+ referenceId = mWlanQtUtils->createIap(&wlanAp);
+ setConfiguration(ConfIapId, referenceId);
+
+ if (referenceId == WlanQtUtils::IapIdNone) {
+ ret = false;
+ }
+ } else {
+ OstTrace0(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_HANDLEIAP_UPDATE,
+ "WlanWizardPrivate::handleIap: Update IAP");
+
+ ret = mWlanQtUtils->updateIap(referenceId, &wlanAp);
+ }
+
+ if (ret) {
+ // Store Wizard plugin specific settings here.
+ WlanWizardPlugin* plugin = wlanWizardPlugin();
+ if (plugin) {
+ OstTrace0(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_HANDLEIAP_PLUGIN,
+ "WlanWizardPrivate::handleIap: Plugin");
+ // Plugin gets the IAP ID from configuration
+ ret = plugin->storeSettings();
+ }
+ }
+
+ OstTrace1(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_HANDLEIAP_DONE,
+ "WlanWizardPrivate::handleIap: Done;ret=%d",
+ ret);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_HANDLEIAP_EXIT);
+ return ret;
+}
+
+/*!
+ See WlanWizardHelper::configuration().
+ */
+QVariant WlanWizardPrivate::configuration(ConfigurationId confId) const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CONFIGURATION_ENTRY);
+
+ Q_ASSERT(mConfigurations.contains(confId));
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString tmp;
+ QDebug tmpStream(&tmp);
+ tmpStream << mConfigurations[confId];
+ TPtrC16 string( tmp.utf16(), tmp.length() );
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANWIZARDPRIVATE_CONFIGURATIONS,
+ "WlanWizardPrivate::configuration;confId=%{ConfigurationId};string=%S",
+ (uint)confId,
+ string);
+#endif
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_CONFIGURATION_EXIT);
+ return mConfigurations[confId];
+}
+
+/*!
+ See WlanWizardHelper::setConfiguration().
+ */
+void WlanWizardPrivate::setConfiguration(
+ ConfigurationId confId,
+ const QVariant &value)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SETCONFIGURATION_ENTRY);
+
+#ifdef OST_TRACE_COMPILER_IN_USE
+ QString tmp;
+ QDebug tmpStream(&tmp);
+ tmpStream << value;
+ TPtrC16 string( tmp.utf16(), tmp.length() );
+
+ OstTraceExt2(
+ TRACE_NORMAL,
+ WLANWIZARDPRIVATE_SETCONFIGURATION,
+ "WlanWizardPrivate::setConfiguration;"
+ "confId=%{ConfigurationId};string=%S",
+ (uint)confId,
+ string);
+#endif
+
+ mConfigurations[confId] = value;
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_SETCONFIGURATION_EXIT);
+}
+
+/*!
+ * See WlanWizardHelper::clearConfiguration().
+ */
+void WlanWizardPrivate::clearConfiguration(ConfigurationId confId)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CLEARCONFIGURATION_ENTRY);
+
+ OstTrace1(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_CLEARCONFIGURATION,
+ "WlanWizardPrivate::clearConfiguration;confId=%{ConfigurationId}",
+ (uint)confId);
+
+ mConfigurations.remove(confId);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_CLEARCONFIGURATION_EXIT);
+}
+
+/*!
+ * See WlanWizardHelper::configurationExists().
+ */
+bool WlanWizardPrivate::configurationExists(ConfigurationId confId)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CONFIGURATIONEXISTS_ENTRY);
+
+ OstTrace1(
+ TRACE_DUMP,
+ WLANWIZARDPRIVATE_CONFIGURATIONEXISTS,
+ "WlanWizardPrivate::configurationExists;confId=%{ConfigurationId}",
+ (uint)confId);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_CONFIGURATIONEXISTS_EXIT);
+ return mConfigurations[confId].isValid();
+}
+
+/*!
+ See WlanWizardHelper::enableNextButton().
+ */
+void WlanWizardPrivate::enableNextButton(bool enable)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ENABLENEXTBUTTON_ENTRY);
+
+ OstTraceExt2(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_ENABLENEXTBUTTON,
+ "WlanWizardPrivate::enableNextButton;this=%x;enable=%x",
+ (unsigned)this,
+ (uint)enable);
+ mActionNext->setEnabled(enable);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_ENABLENEXTBUTTON_EXIT);
+}
+
+/*!
+ See WlanWizardHelper::addPage().
+ */
+void WlanWizardPrivate::addPage(int pageId, WlanWizardPage *page)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ADDPAGE_ENTRY);
+
+ OstTraceExt3(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_ADDPAGE,
+ "WlanWizardPrivate::addPage;this=%x;pageId=%{PageIds};page=%x",
+ (unsigned)this,
+ pageId,
+ (uint)(page));
+
+ Q_ASSERT(!mPages.contains(pageId));
+ mPages[pageId] = page;
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_ADDPAGE_EXIT);
+}
+
+/*!
+ See WlanWizardHelper::nextPage().
+ */
+void WlanWizardPrivate::nextPage()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_NEXTPAGE_ENTRY);
+
+ OstTrace1(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_NEXTPAGE,
+ "WlanWizardPrivate::nextPage;this=%x",
+ this);
+
+ mPageFinished = true;
+ toNextPage();
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_NEXTPAGE_EXIT);
+}
+
+/*!
+ See WlanWizardHelper::mainWindow().
+ */
+HbMainWindow* WlanWizardPrivate::mainWindow() const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_MAINWINDOW_ENTRY);
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_MAINWINDOW_EXIT);
+ return mMainWindow;
+}
+
+/*!
+ See WlanWizardHelper::isCurrentPage().
+ */
+bool WlanWizardPrivate::isCurrentPage(const HbWidget *page) const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ISCURRENTPAGE_ENTRY);
+
+ bool ret = false;
+ if (mStackedWidget->currentWidget() == page) {
+ ret = true;
+ }
+
+ OstTraceExt2(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_ISCURRENTPAGE,
+ "WlanWizardPrivate::isCurrentPage;page=%x;ret=%d",
+ (uint)page,
+ ret);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_ISCURRENTPAGE_EXIT);
+ return ret;
+}
+
+/*!
+ See WlanWizardHelper::nextPageId()
+ */
+int WlanWizardPrivate::nextPageId(bool useWps)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_NEXTPAGEID_ENTRY);
+
+ int ret;
+ if (useWps) {
+ ret = WlanWizardPage::PageWpsStart;
+ } else {
+ int secMode = configuration(WlanWizardHelper::ConfSecurityMode).toInt();
+ switch (secMode) {
+ case CMManagerShim::WlanSecModeWep:
+ ret = WlanWizardPageInternal::PageKeyQuery;
+ break;
+
+ case CMManagerShim::WlanSecModeWpa:
+ case CMManagerShim::WlanSecModeWpa2:
+ if (configuration(WlanWizardHelper::ConfUsePsk).toBool()) {
+ ret = WlanWizardPageInternal::PageKeyQuery;
+ } else {
+ ret = WlanWizardPage::PageEapStart;
+ }
+ break;
+
+ case CMManagerShim::WlanSecMode802_1x:
+ ret = WlanWizardPage::PageEapStart;
+ break;
+
+ default:
+ Q_ASSERT(
+ secMode == CMManagerShim::WlanSecModeOpen ||
+ secMode == CMManagerShim::WlanSecModeWapi);
+
+ setConfiguration(ConfSecurityMode, CMManagerShim::WlanSecModeOpen);
+ ret = WlanWizardPageInternal::PageProcessSettings;
+ break;
+ }
+ }
+
+ OstTraceExt3(
+ TRACE_NORMAL,
+ WLANWIZARDPRIVATE_NEXTPAGEID,
+ "WlanWizardPrivate::nextPageId;this=%x;useWps=%x;ret=%{PageIds}",
+ (unsigned)this,
+ (TUint)(useWps),
+ ret);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_NEXTPAGEID_EXIT);
+ return ret;
+}
+
+/*!
+ Called when Cancel toolbar button is pressed. In case IAP has been created
+ it will be disconnected and the IAP settings are deleted and finally the
+ wizard is closed.
+
+ Indicates also to the current wizard page that cancel has been pressed.
+ */
+void WlanWizardPrivate::cancelTriggered()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CANCELTRIGGERED_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_CANCELTRIGGERED,
+ "WlanWizardPrivate::cancelTriggered;this=%x",
+ this);
+
+ // Disconnect receiving more signals from any actions
+ disconnectActions();
+
+ mPageTimer->stop();
+
+ HbWidget *widget = qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
+ Q_ASSERT(widget);
+ mPageMapper[widget]->cancelTriggered();
+
+ int referenceId = configuration(ConfIapId).toInt();
+ if (referenceId != WlanQtUtils::IapIdNone) {
+ // call disconnect even if
+ // - connection is not open
+ // - connection establishment is ongoing
+ mWlanQtUtils->disconnectIap(referenceId);
+
+ // if IAP deletion fails, there is nothing we can do with it
+ mWlanQtUtils->deleteIap(referenceId);
+ setConfiguration(ConfIapId, WlanQtUtils::IapIdNone);
+ }
+ closeViews();
+ Q_ASSERT(q_ptr);
+
+ OstTrace0(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_CANCELTRIGGERED_EMIT,
+ "WlanWizardPrivate::cancelTriggered - emit cancelled()");
+
+ emit q_ptr->cancelled();
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_CANCELTRIGGERED_DONE,
+ "WlanWizardPrivate::cancelTriggered - Done;this=%x",
+ this);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_CANCELTRIGGERED_EXIT);
+}
+
+/*!
+ Called when Previous toolbar button is pressed. Shows the previous wizard
+ page in stacked widget and indicates wizard page that previous has been
+ pressed.
+ */
+void WlanWizardPrivate::previousTriggered()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_PREVIOUSTRIGGERED_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_PREVIOUSTRIGGERED,
+ "WlanWizardPrivate::previousTriggered;this=%x",
+ this);
+
+ mPageTimer->stop();
+
+ int index = mStackedWidget->currentIndex();
+ HbWidget *widget = qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
+ Q_ASSERT(widget);
+ int back = mPageMapper[widget]->previousTriggered();
+
+ // check that at least one page is left in the stack
+ Q_ASSERT( back < mStackedWidget->count());
+
+ // When a widget which is last in the stack is removed the currentindex
+ // is automatically updated.
+ for (int i = 0; i < back; ++i) {
+ mStackedWidget->removeAt(index - i);
+ }
+
+ widget = qobject_cast<HbWidget*> (mStackedWidget->currentWidget());
+ Q_ASSERT(widget);
+ WlanWizardPage* page = mPageMapper[widget];
+ Q_ASSERT(page);
+ // In error case if page (value) is not found default contructed key is
+ // returned, in this case default value for int is 0 which means PageNone.
+ updateFrame(mPages.key(page));
+ enableNextButton(page->showPage());
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_PREVIOUSTRIGGERED_DONE,
+ "WlanWizardPrivate::previousTriggered - Done;this=%x",
+ this);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_PREVIOUSTRIGGERED_EXIT);
+}
+
+/*!
+ Next toolbar button has been pressed. Wizard framework asks from the current
+ page what should be the next page id and shows it.
+ */
+void WlanWizardPrivate::nextTriggered()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_NEXTTRIGGERED_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_NEXTTRIGGERED,
+ "WlanWizardPrivate::nextTriggered;this=%x",
+ this);
+
+ mPageTimer->stop();
+
+ HbWidget *widget = qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
+ Q_ASSERT(widget);
+
+ bool removeFromStack;
+ int pageId = mPageMapper[widget]->nextId(removeFromStack);
+ showPage(pageId, removeFromStack);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_NEXTTRIGGERED_DONE,
+ "WlanWizardPrivate::nextTriggered - Done;this=%x",
+ this);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_NEXTTRIGGERED_EXIT);
+}
+
+/*!
+ Finish button has been pressed. Closes the wizard and sends finished()
+ signal to the client.
+ */
+void WlanWizardPrivate::finishTriggered()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_FINISHTRIGGERED_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_FINISHTRIGGERED,
+ "WlanWizardPrivate::finishTriggered;this=%x",
+ this);
+
+ // Disconnect receiving more signals from any actions
+ disconnectActions();
+
+ mPageTimer->stop();
+ closeViews();
+
+ Q_ASSERT(q_ptr);
+ emit q_ptr->finished(
+ configuration(ConfIapId).toInt(),
+ configuration(ConfConnected).toBool());
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_FINISHTRIGGERED_DONE,
+ "WlanWizardPrivate::finishTriggered - Done;this=%x",
+ this);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_FINISHTRIGGERED_EXIT);
+}
+
+/*!
+ In case wizard page is using timer protection for the page, this is the
+ slot to handle the callback from the timer.
+ */
+void WlanWizardPrivate::onTimeOut()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_ONTIMEOUT_ENTRY);
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_ONTIMEOUT,
+ "WlanWizardPrivate::onTimeOut;this=%x",
+ this);
+
+ toNextPage();
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_ONTIMEOUT_DONE,
+ "WlanWizardPrivate::onTimeOut - Done;this=%x",
+ this);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_ONTIMEOUT_EXIT);
+}
+
+/*!
+ Slot to start wizard page operation asynchronous. Starts also the timer
+ to protect the wizard page.
+ */
+void WlanWizardPrivate::startPageOperation()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_STARTPAGEOPERATION_ENTRY);
+
+ // Process this if wizard has not been closed
+ if (mClosed == false) {
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_STARTPAGEOPERATION,
+ "WlanWizardPrivate::startPageOperation;this=%x",
+ this);
+
+ HbWidget *widget =
+ qobject_cast<HbWidget*>(mStackedWidget->currentWidget());
+ Q_ASSERT(widget);
+ mPageFinished = false;
+ mPageTimer->start(PageTimeout);
+ mPageMapper[widget]->startOperation();
+
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPRIVATE_STARTPAGEOPERATION_DONE,
+ "WlanWizardPrivate::startPageOperation - DONE;this=%x",
+ this);
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_STARTPAGEOPERATION_EXIT);
+}
+
+/*!
+ In case the wizard page uses timer protection this method determines when
+ the next page is shown.
+ */
+void WlanWizardPrivate::toNextPage()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_TONEXTPAGE_ENTRY);
+
+ if (mPageFinished && !(mPageTimer->isActive())) {
+ OstTrace1(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_TONEXTPAGE,
+ "WlanWizardPrivate::toNextPage;this=%x",
+ this);
+
+ // process this asynchronous. Main purpose is to release the current
+ // call stack and process the page change using new call stack
+ QMetaObject::invokeMethod(this, "nextTriggered", Qt::QueuedConnection);
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_TONEXTPAGE_EXIT);
+}
+
+/*!
+ Show requested page and removes the current wizard page from the stack if
+ required. This method updates the title and toolbar accordingly.
+
+ See WlanWizardPage::nextId()
+
+ @param [in] pageId Wizard Page ID to be shown
+ @param [in] removeFromStack if true the current wizard page is removed from
+ the stackedwidget.
+ */
+void WlanWizardPrivate::showPage(int pageId, bool removeFromStack)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_SHOWPAGE_ENTRY);
+
+ OstTraceExt3(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_SHOWPAGE,
+ "WlanWizardPrivate::showPage;this=%x;"
+ "pageId=%{PageIds};removeFromStack=%x",
+ (unsigned)this,
+ pageId,
+ (TUint)(removeFromStack));
+
+ // PageNone is returned by wizard pages when some validation of page content
+ // has not passed and the page does not want to process wizard to next page
+ if (pageId == WlanWizardPage::PageNone) {
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_SHOWPAGE_EXIT);
+ return;
+ }
+
+ // PageProcessSettings is shown only when WLAN AP is found in scanning
+ // 1/ when client calls setParameters()
+ // 2/ scanning page has found match with given SSID
+ if (pageId == WlanWizardPage::PageProcessSettings) {
+ if (configuration(ConfProcessSettings).toBool() == false) {
+ if (handleIap()){
+ pageId = WlanWizardPageInternal::PageSummary;
+ } else {
+ pageId = WlanWizardPage::PageGenericError;
+ setConfiguration(
+ ConfGenericErrorString,
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret"));
+
+ setConfiguration(
+ ConfGenericErrorPageStepsBackwards,
+ WlanWizardPage::OneStepBackwards);
+ }
+ OstTraceExt2(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_SHOWPAGE_UPDATE,
+ "WlanWizardPrivate::showPage - change page;this=%x;"
+ "pageId=%{PageIds}",
+ (unsigned)this,
+ pageId);
+ }
+ }
+
+ // Create visualization of next page and store it to mappers
+ WlanWizardPage* page = mPages[pageId];
+ Q_ASSERT(page);
+ HbWidget* widget = page->initializePage();
+ Q_ASSERT(widget);
+ mPageMapper[widget] = page;
+
+ // index calculation has to be happened before adding new widget into
+ // the stacked widget. Since the internal implementation of stackedwidget
+ // sets the first widget in the stack to current widget..
+ // and when there are not any widgets in the stack the current index is
+ // -1. Valid index starts from 0.
+ int index = mStackedWidget->currentIndex();
+
+ if (removeFromStack) {
+ // widget is removed from the stacked widget, not deleted
+ mStackedWidget->removeAt(index);
+ } else {
+ index++;
+ }
+ mStackedWidget->addWidget(widget);
+ mStackedWidget->setCurrentIndex(index);
+ updateFrame(pageId);
+ enableNextButton(page->showPage());
+
+ // If wizard page needs to start some control operation trigger it
+ // asyncronously so that the UI gets more priority to get painted correctly
+ // before any operation takes place in wizard page. This is important for
+ // timer protected pages. Makes wizard to work smother from UI perspective
+ if (page->requiresStartOperation()) {
+ OstTrace0(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_SHOWPAGE_INVOKE,
+ "WlanWizardPrivate::showPage - Invoke startOperation");
+
+ QMetaObject::invokeMethod(this, "startPageOperation", Qt::QueuedConnection);
+ }
+
+ OstTraceFunctionExit0(DUP1_WLANWIZARDPRIVATE_SHOWPAGE_EXIT);
+}
+
+/*!
+ Creates all control objects of WLAN wizard pages which are inherited from
+ WlanWizardPage and adds those into a internal database.
+ */
+void WlanWizardPrivate::createPages()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CREATEPAGES_ENTRY);
+
+ OstTrace0(
+ TRACE_NORMAL,
+ WLANWIZARDPRIVATE_CREATEPAGES,
+ "WlanWizardPrivate::createPages");
+
+ addPage(
+ WlanWizardPageInternal::PageKeyQuery,
+ new WlanWizardPageKeyQuery(this));
+
+ addPage(
+ WlanWizardPageInternal::PageProcessSettings,
+ new WlanWizardPageProcessingSettings(this));
+
+ addPage(
+ WlanWizardPageInternal::PageSummary,
+ new WlanWizardPageSummary(this));
+
+ addPage(
+ WlanWizardPageInternal::PageGenericError,
+ new WlanWizardPageGenericError(this));
+
+ addPage(
+ WlanWizardPageInternal::PageSsid,
+ new WlanWizardPageSsid(this));
+
+ addPage(
+ WlanWizardPageInternal::PageScanning,
+ new WlanWizardPageScanning(this));
+
+ addPage(
+ WlanWizardPageInternal::PageNetworkMode,
+ new WlanWizardPageNetworkMode(this));
+
+ addPage(
+ WlanWizardPageInternal::PageNetworkSecurity,
+ new WlanWizardPageSecurityMode(this));
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_CREATEPAGES_EXIT);
+}
+
+/*!
+ Called when wizard is closed
+ - cancelled by the user
+ - finished by the user
+ */
+void WlanWizardPrivate::closeViews()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_CLOSEVIEWS_ENTRY);
+
+ mDialog->hide();
+ mClosed = true;
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_CLOSEVIEWS_EXIT);
+}
+
+/*!
+ This method takes care of the title of wizard and toolbutton. Correct items
+ are selected based on the \a pageId and the amount of objects in the stacked
+ widget.
+
+ @param [in] pageId Wizard Page Id
+ */
+void WlanWizardPrivate::updateFrame(int pageId)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_UPDATEFRAME_ENTRY);
+
+ int currentIndex = mStackedWidget->currentIndex();
+
+ OstTraceExt3(
+ TRACE_FLOW,
+ WLANWIZARDPRIVATE_UPDATEFRAME,
+ "WlanWizardPrivate::updateFrame;this=%x;pageId=%{PageIds};currentIndex=%d",
+ (unsigned)this,
+ pageId,
+ (uint)(currentIndex));
+
+ // For last page (summary) show Finish instead of Next button
+ if (pageId == WlanWizardPageInternal::PageSummary) {
+ mTitle->setPlainText(hbTrId("txt_occ_title_wlan_setup_wizard_summary"));
+ mActionFinish->setVisible(true);
+ mActionNext->setVisible(false);
+ mActionPrevious->setVisible(false);
+ } else {
+ // Index starts from zero, wizard page numbering starts from one.
+ mTitle->setPlainText(
+ hbTrId("txt_occ_title_wlan_setup_wizard_step_l1").arg(
+ currentIndex + 1));
+ mActionFinish->setVisible(false);
+ mActionNext->setVisible(true);
+
+ // If first page is shown then Previous button is disabled
+ if (currentIndex < 1) {
+ mActionPrevious->setVisible(false);
+ } else {
+ mActionPrevious->setVisible(true);
+ if (pageId == WlanWizardPage::PageProcessSettings) {
+ mActionPrevious->setEnabled(false);
+ } else {
+ mActionPrevious->setEnabled(true);
+ }
+ }
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_UPDATEFRAME_EXIT);
+}
+
+/*!
+ Loads widgets and objects from the docml file.
+ */
+void WlanWizardPrivate::loadDocml()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_LOADDOCML_ENTRY);
+
+ bool ok = true;
+
+ mDocLoader->load(":/docml/occ_wlan_wizard_main.docml", &ok);
+ Q_ASSERT(ok);
+
+ mDialog.reset( qobject_cast<HbDialog*> (mDocLoader->findWidget("dialog")) );
+ Q_ASSERT(mDialog != NULL);
+
+ mTitle = qobject_cast<HbLabel*> (mDocLoader->findWidget("title"));
+ Q_ASSERT(mTitle != NULL);
+
+ mStackedWidget =
+ qobject_cast<HbStackedWidget*> (mDocLoader->findWidget("stackedWidget"));
+ Q_ASSERT(mStackedWidget != NULL);
+
+ mActionNext = qobject_cast<HbAction*> (mDocLoader->findObject("actionNext"));
+ Q_ASSERT(mActionNext != NULL);
+
+ mActionPrevious =
+ qobject_cast<HbAction*> (mDocLoader->findObject("actionPrevious"));
+ Q_ASSERT(mActionPrevious != NULL);
+
+ mActionFinish =
+ qobject_cast<HbAction*> (mDocLoader->findObject("actionFinish"));
+ Q_ASSERT(mActionFinish != NULL);
+
+ mActionCancel =
+ qobject_cast<HbAction*> (mDocLoader->findObject("actionCancel"));
+ Q_ASSERT(mActionCancel != NULL);
+
+ // Actions are added from left to right to the toolbar of dialog
+ mDialog->addAction(mActionPrevious);
+ mDialog->addAction(mActionCancel);
+ mDialog->addAction(mActionNext);
+ mDialog->addAction(mActionFinish);
+
+ // TODO: workaround to prevent action to close the dialog
+ disconnect(mActionPrevious, SIGNAL(triggered()), mDialog.data(), SLOT(close()));
+ disconnect(mActionCancel, SIGNAL(triggered()), mDialog.data(), SLOT(close()));
+ disconnect(mActionNext, SIGNAL(triggered()), mDialog.data(), SLOT(close()));
+ disconnect(mActionFinish, SIGNAL(triggered()), mDialog.data(), SLOT(close()));
+
+ ok = true;
+ ok = connect(mPageTimer, SIGNAL(timeout()), this, SLOT(onTimeOut()));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mActionNext,
+ SIGNAL(triggered()),
+ this,
+ SLOT(nextTriggered()));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mActionPrevious,
+ SIGNAL(triggered()),
+ this,
+ SLOT(previousTriggered()));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mActionFinish,
+ SIGNAL(triggered()),
+ this,
+ SLOT(finishTriggered()));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mActionCancel,
+ SIGNAL(triggered()),
+ this,
+ SLOT(cancelTriggered()));
+ Q_ASSERT(ok);
+
+ // TODO: workaround for full screen dialog, with docml it is possible to
+ // define fullscreen dialog, mut resize is not done correctly when orientation
+ // is changed. See TSW Error: MTAA-854DK8
+ ok = HbStyleLoader::registerFilePath(":/css/custom.css");
+ Q_ASSERT(ok);
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_LOADDOCML_EXIT);
+}
+
+/*!
+ Disconnect receiving triggered() signal from any toolbar action.
+ */
+void WlanWizardPrivate::disconnectActions()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPRIVATE_DISCONNECTACTIONS_ENTRY);
+
+ disconnect(
+ mActionNext,
+ SIGNAL(triggered()),
+ this,
+ SLOT(nextTriggered()));
+
+ disconnect(
+ mActionPrevious,
+ SIGNAL(triggered()),
+ this,
+ SLOT(previousTriggered()));
+
+ disconnect(
+ mActionFinish,
+ SIGNAL(triggered()),
+ this,
+ SLOT(finishTriggered()));
+
+ disconnect(
+ mActionCancel,
+ SIGNAL(triggered()),
+ this,
+ SLOT(cancelTriggered()));
+
+ OstTraceFunctionExit0(WLANWIZARDPRIVATE_DISCONNECTACTIONS_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpagegenericerror.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,133 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Generic error page.
+ *
+ */
+
+// System includes
+#include <HbMainWindow>
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbLabel>
+
+// User includes
+#include "wlanwizard_p.h"
+#include "wlanwizardpagegenericerror.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpageprocessingsettingsTraces.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpagegenericerrorTraces.h"
+#endif
+
+#endif
+
+/*!
+ \class WlanWizardPageGenericError
+ \brief Implements generic error page for wizard.
+
+ Error text is read from the configurations
+ (WlanWizardHelper::ConfGenericErrorString) of the wizard.
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent pointer to private implementation of wizard.
+ */
+WlanWizardPageGenericError::WlanWizardPageGenericError(
+ WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mWidget(NULL),
+ mLabel(NULL)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEGENERICERROR_WLANWIZARDPAGEGENERICERROR_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGEGENERICERROR_WLANWIZARDPAGEGENERICERROR_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+WlanWizardPageGenericError::~WlanWizardPageGenericError()
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDPAGEGENERICERROR_WLANWIZARDPAGEGENERICERROR_ENTRY );
+ // signals are automatically disconnected
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGEGENERICERROR_WLANWIZARDPAGEGENERICERROR_EXIT );
+}
+
+/*!
+ See WlanWizardPage::initializePage()
+ */
+HbWidget* WlanWizardPageGenericError::initializePage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEGENERICERROR_INITIALIZEPAGE_ENTRY );
+ // Create the visualization at the first time
+ if (!mWidget) {
+ HbDocumentLoader docLoader(mWizard->mainWindow());
+
+ bool ok;
+ docLoader.load(":/docml/occ_add_wlan_error.docml", &ok);
+ Q_ASSERT(ok);
+
+ mWidget = qobject_cast<HbWidget*> (docLoader.findWidget("occ_add_wlan_error"));
+ Q_ASSERT(mWidget != NULL);
+
+ mLabel = qobject_cast<HbLabel*> (docLoader.findWidget("dialog"));
+ Q_ASSERT(mLabel != NULL);
+ }
+
+ // Get the error string from the wizards configurations
+ mLabel->setPlainText(
+ mWizard->configuration(
+ WlanWizardHelper::ConfGenericErrorString).toString());
+
+ OstTraceFunctionExit0( WLANWIZARDPAGEGENERICERROR_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ See WlanWizardPage::showPage()
+
+ @return false. Next button is dimmed when the page is displayed.
+ */
+bool WlanWizardPageGenericError::showPage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEGENERICERROR_SHOWPAGE_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGEGENERICERROR_SHOWPAGE_EXIT );
+ return false;
+}
+
+/*!
+ See WlanWizardPage::previousTriggered()
+
+ @return steps backwards
+ */
+int WlanWizardPageGenericError::previousTriggered()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEGENERICERROR_PREVIOUSTRIGGERED_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGEGENERICERROR_PREVIOUSTRIGGERED_EXIT );
+ return mWizard->configuration(
+ WlanWizardHelper::ConfGenericErrorPageStepsBackwards).toInt();
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpageinternal.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard: Interface for wizard pages (wlan internal).
+ *
+ */
+
+// System includes
+#include <HbWidget>
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+
+// User includes
+#include "wlanwizard_p.h"
+#include "wlanwizardpageinternal.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpageinternalTraces.h"
+#endif
+
+
+/*!
+ \class WlanWizardPageInternal
+ \brief Interface for internal wlan wizard pages. Contains pointer to private
+ implementation of wlan wizard.
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor
+
+ @param [in] wizard pointer to private implementation of wizard
+ */
+WlanWizardPageInternal::WlanWizardPageInternal(WlanWizardPrivate *wizard) :
+ QObject(wizard),
+ mWizard(wizard)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEINTERNAL_WLANWIZARDPAGEINTERNAL_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGEINTERNAL_WLANWIZARDPAGEINTERNAL_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+WlanWizardPageInternal::~WlanWizardPageInternal()
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDPAGEINTERNAL_WLANWIZARDPAGEINTERNAL_ENTRY );
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGEINTERNAL_WLANWIZARDPAGEINTERNAL_EXIT );
+}
+
+
+/*!
+ Loads requested section from given docml file.
+
+ @param [in] loader Document loader for docml
+ @param [in] orientation Orientation to be loaded
+ @param [in] filename the name of docml filename
+ @param [in] portraitSection the name of section to be loaded in portrait mode
+ @param [in] landscapeSection the name of section to be loaded in landscape mode
+ */
+void WlanWizardPageInternal::loadDocmlSection(
+ HbDocumentLoader *loader,
+ Qt::Orientation orientation,
+ const QString &filename,
+ const QString &portraitSection,
+ const QString &landscapeSection) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEINTERNAL_LOADDOCMLSECTION_ENTRY );
+ bool ok;
+
+ // Then load the orientation specific section
+ if (orientation == Qt::Horizontal) {
+ loader->load(filename, landscapeSection, &ok);
+ Q_ASSERT(ok);
+ } else {
+ Q_ASSERT(orientation == Qt::Vertical);
+ loader->load(filename, portraitSection, &ok);
+ Q_ASSERT(ok);
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGEINTERNAL_LOADDOCMLSECTION_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpagekeyquery.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,283 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Page: Key query page for WEP and WPA (2).
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbLabel>
+#include <HbLineEdit>
+#include <HbEditorInterface>
+#include <HbParameterLengthLimiter>
+
+// User includes
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardpagekeyquery.h"
+#include "wlanwizardutils.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpagekeyqueryTraces.h"
+#endif
+
+
+/*!
+ \class WlanWizardPageKeyQuery
+ \brief Implements Key Query page for WEP and WPA.
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent pointer to private implementation of wizard.
+ */
+WlanWizardPageKeyQuery::WlanWizardPageKeyQuery(WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mWidget(NULL),
+ mLabelTitle(NULL),
+ mLineEdit(NULL),
+ mLabelError(NULL),
+ mDocLoader(NULL)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEKEYQUERY_WLANWIZARDPAGEKEYQUERY_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGEKEYQUERY_WLANWIZARDPAGEKEYQUERY_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+WlanWizardPageKeyQuery::~WlanWizardPageKeyQuery()
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDPAGEKEYQUERY_WLANWIZARDPAGEKEYQUERY_ENTRY );
+ delete mDocLoader;
+
+ // Wizard framework deletes the visualization (owns mWidget).
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGEKEYQUERY_WLANWIZARDPAGEKEYQUERY_EXIT );
+}
+
+/*!
+ See WlanWizardPage::initializePage()
+
+ Initializes the key query page and initializes objects based on the security
+ mode.
+ */
+HbWidget* WlanWizardPageKeyQuery::initializePage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEKEYQUERY_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ bool ok;
+
+ mDocLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ // Load document common part
+ mDocLoader->load(":/docml/occ_add_wlan_01_04.docml", &ok);
+ Q_ASSERT(ok);
+
+ // Initialize orientation
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ // Load widgets
+ mWidget =
+ qobject_cast<HbWidget*> (mDocLoader->findWidget("occ_add_wlan_01"));
+ Q_ASSERT(mWidget != NULL);
+
+ mLabelTitle = qobject_cast<HbLabel*> (mDocLoader->findWidget("dialog"));
+ Q_ASSERT(mLabelTitle != NULL);
+
+ mLineEdit = qobject_cast<HbLineEdit*> (mDocLoader->findWidget("lineEditKey"));
+ Q_ASSERT(mLineEdit != NULL);
+
+ mLabelError =
+ qobject_cast<HbLabel*> (mDocLoader->findWidget("labelErrorNote"));
+ Q_ASSERT(mLabelError != NULL);
+
+ ok = connect(
+ mWizard->mainWindow(), SIGNAL(orientationChanged(Qt::Orientation)),
+ this, SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ HbEditorInterface editInterface(mLineEdit);
+ editInterface.setInputConstraints(HbEditorConstraintLatinAlphabetOnly);
+ editInterface.setSmileyTheme(HbSmileyTheme());
+ mLineEdit->setInputMethodHints(
+ Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase);
+ mLineEdit->installEventFilter(this);
+ }
+
+ if (mWizard->configuration(WlanWizardHelper::ConfSecurityMode) ==
+ CMManagerShim::WlanSecModeWep) {
+ mLineEdit->setMaxLength(WlanWizardUtils::WepHex128BitMaxLength);
+ } else {
+ mLineEdit->setMaxLength(WlanWizardUtils::WpaMaxLength);
+ }
+
+ mLabelTitle->setPlainText(
+ HbParameterLengthLimiter("txt_occ_dialog_enter_key_for_1").arg(
+ mWizard->configuration(WlanWizardPrivate::ConfSsid).toString()));
+
+ OstTraceFunctionExit0( WLANWIZARDPAGEKEYQUERY_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ Loads docml at initialization phase and when HbMainWindow sends orientation()
+ signal.
+
+ @param [in] orientation to be loaded.
+ */
+void WlanWizardPageKeyQuery::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEKEYQUERY_LOADDOCMLSECTION_ENTRY );
+ WlanWizardPageInternal::loadDocmlSection(
+ mDocLoader,
+ orientation,
+ ":/docml/occ_add_wlan_01_04.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( WLANWIZARDPAGEKEYQUERY_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ See WlanWizardPage::nextId()
+
+ @param [in,out] removeFromStack return value is always false
+
+ @return In case user has entered incorrect key an appropriate error text is
+ displayed and WlanWizardPage::PageNone is returned.
+
+ In case user has entered a valid WEP or WPA key, the key is stored into
+ internal configuration and WlanWizardPage::PageProcessSettings is returned.
+
+ */
+int WlanWizardPageKeyQuery::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEKEYQUERY_NEXTID_ENTRY );
+ WlanWizardUtils::KeyStatus status(WlanWizardUtils::KeyStatusOk);
+ int pageId = WlanWizardPage::nextId(removeFromStack);
+ int secMode = mWizard->configuration(
+ WlanWizardPrivate::ConfSecurityMode).toInt();
+
+ if (secMode == CMManagerShim::WlanSecModeWep) {
+ status = WlanWizardUtils::validateWepKey(mLineEdit->text());
+ }
+ else {
+ Q_ASSERT(
+ secMode == CMManagerShim::WlanSecModeWpa ||
+ secMode == CMManagerShim::WlanSecModeWpa2);
+
+ status = WlanWizardUtils::validateWpaKey(mLineEdit->text());
+ }
+ QString errorString = keyStatusToErrorString(status);
+
+ if (errorString.length() == 0 ) {
+ if (secMode == CMManagerShim::WlanSecModeWep) {
+ mWizard->setConfiguration(WlanWizardPrivate::ConfKeyWep1, mLineEdit->text());
+ mWizard->setConfiguration(WlanWizardPrivate::ConfKeyWep2, mLineEdit->text());
+ mWizard->setConfiguration(WlanWizardPrivate::ConfKeyWep3, mLineEdit->text());
+ mWizard->setConfiguration(WlanWizardPrivate::ConfKeyWep4, mLineEdit->text());
+ mWizard->setConfiguration(WlanWizardPrivate::ConfKeyWepDefault,
+ CMManagerShim::WepKeyIndex1);
+ } else {
+ mWizard->setConfiguration(WlanWizardPrivate::ConfKeyWpa, mLineEdit->text());
+ }
+ pageId = WlanWizardPage::PageProcessSettings;
+ }
+ else {
+ mLabelError->setPlainText(errorString);
+ }
+
+ removeFromStack = false;
+ OstTraceFunctionExit0( WLANWIZARDPAGEKEYQUERY_NEXTID_EXIT );
+ return pageId;
+}
+
+/*!
+ See WlanWizardPage::showPage()
+ */
+bool WlanWizardPageKeyQuery::showPage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEKEYQUERY_SHOWPAGE_ENTRY );
+ // Open virtual keyboard by setting focus to line edit
+ mLineEdit->setFocus();
+
+ OstTraceFunctionExit0( WLANWIZARDPAGEKEYQUERY_SHOWPAGE_EXIT );
+ return true;
+}
+
+/*!
+ When focus moves into the Key editor and there is visible error text, it
+ is cleared.
+
+ @param [in] obj Pointer to the object the event was sent to
+ @param [in] event Pointer to the sent event.
+
+ @return false. do not eat the event.
+ */
+bool WlanWizardPageKeyQuery::eventFilter(QObject *obj, QEvent *event)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEKEYQUERY_EVENTFILTER_ENTRY );
+ if (obj == mLineEdit && event->type() == QEvent::FocusIn) {
+ mLabelError->setPlainText("");
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGEKEYQUERY_EVENTFILTER_EXIT );
+ return false;
+}
+
+/*!
+ Maps provided error code to error text.
+
+ @param [in] status status of key validation
+
+ @return An error text in case of error, empty string is returned on
+ successful case.
+ */
+QString WlanWizardPageKeyQuery::keyStatusToErrorString(
+ WlanWizardUtils::KeyStatus status) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEKEYQUERY_KEYSTATUSTOERRORSTRING_ENTRY );
+ QString errorString;
+ switch (status) {
+ case WlanWizardUtils::KeyStatusIllegalCharacters:
+ errorString = hbTrId("txt_occ_dialog_illegal_characters_in_key_please_c");
+ break;
+
+ case WlanWizardUtils::KeyStatusWpaTooShort:
+ errorString = hbTrId("txt_occ_dialog_preshared_key_too_short_at_least");
+ break;
+
+ case WlanWizardUtils::KeyStatusWepInvalidLength:
+ errorString = hbTrId("txt_occ_dialog_key_is_of_incorrect_length_please");
+ break;
+
+ default:
+ Q_ASSERT(WlanWizardUtils::KeyStatusOk == status);
+ // nothing to do here.
+ break;
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGEKEYQUERY_KEYSTATUSTOERRORSTRING_EXIT );
+ return errorString;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpagenetworkmode.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,321 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard Page: Network mode Selection.
+*/
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbMainWindow>
+#include <HbLabel>
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+#include "wlanwizard_p.h"
+#include "wlanwizard.h"
+#include "wlanwizardpagenetworkmode.h"
+#include "wlanwizardscanlist.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpagenetworkmodeTraces.h"
+#endif
+
+// Local constants
+
+/*!
+ * Constructor method for the network mode view object
+ * @param parent [in] pointer to parent object.
+ */
+WlanWizardPageNetworkMode::WlanWizardPageNetworkMode(
+ WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mWidget(NULL),
+ mList(NULL),
+ mLabel(NULL),
+ mLoader(NULL),
+ mValid(false)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_WLANWIZARDPAGENETWORKMODE_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_WLANWIZARDPAGENETWORKMODE_EXIT );
+}
+
+/*!
+ * Destructor. Loader widget is deleted.
+ * All document widgets are deleted by wlanwizard_p destructor.
+ */
+WlanWizardPageNetworkMode::~WlanWizardPageNetworkMode()
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDPAGENETWORKMODE_WLANWIZARDPAGENETWORKMODE_ENTRY );
+ delete mLoader;
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGENETWORKMODE_WLANWIZARDPAGENETWORKMODE_EXIT );
+}
+
+/*!
+ * Page initialization. If view is already loaded, does nothing.
+ * Inherited from WlanWizardPage.
+ */
+HbWidget* WlanWizardPageNetworkMode::initializePage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_INITIALIZEPAGE_ENTRY );
+ OstTrace0( TRACE_NORMAL, WLANWIZARDPAGENETWORKMODE_INITIALIZEPAGE,
+ "WlanWizardPageNetworkMode::initializePage" );
+
+ if (mWidget == NULL) {
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ bool ok;
+
+ mLoader->load(":/docml/occ_add_wlan_02_03.docml", &ok);
+ Q_ASSERT(ok);
+
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget(
+ "occ_add_wlan_02"));
+ Q_ASSERT(mWidget != NULL);
+
+ mList = qobject_cast<HbRadioButtonList*> (mLoader->findWidget("list"));
+ Q_ASSERT(mList != NULL);
+
+ mLabel = qobject_cast<HbLabel*> (mLoader->findWidget("dialog_6"));
+ Q_ASSERT(mLabel != NULL);
+
+ // Connect document loading to main window orientation changes.
+ ok = connect(mWizard->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)), this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ // Connect a function to a radio button selection.
+ ok = connect(mList, SIGNAL(itemSelected(int)), this,
+ SLOT(itemSelected()));
+ Q_ASSERT(ok);
+
+ mLabel->setPlainText(hbTrId(
+ "txt_occ_dialog_select_network_mode_and_status"));
+ }
+
+ QStringList items;
+
+ populateRadioButtonList(items);
+
+ mList->setItems(items);
+
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ * Evaluates the network mode selection and sets the configuration in
+ * the wlanwizard.
+ * @param [out] removeFromStack always returns false.
+ * @return WlanWizardPageSecurityMode page id.
+ */
+int WlanWizardPageNetworkMode::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_NEXTID_ENTRY );
+ removeFromStack = false;
+ WlanNetworkSetting setting;
+ int index = mList->selected();
+ int nextPage = WlanWizardPageInternal::PageNetworkSecurity;
+
+ if (mWpsSupported.at(index)) {
+ nextPage = WlanWizardPageInternal::PageWpsStart;
+ }
+ else {
+ setting.mode = mNetworkModes.at(index);
+ setting.hidden = mIsHidden.at(index);
+ setting.wpsSupported = mWpsSupported.at(index);
+
+ mWizard->setConfiguration(
+ WlanWizardPrivate::ConfNetworkMode,
+ setting.mode);
+
+ mWizard->setConfiguration(
+ WlanWizardPrivate::ConfWlanScanSSID,
+ setting.hidden);
+
+ mWizard->setConfiguration(
+ WlanWizardPrivate::ConfWpsSupported,
+ setting.wpsSupported);
+
+ if (mWizard->configurationExists(WlanWizardPrivate::ConfAvailableNetworkOptions)) {
+ nextPage = selectNextPage(setting);
+ }
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_NEXTID_EXIT );
+ return nextPage;
+}
+
+/*!
+ * This method is overrides the default implementation from WlanWizardPage.
+ * It indicates whether the Next-button should be enabled or not.
+ * @return mValid, which is true if a radio button has been selected.
+ */
+bool WlanWizardPageNetworkMode::showPage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_SHOWPAGE_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_SHOWPAGE_EXIT );
+ return mValid;
+}
+
+/*!
+ * This function is invoked when user selects a mode from the radio button list.
+ * (HbRadioButtonList's itemSelected-signal)
+ */
+void WlanWizardPageNetworkMode::itemSelected()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_ITEMSELECTED_ENTRY );
+ OstTrace0( TRACE_BORDER, WLANWIZARDPAGENETWORKMODE_ITEMSELECTED,
+ "WlanWizardPageNetworkMode::itemSelected" );
+
+ mValid = true;
+ mWizard->enableNextButton(mValid);
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_ITEMSELECTED_EXIT );
+}
+
+/*!
+ * Loads the document orientation information from occ_add_wlan_02_03.docml.
+ * This is called each time phone orientation changes.
+ * @param [in] orientation indicates whether the phone is in portrait or
+ * landscape mode.
+ */
+void WlanWizardPageNetworkMode::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_LOADDOCMLSECTION_ENTRY );
+ OstTrace1( TRACE_NORMAL, WLANWIZARDPAGENETWORKMODE_LOADDOCML,
+ "WlanWizardPageNetworkMode::loadDocml - Orientation;orientation=%x",
+ ( TUint )( orientation ) );
+
+ WlanWizardPageInternal::loadDocmlSection(
+ mLoader,
+ orientation,
+ ":/docml/occ_add_wlan_02_03.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ * A support function to map the radio button list to a generic network
+ * mode list. This enables the changing of button order without it
+ * affecting the entire class.
+ * In case previous scan has revealed multiple results with the same ssid, only
+ * available network mode options are shown in the radio button list.
+ * @param [out] list is the list of captions used for the radio buttons.
+ * @param [in] item is the caption to be added.
+ * @param [in] mode is the network mode to be added.
+ * @param [in] isHidden is the visibility status of the network.
+ * @param [in] wpsSupported is the possibility for wps support.
+ */
+void WlanWizardPageNetworkMode::addToList(
+ QStringList &list,
+ const QString &item,
+ int mode,
+ bool isHidden,
+ bool wpsSupported)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_ADDTOLIST_ENTRY );
+
+ if (mWizard->configurationExists(WlanWizardHelper::ConfAvailableNetworkOptions)) {
+ WlanWizardScanList networkOptions = mWizard->configuration(
+ WlanWizardHelper::ConfAvailableNetworkOptions).value<WlanWizardScanList> ();
+
+ QList<WlanNetworkSetting> modes = networkOptions.getNetModes();
+
+ for (int i = 0; i < modes.size(); i++) {
+ if ( (modes[i].mode == mode
+ && modes[i].hidden == isHidden
+ && modes[i].wpsSupported == wpsSupported)
+ || (modes[i].wpsSupported && wpsSupported) ) {
+ list << item;
+ mNetworkModes.append(mode);
+ mIsHidden.append(isHidden);
+ mWpsSupported.append(wpsSupported);
+ }
+ }
+ }
+ else {
+ list << item;
+ mNetworkModes.append(mode);
+ mIsHidden.append(isHidden);
+ // If there are no known network options, WPS is not allowed to be
+ // selected.
+ mWpsSupported.append(false);
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_ADDTOLIST_EXIT );
+}
+
+/*!
+ * This function checks the sets up the radio button list for user input.
+ * @param [out] list is the list of captions used for the radio buttons.
+ */
+void WlanWizardPageNetworkMode::populateRadioButtonList(QStringList &list)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_POPULATERADIOBUTTONLIST_ENTRY );
+ list.clear();
+ mNetworkModes.clear();
+ mIsHidden.clear();
+ mWpsSupported.clear();
+
+ // A list is created. Since there is no practical way of knowing whether
+ // the new contents are different from the previous contents (if there
+ // even were any in the first place) the validity is always reset.
+ mValid = false;
+
+ addToList(list, hbTrId("txt_occ_dblist_val_infrastructure_public"),
+ CMManagerShim::Infra, false, false);
+
+ addToList(list, hbTrId("txt_occ_list_infrastructure_hidden"),
+ CMManagerShim::Infra, true, false);
+
+ addToList(list, hbTrId("txt_occ_list_adhoc_1"), CMManagerShim::Adhoc,
+ false, false);
+
+ if (mWizard->configurationExists(WlanWizardHelper::ConfAvailableNetworkOptions)) {
+ // addToList with wpsSupported=true is only called, when there are available
+ // scan result options. If no network options exist, the user can not get to
+ // wps wizard from this view. Also, mode and isHidden are "don't care".
+ addToList(list, hbTrId("txt_occ_list_wifi_protected_setup"), NetworkModeNone, false, true);
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGENETWORKMODE_POPULATERADIOBUTTONLIST_EXIT );
+}
+
+/*!
+ * This function selects the next page. Security mode may be skipped in case
+ * scan results exist and only single option remains.
+ * @param [in] setting indicates the selected network mode.
+ * @return Security mode query page identifier unless it can be skipped.
+ */
+int WlanWizardPageNetworkMode::selectNextPage(const WlanNetworkSetting &setting) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGENETWORKMODE_SELECTNEXTPAGE_ENTRY );
+
+ int nextPage = WlanWizardPageInternal::PageNetworkSecurity;
+
+ WlanWizardScanList networkOptions = mWizard->configuration(
+ WlanWizardHelper::ConfAvailableNetworkOptions).value<WlanWizardScanList>();
+
+ if (networkOptions.secModes(setting) == SingleResult) {
+ WlanSecuritySetting secMode = networkOptions.getSecMode(setting);
+ mWizard->setConfiguration(WlanWizardHelper::ConfSecurityMode, secMode.mode);
+ mWizard->setConfiguration(WlanWizardHelper::ConfUsePsk, secMode.usePsk);
+ nextPage = secMode.nextPageId;
+ }
+
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGENETWORKMODE_SELECTNEXTPAGE_EXIT );
+ return nextPage;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpageprocessingsettings.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,374 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard Page: Processing settings, connection and running ict.
+*/
+
+// System includes
+#include <HbMainWindow>
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbLabel>
+#include <HbProgressBar>
+#include <HbParameterLengthLimiter>
+#include <wlanerrorcodes.h>
+
+// User includes
+#include "wlanwizardplugin.h"
+#include "wlanqtutils.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardpageprocessingsettings.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpageprocessingsettingsTraces.h"
+#endif
+
+/*!
+ \class WlanWizardPageProcessingSettings
+ \brief Implements Processing settings wizard page.
+
+ In this page
+ - possible wizard plugin settings are stored
+ - connection to the wlan ap is established
+ - ICT (Internet connectivity test) is run
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor.
+
+ @param [in] parent pointer to private implementation of wizard.
+ */
+WlanWizardPageProcessingSettings::WlanWizardPageProcessingSettings(
+ WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mDocLoader(NULL),
+ mWidget(NULL),
+ mLabel(NULL),
+ mNextPageId(WlanWizardPageInternal::PageSummary)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_WLANWIZARDPAGEPROCESSINGSETTINGS_ENTRY );
+ WlanQtUtils* utils = mWizard->wlanQtUtils();
+
+ bool ok;
+ ok = connect(
+ utils,
+ SIGNAL(wlanNetworkOpened(int)),
+ this,
+ SLOT(wlanNetworkOpened(int)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ utils,
+ SIGNAL(wlanNetworkClosed(int,int)),
+ this,
+ SLOT(wlanNetworkClosed(int,int)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ utils,
+ SIGNAL(ictResult(int,int)),
+ this,
+ SLOT(ictResult(int,int)));
+ Q_ASSERT(ok);
+
+ Q_UNUSED(ok);
+ Q_ASSERT(ok);
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_WLANWIZARDPAGEPROCESSINGSETTINGS_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+WlanWizardPageProcessingSettings::~WlanWizardPageProcessingSettings()
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDPAGEPROCESSINGSETTINGS_WLANWIZARDPAGEPROCESSINGSETTINGS_ENTRY );
+ // signals are automatically disconnected
+ delete mDocLoader;
+
+ // Wizard framework deletes the visualization (owns mWidget).
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGEPROCESSINGSETTINGS_WLANWIZARDPAGEPROCESSINGSETTINGS_EXIT );
+}
+
+/*!
+ See WlanWizardPage::initializePage()
+ */
+HbWidget* WlanWizardPageProcessingSettings::initializePage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_INITIALIZEPAGE_ENTRY );
+ if (!mWidget) {
+ mDocLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ bool ok;
+ mDocLoader->load(":/docml/occ_add_wlan_06.docml", &ok);
+ Q_ASSERT(ok);
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mDocLoader->findWidget("occ_add_wlan_06"));
+ Q_ASSERT(mWidget != NULL);
+
+ mLabel = qobject_cast<HbLabel*> (mDocLoader->findWidget("dialog"));
+ Q_ASSERT(mLabel != NULL);
+
+ ok = connect(
+ mWizard->mainWindow(), SIGNAL(orientationChanged(Qt::Orientation)),
+ this, SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+ }
+
+ mLabel->setPlainText(
+ HbParameterLengthLimiter(
+ "txt_occ_dialog_checking_connection_to_1").arg(
+ mWizard->configuration(WlanWizardPrivate::ConfSsid).toString()));
+
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ See WlanWizardPage::nextId()
+
+ @param [out] removeFromStack return value is always true
+
+ @return WlanWizardPageInternal::PageSummary
+ */
+int WlanWizardPageProcessingSettings::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_NEXTID_ENTRY );
+ removeFromStack = true;
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_NEXTID_EXIT );
+ return mNextPageId;
+}
+
+
+/*!
+ See WlanWizardPage::showPage()
+
+ @return false. Next button is dimmed when the page is displayed.
+ */
+bool WlanWizardPageProcessingSettings::showPage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_SHOWPAGE_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_SHOWPAGE_EXIT );
+ return false;
+}
+
+/*!
+ Loads docml at initialization phase and when HbMainWindow sends orientation()
+ signal.
+
+ @param [in] orientation to be loaded.
+ */
+void WlanWizardPageProcessingSettings::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_LOADDOCMLSECTION_ENTRY );
+ WlanWizardPageInternal::loadDocmlSection(
+ mDocLoader,
+ orientation,
+ ":/docml/occ_add_wlan_06.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ This method is connected to WlanQtUtils::wlanNetworkClosed(int, int) signal.
+ to get disconnected status events of currently established connection.
+
+ In case of failure, movement to generic error page is triggered.
+
+ @param [in] iapId IAP ID
+ @param [in] reason Symbian Error code.
+ */
+void WlanWizardPageProcessingSettings::wlanNetworkClosed(int iapId, int reason)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKCLOSED_ENTRY );
+ OstTraceExt2( TRACE_BORDER,
+ WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKCLOSED,
+ "WlanWizardPageProcessingSettings::wlanNetworkClosed;iapId=%d;reason=%d",
+ iapId, reason );
+
+ if (iapId != mWizard->configuration(WlanWizardHelper::ConfIapId).toInt()) {
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKCLOSED_EXIT );
+ return;
+ }
+
+ mWizard->setConfiguration(WlanWizardPrivate::ConfIctStatus, false);
+ mWizard->setConfiguration(WlanWizardPrivate::ConfConnected, false);
+
+ if (mWizard->isCurrentPage(mWidget)) {
+ QString errorText;
+ switch (reason) {
+ case KErrWlanOpenAuthFailed:
+ case KErrWlanSharedKeyAuthRequired:
+ case KErrWlanWpaAuthRequired:
+ case KErrWlanWpaAuthFailed:
+ case KErrWlan802dot1xAuthFailed:
+ case KErrWlanIllegalEncryptionKeys:
+ case KErrWlanPskModeRequired:
+ case KErrWlanEapModeRequired:
+ errorText = hbTrId("txt_occ_dialog_authentication_unsuccessful");
+ break;
+
+ case KErrWlanIllegalWpaPskKey:
+ errorText = hbTrId("txt_occ_dialog_incorrect_wpa_preshared_key_pleas");
+ break;
+
+ case KErrWlanSharedKeyAuthFailed:
+ errorText = hbTrId("txt_occ_dialog_incorrect_wep_key_please_check_the");
+ break;
+
+ default:
+ // Handles also KErrNone
+ // Get plugin specific localized error text if any
+ WlanWizardPlugin *plugin = mWizard->wlanWizardPlugin();
+
+ if (plugin){
+ errorText = plugin->errorString(reason);
+ }
+ if (errorText.length() == 0) {
+ errorText = hbTrId("txt_occ_dialog_connection_failed");
+ }
+ break;
+ }
+ mNextPageId = WlanWizardPageInternal::PageGenericError;
+ mWizard->setConfiguration(
+ WlanWizardHelper::ConfGenericErrorString, errorText);
+
+ mWizard->setConfiguration(
+ WlanWizardHelper::ConfGenericErrorPageStepsBackwards,
+ WlanWizardPage::OneStepBackwards);
+
+ mWizard->nextPage();
+ }
+
+ OstTrace0(
+ TRACE_BORDER, WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKCLOSED_DONE,
+ "WlanWizardPageProcessingSettings::wlanNetworkClosed - Done" );
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKCLOSED_EXIT );
+}
+
+/*!
+ Handles ictResult(int, bool) signal from WlanQtUtils and calls
+ WlanWizardHelper::nextPage() to trigger movement to next page.
+
+ @param [in] iapId IAP ID
+ @param [in] reason ICT result, Symbian error code
+ */
+void WlanWizardPageProcessingSettings::ictResult(int iapId, int reason)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_ICTRESULT_ENTRY );
+ OstTraceExt2(
+ TRACE_BORDER,
+ WLANWIZARDPAGEPROCESSINGSETTINGS_ICTRESULT,
+ "WlanWizardPageProcessingSettings::ictResult;iapId=%d;result=%d",
+ iapId, reason );
+
+ if (iapId != mWizard->configuration(WlanWizardHelper::ConfIapId).toInt()) {
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_ICTRESULT_EXIT );
+ return;
+ }
+
+ // Cast of result .
+ WlanQtUtils::IctStatus status =
+ static_cast<WlanQtUtils::IctStatus>(reason);
+
+ if(status == WlanQtUtils::IctCancelled) {
+
+ mNextPageId = WlanWizardPageInternal::PageNone;
+ mWizard->cancelTriggered();
+ }
+ else {
+ mWizard->setConfiguration(WlanWizardPrivate::ConfConnected, true);
+ }
+ mWizard->setConfiguration(WlanWizardPrivate::ConfIctStatus, status);
+
+ mWizard->nextPage();
+
+ OstTrace0( TRACE_BORDER, WLANWIZARDPAGEPROCESSINGSETTINGS_ICTRESULT_DONE,
+ "WlanWizardPageProcessingSettings::ictResult - Done" );
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGEPROCESSINGSETTINGS_ICTRESULT_EXIT );
+}
+
+/*!
+ Handles wlanNetworkOpened(int) signal from WlanQtUtils.
+
+ @param [in] iapId IAP ID
+ */
+void WlanWizardPageProcessingSettings::wlanNetworkOpened(int iapId)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKOPENED_ENTRY );
+ Q_UNUSED(iapId);
+ OstTrace1(
+ TRACE_BORDER,
+ WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKOPENED,
+ "WlanWizardPageProcessingSettings::wlanNetworkOpened;iapId=%d",
+ iapId);
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_WLANNETWORKOPENED_EXIT );
+}
+
+/*!
+ See WlanWizardPage::requiresStartOperation().
+
+ Indicates to framework that startOperation() needs to called.
+ */
+bool WlanWizardPageProcessingSettings::requiresStartOperation()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_REQUIRESSTARTOPERATION_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_REQUIRESSTARTOPERATION_EXIT );
+ return true;
+}
+
+/*!
+ See WlanWizardPage::startOperation().
+
+ Starts the page operation.
+ */
+void WlanWizardPageProcessingSettings::startOperation()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGEPROCESSINGSETTINGS_STARTOPERATION_ENTRY );
+ if (mWizard->handleIap()) {
+ mNextPageId = WlanWizardPageInternal::PageSummary;
+
+ // in case wlan connection is already established disconnect it
+ // note that connectIap() disconnects implicitly connection when
+ // same IAP is already connected.
+ WlanQtUtils* utils = mWizard->wlanQtUtils();
+ int connectedIapId = utils->activeIap();
+ int iapId = mWizard->configuration(WlanWizardHelper::ConfIapId).toInt();
+ if (connectedIapId != iapId){
+ utils->disconnectIap(connectedIapId);
+ }
+ mWizard->wlanQtUtils()->connectIap( iapId, true);
+ } else {
+ mNextPageId = WlanWizardPageInternal::PageGenericError;
+ mWizard->setConfiguration(
+ WlanWizardHelper::ConfGenericErrorString,
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret"));
+
+ mWizard->setConfiguration(
+ WlanWizardHelper::ConfGenericErrorPageStepsBackwards,
+ WlanWizardPage::OneStepBackwards);
+ mWizard->nextPage();
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGEPROCESSINGSETTINGS_STARTOPERATION_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpagescanning.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,511 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard Page: Scan processing.
+*/
+
+// System includes
+#include <HbParameterLengthLimiter>
+#include <HbMainWindow>
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbLabel>
+#include <HbProgressBar>
+#include <cmmanagerdefines_shim.h>
+#include <wlanqtutils.h>
+#include <wlanqtutilsap.h>
+
+// User includes
+#include "wlanwizard_p.h"
+#include "wlanwizardpagescanning.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpagescanningTraces.h"
+#endif
+
+// Local constants
+
+/*!
+ * Constructor method for the scanning view object.
+ * @param [in] parent pointer to parent object.
+ */
+WlanWizardPageScanning::WlanWizardPageScanning(WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mWidget(NULL),
+ mLabel(NULL),
+ mLoader(NULL),
+ mNextPageId(WlanWizardPage::PageNone),
+ mScanResultsAvailable(false),
+ mScanStatus(WlanQtUtils::ScanStatusOk)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_WLANWIZARDPAGESCANNING_ENTRY );
+ WlanQtUtils* utils = mWizard->wlanQtUtils();
+
+ // Connect normal scan completion signal from wlanQtUtils to result
+ // handler. Connect here instead of initializePage, since this signal may
+ // need to be caught event if the window is not active.
+ bool ok = connect(
+ utils,
+ SIGNAL(wlanScanApReady(int)),
+ this,
+ SLOT(wlanScanResultPreCheck(int)));
+
+ Q_ASSERT(ok);
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_WLANWIZARDPAGESCANNING_EXIT );
+}
+
+/*!
+ * Destructor. Loader widget is deleted.
+ * All document widgets are deleted by wlanwizard_p destructor.
+ */
+WlanWizardPageScanning::~WlanWizardPageScanning()
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDPAGESCANNING_WLANWIZARDPAGESCANNING_ENTRY );
+ delete mLoader;
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGESCANNING_WLANWIZARDPAGESCANNING_EXIT );
+}
+
+/*!
+ * Page initialization. If view is already loaded, does nothing. Inherited from
+ * WlanWizardPage.
+ * @return pointer to widget "occ_add_wlan_06".
+ */
+HbWidget* WlanWizardPageScanning::initializePage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_INITIALIZEPAGE_ENTRY );
+ OstTrace0(
+ TRACE_NORMAL,
+ WLANWIZARDPAGESCANNING_INITIALIZEPAGE,
+ "WlanWizardPageScanning::initializePage");
+
+ // Next page id is reset with each initialization.
+ mNextPageId = WlanWizardPage::PageNone;
+
+ if (mWidget == NULL) {
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ bool ok;
+
+ mLoader->load(":/docml/occ_add_wlan_06.docml", &ok);
+ Q_ASSERT(ok);
+
+ // Initialize orientation
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ // Load widgets
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget(
+ "occ_add_wlan_06"));
+ Q_ASSERT(mWidget != NULL);
+
+ mLabel = qobject_cast<HbLabel*> (mLoader->findWidget("dialog"));
+ Q_ASSERT(mLabel != NULL);
+
+ WlanQtUtils* utils = mWizard->wlanQtUtils();
+
+ // Connect orientation signal from the main window to orientation
+ // loader.
+ ok = connect(
+ mWizard->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ // Connect direct scan completion signal from wlanQtUtils to result
+ // handler.
+ ok = connect(
+ utils,
+ SIGNAL(wlanScanDirectReady(int)),
+ this,
+ SLOT(wlanScanDirectReady(int)));
+ Q_ASSERT(ok);
+ }
+
+ mLabel->setPlainText(HbParameterLengthLimiter(
+ "txt_occ_dialog_searching").arg(mWizard->configuration(
+ WlanWizardPrivate::ConfSsid).toString()));
+
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ * Sends the user to the next page.
+ * @param [out] removeFromStack is always true: this page is removed from the
+ * stacked widget after "Next" button is pressed.
+ * @return the id value of the next page.
+ */
+int WlanWizardPageScanning::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_NEXTID_ENTRY );
+ removeFromStack = true;
+
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_NEXTID_EXIT );
+ return mNextPageId;
+}
+
+/*!
+ * This function reimplements WlanWizardPage::previousTriggered. When going
+ * back from scanning view, the ongoing scan operation is also stopped. Since
+ * there is no need to react to following the acknowledgement signal from
+ * wlanQtUtils, the corresponding handler slots are disconnected before the
+ * opration and immediately connected again.
+ * @return one step backwards value.
+ */
+int WlanWizardPageScanning::previousTriggered()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_PREVIOUSTRIGGERED_ENTRY );
+ disconnect(this, SLOT(wlanScanDirectReady(int)));
+ disconnect(this, SLOT(wlanScanResultPreCheck(int)));
+
+ WlanQtUtils* utils = mWizard->wlanQtUtils();
+
+ utils->stopWlanScan();
+
+ bool ok = connect(
+ utils,
+ SIGNAL(wlanScanApReady(int)),
+ this,
+ SLOT(wlanScanResultPreCheck(int)));
+ Q_ASSERT(ok);
+
+ ok = connect(
+ utils,
+ SIGNAL(wlanScanDirectReady(int)),
+ this,
+ SLOT(wlanScanDirectReady(int)));
+ Q_ASSERT(ok);
+
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_PREVIOUSTRIGGERED_EXIT );
+ return OneStepBackwards;
+
+}
+
+/*!
+ * This method is overrides the default implementation from WlanWizardPage.
+ * It indicates whether the Next-button should be enabled or not. It also resets
+ * the ConfProcessSettings-configuration to false - meaning that if no scan
+ * results are available, no iap is created.
+ * @return always false - the scanning proceeds to next window
+ * automatically or not at all.
+ */
+bool WlanWizardPageScanning::showPage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_SHOWPAGE_ENTRY );
+ mWizard->setConfiguration(WlanWizardHelper::ConfProcessSettings, false);
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_SHOWPAGE_EXIT );
+ return false;
+}
+
+/*!
+ * Reimplements the default function in WlanWizardPage. Indicates to the
+ * framework that startOperation() function must be executed.
+ * @return true
+ * @see WlanWizardPage
+ */
+bool WlanWizardPageScanning::requiresStartOperation()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_REQUIRESSTARTOPERATION_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_REQUIRESSTARTOPERATION_EXIT );
+ return true;
+}
+
+/*!
+ * Wlan scan is performed as a "post-initialization" which is executed in a
+ * separate scheduler loop. If scan results are available, starts reading them.
+ */
+void WlanWizardPageScanning::startOperation()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_STARTOPERATION_ENTRY );
+ OstTrace0( TRACE_NORMAL, WLANWIZARDPAGESCANNING_STARTOPERATION,
+ "WlanWizardPageScanning::startOperation - start AP scan if results"
+ " are available." );
+
+ if (mScanResultsAvailable) {
+ mScanResultsAvailable = false;
+ wlanScanApReady();
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_STARTOPERATION_EXIT );
+}
+
+/*!
+ * Loads the document orientation information from occ_add_wlan_06.docml
+ * This is called each time phone orientation changes.
+ * @param [in] orientation indicates whether the phone is in portrait or
+ * landscape mode.
+ */
+void WlanWizardPageScanning::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_LOADDOCMLSECTION_ENTRY );
+ OstTrace1( TRACE_NORMAL, WLANWIZARDPAGESCANNING_LOADDOCML,
+ "WlanWizardPageScanning::loadDocml - orientation ;orientation=%x",
+ ( TUint )( orientation ) );
+
+ WlanWizardPageInternal::loadDocmlSection(
+ mLoader,
+ orientation,
+ ":/docml/occ_add_wlan_06.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ * Checks whether the view is active. If it is, execute wlanScanApReady. If
+ * not, set mScanResultsAvailable to true.
+ * @param [in] scanStatus indicates whether the scan was succesful, cancelled of
+ * failed. The argument is saved to a member variable.
+ */
+void WlanWizardPageScanning::wlanScanResultPreCheck(int scanStatus)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_WLANSCANRESULTPRECHECK_ENTRY );
+ mScanStatus = scanStatus;
+
+ if (!mWidget) {
+ OstTrace1( TRACE_BORDER, WLANWIZARDPAGESCANNING_WLANSCANRESULTPRECHECK,
+ "WlanWizardPageScanning::wlanScanResultPreCheck no widget;this=%x",
+ this );
+
+ mScanResultsAvailable = true;
+ } else {
+ if (mWizard->isCurrentPage(mWidget)) {
+ OstTrace0( TRACE_BORDER,
+ DUP1_WLANWIZARDPAGESCANNING_WLANSCANRESULTPRECHECK,
+ "WlanWizardPageScanning::wlanScanResultPreCheck go to results");
+
+ wlanScanApReady();
+ } else {
+ OstTrace0( TRACE_BORDER,
+ DUP2_WLANWIZARDPAGESCANNING_WLANSCANRESULTPRECHECK,
+ "WlanWizardPageScanning::wlanScanResultPreCheck"
+ " not current widget" );
+
+ mScanResultsAvailable = true;
+ }
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_WLANSCANRESULTPRECHECK_EXIT );
+}
+
+/*!
+ * Processes the direct scan results.
+ * @param [in] scanStatus indicates whether the scan was succesful, canceled or
+ * failed. In case the scan was not succesful, always proceed to manual wizard.
+ */
+void WlanWizardPageScanning::wlanScanDirectReady(int scanStatus)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_WLANSCANDIRECTREADY_ENTRY );
+ OstTrace0( TRACE_NORMAL, WLANWIZARDPAGESCANNING_WLANSCANDIRECTREADY,
+ "WlanWizardPageScanning::wlanScanDirectReady" );
+
+ WlanQtUtils* utils = mWizard->wlanQtUtils();
+
+ Q_ASSERT(utils);
+
+ QList<WlanScanResult> filteredResults;
+
+ if (scanStatus == WlanQtUtils::ScanStatusOk) {
+ QList<QSharedPointer<WlanQtUtilsAp> > directScanResults;
+ // Read the directed scan results from Qt Utils
+ utils->availableWlanAps(directScanResults);
+
+ // Identify open and hidden networks.
+ getFinalScanResults(directScanResults, mWlanApList, filteredResults);
+ }
+
+ // Process the scan results. If scan status is not ok, feed an empty
+ // result table to the selection function.
+ selectNextPageActions(filteredResults);
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_WLANSCANDIRECTREADY_EXIT );
+}
+
+/*!
+ * All wlan channels have been scanned for public networks. After processing the
+ * results a direct scan is initiated. This function also checks whether the
+ * scan was succesful, canceled or failed. In case the scan was not succesful,
+ * always proceed to manual wizard.
+ */
+void WlanWizardPageScanning::wlanScanApReady()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_WLANSCANAPREADY_ENTRY );
+ OstTrace0( TRACE_NORMAL, WLANWIZARDPAGESCANNING_WLANSCANAPREADY,
+ "WlanWizardPageScanning::wlanScanApReady" );
+
+ if (mScanStatus == WlanQtUtils::ScanStatusOk) {
+ WlanQtUtils* utils = mWizard->wlanQtUtils();
+ Q_ASSERT(utils);
+
+ QList<QSharedPointer<WlanQtUtilsAp> > openScanResults;
+
+ // Fetch the list of scan results.
+ utils->availableWlanAps(openScanResults);
+
+ // The name of the network that we are looking for.
+ QString ssid =
+ mWizard->configuration(WlanWizardPrivate::ConfSsid).toString();
+
+ // Store matching scan results.
+ getSsidMatchList(ssid, openScanResults);
+
+ // Next directed scan.
+ utils->scanWlanDirect(ssid);
+ }
+ else {
+ mWizard->clearConfiguration(WlanWizardHelper::ConfAvailableNetworkOptions);
+ mNextPageId = WlanWizardPageInternal::PageNetworkMode;
+ mWizard->nextPage();
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_WLANSCANAPREADY_EXIT );
+}
+
+/*!
+ * This function stores all the APs that match ssid parameter to mWlanApList
+ * member list.
+ * @param [in] ssid is the name of the network we are interested in.
+ * @param [in] matchList is the list of all APs that were revealed in the scan.
+ */
+void WlanWizardPageScanning::getSsidMatchList(
+ QString ssid,
+ const QList<QSharedPointer<WlanQtUtilsAp> > &matchList)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_GETSSIDMATCHLIST_ENTRY );
+ mWlanApList.clear();
+ QSharedPointer<WlanQtUtilsAp> item;
+
+ for (int i = 0; i < matchList.size(); i++) {
+ item = matchList.at(i);
+ if (item->value(WlanQtUtilsAp::ConfIdSsid).toString() == ssid) {
+ mWlanApList.append(item);
+ }
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_GETSSIDMATCHLIST_EXIT );
+}
+
+/*
+ * Find out which of the direct scan results are open networks by comparing
+ * result to open scan results. Return finalResults.
+ * @param [in] directScanResults are the results of a directed scan.
+ * @param [in] openScanResults are the results of a scan inquiring any APs.
+ * @param [out] finalResults is a list of APs with visibility flag included.
+ */
+void WlanWizardPageScanning::getFinalScanResults(
+ const QList<QSharedPointer<WlanQtUtilsAp> > &directScanResults,
+ const QList<QSharedPointer<WlanQtUtilsAp> > &openScanResults,
+ QList<WlanScanResult> &finalResults)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_GETFINALSCANRESULTS_ENTRY );
+ finalResults.clear();
+
+ // The key assumption of this algorithm is that both direct and public scan
+ // reveal the same set of AP:s with the exception of hidden AP:s.
+ // In other words: Direct scan result set is the whole set with each AP
+ // marked as hidden by default. If an AP has been revealed also by public
+ // scan, it is changed to visible.
+ for (int i = 0; i < directScanResults.size(); i++) {
+ WlanScanResult resultItem;
+
+ resultItem.scanResult = directScanResults.at(i);
+
+ // Initialize as hidden.
+ resultItem.networkHidden = true;
+
+ for (int j = 0; j < openScanResults.size(); j++) {
+ if (WlanQtUtilsAp::compare(
+ openScanResults.at(j).data(),
+ directScanResults.at(i).data()) == 0) {
+ // Mark open, if a public scan revealed the same AP
+ resultItem.networkHidden = false;
+ }
+ }
+
+ finalResults.append(resultItem);
+ }
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_GETFINALSCANRESULTS_EXIT );
+}
+
+/*!
+ * This function processes the scan results in case multiple results were
+ * acquired with matching SSIDs.
+ * @param [in] finalResults is the list of APs revealed by the last scans.
+ * @return the identifier of the next page.
+ */
+int WlanWizardPageScanning::processMultipleScanResults(
+ const QList<WlanScanResult> &finalResults)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_PROCESSMULTIPLESCANRESULTS_ENTRY );
+ WlanWizardScanList networkOptions;
+ int nextPage;
+
+ // Build the list of results to be placed in the configuration.
+ networkOptions.build(finalResults);
+
+ QVariant tmp;
+ tmp.setValue(networkOptions);
+
+ mWizard->setConfiguration(
+ WlanWizardHelper::ConfAvailableNetworkOptions, tmp);
+
+ if (networkOptions.wpsSelected()) {
+ // In case all available network mode options support wps, go directly
+ // to wps-wizard.
+ nextPage = WlanWizardPageInternal::PageWpsStart;
+ } else if (networkOptions.netModes() > SingleResult) {
+ // If there are more than one network mode choices, go to manual selection
+ // of network mode.
+ nextPage = WlanWizardPageInternal::PageNetworkMode;
+ } else {
+ // if only a single network mode option is available, the mode query
+ // may be skipped and the next page is set to security mode query.
+ WlanNetworkSetting setting = networkOptions.getNetModes().at(0);
+ mWizard->setConfiguration(WlanWizardHelper::ConfNetworkMode, setting.mode);
+ mWizard->setConfiguration(WlanWizardHelper::ConfWlanScanSSID, setting.hidden);
+ mWizard->setConfiguration(WlanWizardHelper::ConfWpsSupported, setting.wpsSupported);
+ nextPage = WlanWizardPageInternal::PageNetworkSecurity;
+ }
+
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_PROCESSMULTIPLESCANRESULTS_EXIT );
+ return nextPage;
+}
+
+/*!
+ * This function decides what to do with the scan results.
+ * @param [in] finalResults is the list of APs revealed by the last scans.
+ */
+void WlanWizardPageScanning::selectNextPageActions(
+ const QList<WlanScanResult> &finalResults)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESCANNING_SELECTNEXTPAGEACTIONS_ENTRY );
+ mWizard->clearConfiguration(WlanWizardHelper::ConfAvailableNetworkOptions);
+
+ if (finalResults.isEmpty()) {
+ // In case of no results at all were found.
+ mNextPageId = WlanWizardPageInternal::PageNetworkMode;
+ } else if (finalResults.size() == SingleResult) {
+ // In case there is only a single result.
+ WlanScanResult item = finalResults.first();
+ mNextPageId = mWizard->getNextPageId(
+ item.scanResult->value(WlanQtUtilsAp::ConfIdSsid).toString(),
+ item.scanResult->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt(),
+ item.scanResult->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
+ item.scanResult->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool(),
+ item.networkHidden,
+ item.scanResult->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool());
+ } else {
+ // In case more than one result is available.
+ mWizard->setConfiguration(WlanWizardHelper::ConfProcessSettings, true);
+ mNextPageId = processMultipleScanResults(finalResults);
+ }
+
+ mWizard->nextPage();
+ OstTraceFunctionExit0( WLANWIZARDPAGESCANNING_SELECTNEXTPAGEACTIONS_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpagesecuritymode.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,328 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard Page: Security mode Selection.
+*/
+
+// System includes
+
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbMainWindow>
+#include <HbLabel>
+
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+
+#include "wlanwizard_p.h"
+#include "wlanwizard.h"
+#include "wlanwizardpagesecuritymode.h"
+#include "wlanwizardscanlist.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpagesecuritymodeTraces.h"
+#endif
+
+/*!
+ * Constructor method for the Sequrity mode query view object.
+ * @param [in] parent pointer to parent object.
+ */
+WlanWizardPageSecurityMode::WlanWizardPageSecurityMode(
+ WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mWidget(NULL),
+ mList(NULL),
+ mLabel(NULL),
+ mLoader(NULL),
+ mValid(false)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_WLANWIZARDPAGESECURITYMODE_ENTRY);
+ OstTraceFunctionExit0(WLANWIZARDPAGESECURITYMODE_WLANWIZARDPAGESECURITYMODE_EXIT);
+}
+
+/*!
+ * Destructor. Loader widget is deleted.
+ * All document widgets are deleted by wlanwizard_p destructor.
+ */
+WlanWizardPageSecurityMode::~WlanWizardPageSecurityMode()
+{
+ OstTraceFunctionEntry0(DUP1_WLANWIZARDPAGESECURITYMODE_WLANWIZARDPAGESECURITYMODE_ENTRY);
+
+ delete mLoader;
+
+ OstTraceFunctionExit0(DUP1_WLANWIZARDPAGESECURITYMODE_WLANWIZARDPAGESECURITYMODE_EXIT);
+}
+
+/*!
+ * Page initialization. If view widget is already loaded, does nothing.
+ * @return pointer to widget "occ_add_wlan_02".
+ */
+HbWidget* WlanWizardPageSecurityMode::initializePage()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_INITIALIZEPAGE_ENTRY);
+
+ OstTrace0(
+ TRACE_NORMAL,
+ WLANWIZARDPAGESECURITYMODE_INITIALIZEPAGE,
+ "WlanWizardPageSecurityMode::initializePage");
+
+ if (mWidget==NULL) {
+
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ bool ok;
+
+ mLoader->load( ":/docml/occ_add_wlan_02_03.docml", &ok );
+ Q_ASSERT(ok);
+
+ // Initialize orientation
+ loadDocmlSection( mWizard->mainWindow()->orientation() );
+
+ // Load widgets
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_add_wlan_02"));
+ Q_ASSERT(mWidget != NULL);
+
+ mList = qobject_cast<HbRadioButtonList*> (mLoader->findWidget("list"));
+ Q_ASSERT(mList != NULL);
+
+ mLabel = qobject_cast<HbLabel*> (mLoader->findWidget("dialog_6"));
+ Q_ASSERT(mLabel != NULL);
+
+ mLabel->setPlainText(hbTrId("txt_occ_dialog_select_network_security_mode"));
+
+ // Connect orientation signal from the main window to orientation
+ // loader.
+ ok &= connect( mWizard->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this, SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ // Connect signal from the radio button list indicating that an item
+ // has been selected to validation handler.
+ ok &= connect( mList, SIGNAL(itemSelected(int)),
+ this, SLOT(itemSelected()));
+ Q_ASSERT(ok);
+ }
+
+ // Create contents to the security mode radio button list.
+ populateSecModeList();
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESECURITYMODE_INITIALIZEPAGE_EXIT);
+ return mWidget;
+}
+
+/*!
+ * Validates the Sequrity more selection and sets the configuration in
+ * the wlanwizard.
+ * @param [out] removeFromStack returns false.
+ * @return depending on the sequrity mode, returns the appropriate view
+ * identifier.
+ */
+int WlanWizardPageSecurityMode::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_NEXTID_ENTRY);
+
+ removeFromStack = false;
+
+ // The configuration is selected from the mSecModes list, which is ordered
+ // during the page initialization.
+ mWizard->setConfiguration(
+ WlanWizardPrivate::ConfSecurityMode,
+ mSecModes.at(mList->selected()));
+
+ // The configuration is selected from the mUsePsk list, which is ordered
+ // during the page initialization.
+ mWizard->setConfiguration(
+ WlanWizardPrivate::ConfUsePsk,
+ mUsePsk.at(mList->selected()));
+
+ OstTraceFunctionExit0(LANWIZARDPAGESECURITYMODE_NEXTID_EXIT);
+ return mPageIds.at( mList->selected() );
+}
+
+/*!
+ * This method is overrides the default implementation from WlanWizardPage.
+ * It indicates whether the Next-button should be enabled or not.
+ * @return true, if a mode has been selected.
+ */
+bool WlanWizardPageSecurityMode::showPage()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_SHOWPAGE_ENTRY);
+ OstTraceFunctionExit0(WLANWIZARDPAGESECURITYMODE_SHOWPAGE_EXIT);
+ return mValid;
+}
+
+/*!
+ * Is invoked when user selects a mode from the radio button list.
+ * (HbRadioButtonList's itemSelected-signal)
+ */
+void WlanWizardPageSecurityMode::itemSelected()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_ITEMSELECTED_ENTRY);
+
+ OstTrace0(
+ TRACE_BORDER,
+ WLANWIZARDPAGESECURITYMODE_ITEMSELECTED,
+ "WlanWizardPageSecurityMode::itemSelected");
+
+ mValid = true;
+ mWizard->enableNextButton(mValid);
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESECURITYMODE_ITEMSELECTED_EXIT);
+}
+
+/*!
+ * Loads the document orientation information from occ_add_wlan_02_03.docml
+ * This is called each time phone orientation changes.
+ * @param [in] orientation indicates whether the phone is in portrait or
+ * landscape mode.
+ */
+void WlanWizardPageSecurityMode::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_LOADDOCMLSECTION_ENTRY);
+
+ OstTrace1(
+ TRACE_NORMAL,
+ WLANWIZARDPAGESECURITYMODE_LOADDOCML,
+ "WlanWizardPageSecurityMode::loadDocml - orientation;orientation=%x",
+ (TUint)orientation);
+
+ WlanWizardPageInternal::loadDocmlSection(
+ mLoader,
+ orientation,
+ ":/docml/occ_add_wlan_02_03.docml",
+ "portrait_section",
+ "landscape_section");
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESECURITYMODE_LOADDOCMLSECTION_EXIT);
+}
+
+/*!
+ * Support function that creates the contents of the security mode list.
+ */
+void WlanWizardPageSecurityMode::populateSecModeList()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_POPULATESECMODELIST_ENTRY);
+
+ QStringList items;
+
+ mSecModes.clear();
+ mPageIds.clear();
+ mUsePsk.clear();
+
+ // A list is created. Since there is no practical way of knowing whether
+ // the new contents are different from the previous contents (if there
+ // even were any in the first place) the validity is always reset.
+ mValid = false;
+
+ // Create the radio button list to correspond to correct security mode
+ // identifiers and page identifiers.
+ // Populate the list according to network mode selection.
+ addToList(
+ items,
+ hbTrId("txt_occ_list_open"),
+ CMManagerShim::WlanSecModeOpen,
+ WlanWizardPage::PageProcessSettings,
+ false);
+
+ addToList(
+ items,
+ hbTrId("txt_occ_list_wep_1"),
+ CMManagerShim::WlanSecModeWep,
+ WlanWizardPageInternal::PageKeyQuery,
+ true);
+
+ // In case of Ad-hoc network, exclude wpa, eap and 802.1X modes.
+ if (mWizard->configuration(WlanWizardPrivate::ConfNetworkMode).toInt()
+ != CMManagerShim::Adhoc) {
+
+ addToList(
+ items,
+ hbTrId("txt_occ_list_wpa_with_password"),
+ CMManagerShim::WlanSecModeWpa,
+ WlanWizardPageInternal::PageKeyQuery,
+ true);
+
+ addToList(
+ items,
+ hbTrId("txt_occ_list_wpa_with_eap"),
+ CMManagerShim::WlanSecModeWpa,
+ WlanWizardPage::PageEapStart,
+ false);
+
+ addToList(
+ items,
+ hbTrId("txt_occ_list_8021x_1"),
+ CMManagerShim::WlanSecMode802_1x,
+ WlanWizardPage::PageEapStart,
+ false);
+ }
+
+ mList->setItems(items);
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESECURITYMODE_POPULATESECMODELIST_EXIT);
+}
+
+/*!
+ * A support function to map the radio button list to a generic network
+ * mode list. This enables the changing of button order without it
+ * affecting the entire class.
+ * @param [out] list is a reference to a local list that will be placed as an
+ * argument to the radio button list.
+ * @param [in] item is a reference to the text value that is appended to the
+ * list
+ * @param [in] mode is the security mode associated with the item
+ * @param [in] page is the id of the next wizard page when this item is selected.
+ * @param [in] psk indicates whether password needs to be queried.
+ */
+void WlanWizardPageSecurityMode::addToList(
+ QStringList &list,
+ const QString &item,
+ int mode,
+ int page,
+ bool psk)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESECURITYMODE_ADDTOLIST_ENTRY);
+
+ if (mWizard->configurationExists(WlanWizardHelper::ConfAvailableNetworkOptions)) {
+ WlanNetworkSetting netMode;
+ netMode.mode = mWizard->configuration(WlanWizardPrivate::ConfNetworkMode).toInt();
+ netMode.hidden = mWizard->configuration(WlanWizardPrivate::ConfWlanScanSSID).toBool();
+ netMode.wpsSupported = mWizard->configuration(WlanWizardPrivate::ConfWpsSupported).toBool();
+ WlanWizardScanList networkOptions = mWizard->configuration(
+ WlanWizardHelper::ConfAvailableNetworkOptions).value<WlanWizardScanList>();
+
+ for (int i = 0; i < networkOptions.secModes(netMode); i++) {
+ WlanSecuritySetting secMode = networkOptions.getSecMode(netMode, i);
+
+ if (secMode.mode == mode && secMode.usePsk == psk) {
+ list << item;
+ mSecModes.append(mode);
+ mPageIds.append(page);
+ mUsePsk.append(psk);
+ }
+ }
+ }
+ else {
+ list << item;
+ mSecModes.append(mode);
+ mPageIds.append(page);
+ mUsePsk.append(psk);
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESECURITYMODE_ADDTOLIST_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpagessid.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,201 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard Page: SSID Selection.
+*/
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbMainWindow>
+#include <HbWidget>
+#include <HbLineEdit>
+#include <HbEditorInterface>
+#include <HbLabel>
+#include <wlanqtutils.h>
+
+// User includes
+#include "wlanwizardpagessid.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardutils.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpagessidTraces.h"
+#endif
+
+/*!
+ * Constructor method for the SSID query view object.
+ * @param [in] parent pointer to parent object.
+ */
+WlanWizardPageSsid::WlanWizardPageSsid(WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mWidget(NULL),
+ mLabel(NULL),
+ mSsid(NULL),
+ mLoader(NULL)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESSID_WLANWIZARDPAGESSID_ENTRY );
+
+ OstTraceFunctionExit0( WLANWIZARDPAGESSID_WLANWIZARDPAGESSID_EXIT );
+}
+
+/*!
+ * Destructor. Loader widget is deleted.
+ * All document widgets are deleted by wlanwizard_p destructor.
+ */
+WlanWizardPageSsid::~WlanWizardPageSsid()
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDPAGESSID_WLANWIZARDPAGESSID_ENTRY );
+ delete mLoader;
+ OstTraceFunctionExit0( DUP1_WLANWIZARDPAGESSID_WLANWIZARDPAGESSID_EXIT );
+}
+
+/*!
+ * Page initialization. If view is already loaded, does nothing.
+ * @return pointer to widget "occ_add_wlan_01".
+ */
+HbWidget* WlanWizardPageSsid::initializePage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESSID_INITIALIZEPAGE_ENTRY );
+ OstTrace0( TRACE_NORMAL, WLANWIZARDPAGESSID_INITIALIZEPAGE,
+ "WlanWizardPageSsid::initializePage" );
+
+ // It is not possible for this method to be called more than once during
+ // wizard lifetime.
+ Q_ASSERT(mWidget == NULL);
+
+ bool ok;
+
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ mLoader->load(":/docml/occ_add_wlan_01_04.docml", &ok);
+ Q_ASSERT(ok);
+
+ // Load orientation
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ // Load widgets
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget(
+ "occ_add_wlan_01"));
+ Q_ASSERT(mWidget != NULL);
+
+ mLabel = qobject_cast<HbLabel*> (mLoader->findWidget("dialog"));
+ Q_ASSERT(mLabel != NULL);
+
+ mSsid = qobject_cast<HbLineEdit*> (mLoader->findWidget("lineEditKey"));
+ Q_ASSERT(mSsid != NULL);
+
+ mLabel->setPlainText(hbTrId(
+ "txt_occ_dialog_insert_the_name_of_the_new_wlan_net"));
+
+ // Connect orientation signal from the main window to orientation
+ // loader.
+ ok = connect(mWizard->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)), this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(ok);
+
+ // Connect text change-signal from input dialog to handler function
+ ok = connect(mSsid, SIGNAL(textChanged(const QString &)), this,
+ SLOT(textChanged(const QString &)));
+ Q_ASSERT(ok);
+
+ HbEditorInterface editInterface(mSsid);
+
+ // TODO: remove (HbEditorConstraints) type cast when
+ // Q_DECLARE_OPERATORS_FOR_FLAGS(HbEditorConstraints) is defined (SDK xxx)
+ editInterface.setInputConstraints(
+ (HbEditorConstraints)(HbEditorConstraintAutoCompletingField |
+ HbEditorConstraintLatinAlphabetOnly));
+
+ editInterface.setSmileyTheme(HbSmileyTheme());
+ editInterface.setEditorClass(HbInputEditorClassNetworkName);
+ mSsid->setInputMethodHints(
+ Qt::ImhNoPredictiveText | Qt::ImhPreferLowercase);
+ mSsid->setMaxLength(WlanWizardUtils::SsidMaxLength);
+
+ OstTraceFunctionExit0( WLANWIZARDPAGESSID_INITIALIZEPAGE_EXIT );
+ return mWidget;
+}
+
+/*!
+ * This method is overrides the default implementation from WlanWizardPage.
+ * It indicates whether the Next-button should be enabled or not.
+ * @return true, if mSsid edit field is not empty.
+ */
+bool WlanWizardPageSsid::showPage()
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESSID_SHOWPAGE_ENTRY );
+ // Initiate the scanning of public APs here.
+ mWizard->wlanQtUtils()->scanWlanAps();
+
+ // Open virtual keyboard by setting focus to line edit
+ mSsid->setFocus();
+ OstTraceFunctionExit0( WLANWIZARDPAGESSID_SHOWPAGE_EXIT );
+ return !(mSsid->text().isEmpty());
+}
+
+/*!
+ * Stores the SSID selection in the configuration.
+ * @param [out] removeFromStack returns false.
+ * @return WlanWizardPageScanning page id.
+ */
+int WlanWizardPageSsid::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESSID_NEXTID_ENTRY );
+ removeFromStack = false;
+
+ // SSID is stored into configuration
+ mWizard->setConfiguration(WlanWizardPrivate::ConfSsid, mSsid->text());
+
+ OstTraceFunctionExit0( WLANWIZARDPAGESSID_NEXTID_EXIT );
+ return WlanWizardPageInternal::PageScanning;
+}
+
+/*!
+ * Loads the document orientation information from occ_add_wlan_01_04.docml
+ * This is called each time phone orientation changes.
+ * @param [in] orientation indicates whether the phone is in portrait or
+ * landscape mode.
+ */
+void WlanWizardPageSsid::loadDocmlSection(Qt::Orientation orientation)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESSID_LOADDOCMLSECTION_ENTRY );
+ OstTrace1( TRACE_FLOW, WLANWIZARDPAGESSID_LOADDOCML,
+ "WlanWizardPageSsid::loadDocml - orientation ;orientation=%x",
+ ( TUint )( orientation ) );
+
+ WlanWizardPageInternal::loadDocmlSection(
+ mLoader,
+ orientation,
+ ":/docml/occ_add_wlan_01_04.docml",
+ "portrait_section",
+ "landscape_section");
+ OstTraceFunctionExit0( WLANWIZARDPAGESSID_LOADDOCMLSECTION_EXIT );
+}
+
+/*!
+ * Executed when changes have been made to the mSsid field (and the field is
+ * not empty).
+ * @param [in] text is not used at this point.
+ */
+void WlanWizardPageSsid::textChanged(const QString &text)
+{
+ OstTraceFunctionEntry0( WLANWIZARDPAGESSID_TEXTCHANGED_ENTRY );
+ Q_UNUSED(text);
+ OstTrace0( TRACE_FLOW, WLANWIZARDPAGESSID_TEXTCHANGED,
+ "WlanWizardPageSsid::textChanged in text edit widget" );
+
+ mWizard->enableNextButton(!(mSsid->text().isEmpty()));
+ OstTraceFunctionExit0( WLANWIZARDPAGESSID_TEXTCHANGED_EXIT );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardpagesummary.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,306 @@
+/*
+* Copyright (c) 2010 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:
+* Wlan Wizard Page: Summary
+*/
+
+// System includes
+
+#include <HbMainWindow>
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbListWidget>
+#include <HbListWidgetItem>
+#include <HbStyleLoader>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardplugin.h"
+#include "wlanwizardsummaryviewitem.h"
+#include "wlanwizardpagesummary.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardpagesummaryTraces.h"
+#endif
+
+
+/*!
+ \class WlanWizardPageSummary
+ \brief Implements Wizard summary page.
+ */
+
+// External function prototypes
+
+// Local constants
+
+//! Path for layout of custom list widget
+static const char WlanWizardPageSummaryLayout[] = ":/wizardsummarylayout/";
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor.
+
+ @param [in] parent pointer to private implementation of wizard.
+ */
+WlanWizardPageSummary::WlanWizardPageSummary(WlanWizardPrivate* parent) :
+ WlanWizardPageInternal(parent),
+ mListWidget(NULL)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_WLANWIZARDPAGESUMMARY_ENTRY);
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_WLANWIZARDPAGESUMMARY_EXIT);
+}
+
+/*!
+ Destructor.
+ */
+WlanWizardPageSummary::~WlanWizardPageSummary()
+{
+ OstTraceFunctionEntry0(DUP1_WLANWIZARDPAGESUMMARY_WLANWIZARDPAGESUMMARY_ENTRY);
+
+ HbStyleLoader::unregisterFilePath(WlanWizardPageSummaryLayout);
+
+ // Wizard framework deletes the visualization (owns mListWidget).
+
+ OstTraceFunctionExit0(DUP1_WLANWIZARDPAGESUMMARY_WLANWIZARDPAGESUMMARY_EXIT);
+}
+
+/*!
+ See WlanWizardPage::initializePage()
+ */
+HbWidget* WlanWizardPageSummary::initializePage()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_INITIALIZEPAGE_ENTRY);
+
+ // Note that from summary page it is not possible to step back
+ // this means that it is not possible that this method is called twice.
+ Q_ASSERT(!mListWidget);
+
+ loadDocml();
+ int row = 0;
+
+ appendToList(
+ row,
+ hbTrId("txt_occ_dblist_network_name"),
+ mWizard->configuration(WlanWizardPrivate::ConfSsid).toString());
+
+ appendToList(
+ row, hbTrId("txt_occ_dblist_network_mode"), networkModeText());
+
+ appendToList(
+ row, hbTrId("txt_occ_dblist_security_mode"), securityModeText());
+
+ addDynamicItems(row);
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_INITIALIZEPAGE_EXIT);
+ return qobject_cast<HbWidget*>(mListWidget);
+}
+
+/*!
+ Loads docml.
+ */
+void WlanWizardPageSummary::loadDocml()
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_LOADDOCML_ENTRY);
+
+ bool ok;
+ HbDocumentLoader docLoader(mWizard->mainWindow());
+
+ docLoader.load(":/docml/occ_add_wlan_05.docml", &ok);
+ Q_ASSERT(ok);
+
+ mListWidget = qobject_cast<HbListWidget *>(docLoader.findWidget("occ_add_wlan_05"));
+ Q_ASSERT(mListWidget != NULL);
+
+ // Set own list prototype handler to disable TAP gestures and selections
+ mListWidget->setItemPrototype(
+ new WlanWizardSummaryListViewItem(mListWidget));
+
+ // set the layout name to match the layout name in hblistviewitem.css file
+ mListWidget->setLayoutName("wlanwizardsummaryitem");
+
+ // Register the location of hblistviewitem.css and hblistviewitem.widgetml
+ ok = HbStyleLoader::registerFilePath(WlanWizardPageSummaryLayout);
+ Q_ASSERT(ok);
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_LOADDOCML_EXIT);
+}
+
+/*!
+ Gets localized network mode from the WlanWizardPrivate::ConfNetworkMode
+ configuration.
+
+ @return localized network mode text.
+ */
+QString WlanWizardPageSummary::networkModeText() const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_NETWORKMODETEXT_ENTRY);
+
+ QString ret;
+ int mode = mWizard->configuration(
+ WlanWizardPrivate::ConfNetworkMode).toInt();
+
+ switch (mode) {
+ case CMManagerShim::Adhoc:
+ ret = hbTrId("txt_occ_dblist_network_mode_val_adhoc");
+ break;
+
+ default:
+ Q_ASSERT(mode == CMManagerShim::Infra);
+ if (mWizard->configuration(WlanWizardPrivate::ConfWlanScanSSID).toBool()) {
+ ret = hbTrId("txt_occ_dblist_network_mode_val_infrastructure_hi");
+ } else {
+ ret = hbTrId("txt_occ_dblist_network_mode_val_infrastructure_pu");
+ }
+ break;
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_NETWORKMODETEXT_EXIT);
+ return ret;
+}
+
+/*!
+ Gets localized security mode from the WlanWizardPrivate::ConfSecurityMode
+ configuration.
+
+ @return localized security mode text.
+ */
+QString WlanWizardPageSummary::securityModeText() const
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_SECURITYMODETEXT_ENTRY);
+
+ QString ret;
+ int mode = mWizard->configuration(WlanWizardPrivate::ConfSecurityMode).toInt();
+ switch (mode) {
+ case CMManagerShim::WlanSecMode802_1x:
+ ret = hbTrId("txt_occ_dblist_security_mode_val_8021x");
+ break;
+
+ case CMManagerShim::WlanSecModeWep:
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wep");
+ break;
+
+ case CMManagerShim::WlanSecModeWpa:
+ if (mWizard->configuration(WlanWizardPrivate::ConfUsePsk).toBool()) {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpawpa2psk");
+ } else {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpawpa2_with_eap");
+ }
+ break;
+
+ case CMManagerShim::WlanSecModeWpa2:
+ if (mWizard->configuration(WlanWizardPrivate::ConfUsePsk).toBool()) {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpa2_with_passwor");
+ } else {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpa2_with_eap");
+ }
+ break;
+
+ default:
+ Q_ASSERT(mode == CMManagerShim::WlanSecModeOpen);
+ ret = hbTrId("txt_occ_dblist_security_mode_val_open");
+ break;
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_SECURITYMODETEXT_EXIT);
+ return ret;
+}
+
+/*!
+ Adds dynamic content to the view.
+
+ @param [in,out] row row to where insert happens.
+ */
+void WlanWizardPageSummary::addDynamicItems(int &row)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_ADDDYNAMICITEMS_ENTRY);
+
+ if (mWizard->isEapEnabled()) {
+ appendToListPluginInfo(WlanWizardPlugin::SummaryEapOuterType, row);
+ appendToListPluginInfo(WlanWizardPlugin::SummaryEapInnerType, row);
+ appendToListPluginInfo(WlanWizardPlugin::SummaryEapFastProvisioningMode, row);
+ }
+
+ QString value;
+
+ switch (mWizard->configuration(WlanWizardPrivate::ConfIctStatus).toInt()) {
+ case WlanQtUtils::IctPassed:
+ value = hbTrId("txt_occ_dblist_destination_val_internet");
+ appendToList(row, hbTrId("txt_occ_dblist_destination"), value);
+ break;
+
+ case WlanQtUtils::IctFailed:
+ value = hbTrId("txt_occ_dblist_destination_val_uncategorized");
+ appendToList(row, hbTrId("txt_occ_dblist_destination"), value);
+ break;
+
+ default:
+ Q_ASSERT(WlanQtUtils::IctHotspotPassed ==
+ mWizard->configuration(WlanWizardPrivate::ConfIctStatus).toInt());
+ // Add nothing to list.
+ break;
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_ADDDYNAMICITEMS_EXIT);
+}
+
+/*!
+ Appends new item to the end of the summary list
+
+ @param [in,out] row number to where the item is inserted
+ @param [in] title title of the item
+ @param [in] value value of the item
+ */
+void WlanWizardPageSummary::appendToList(
+ int &row,
+ const QString title,
+ const QString value)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_APPENDTOLIST_ENTRY);
+
+ HbListWidgetItem *item = new HbListWidgetItem();
+ item->setText(title);
+ item->setSecondaryText(value);
+ mListWidget->insertItem(row++, item);
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_APPENDTOLIST_EXIT);
+}
+
+/*!
+ Appends new item to the end of the summary list
+
+ @param [in] id Plugin summary id
+ @param [in,out] row number to where the item is inserted
+ */
+void WlanWizardPageSummary::appendToListPluginInfo(
+ WlanWizardPlugin::Summary id,
+ int &row)
+{
+ OstTraceFunctionEntry0(WLANWIZARDPAGESUMMARY_APPENDTOLISTPLUGININFO_ENTRY);
+
+ QString title;
+ QString value;
+ WlanWizardPlugin *plugin = mWizard->wlanWizardPlugin();
+ Q_ASSERT(plugin);
+ if (plugin->summary(id, title, value)) {
+ appendToList(row, title, value );
+ }
+
+ OstTraceFunctionExit0(WLANWIZARDPAGESUMMARY_APPENDTOLISTPLUGININFO_EXIT);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardscanlist.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,193 @@
+/*
+ * Copyright (c) 2010 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:
+ * Wlan Wizard Scan List: Hierarchical list of scan results that can be
+ * utilized to limit available selection options in manual wlan wizard.
+ *
+ */
+
+// System includes
+#include <HbGlobal>
+#include <QString>
+#include <cmmanagerdefines_shim.h>
+#include <wlanqtutilsap.h>
+
+// User includes
+#include "wlanwizardscanlist.h"
+#include "wlanwizardpageinternal.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardscanlistTraces.h"
+#endif
+
+
+/*!
+ * Constructor for WlanWizardScanList object.
+ */
+WlanWizardScanList::WlanWizardScanList(): mWpsSelected(false)
+{
+ OstTraceFunctionEntry0( WLANWIZARDSCANLIST_WLANWIZARDSCANLIST_ENTRY );
+
+ OstTraceFunctionExit0( WLANWIZARDSCANLIST_WLANWIZARDSCANLIST_EXIT );
+}
+
+/*!
+ * Copy Constructor for WlanWizardScanList object.
+ * @param [in] scanList is the object to be copied.
+ */
+WlanWizardScanList::WlanWizardScanList(const WlanWizardScanList &scanList):
+mOpenOptions(scanList.mOpenOptions), mWpsSelected(false)
+{
+ OstTraceFunctionEntry0( DUP1_WLANWIZARDSCANLIST_WLANWIZARDSCANLIST_ENTRY );
+
+ OstTraceFunctionExit0( DUP1_WLANWIZARDSCANLIST_WLANWIZARDSCANLIST_EXIT );
+}
+
+/*!
+ * Destructor for WlanWizardScanList object.
+ */
+WlanWizardScanList::~WlanWizardScanList()
+{
+ OstTraceFunctionEntry0( DUP2_WLANWIZARDSCANLIST_WLANWIZARDSCANLIST_ENTRY );
+
+ OstTraceFunctionExit0( DUP2_WLANWIZARDSCANLIST_WLANWIZARDSCANLIST_EXIT );
+}
+
+/*!
+ * This function builds a hash list of scan results. Key value in a hash item
+ * is the network mode and the associated value is a list of security modes.
+ * In other words, it is a list of network modes where each network mode points
+ * to one or more security modes.
+ * @param [in] results contains a list of scan results.
+ */
+void WlanWizardScanList::build(const QList<WlanScanResult> &results)
+{
+ OstTraceFunctionEntry0( WLANWIZARDSCANLIST_BUILD_ENTRY );
+
+ mWpsSelected = true;
+
+ for (int i = 0; i < results.size(); i++) {
+ WlanNetworkSetting netMode;
+ WlanSecuritySetting secMode;
+ WlanScanResult item = results.at(i);
+
+ netMode.wpsSupported = item.scanResult->value(WlanQtUtilsAp::ConfIdWpsSupported).toBool();
+ netMode.mode = item.scanResult->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt();
+ netMode.hidden = (netMode.mode == CMManagerShim::Adhoc) ? false : item.networkHidden;
+
+ secMode.mode = item.scanResult->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
+ secMode.usePsk = (secMode.mode == CMManagerShim::WlanSecModeWep) ? true
+ : item.scanResult->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool();
+
+ switch (secMode.mode) {
+ case CMManagerShim::WlanSecMode802_1x:
+ secMode.nextPageId = WlanWizardPage::PageEapStart;
+ break;
+
+ case CMManagerShim::WlanSecModeWep:
+ secMode.nextPageId = WlanWizardPageInternal::PageKeyQuery;
+ break;
+
+ case CMManagerShim::WlanSecModeWpa:
+ case CMManagerShim::WlanSecModeWpa2:
+ if (secMode.usePsk) {
+ secMode.nextPageId = WlanWizardPageInternal::PageKeyQuery;
+ }
+ else {
+ secMode.nextPageId = WlanWizardPage::PageEapStart;
+ }
+ break;
+
+ default:
+ Q_ASSERT(CMManagerShim::WlanSecModeOpen == secMode.mode ||
+ CMManagerShim::WlanSecModeWapi == secMode.mode);
+ secMode.nextPageId = WlanWizardPage::PageProcessSettings;
+ break;
+
+ }
+
+ // prevent duplicate settings.
+ if (!mOpenOptions.contains(netMode)) {
+ mWpsSelected = (mWpsSelected && netMode.wpsSupported);
+ QList<WlanSecuritySetting> secList;
+ secList.append(secMode);
+ mOpenOptions.insert(netMode, secList);
+ }
+ else if (!(mOpenOptions.find(netMode)->contains(secMode))) {
+ mOpenOptions.find(netMode)->append(secMode);
+ }
+ // else an identical key-value pair is already in the list -> not added.
+ }
+ OstTraceFunctionExit0( WLANWIZARDSCANLIST_BUILD_EXIT );
+}
+
+/*!
+ * This function returns a security mode setting at the requested location.
+ * This function does not do any validity checks for the lists, so the user
+ * needs to use netModes and secModes functions to prevent over-indexing.
+ * @param [in] netMode key value for the hash list.
+ * @param [in] index list index pointing to the security mode item.
+ * @return security setting item reference.
+ */
+const WlanSecuritySetting &WlanWizardScanList::getSecMode(
+ WlanNetworkSetting netMode,
+ int index) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDSCANLIST_GETSECMODE_ENTRY );
+ return mOpenOptions.value(netMode).at(index);
+}
+
+/*!
+ * The number of key values available in the hash list.
+ * @return the number of keys.
+ */
+int WlanWizardScanList::netModes() const
+{
+ OstTraceFunctionEntry0( WLANWIZARDSCANLIST_NETMODES_ENTRY );
+ return mOpenOptions.size();
+}
+
+/*!
+ * The size of the security mode list associated to a network mode.
+ * @param [in] netMode key value for the hash list.
+ * @return the size of the list associated with the key.
+ */
+int WlanWizardScanList::secModes(WlanNetworkSetting netMode) const
+{
+ OstTraceFunctionEntry0( WLANWIZARDSCANLIST_SECMODES_ENTRY );
+ Q_ASSERT(mOpenOptions.contains(netMode));
+ return mOpenOptions.find(netMode)->size();
+}
+
+/*!
+ * This function returns the list of keys in the hash.
+ * @return a list of keys.
+ */
+QList<WlanNetworkSetting> WlanWizardScanList::getNetModes() const
+{
+ OstTraceFunctionEntry0( WLANWIZARDSCANLIST_GETNETMODES_ENTRY );
+ return mOpenOptions.keys();
+}
+
+/*!
+ * This function indicates whether the list of scan results supports
+ * Wi-Fi Protected Setup.
+ * @return true, if all result network modes support wps, false if even
+ * a single result does not.
+ */
+bool WlanWizardScanList::wpsSelected() const
+{
+ OstTraceFunctionEntry0( WLANWIZARDSCANLIST_WPSSELECTED_ENTRY );
+ return mWpsSelected;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardsummaryviewitem.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,99 @@
+/*
+ * Copyright (c) 2010 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:
+ * Wlan Wizard Page: Summary: List view item
+ *
+ */
+
+// System includes
+
+// User includes
+
+#include "wlanwizardsummaryviewitem.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardsummaryviewitemTraces.h"
+#endif
+
+
+/*!
+ \class WlanWizardSummaryListViewItem
+ \brief Implements custom List view for Summary page.
+
+ HbListWidget does not support directly views where selection is disabled.
+
+ This implementation removes required operations to disable list selection.
+ */
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+//
+
+/*!
+ Constructor.
+
+ @param [in] parent parent class
+ */
+WlanWizardSummaryListViewItem::WlanWizardSummaryListViewItem(
+ QGraphicsItem* parent) :
+ HbListViewItem(parent)
+{
+ OstTraceFunctionEntry0(
+ WLANWIZARDSUMMARYLISTVIEWITEM_WLANWIZARDSUMMARYLISTVIEWITEM_ENTRY );
+ OstTraceFunctionExit0(
+ WLANWIZARDSUMMARYLISTVIEWITEM_WLANWIZARDSUMMARYLISTVIEWITEM_EXIT );
+}
+
+/*!
+ Destructor.
+ */
+WlanWizardSummaryListViewItem::~WlanWizardSummaryListViewItem()
+{
+ OstTraceFunctionEntry0(
+ DUP1_WLANWIZARDSUMMARYLISTVIEWITEM_WLANWIZARDSUMMARYLISTVIEWITEM_ENTRY );
+ OstTraceFunctionExit0(
+ DUP1_WLANWIZARDSUMMARYLISTVIEWITEM_WLANWIZARDSUMMARYLISTVIEWITEM_EXIT );
+}
+
+/*!
+ See HbListViewItem::updateChildItems().
+
+ Disables selection.
+ */
+void WlanWizardSummaryListViewItem::updateChildItems()
+{
+ OstTraceFunctionEntry0( WLANWIZARDSUMMARYLISTVIEWITEM_UPDATECHILDITEMS_ENTRY );
+ HbListViewItem::updateChildItems();
+
+ ungrabGesture(Qt::TapGesture);
+
+ GraphicsItemFlags itemFlags = flags();
+ itemFlags &= ~QGraphicsItem::ItemIsFocusable;
+ setFlags(itemFlags);
+ OstTraceFunctionExit0( WLANWIZARDSUMMARYLISTVIEWITEM_UPDATECHILDITEMS_EXIT );
+}
+
+/*!
+ See HbListViewItem::createItem().
+ */
+HbAbstractViewItem* WlanWizardSummaryListViewItem::createItem()
+{
+ OstTraceFunctionEntry0( WLANWIZARDSUMMARYLISTVIEWITEM_CREATEITEM_ENTRY );
+ OstTraceFunctionExit0( WLANWIZARDSUMMARYLISTVIEWITEM_CREATEITEM_EXIT );
+ return new WlanWizardSummaryListViewItem(*this);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/src/wlanwizardutils.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,274 @@
+/*
+ * Copyright (c) 2010 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:
+ * WLAN Wizard Utilities
+ *
+ */
+
+// System includes
+#include <QString>
+#include <QDebug>
+#include <QVariant>
+
+// User includes
+#include "wlanwizardutils.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanwizardutilsTraces.h"
+#endif
+
+/*!
+ \class WlanWizardUtils wlanwizardutils.cpp
+ \brief Utilities for WLAN key validations.
+
+*/
+/*!
+ \enum WlanWizardUtils::KeyStatus
+ This enum defines the validation results.
+
+ \var WlanWizardUtils::KeyStatusOk
+ Key is valid.
+
+ \var WlanWizardUtils::KeyStatusIllegalCharacters
+ Key contains illegal characters.
+
+ \var WlanWizardUtils::KeyStatusWpaTooShort
+ WPA key is too short. Minimum allowed length is 8. See
+ WlanWizardUtils::validateWpaKey().
+
+ \var WlanWizardUtils::KeyStatusWpaTooLong
+ WPA key is too long. Minimum allowed length is 64 for hex key and 63 for
+ ascii key. See WlanWizardUtils::validateWpaKey().
+
+ \var WlanWizardUtils::KeyStatusWepInvalidLength
+ WEP key length is not valid. Valid keys are
+ - hex: 10 or 26 characters
+ - ascii: 5 or 13 characters. See WlanWizardUtils::validateWpaKey().
+
+ \var WlanWizardUtils::SsidMinLength
+ Minumum acceptable length for SSID.
+
+ \var WlanWizardUtils::SsidMaxLength
+ Maximum acceptable length for SSID.
+
+ \var WlanWizardUtils::WpaMinLength
+ Minumum acceptable length for WPA key.
+
+ \var WlanWizardUtils::WpaMaxLength
+ Maximum acceptable length for WPA key.
+
+ \var WlanWizardUtils::WepHex64BitMaxLength
+ Length of WEP key: format hex 64-bits.
+
+ \var WlanWizardUtils::WepHex128BitMaxLength
+ Length of WEP key: format hex 128-bits.
+
+ \var WlanWizardUtils::WepAscii64BitMaxLength
+ Length of WEP key: format ascii 64-bits.
+
+ \var WlanWizardUtils::WepAscii128BitMaxLength
+ Length of WEP key: format ascii 128-bits.
+
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Process WPA key validation. A passphrase can contain from 8 to 63 ASCII
+ characters where each character MUST have a decimal encoding in the range of
+ 32 to 126, inclusive.
+
+ A preshared key is stored as 64 character hex string.
+
+ @param [in] key PSK to be validated
+
+ @return Following values are possible
+ - KeyStatusOk
+ - KeyStatusIllegalCharacters
+ - KeyStatusWpaTooShort
+ - KeyStatusWpaTooLong
+ */
+WlanWizardUtils::KeyStatus WlanWizardUtils::validateWpaKey(const QString &key)
+{
+ OstTraceFunctionEntry0( WLANWIZARDUTILS_VALIDATEWPAKEY_ENTRY );
+#ifdef OST_TRACE_COMPILER_IN_USE
+ TPtrC tmp(key.utf16(),key.length() );
+ OstTraceExt1( TRACE_NORMAL, WLANWIZARDUTILS_VALIDATEWPAKEY,
+ "WlanWizardUtils::validateWpaKey;key=%S", tmp );
+#endif
+
+ int length = key.length();
+ KeyStatus ret = KeyStatusOk;
+
+ if (length < WpaMinLength) {
+ ret = KeyStatusWpaTooShort;
+ } else if (length > WpaMaxLength) {
+ ret = KeyStatusWpaTooLong;
+ } else if (length == WpaMaxLength) {
+ ret = isHex(key);
+ } else {
+ ret = isAscii(key);
+ }
+
+ OstTrace1(
+ TRACE_NORMAL, WLANWIZARDUTILS_VALIDATEWPAKEY_RETURN,
+ "WlanWizardUtils::validateWpaKey - Return;ret=%{KeyStatus}", ret );
+
+ OstTraceFunctionExit0( WLANWIZARDUTILS_VALIDATEWPAKEY_EXIT );
+ return ret;
+}
+
+/*!
+ Process WEP key validation. Following keys are allowed:
+
+ HEX:
+ - 64 bit: allowed key length = 10
+ - 128 bit: allowed key length = 26
+
+ ASCII:
+ - 64 bit: allowed key length = 5
+ - 128 bit: allowed key length = 13
+
+ @param [in] key WEP Key to be validated
+
+ @return Following values are possible
+ - KeyStatusOk
+ - KeyStatusIllegalCharacters
+ - KeyStatusWepInvalidLength
+ */
+WlanWizardUtils::KeyStatus WlanWizardUtils::validateWepKey(const QString &key)
+{
+ OstTraceFunctionEntry0( WLANWIZARDUTILS_VALIDATEWEPKEY_ENTRY );
+#ifdef OST_TRACE_COMPILER_IN_USE
+ TPtrC tmp(key.utf16(),key.length() );
+ OstTraceExt1( TRACE_NORMAL, WLANWIZARDUTILS_VALIDATEWEPKEY,
+ "WlanWizardUtils::validateWepKey;key=%S", tmp );
+#endif
+
+ int length = key.length();
+ KeyStatus ret = KeyStatusOk;
+
+ if (length == WepHex64BitMaxLength || length == WepHex128BitMaxLength) {
+ ret = isHex(key);
+ } else if (length == WepAscii64BitMaxLength || length == WepAscii128BitMaxLength) {
+ ret = isAscii(key);
+ } else {
+ ret = KeyStatusWepInvalidLength;
+ }
+
+ OstTrace1(
+ TRACE_NORMAL, WLANWIZARDUTILS_VALIDATEWEPKEY_RETURN,
+ "WlanWizardUtils::validateWepKey - Return;ret=%{KeyStatus}", ret );
+
+ OstTraceFunctionExit0( WLANWIZARDUTILS_VALIDATEWEPKEY_EXIT );
+ return ret;
+}
+
+/*!
+ Process Ascii validation. Allowed characters are from 32 to 126.
+
+ @param [in] key to be validated.
+
+ @return Following values are possible
+ - KeyStatusOk
+ - KeyStatusIllegalCharacters
+ */
+WlanWizardUtils::KeyStatus WlanWizardUtils::isAscii(const QString &key)
+{
+ OstTraceFunctionEntry0( WLANWIZARDUTILS_ISASCII_ENTRY );
+ static const QChar ch32(32); // First visible ascii character
+ static const QChar ch126(126); // Last visible ascii character
+
+ const QChar *data = key.data();
+ while (!data->isNull()) {
+ if ((*data) < ch32 || (*data) > ch126) {
+ OstTraceFunctionExit0( WLANWIZARDUTILS_ISASCII_EXIT );
+ return KeyStatusIllegalCharacters;
+ }
+ ++data;
+ }
+ OstTraceFunctionExit0( DUP1_WLANWIZARDUTILS_ISASCII_EXIT );
+ return KeyStatusOk;
+}
+
+/*!
+ Process Hex validation. Allowed characters are
+ - from 0 to 9
+ - from a to f
+ - from A to F
+
+ @param [in] key to be validated.
+
+ @return Following values are possible
+ - KeyStatusOk
+ - KeyStatusIllegalCharacters
+ */
+WlanWizardUtils::KeyStatus WlanWizardUtils::isHex(const QString &key)
+{
+ OstTraceFunctionEntry0( WLANWIZARDUTILS_ISHEX_ENTRY );
+ static const QChar ch_A(65); // Character: A
+ static const QChar ch_F(70); // Character: F
+ static const QChar ch_a(97); // Character: a
+ static const QChar ch_f(102);// Character: f
+
+ const QChar *data = key.data();
+ while (!data->isNull()) {
+ if (data->isDigit() ||
+ (*data) >= ch_a && (*data) <= ch_f ||
+ (*data) >= ch_A && (*data) <= ch_F) {
+ ++data;
+ } else {
+ OstTraceFunctionExit0( WLANWIZARDUTILS_ISHEX_EXIT );
+ return KeyStatusIllegalCharacters;
+ }
+ }
+ OstTraceFunctionExit0( DUP1_WLANWIZARDUTILS_ISHEX_EXIT );
+ return KeyStatusOk;
+}
+
+/*!
+ Process SSID validation.
+
+ @param [in] ssid to be validated.
+
+ @return Following values are possible
+ - SsidStatusOk
+ - SsidStatusInvalidLength
+ */
+WlanWizardUtils::SsidStatus WlanWizardUtils::validateSsid(const QString &ssid)
+{
+ OstTraceFunctionEntry0( WLANWIZARDUTILS_VALIDATESSID_ENTRY );
+ TPtrC tmp(ssid.utf16(), ssid.length() );
+ OstTraceExt1( TRACE_NORMAL, WLANWIZARDUTILS_VALIDATESSID,
+ "WlanWizardUtils::validateSsid;ssid=%S", tmp );
+
+ SsidStatus ret = SsidStatusOk;
+
+ int len = ssid.length();
+ if (len < SsidMinLength || len > SsidMaxLength) {
+ ret = SsidStatusInvalidLength;
+ }
+ OstTrace1(
+ TRACE_NORMAL, WLANWIZARDUTILS_VALIDATESSID_RETURN,
+ "WlanWizardUtils::validateSsid - Return;ret=%{SsidStatus}", ret );
+ OstTraceFunctionExit0( WLANWIZARDUTILS_VALIDATESSID_EXIT );
+ return ret;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2010 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:
+ * OST Trace definition file for WLAN Wizard
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/traces/trace.properties Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<trace_properties>
+ <enum name="ConfigurationId">
+ <value id="0">ConfSsid</value>
+ <value id="1">ConfNetworkMode</value>
+ <value id="2">ConfSecurityMode</value>
+ <value id="3">ConfKeyWpa</value>
+ <value id="4">ConfKeyWep1</value>
+ <value id="5">ConfKeyWep2</value>
+ <value id="6">ConfKeyWep3</value>
+ <value id="7">ConfKeyWep4</value>
+ <value id="8">ConfKeyWepDefault</value>
+ <value id="9">ConfIctStatus</value>
+ <value id="10">ConfIapId</value>
+ <value id="11">ConfConnected</value>
+ <value id="12">ConfWlanScanSSID</value>
+ <value id="13">ConfUsePsk</value>
+ <value id="14">ConfProcessSessings</value>
+ <value id="15">ConfGenericErrorString</value>
+ <value id="16">ConfAvailableNetworkOptions</value>
+ <value id="17">ConfWpsSupported</value>
+ <value id="18">ConfGenericErrorPageStepsBackwards</value>
+ </enum>
+ <enum name="PageIds">
+ <value id="0">PageNone</value>
+ <value id="1">PageProcessSettings</value>
+ <value id="2">PageGenericError</value>
+ <value id="4096">PageSsid</value>
+ <value id="4097">PageScanning</value>
+ <value id="4098">PageNetworkSecurity</value>
+ <value id="4099">PageKeyQuery</value>
+ <value id="4100">PageNetworkMode</value>
+ <value id="4101">PageSummary</value>
+ <value id="8192">EapPageOuterType</value>
+ <value id="8193">EapPageCertificateCa</value>
+ <value id="8194">EapPageCertificateUser</value>
+ <value id="8195">EapPageIdentity</value>
+ <value id="8196">EapPageInnerTypePeap</value>
+ <value id="8197">EapPageInnerTypeEapTtls</value>
+ <value id="8198">EapPageNewPacStorePassword</value>
+ <value id="8199">EapPagePromptPacStorePassword</value>
+ <value id="8200">EapPageUsernamePassword</value>
+ <value id="12288">PageWpsWizardStep2</value>
+ <value id="12289">PageWpsWizardStep3_Button</value>
+ <value id="12290">PageWpsWizardStep3_Number</value>
+ <value id="12291">PageWpsWizardStep4</value>
+ <value id="12292">PageWpsWizardStep5</value>
+ <value id="12293">PageWpsWizardStep6</value>
+ </enum>
+ <enum name="KeyStatus">
+ <value id="0">KeyStatusOk</value>
+ <value id="1">KeyStatusIllegalCharacters</value>
+ <value id="2">KeyStatusWpaTooShort</value>
+ <value id="3">KeyStatusWpaTooLong</value>
+ <value id="4">KeyStatusWepInvalidLength</value>
+ </enum>
+ <enum name="SsidStatus">
+ <value id="0">SsidStatusOk</value>
+ <value id="1">SsidStatusIllegalCharacters</value>
+ <value id="2">SsidStatusInvalidLength</value>
+ </enum>
+</trace_properties>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/make_ctc.bat Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,17 @@
+:: Copyright (c) 2010 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:
+:: Batch file to instrument and run test cases with CTC.
+
+@echo off
+call ctcwrap -C EXCLUDE=* -C NO_EXCLUDE+..\src\*.cpp -C NO_EXCLUDE+..\..\eapwizard\src\*.cpp -C NO_EXCLUDE+..\..\wpswizard\src\*.cpp -i fd -v -2comp sbs -c winscw_udeb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/make_ctc_post.bat Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,17 @@
+:: Copyright (c) 2010 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:
+:: Batch file to create coverage reports from CTC results.
+
+call ctcpost -p profile.txt
+call ctc2html -i profile.txt
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/make_ctc_with_clean.bat Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,24 @@
+:: Copyright (c) 2010 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:
+:: Batch file to instrument and run test cases with CTC.
+
+@echo off
+del MON.*
+del profile.txt
+rmdir /S /Q CTCHTML
+call sbs clean
+call sbs reallyclean
+call make distclean
+call qmake "CONFIG-=debug"
+call ctcwrap -C EXCLUDE=* -C NO_EXCLUDE+..\src\*.cpp -C NO_EXCLUDE+..\..\eapwizard\src\*.cpp -C NO_EXCLUDE+..\..\wpswizard\src\*.cpp -i fd -v -2comp sbs -c winscw_udeb
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtcertificateinfo.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2010 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:
+* Stub file for eapwizard!!
+*/
+
+#ifndef EAPQTCERTIFICATEINFO_H
+#define EAPQTCERTIFICATEINFO_H
+
+// System includes
+#include <QMetaType>
+#include <QVariant>
+
+// User includes
+
+// Forward declarations
+class EapQtCertificateInfoPrivate;
+
+// External data types
+
+// Constants
+
+// Class declaration
+class EapQtCertificateInfo
+{
+public:
+
+ // Data types
+
+ enum ItemId
+ {
+ /*! QString */
+ SubjectName = 0,
+ /*! QString */
+ IssuerName,
+ /*! QString */
+ SerialNumber,
+ /*! QByteArray */
+ SubjectKeyId,
+ /*! QString */
+ ThumbPrint,
+ /*! QString */
+ CertificateLabel,
+ /* marker for the last item */
+ ItemIdLast
+ };
+
+public:
+
+ EapQtCertificateInfo();
+ ~EapQtCertificateInfo();
+
+ EapQtCertificateInfo(const EapQtCertificateInfo &certInfo);
+ EapQtCertificateInfo &operator=(const EapQtCertificateInfo &certInfo);
+
+ QVariant value(const ItemId id) const;
+ void setValue(const ItemId id, const QVariant &newValue);
+
+public: // FOR TESTING PURPOSE
+ bool operator==(const EapQtCertificateInfo & rhs) const;
+
+private:
+ QScopedPointer<EapQtCertificateInfoPrivate> d_ptr;
+};
+
+// Make the class known to QMetaType to support using QVariant
+Q_DECLARE_METATYPE(EapQtCertificateInfo)
+
+#endif // EAPQTCERTIFICATEINFO_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtcertificateinfo_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,126 @@
+/*
+ * Copyright (c) 2010 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:
+ * Certificate information data structure for EAP QT configuration interface
+ *
+ */
+
+/*
+ * %version: 3 %
+ */
+
+#include "eapqtcertificateinfo.h"
+#include <QDebug>
+class EapQtCertificateInfoPrivate
+{
+ friend class EapQtCertificateInfo;
+public:
+
+ EapQtCertificateInfoPrivate() {};
+ ~EapQtCertificateInfoPrivate() {};
+
+ // copy constructor
+ EapQtCertificateInfoPrivate(const EapQtCertificateInfoPrivate &certInfo)
+ {
+ mCerts = certInfo.mCerts;
+ }
+
+ QVariant value(int id);
+ void setValue(int id, QVariant newValue);
+
+private:
+ // disable assignment
+ EapQtCertificateInfoPrivate &operator=(const EapQtCertificateInfoPrivate&);
+ QHash<int, QVariant> mCerts;
+
+};
+
+
+//----------------------------------------------------------------------------
+// EapQtCertificateInfo
+//----------------------------------------------------------------------------
+
+
+EapQtCertificateInfo::EapQtCertificateInfo() :
+ d_ptr(new EapQtCertificateInfoPrivate)
+{
+}
+
+EapQtCertificateInfo::~EapQtCertificateInfo()
+{
+ // scoped pointer deleted automatically
+}
+
+EapQtCertificateInfo::EapQtCertificateInfo(const EapQtCertificateInfo &certInfo) :
+ d_ptr(new EapQtCertificateInfoPrivate(*(certInfo.d_ptr)))
+{
+}
+
+EapQtCertificateInfo& EapQtCertificateInfo::operator=(const EapQtCertificateInfo &certInfo)
+{
+ // check if assigning to myself
+ if (this != &certInfo) {
+ d_ptr.reset(new EapQtCertificateInfoPrivate(*(certInfo.d_ptr)));
+ }
+ return *this;
+}
+
+QVariant EapQtCertificateInfo::value(const ItemId id) const
+{
+ // check for valid range, otherwise memory is consumed for no reason
+ if(id >= ItemIdLast) {
+ qDebug("ERROR: EapQtCertificateInfo::value - invalid id!");
+ return QVariant::Invalid;
+ }
+ return d_ptr->mCerts[id];
+}
+
+void EapQtCertificateInfo::setValue(const ItemId id, const QVariant &newValue)
+{
+ // check for valid range, otherwise memory is consumed for no reason
+ if(id < ItemIdLast) {
+ d_ptr->mCerts[id] = newValue;
+ } else {
+ qDebug("ERROR: EapQtCertificateInfo::setValue - invalid id!");
+ }
+ return;
+}
+
+bool EapQtCertificateInfo::operator==(const EapQtCertificateInfo & rhs ) const
+{
+ bool ret = true;
+ if (d_ptr->mCerts.size() != rhs.d_ptr->mCerts.size()) {
+ qWarning("EapQtCertificateInfo::operator==(): size: expect %d, actual %d ",
+ d_ptr->mCerts.size(),
+ rhs.d_ptr->mCerts.size() );
+ ret = false;
+ }
+ QHashIterator<int, QVariant> i(d_ptr->mCerts);
+
+ while (i.hasNext()) {
+ i.next();
+ if (!rhs.d_ptr->mCerts.contains(i.key())){
+ qWarning("EapQtCertificateInfo::operator==(): key not found: %d", i.key());
+ ret = false;
+
+ }
+ if (i.value() != rhs.d_ptr->mCerts[i.key()]){
+ qWarning("EapQtCertificateInfo::operator==(): values not match");
+ qDebug() << "Expect: " << i.value();
+ qDebug() << "Actual: " << i.value();
+ ret = false;
+ }
+ }
+ return ret;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtconfig.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,143 @@
+/*
+* Copyright (c) 2010 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:
+* Stub for eapwizard testing.
+*/
+
+#ifndef EAPQTCONFIG_H
+#define EAPQTCONFIG_H
+
+// System includes
+#include <QList>
+#include <QVariant>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class EapQtConfig
+{
+public:
+
+ // Data types
+
+ enum CipherSuite
+ {
+ /* from RFC4346, listing only suites supported by EAP server */
+ TLS_NULL_WITH_NULL_NULL = 0x0000,
+ TLS_RSA_WITH_RC4_128_MD5 = 0x0004,
+ TLS_RSA_WITH_RC4_128_SHA = 0x0005,
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA = 0x000a,
+ TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA = 0x0013,
+ TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA = 0x0016,
+ TLS_RSA_WITH_AES_128_CBC_SHA = 0x002f,
+ TLS_DHE_DSS_WITH_AES_128_CBC_SHA = 0x0032,
+ TLS_DHE_RSA_WITH_AES_128_CBC_SHA = 0x0033,
+ TLS_DH_anon_WITH_AES_128_CBC_SHA = 0x0034,
+ };
+
+ enum SettingsId
+ {
+ // see also EapSettings.h
+
+ /*! bool */
+ UsernameAutomatic = 0,
+ /*! QString */
+ Username,
+ /*! bool */
+ PasswordPrompt,
+ /*! write-only: QString */
+ Password,
+ /*! bool
+ * in read: defines if password already exists in settings database
+ * in write: when true, defines that password is not included in the provided
+ * configuration since it already exists in settings database, i.e. earlier
+ * set password remains unchanged */
+ PasswordStored,
+ /*! write-only: bool
+ * true: clears the password from database
+ * false: does nothing
+ */
+ PasswordClear,
+ /*! bool */
+ RealmAutomatic,
+ /*! QString */
+ Realm,
+ /*! bool */
+ UsePseudonyms,
+ /*! bool */
+ VerifyServerRealm,
+ /*! bool */
+ ClientAuthenticationRequired,
+ /*! uint */
+ SessionValidityTime,
+ /*! QList<uint>, values from EapQtConfig::CipherSuite */
+ CipherSuites,
+ /*! bool */
+ PeapVersion0Allowed,
+ /*! bool */
+ PeapVersion1Allowed,
+ /*! bool */
+ PeapVersion2Allowed,
+ /*! bool */
+ AuthorityCertificateAutomatic,
+ /*! QList< QVariant(EapQtCertificateInfo) > */
+ AuthorityCertificate,
+ /*! QList< QVariant(EapQtCertificateInfo) > */
+ UserCertificate,
+ /*! QList< QVariant(EapQtPluginHandle) > */
+ InnerType,
+ /*! EapQtPluginHandle */
+ OuterType,
+ /*! bool */
+ ProvisioningModeAuthenticated,
+ /*! bool */
+ ProvisioningModeUnauthenticated,
+ /*! QString */
+ PACGroupReference,
+ /*! bool */
+ WarnADHPNoPAC,
+ /*! bool */
+ WarnADHPNoMatchingPAC,
+ /*! bool */
+ WarnNotDefaultServer,
+ /*! bool */
+ UseIdentityPrivacy,
+ /* marker for the last entry */
+ SettingsIdLast
+ };
+
+public:
+ EapQtConfig();
+ EapQtConfig(const EapQtConfig& other);
+ ~EapQtConfig();
+
+ QVariant value(const SettingsId id) const;
+ void setValue(const SettingsId id, const QVariant &newValue);
+ void clear();
+
+public: // FOR TESTING PURPOSE
+ bool operator==(const EapQtConfig & rhs ) const;
+
+private:
+ QHash<int, QVariant> mSettings;
+};
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtconfig_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,146 @@
+/*
+ * Copyright (c) 2010 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:
+ * STUB: EAPWIZARD: EAP method QT configuration
+ *
+ */
+
+/*
+ * %version: 4 %
+ */
+
+#include "eapqtconfig.h"
+#include <eapqtpluginhandle.h>
+#include "eapqtcertificateinfo.h"
+#include <QDebug>
+
+//----------------------------------------------------------------------------
+// EapQtConfig
+//----------------------------------------------------------------------------
+
+EapQtConfig::EapQtConfig()
+{
+}
+
+EapQtConfig::EapQtConfig(const EapQtConfig &other)
+{
+ mSettings = other.mSettings;
+}
+
+EapQtConfig::~EapQtConfig()
+{
+ // scoped pointer deleted automatically
+}
+
+QVariant EapQtConfig::value(const SettingsId id) const
+{
+ // check for valid range, otherwise memory is consumed for no reason
+ if(id >= SettingsIdLast) {
+ qDebug("ERROR: EapQtConfig::value - invalid id!");
+ return QVariant::Invalid;
+ }
+ return mSettings[id];
+}
+
+void EapQtConfig::setValue(const SettingsId id, const QVariant &newValue)
+{
+ // check for valid range, otherwise memory is consumed for no reason
+ if(id < SettingsIdLast) {
+ mSettings[id] = newValue;
+ } else {
+ qDebug("ERROR: EapQtConfig::setValue - invalid id!");
+ }
+ return;
+}
+
+void EapQtConfig::clear() {
+ mSettings.clear();
+ return;
+}
+
+bool EapQtConfig::operator==(const EapQtConfig & rhs ) const
+{
+ bool ret = true;
+ if (mSettings.size() != rhs.mSettings.size()) {
+ qWarning("EapQtConfig::operator==(): size: expect %d, actual %d ",
+ mSettings.size(),
+ rhs.mSettings.size() );
+ ret = false;
+ }
+ QHashIterator<int, QVariant> i(mSettings);
+
+ while (i.hasNext()) {
+ i.next();
+ if (!rhs.mSettings.contains(i.key())){
+ qWarning("EapQtConfig::operator==(): key not found: %d", i.key());
+ ret = false;
+
+ }
+ if (i.key() == EapQtConfig::InnerType) {
+ QList<QVariant> list1(mSettings[i.key()].toList());
+ QList<QVariant> list2(rhs.mSettings[i.key()].toList());
+
+ if (list1.length() != 1 || list1.length() != list2.length()){
+ qWarning("Invalid length in EapQtConfig::InnerType");
+ ret = false;
+ } else {
+ EapQtPluginHandle handle1 = list1.at(0).value<EapQtPluginHandle> ();
+ EapQtPluginHandle handle2 = list2.at(0).value<EapQtPluginHandle> ();
+ if (handle1.pluginId() != handle2.pluginId()){
+ qWarning("Outer: %d", handle1.pluginId());
+ qWarning("Outer: %d", handle2.pluginId());
+ ret = false;
+ }
+ }
+ }
+ else if (i.key() == EapQtConfig::OuterType) {
+ EapQtPluginHandle handle = mSettings[i.key()].value<EapQtPluginHandle> ();
+ EapQtPluginHandle handle2 = rhs.mSettings[i.key()].value<EapQtPluginHandle> ();
+ if (handle.pluginId() != handle2.pluginId()){
+ qWarning("Outer: %d", handle.pluginId());
+ qWarning("Outer: %d", handle2.pluginId());
+ ret = false;
+ }
+ }
+ else if (i.key() == EapQtConfig::AuthorityCertificate ||
+ i.key() == EapQtConfig::UserCertificate) {
+ QList<QVariant> list1(mSettings[i.key()].toList());
+ QList<QVariant> list2(rhs.mSettings[i.key()].toList());
+
+ if (list1.length() != 1 || list1.length() != list2.length()) {
+ qWarning("Invalid length Certs %d", i.key());
+ ret = false;
+ } else {
+ EapQtCertificateInfo cert1 = list1.at(0).value<EapQtCertificateInfo>();
+ EapQtCertificateInfo cert2 = list2.at(0).value<EapQtCertificateInfo>();
+
+ if (!(cert1 == cert2)) {
+ ret = false;
+ qWarning("Invalid certs %d", i.key());
+ }
+ }
+ }
+ else {
+ if (i.value() != rhs.mSettings[i.key()]){
+ qWarning("EapQtConfig::operator==(): values does not match %d", i.key());
+ qDebug() << "Expect: " << i.value();
+ qDebug() << "Actual: " << rhs.mSettings[i.key()];
+ ret = false;
+ }
+ }
+ }
+ return ret;
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtconfiginterface.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,131 @@
+/*
+* Copyright (c) 2010 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:
+* EAP method configuration QT interface.
+*/
+
+#ifndef EAPQTCONFIGINTERFACE_H
+#define EAPQTCONFIGINTERFACE_H
+
+#include <qglobal.h>
+#include <QStringList>
+#include <eapqtexpandedeaptype.h>
+#include <eapqtpluginhandle.h>
+#include "eapqtconfig.h"
+#include "eapqtpacstoreconfig.h"
+#include "eapqtcertificateinfo.h"
+#include "eapqtvalidator.h"
+
+class EapQtConfigInterfaceContext;
+/*!
+ * @addtogroup group_eap_config_api
+ * @{
+ */
+
+/*!
+ */
+class EapQtConfigInterface
+{
+public:
+
+ enum EapBearerType
+ {
+ // EAP configuration interface for WLAN
+ EapBearerTypeWlan = 0,
+ // EAP configuration interface for VPN
+ EapBearerTypeVpn,
+ };
+
+ static const int IapIdUndefined = -1;
+
+public:
+ EapQtConfigInterface(const EapBearerType bearerType, const int iapId);
+ ~EapQtConfigInterface();
+
+ EapQtValidator *validatorEap(const EapQtExpandedEapType &type, const EapQtConfig::SettingsId id);
+ EapQtValidator *validatorPacStore(const EapQtPacStoreConfig::PacStoreSettings id);
+
+ bool setConfigurationReference(const int iapId);
+ QList<EapQtCertificateInfo> certificateAuthorityCertificates();
+ QList<EapQtCertificateInfo> userCertificates();
+
+ bool updateCertificates();
+
+ bool isSupportedOuterType(const EapQtPluginHandle& handle);
+ bool isSupportedInnerType(const EapQtPluginHandle& outerHandle,
+ const EapQtPluginHandle& innerHandle);
+
+ bool setSelectedOuterTypes(const QList<EapQtPluginHandle>& outerHandles);
+ bool saveConfiguration(const EapQtPluginHandle& pluginHandle, const EapQtConfig &config);
+ bool deleteConfiguration();
+
+ bool readPacStoreConfiguration(EapQtPacStoreConfig &config);
+ bool savePacStoreConfiguration(EapQtPacStoreConfig &config);
+
+
+private:
+ Q_DISABLE_COPY(EapQtConfigInterface)
+ QStringList mCalledMethods;
+
+ // setConfigurationReference
+ int mIapId;
+ bool mReturnSetConfigurationReference;
+
+ // certificateAuthorityCertificates
+ QList<EapQtCertificateInfo> mCertsCa;
+
+ // userCertificates
+ QList<EapQtCertificateInfo> mCertsUser;
+
+ // isSupportedOuterType
+ QList<EapQtPluginHandle> mSupportedOuterTypes;
+
+ // isSupportedInnerType
+ QList<EapQtPluginHandle> mSupportedInnerTypes;
+ int mSupportedInnerTypesOuterHandle;
+
+ // setSelectedOuterTypes
+ QList<EapQtPluginHandle> mSetSelectectedOuterTypes;
+ bool mReturnSetSelectedOuterTypes;
+
+ // saveConfiguration
+ EapQtPluginHandle::Plugin mOuterPlugin;
+ EapQtConfig mSaveConfigurationsOuter;
+ bool mReturnSaveConfigurationOuter;
+ EapQtPluginHandle::Plugin mInnerPlugin;
+ EapQtConfig mSaveConfigurationsInner;
+ bool mReturnSaveConfigurationInner;
+
+ // validatorEap
+ QHash<EapQtExpandedEapType::Type, QHash<EapQtConfig::SettingsId, EapQtValidator *> > mValidator;
+
+ // readPacStoreConfiguration
+ EapQtPacStoreConfig mReadPacStoreConfiguration;
+ bool mReadPacStoreConfigurationReturn;
+
+ // savePacStoreConfiguration
+ EapQtPacStoreConfig mSavePacStoreConfiguration;
+ bool mSavePacStoreConfigurationReturn;
+
+ // validatorPacStore, key: EapQtPacStoreConfig::PacStoreSettings
+ QHash<int ,EapQtValidator* > mValidatorPacStore;
+
+ friend class EapQtConfigInterfaceContext;
+};
+
+/*! @} */
+
+#endif
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtconfiginterface_context.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,422 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+#include <QTest>
+
+#include "eapqtconfiginterface_context.h"
+#include "eapqtvalidator_stub.h"
+#include "eapqtexpandedeaptype.h"
+
+EapQtConfigInterfaceContext::EapQtConfigInterfaceContext() :
+ mEapQtConfig(NULL)
+{
+}
+
+EapQtConfigInterfaceContext::~EapQtConfigInterfaceContext()
+{
+ mEapQtConfig->mValidator.clear();
+}
+
+void EapQtConfigInterfaceContext::setObject(EapQtConfigInterface *eapQtConfig)
+{
+ mEapQtConfig = eapQtConfig;
+}
+
+void EapQtConfigInterfaceContext::createEapAkaSim(int type)
+{
+ QList<EapQtPluginHandle> types;
+ types.append((EapQtPluginHandle::Plugin)type);
+ setSupportedOuterTypes(types);
+
+ setSelectectedOuterTypes(types, true);
+
+ EapQtConfig config;
+ config.setValue(EapQtConfig::UsernameAutomatic, true);
+ config.setValue(EapQtConfig::RealmAutomatic, true);
+ setOuterConfig((EapQtPluginHandle::Plugin)type, config, true);
+}
+
+void EapQtConfigInterfaceContext::createLeap(
+ const QString& username,
+ const QString& passwd)
+{
+ QList<EapQtPluginHandle> types;
+ types.append(EapQtPluginHandle::PluginLeap);
+ setSupportedOuterTypes(types);
+
+ setSelectectedOuterTypes(types, true);
+
+ EapQtConfig config;
+ config.setValue(EapQtConfig::UsernameAutomatic, false);
+ config.setValue(EapQtConfig::Username, username);
+ config.setValue(EapQtConfig::PasswordPrompt, false);
+ config.setValue(EapQtConfig::Password, passwd);
+ setOuterConfig(EapQtPluginHandle::PluginLeap, config, true);
+
+ // validators
+ createInnerTypeValidators(EapQtPluginHandle::PluginLeap);
+}
+
+void EapQtConfigInterfaceContext::createEapIdentifyValidators(EapQtPluginHandle::Plugin outerType)
+{
+ EapQtPluginHandle typeHandle(outerType);
+
+ EapQtValidatorStub *valStub = new EapQtValidatorStub(EapQtValidator::StatusOk);
+ setValidator(typeHandle.type().type(), EapQtConfig::Username, valStub);
+
+ valStub = new EapQtValidatorStub(EapQtValidator::StatusOk);
+ setValidator(typeHandle.type().type(), EapQtConfig::Realm, valStub);
+}
+
+void EapQtConfigInterfaceContext::createEapTtlsPeap(
+ EapQtPluginHandle::Plugin type,
+ bool automaticCert,
+ bool usernameAutomatic,
+ const QString &username,
+ bool realmAutomatic,
+ const QString &realm,
+ EapQtPluginHandle::Plugin innerType)
+{
+ EapQtPluginHandle typeHandle(type);
+
+ QList<EapQtPluginHandle> types;
+ types.append(typeHandle);
+ setSupportedOuterTypes(types);
+ setSelectectedOuterTypes(types, true);
+
+ // Certs
+ QList<EapQtCertificateInfo> certs;
+ EapQtCertificateInfo caCert;
+ caCert.setValue(EapQtCertificateInfo::CertificateLabel, "My Super Cert");
+ certs.append(caCert);
+ setCertsCa(certs);
+
+ // CREATE VALIDATOR
+ createEapIdentifyValidators(type);
+
+ // CREATE CONFIGURATION FOR TTLS/PEAP
+
+ EapQtConfig config;
+ config.setValue(EapQtConfig::UseIdentityPrivacy, false);
+ config.setValue(EapQtConfig::VerifyServerRealm, false);
+ config.setValue(EapQtConfig::ClientAuthenticationRequired, false);
+
+ config.setValue(EapQtConfig::UsernameAutomatic, usernameAutomatic);
+ config.setValue(EapQtConfig::Username, username);
+ config.setValue(EapQtConfig::RealmAutomatic, realmAutomatic);
+ config.setValue(EapQtConfig::Realm, realm);
+ if (automaticCert){
+ config.setValue(EapQtConfig::AuthorityCertificateAutomatic, true);
+ }
+ else {
+ QList<QVariant> caCerts;
+ caCerts.append(qVariantFromValue(caCert));
+ config.setValue(EapQtConfig::AuthorityCertificate, caCerts);
+ config.setValue(EapQtConfig::AuthorityCertificateAutomatic, false);
+ }
+ if (type == EapQtPluginHandle::PluginPeap){
+ if (innerType == EapQtPluginHandle::PluginEapMschapv2){
+ config.setValue(EapQtConfig::PeapVersion0Allowed, true);
+ config.setValue(EapQtConfig::PeapVersion1Allowed, false);
+ }
+ else {
+ config.setValue(EapQtConfig::PeapVersion0Allowed, false);
+ config.setValue(EapQtConfig::PeapVersion1Allowed, true);
+ }
+ config.setValue(EapQtConfig::PeapVersion2Allowed, false);
+ }
+ QList<QVariant> innerTypeList;
+ EapQtPluginHandle inner(innerType);
+ innerTypeList.append(qVariantFromValue(inner));
+ config.setValue(EapQtConfig::InnerType, innerTypeList);
+
+ setOuterConfig(type, config, true);
+}
+
+void EapQtConfigInterfaceContext::createEapTls(
+ QList<EapQtCertificateInfo> &caCerts,
+ int indexForCaCert,
+ QList<EapQtCertificateInfo> &userCerts,
+ int indexForUserCert)
+{
+ QList<EapQtPluginHandle> types;
+ types.append(EapQtPluginHandle::PluginEapTls);
+ setSupportedOuterTypes(types);
+ setSelectectedOuterTypes(types, true);
+
+ // Certs
+ setCertsCa(caCerts);
+ setCertsUser(userCerts);
+
+ // CREATE VALIDATOR
+ createEapIdentifyValidators(EapQtPluginHandle::PluginEapTls);
+
+ // CREATE CONFIGURATION FOR TTLS/PEAP
+
+ EapQtConfig config;
+ config.setValue(EapQtConfig::UseIdentityPrivacy, false);
+ config.setValue(EapQtConfig::VerifyServerRealm, false);
+ config.setValue(EapQtConfig::ClientAuthenticationRequired, true);
+
+ config.setValue(EapQtConfig::UsernameAutomatic, true);
+ config.setValue(EapQtConfig::Username, QString());
+ config.setValue(EapQtConfig::RealmAutomatic, true);
+ config.setValue(EapQtConfig::Realm, QString());
+
+ if (caCerts.length() == 0){
+ config.setValue(EapQtConfig::AuthorityCertificateAutomatic, true);
+ } else {
+ QList<QVariant> caCertsVariant;
+ caCertsVariant.append(qVariantFromValue(caCerts[indexForCaCert]));
+ config.setValue(EapQtConfig::AuthorityCertificate, caCertsVariant);
+ config.setValue(EapQtConfig::AuthorityCertificateAutomatic, false);
+ }
+
+ if (indexForUserCert != -1) {
+ QList<QVariant> certs;
+ certs.append(qVariantFromValue(userCerts[indexForUserCert]));
+ config.setValue(EapQtConfig::UserCertificate, certs);
+ }
+
+ setOuterConfig(EapQtPluginHandle::PluginEapTls, config, true);
+}
+
+void EapQtConfigInterfaceContext::createInner(
+ EapQtPluginHandle::Plugin outerType,
+ EapQtPluginHandle::Plugin innerType,
+ const QString &username,
+ const QString &password)
+{
+ EapQtPluginHandle innerHandle(innerType);
+
+ QList<EapQtPluginHandle> types;
+ types.append(innerHandle);
+ setSupportedInnerTypes(outerType, types);
+
+ EapQtConfig config;
+ EapQtPluginHandle outerTypeHandle(outerType);
+ config.setValue(EapQtConfig::OuterType, qVariantFromValue(outerTypeHandle));
+ config.setValue(EapQtConfig::UsernameAutomatic, false);
+ config.setValue(EapQtConfig::Username, username);
+ config.setValue(EapQtConfig::PasswordPrompt, false);
+ config.setValue(EapQtConfig::Password, password);
+ setInnerConfig(innerType, config, true);
+
+ createInnerTypeValidators(innerType);
+}
+
+void EapQtConfigInterfaceContext::createInnerTypeValidators(EapQtPluginHandle::Plugin innerType)
+{
+ EapQtPluginHandle innerHandle(innerType);
+
+ // validators
+ EapQtValidatorStub *valStub = new EapQtValidatorStub(EapQtValidator::StatusOk);
+ setValidator(innerHandle.type().type(), EapQtConfig::Username, valStub);
+
+ valStub = new EapQtValidatorStub(EapQtValidator::StatusOk);
+ setValidator(innerHandle.type().type(), EapQtConfig::Password, valStub);
+}
+
+void EapQtConfigInterfaceContext::createEapFast(
+ int pacState, const QString &password)
+{
+ QList<EapQtPluginHandle> types;
+ types.append(EapQtPluginHandle::PluginEapFast);
+ setSupportedOuterTypes(types);
+ setSelectectedOuterTypes(types, true);
+
+ EapQtPacStoreConfig pacStoreConfig;
+ pacStoreConfig.setValue(EapQtPacStoreConfig::PacStoreState, pacState);
+ setPacStoreConfigRead(pacStoreConfig, true);
+
+ if (pacState == EapQtPacStoreConfig::PacStoreStateStoreNotExists ||
+ pacState == EapQtPacStoreConfig::PacStoreStatePasswordRequired) {
+ pacStoreConfig.clear();
+ pacStoreConfig.setValue(
+ EapQtPacStoreConfig::PacStorePassword,
+ password);
+
+ pacStoreConfig.setValue(
+ EapQtPacStoreConfig::PacStoreSavePassword,
+ true);
+
+ setPacStoreConfigSave(pacStoreConfig, true);
+ }
+
+ if (pacState == EapQtPacStoreConfig::PacStoreStateStoreNotExists) {
+ EapQtValidatorStub *validator = new EapQtValidatorStub(EapQtValidator::StatusOk);
+ setValidatorPacStore(EapQtPacStoreConfig::PacStorePassword, validator);
+ }
+
+ if (pacState == EapQtPacStoreConfig::PacStoreStatePasswordRequired) {
+ EapQtValidatorStub *validator = new EapQtValidatorStub(EapQtValidator::StatusOk);
+ setValidatorPacStore(EapQtPacStoreConfig::PacStorePasswordConfirmation, validator);
+ }
+
+ EapQtConfig config;
+ config.setValue(EapQtConfig::ProvisioningModeAuthenticated, false);
+ config.setValue(EapQtConfig::ProvisioningModeUnauthenticated, true);
+ config.setValue(EapQtConfig::VerifyServerRealm, false);
+ config.setValue(EapQtConfig::UseIdentityPrivacy, false);
+
+ QList<QVariant> innerTypeList;
+ EapQtPluginHandle inner(EapQtPluginHandle::PluginEapMschapv2);
+ innerTypeList.append(qVariantFromValue(inner));
+ config.setValue(EapQtConfig::InnerType, innerTypeList);
+
+ setOuterConfig(EapQtPluginHandle::PluginEapFast, config, true);
+}
+
+QStringList EapQtConfigInterfaceContext::calledMethods()
+{
+ QStringList methods = mEapQtConfig->mCalledMethods;
+ mEapQtConfig->mCalledMethods.clear();
+ return methods;
+}
+
+void EapQtConfigInterfaceContext::setConfigurationReference(
+ int iapId,
+ bool retValue)
+{
+ mEapQtConfig->mIapId = iapId;
+ setConfigurationReferenceReturn(retValue);
+}
+
+void EapQtConfigInterfaceContext::setConfigurationReferenceReturn(bool retValue)
+{
+ mEapQtConfig->mReturnSetConfigurationReference = retValue;
+}
+
+void EapQtConfigInterfaceContext::setCertsCa(
+ QList<EapQtCertificateInfo> &certs)
+{
+ mEapQtConfig->mCertsCa = certs;
+}
+
+void EapQtConfigInterfaceContext::setCertsUser(
+ QList<EapQtCertificateInfo> &certs)
+{
+ mEapQtConfig->mCertsUser = certs;
+}
+
+void EapQtConfigInterfaceContext::setSupportedOuterTypes(
+ QList<EapQtPluginHandle> &outerTypes)
+{
+ mEapQtConfig->mSupportedOuterTypes = outerTypes;
+}
+
+void EapQtConfigInterfaceContext::setSupportedInnerTypes(
+ EapQtPluginHandle outerHandle,
+ QList<EapQtPluginHandle> &innerTypes)
+{
+ mEapQtConfig->mSupportedInnerTypes = innerTypes;
+ mEapQtConfig->mSupportedInnerTypesOuterHandle = outerHandle.pluginId();
+}
+
+void EapQtConfigInterfaceContext::setSelectectedOuterTypes(
+ QList<EapQtPluginHandle> &types,
+ bool retValue)
+{
+ mEapQtConfig->mSetSelectectedOuterTypes = types;
+ setSelectectedOuterTypesReturn(retValue);
+}
+
+void EapQtConfigInterfaceContext::setSelectectedOuterTypesReturn(bool retValue)
+{
+ mEapQtConfig->mReturnSetSelectedOuterTypes = retValue;
+}
+
+void EapQtConfigInterfaceContext::setOuterConfig(
+ EapQtPluginHandle::Plugin handle,
+ EapQtConfig &config,
+ bool retValue)
+{
+ mEapQtConfig->mOuterPlugin = handle;
+ mEapQtConfig->mSaveConfigurationsOuter = config;
+ setOuterConfigReturn(retValue);
+}
+
+void EapQtConfigInterfaceContext::setOuterConfigReturn(bool retValue)
+{
+ mEapQtConfig->mReturnSaveConfigurationOuter = retValue;
+}
+
+void EapQtConfigInterfaceContext::setInnerConfig(
+ EapQtPluginHandle::Plugin handle,
+ EapQtConfig &config,
+ bool retValue)
+{
+ mEapQtConfig->mInnerPlugin = handle;
+ mEapQtConfig->mSaveConfigurationsInner = config;
+ setInnerConfigReturn(retValue);
+}
+
+void EapQtConfigInterfaceContext::setInnerConfigReturn(bool retValue)
+{
+ mEapQtConfig->mReturnSaveConfigurationInner = retValue;
+}
+
+void EapQtConfigInterfaceContext::setValidator(
+ EapQtExpandedEapType::Type eapType,
+ EapQtConfig::SettingsId id,
+ EapQtValidator *validator)
+{
+ QCOMPARE(mEapQtConfig->mValidator[eapType][id] == NULL, true);
+ mEapQtConfig->mValidator[eapType][id] = validator;
+}
+
+
+EapQtValidator *EapQtConfigInterfaceContext::validator(
+ EapQtExpandedEapType::Type eapType,
+ EapQtConfig::SettingsId id)
+{
+ return mEapQtConfig->mValidator[eapType][id];
+}
+
+void EapQtConfigInterfaceContext::setPacStoreConfigRead(
+ EapQtPacStoreConfig &config,
+ bool retValue)
+{
+ mEapQtConfig->mReadPacStoreConfiguration = config;
+ setPacStoreConfigReadReturn(retValue);
+}
+
+void EapQtConfigInterfaceContext::setPacStoreConfigReadReturn(bool retValue)
+{
+ mEapQtConfig->mReadPacStoreConfigurationReturn = retValue;
+}
+
+void EapQtConfigInterfaceContext::setPacStoreConfigSave(
+ EapQtPacStoreConfig &config,
+ bool retValue)
+{
+ mEapQtConfig->mSavePacStoreConfiguration = config;
+ setPacStoreConfigSaveReturn(retValue);
+}
+
+void EapQtConfigInterfaceContext::setPacStoreConfigSaveReturn(bool retValue)
+{
+ mEapQtConfig->mSavePacStoreConfigurationReturn = retValue;
+}
+
+void EapQtConfigInterfaceContext::setValidatorPacStore(int id, EapQtValidator * validator)
+{
+ mEapQtConfig->mValidatorPacStore[id] = validator;
+}
+
+EapQtValidator *EapQtConfigInterfaceContext::validatorPacStore(int id)
+{
+ return mEapQtConfig->mValidatorPacStore[id];
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtconfiginterface_context.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,102 @@
+/*
+* Copyright (c) 2009 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:
+*/
+
+#ifndef EAPQTCONFIGINTERFACE_CONTEXT_H
+#define EAPQTCONFIGINTERFACE_CONTEXT_H
+
+#include "eapqtconfiginterface.h"
+#include "eapqtpacstoreconfig.h"
+
+class EapQtConfigInterfaceContext
+{
+public:
+ EapQtConfigInterfaceContext();
+ ~EapQtConfigInterfaceContext();
+
+ void setObject(EapQtConfigInterface *eapQtConfig);
+
+public: // Helpper methods to create simple valid configurations
+ void createEapAkaSim(int pluginHandleEnum);
+
+ void createLeap(const QString& username, const QString& passwd);
+
+ void createEapIdentifyValidators(EapQtPluginHandle::Plugin outerType);
+
+ void createEapTtlsPeap(
+ EapQtPluginHandle::Plugin type,
+ bool automaticCert,
+ bool usernameAutomatic,
+ const QString &username,
+ bool realmAutomatic,
+ const QString &realm,
+ EapQtPluginHandle::Plugin innerType);
+
+ void createEapTls(
+ QList<EapQtCertificateInfo> &caCerts,
+ int indexForCaCert,
+ QList<EapQtCertificateInfo> &userCerts,
+ int indexForUserCert);
+
+ void createInner(
+ EapQtPluginHandle::Plugin outerType,
+ EapQtPluginHandle::Plugin innerType,
+ const QString &username,
+ const QString &password);
+
+ void createInnerTypeValidators(EapQtPluginHandle::Plugin innerType);
+
+ void createEapFast(int pacState, const QString &password = QString());
+
+public: // Methods to set the exact behavior of the interface
+ QStringList calledMethods();
+ void setConfigurationReference(int iapId, bool retValue);
+ void setConfigurationReferenceReturn(bool retValue);
+ void setCertsCa(QList<EapQtCertificateInfo> &certs);
+ void setCertsUser(QList<EapQtCertificateInfo> &certs);
+ void setSupportedOuterTypes(QList<EapQtPluginHandle> &outerTypes);
+ void setSupportedInnerTypes(EapQtPluginHandle outerHandle, QList<EapQtPluginHandle> &innerTypes);
+ void setSelectectedOuterTypes(QList<EapQtPluginHandle> &types, bool retValue);
+ void setSelectectedOuterTypesReturn(bool retValue);
+ void setOuterConfig(EapQtPluginHandle::Plugin handle, EapQtConfig &config, bool retValue);
+ void setOuterConfigReturn(bool retValue);
+ void setInnerConfig(EapQtPluginHandle::Plugin handle, EapQtConfig &config, bool retValue);
+ void setInnerConfigReturn(bool retValue);
+ // Moved ownership to context
+ void setValidator(
+ EapQtExpandedEapType::Type eapType,
+ EapQtConfig::SettingsId,
+ EapQtValidator *validator);
+
+ EapQtValidator *validator(
+ EapQtExpandedEapType::Type eapType,
+ EapQtConfig::SettingsId id);
+
+ void setPacStoreConfigRead(EapQtPacStoreConfig &config, bool retValue);
+ void setPacStoreConfigReadReturn(bool retValue);
+ void setPacStoreConfigSave(EapQtPacStoreConfig &config, bool retValue);
+ void setPacStoreConfigSaveReturn(bool retValue);
+ void setValidatorPacStore(int id, EapQtValidator * validator);
+
+ EapQtValidator *validatorPacStore(int id);
+
+
+private:
+ EapQtConfigInterface* mEapQtConfig;
+};
+
+#endif /* EAPQTCONFIGINTERFACE_CONTEXT_H */
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtconfiginterface_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,155 @@
+/*
+ * Copyright (c) 2010 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:
+ * Stub for EAP method configuration QT interface
+ *
+ */
+
+/*
+ * %version: 6 %
+ */
+
+#include <QList>
+#include <QDebug>
+#include <QTest>
+#include "eapqtconfiginterface.h"
+
+//----------------------------------------------------------------------------
+// EapQtConfigInterface
+//----------------------------------------------------------------------------
+
+EapQtConfigInterface::EapQtConfigInterface(
+ const EapBearerType bearerType,
+ const int iapId)
+{
+ mCalledMethods.append("EapQtConfigInterface");
+ QCOMPARE(bearerType, EapQtConfigInterface::EapBearerTypeWlan);
+ QCOMPARE(iapId, EapQtConfigInterface::IapIdUndefined);
+}
+
+EapQtConfigInterface::~EapQtConfigInterface()
+{
+ mCalledMethods.append("~EapQtConfigInterface");
+}
+
+
+EapQtValidator *EapQtConfigInterface::validatorEap(
+ const EapQtExpandedEapType &type,
+ const EapQtConfig::SettingsId id)
+{
+ mCalledMethods.append("validatorEap");
+
+ QCOMPARE(mValidator[type.type()][id] != NULL, true);
+ EapQtValidator *validator = mValidator[type.type()][id];
+ mValidator[type.type()].remove(id);
+ return validator;
+}
+
+EapQtValidator *EapQtConfigInterface::validatorPacStore(
+ const EapQtPacStoreConfig::PacStoreSettings id)
+{
+ mCalledMethods.append("validatorPacStore");
+
+ QCOMPARE(mValidatorPacStore.contains(id), true);
+ EapQtValidator *validator = mValidatorPacStore[id];
+ mValidatorPacStore.remove(id);
+ return validator;
+}
+
+bool EapQtConfigInterface::setConfigurationReference(const int iapId)
+{
+ mCalledMethods.append("setConfigurationReference");
+ QCOMPARE(iapId, mIapId);
+
+ return mReturnSetConfigurationReference;
+}
+
+QList<EapQtCertificateInfo> EapQtConfigInterface::certificateAuthorityCertificates()
+{
+ mCalledMethods.append("certificateAuthorityCertificates");
+ return mCertsCa;
+}
+
+QList<EapQtCertificateInfo> EapQtConfigInterface::userCertificates()
+{
+ mCalledMethods.append("userCertificates");
+ return mCertsUser;
+}
+
+
+bool EapQtConfigInterface::updateCertificates()
+{
+ mCalledMethods.append("updateCertificates");
+ return true;
+}
+
+bool EapQtConfigInterface::isSupportedOuterType(const EapQtPluginHandle& handle)
+{
+ mCalledMethods.append("isSupportedOuterType");
+ return mSupportedOuterTypes.contains(handle);
+}
+
+bool EapQtConfigInterface::isSupportedInnerType(
+ const EapQtPluginHandle& outerHandle,
+ const EapQtPluginHandle& innerHandle)
+{
+ mCalledMethods.append("isSupportedOuterType");
+ QCOMPARE(mSupportedInnerTypesOuterHandle, (int)outerHandle.pluginId());
+ return mSupportedInnerTypes.contains(innerHandle);
+}
+
+bool EapQtConfigInterface::setSelectedOuterTypes(
+ const QList<EapQtPluginHandle>& outerHandles)
+{
+ mCalledMethods.append("setSelectedOuterTypes");
+ QCOMPARE(mSetSelectectedOuterTypes, outerHandles);
+ return mReturnSetSelectedOuterTypes;
+}
+
+bool EapQtConfigInterface::saveConfiguration(
+ const EapQtPluginHandle& pluginInfo,
+ const EapQtConfig &config)
+{
+ mCalledMethods.append("saveConfiguration");
+
+ if (pluginInfo == mOuterPlugin) {
+ QCOMPARE(config == mSaveConfigurationsOuter, true);
+ return mReturnSaveConfigurationOuter;
+ } else {
+ QCOMPARE(pluginInfo == mInnerPlugin, true);
+ QCOMPARE(config == mSaveConfigurationsInner, true);
+ return mReturnSaveConfigurationInner;
+ }
+}
+
+bool EapQtConfigInterface::deleteConfiguration()
+{
+ mCalledMethods.append("deleteConfiguration");
+ return true;
+}
+
+
+bool EapQtConfigInterface::readPacStoreConfiguration(EapQtPacStoreConfig &config)
+{
+ config = mReadPacStoreConfiguration;
+ return mReadPacStoreConfigurationReturn;
+}
+
+bool EapQtConfigInterface::savePacStoreConfiguration(EapQtPacStoreConfig &config)
+{
+ QCOMPARE(config == mSavePacStoreConfiguration, true);
+ return mSavePacStoreConfigurationReturn;
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtpacstoreconfig.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,112 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP-FAST PAC store configuration data: For EAP Wizard testing
+ *
+ */
+
+#ifndef EAPQTPACSTORECONFIG_H
+#define EAPQTPACSTORECONFIG_H
+
+// System includes
+#include <QVariant>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class EapQtPacStoreConfig
+{
+public:
+
+ // PAC store is global, i.e. only a single PAC store exists in a device
+
+ // Data types
+
+ enum PacStoreStatus
+ {
+ // PAC store does not exist and needs to be created
+ // (status also reverts to PacStoreStateStoreNotExists if the PAC store is
+ // corrupted, i.e. it gets deleted automatically)
+ PacStoreStateStoreNotExists = 0,
+ // PAC store exists but the password has not been stored and
+ // is needed to access the PAC store
+ PacStoreStatePasswordRequired,
+ // PAC store password has been stored to settings database
+ // and is not needed to use the PAC store
+ PacStoreStatePasswordStored,
+ // marker for the last item
+ PacStoreStateLast
+ };
+
+ enum PacStoreSettings
+ {
+ /*! write-only: QString
+ * password to be used for accessing the PAC store
+ * - must be new password if the read PacStoreState is PacStoreStateStoreNotExists
+ * - must be password of the existing PAC store if the PacStoreState state is
+ * PacStoreStatePasswordRequired */
+ PacStorePassword = 0,
+ /*! write-only: bool
+ * true: saves the password given in settings
+ * false: clears the earlier stored password from database, i.e. password
+ * will be prompted when needed, PAC store itself remains valid
+ * QVariant::Invalid: no actions */
+ PacStoreSavePassword,
+ /*! write-only: bool
+ * true: deletes PAC store, i.e. clears everything related to the
+ * existing PAC store including saved password
+ * false/QVariant::Invalid: no actions */
+ PacStoreReset,
+ /*! read-only: int (PacStoreStatus) */
+ PacStoreState,
+ /*! no write nor read operation, for validator usage only
+ * - uses the validator to check if the given password
+ * can open the existing PAC store */
+ PacStorePasswordConfirmation,
+ // marker for the last item
+ PacStoreLast
+ };
+
+public:
+ EapQtPacStoreConfig();
+ ~EapQtPacStoreConfig();
+
+ // gets the configuration field referred to by an id from PacStoreSettings
+ // returns QVariant::Invalid is the field has not been set
+ QVariant value(const PacStoreSettings id) const;
+
+ // sets the configuration field referred to by an id from PacStoreSettings
+ // does nothing if newValue >= PacStoreLast
+ void setValue(const PacStoreSettings id, const QVariant &newValue);
+
+ // resets the object i.e. any successive call to
+ // value() returns QVariant::Invalid
+ void clear();
+
+public: // FOR TESTING PURPOSE
+ bool operator==(const EapQtPacStoreConfig & rhs ) const;
+ bool operator=(const EapQtPacStoreConfig & rhs );
+
+private:
+ QHash <int, QVariant> mPacStoreSettings;
+};
+
+#endif /* EAPQTPACSTORECONFIG_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtpacstoreconfig_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,93 @@
+/*
+ * Copyright (c) 2010 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:
+ * EAP-FAST PAC store configuration data
+ *
+ */
+
+/*
+ * %version: 3 %
+ */
+#include <QDebug>
+#include <eapqtpacstoreconfig.h>
+
+EapQtPacStoreConfig::EapQtPacStoreConfig()
+{
+}
+
+EapQtPacStoreConfig::~EapQtPacStoreConfig()
+{
+ // scoped pointer deleted automatically
+}
+
+QVariant EapQtPacStoreConfig::value(const PacStoreSettings id) const
+{
+ // check for valid range, otherwise memory is consumed for no reason
+ if(id >= PacStoreLast) {
+ qDebug("ERROR: EapQtPacStoreConfig::value - invalid id!");
+ return QVariant::Invalid;
+ }
+ return mPacStoreSettings[id];
+}
+
+void EapQtPacStoreConfig::setValue(
+ const PacStoreSettings id,
+ const QVariant & newValue)
+{
+ // check for valid range, otherwise memory is consumed for no reason
+ if(id < PacStoreLast) {
+ mPacStoreSettings[id] = newValue;
+ } else {
+ qDebug("ERROR: EapQtPacStoreConfig::setValue - invalid id!");
+ }
+}
+
+void EapQtPacStoreConfig::clear()
+{
+ mPacStoreSettings.clear();
+}
+
+bool EapQtPacStoreConfig::operator==(const EapQtPacStoreConfig & rhs ) const
+{
+ bool ret = true;
+ if (mPacStoreSettings.size() != rhs.mPacStoreSettings.size()) {
+ qWarning("EapQtPacStoreConfig::operator==(): size: expect %d, actual %d ",
+ mPacStoreSettings.size(),
+ rhs.mPacStoreSettings.size() );
+ ret = false;
+ }
+ QHashIterator<int, QVariant> i(mPacStoreSettings);
+
+ while (i.hasNext()) {
+ i.next();
+ if (!rhs.mPacStoreSettings.contains(i.key())){
+ qWarning("EapQtPacStoreConfig::operator==(): key not found: %d", i.key());
+ ret = false;
+
+ }
+ if (i.value() != rhs.mPacStoreSettings[i.key()]){
+ qWarning("EapQtPacStoreConfig::operator==(): values not match");
+ qDebug() << "Expect: " << i.value();
+ qDebug() << "Actual: " << rhs.mPacStoreSettings[i.key()];
+ ret = false;
+ }
+ }
+ return ret;
+}
+
+
+bool EapQtPacStoreConfig::operator=(const EapQtPacStoreConfig & rhs )
+{
+ mPacStoreSettings = rhs.mPacStoreSettings;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtvalidator.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,108 @@
+/*
+* Copyright (c) 2010 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:
+* Stub for EAP WIZARD testing: EAP QT configuration validator interface.
+*/
+
+#ifndef EAPQTVALIDATOR_H
+#define EAPQTVALIDATOR_H
+
+// System includes
+#include <QVariant>
+
+// User includes
+
+// Forward declarations
+
+class HbLineEdit;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+/*!
+ * @addtogroup group_eap_config_api
+ * @{
+ */
+
+/*
+ * Eap Qt Validator interface. This interface provides a method to configure
+ * the editor to use required constraints, hints, editor classes and so one
+ * depending on the EAP type and the configuration identifier.
+ * See updateEditor() method for further details.
+ *
+ * validate() method checks that the content and format are valid for
+ * given configuration parameter.
+ *
+ * An instance of a validator is created with
+ * EapQtConfigInterface::validatorEap() method.
+ */
+
+class EapQtValidator
+{
+
+public:
+
+ // Data types
+
+ /*
+ * Validation status. Can be extended.
+ */
+ enum Status {
+ /// Ok
+ StatusOk = 0,
+ /// Content is invalid
+ StatusInvalid,
+ /// The length is not valid
+ StatusInvalidLength,
+ /// Invalid characters detected
+ StatusInvalidCharacters,
+ /// Input is too short
+ StatusTooShort,
+ /// Input is too long
+ StatusTooLong,
+ };
+
+ EapQtValidator() {};
+ virtual ~EapQtValidator() {};
+
+ /*!
+ * Validates the given input \a value.
+ *
+ * @param value Value to be validated
+ *
+ * @return Status code.
+ */
+ virtual Status validate(const QVariant &value) = 0;
+
+ /*!
+ * Sets required configurations to the line edit.
+ *
+ * Configurations depend on given EAP type and the configuration
+ * identifire which was used to instantiate the validator.
+ *
+ * @param edit LineEdit to be updated.
+ */
+ virtual void updateEditor(HbLineEdit* const edit) = 0;
+
+private:
+
+ Q_DISABLE_COPY(EapQtValidator)
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtvalidator_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,44 @@
+/*
+* Copyright (c) 2010 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:
+* EAP method validator: Stub or EapWizard testing
+*/
+
+#include "eapqtvalidator_stub.h"
+
+EapQtValidatorStub::EapQtValidatorStub(
+ EapQtValidator::Status status) :
+ mStatus(status)
+{
+}
+
+EapQtValidatorStub::~EapQtValidatorStub()
+{
+}
+
+EapQtValidator::Status EapQtValidatorStub::validate(const QVariant & value)
+{
+ Q_UNUSED(value);
+ return mStatus;
+}
+
+void EapQtValidatorStub::updateEditor(HbLineEdit* const edit)
+{
+ Q_UNUSED(edit);
+}
+
+void EapQtValidatorStub::setReturnValue(EapQtValidator::Status status)
+{
+ mStatus = status;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/eapqtvalidator_stub.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2010 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:
+ * Stub for EAP WIZARD testing: EAP QT configuration validator interface
+ *
+ */
+
+#ifndef EAPQTVALIDATOR_STUB_H
+#define EAPQTVALIDATOR_STUB_H
+
+// System includes
+#include <eapqtvalidator.h>
+
+// User includes
+
+// Forward declarations
+
+class HbLineEdit;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+/*!
+ * @addtogroup group_eap_config_api
+ * @{
+ */
+
+class EapQtValidatorStub : public EapQtValidator
+{
+
+public:
+
+ EapQtValidatorStub(EapQtValidator::Status status);
+ ~EapQtValidatorStub();
+ virtual EapQtValidator::Status validate(const QVariant & value);
+ void updateEditor(HbLineEdit* const edit );
+ void setReturnValue(EapQtValidator::Status status);
+
+private:
+ EapQtValidator::Status mStatus;
+ Q_DISABLE_COPY(EapQtValidatorStub)
+};
+
+/*! @} */
+
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/stubs.pri Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,47 @@
+#
+# Copyright (c) 2009 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:
+# Stubs for Wlan wizard testing
+#
+
+DEFINES += BUILD_WLANQTUTILITIES_DLL
+
+HEADERS += \
+ stubs/eapqtcertificateinfo.h \
+ stubs/eapqtconfig.h \
+ stubs/eapqtconfiginterface.h \
+ stubs/eapqtconfiginterface_context.h \
+ stubs/eapqtpacstoreconfig.h \
+ stubs/eapqtvalidator.h \
+ stubs/eapqtvalidator_stub.h \
+ stubs/wlanmgmtclient.h \
+ stubs/wlanmgmtclient_context.h \
+ stubs/wlanqtutils.h \
+ stubs/wlanqtutils_context.h \
+ stubs/wlanqtutilsap.h \
+ stubs/wlanqtutilscommon.h
+
+SOURCES += \
+ stubs/eapqtcertificateinfo_stub.cpp \
+ stubs/eapqtconfig_stub.cpp \
+ stubs/eapqtconfiginterface_stub.cpp \
+ stubs/eapqtconfiginterface_context.cpp \
+ stubs/eapqtpacstoreconfig_stub.cpp \
+ stubs/eapqtvalidator_stub.cpp \
+ stubs/wlanmgmtclient_stub.cpp \
+ stubs/wlanmgmtclient_context.cpp \
+ stubs/wlanqtutils_context.cpp \
+ stubs/wlanqtutils_stub.cpp \
+ stubs/wlanqtutilsap_stub.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanmgmtclient.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities.
+*/
+
+#ifndef WLANMGMTCLIENT_H
+#define WLANMGMTCLIENT_H
+
+#include "wlanmgmtcommon.h"
+#include "wlanscaninfo.h"
+
+class WlanMgmtClientContext;
+
+// CLASS DECLARATION
+
+class CWlanMgmtClient : public CBase
+ {
+ public: // Methods
+
+ // Constructors and destructor
+
+ /**
+ * Static constructor.
+ * @return Pointer to the constructed object.
+ */
+ static CWlanMgmtClient* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CWlanMgmtClient();
+
+ /**
+ * Start Protected Setup.
+ *
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aSsid SSID of the network to configure.
+ * @param aWpsPin PIN value to be used. "00000000" (string of eight zeros)
+ * if push button method is used.
+ * @param aCredentials Results of a successful Protected Setup operation.
+ * @sa \link psetup Protected Setup-specific error codes \endlink.
+ */
+ virtual void RunProtectedSetup(
+ TRequestStatus& aStatus,
+ const TWlanSsid& aSsid,
+ const TWlanWpsPin& aWpsPin,
+ CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>& aCredentials );
+
+ /**
+ * Cancel an outstanding Protected Setup operation.
+ */
+ virtual void CancelProtectedSetup();
+
+ private: // Data
+
+ CWlanMgmtClient();
+ CArrayFixSeg<TWlanProtectedSetupCredentialAttribute> *iResults;
+ TWlanSsid iSsid;
+ TInt iCompletionCode;
+
+ friend class WlanMgmtClientContext;
+ };
+
+#endif // WLANMGMTCLIENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanmgmtclient_context.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+#include <QTest>
+
+#include "wlanmgmtclient_context.h"
+
+WlanMgmtClientContext::WlanMgmtClientContext() :
+ mWlanMgmtClient(NULL)
+{
+}
+
+WlanMgmtClientContext::~WlanMgmtClientContext()
+{
+}
+
+void WlanMgmtClientContext::setObject(CWlanMgmtClient *wlanMgmtClient)
+{
+ mWlanMgmtClient = wlanMgmtClient;
+}
+
+
+void WlanMgmtClientContext::setRunProtectedSetup(const QString &ssid, int completionCode)
+{
+ mWlanMgmtClient->iSsid.Copy((unsigned char*)ssid.toAscii().constData());
+ mWlanMgmtClient->iCompletionCode = completionCode;
+}
+
+void WlanMgmtClientContext::appendResult(
+ const QString &ssid,
+ int securityMode,
+ int operatingMode,
+ int defaultWepKeyIndex,
+ const QString &wepKey1,
+ const QString &wepKey2,
+ const QString &wepKey3,
+ const QString &wepKey4,
+ const QString &wpaKey)
+{
+ TWlanProtectedSetupCredentialAttribute attr;
+
+ attr.iOperatingMode =(TWlanOperatingMode)operatingMode;
+ attr.iSecurityMode = (TWlanIapSecurityMode)securityMode;
+
+ attr.iSsid.Copy(
+ (unsigned char*)ssid.toLatin1().constData(),
+ ssid.length());
+
+ attr.iWepKey1.Copy(
+ (unsigned char*)wepKey1.toLatin1().constData(),
+ wepKey1.length());
+
+ attr.iWepKey2.Copy(
+ (unsigned char*)wepKey2.toLatin1().constData(),
+ wepKey2.length());
+
+ attr.iWepKey3.Copy(
+ (unsigned char*)wepKey3.toLatin1().constData(),
+ wepKey3.length());
+
+ attr.iWepKey4.Copy(
+ (unsigned char*)wepKey4.toLatin1().constData(),
+ wepKey4.length());
+
+ attr.iWepDefaultKey = (TWlanDefaultWepKey)defaultWepKeyIndex;
+
+ attr.iWpaPreSharedKey.Copy(
+ (unsigned char*)wpaKey.toLatin1().constData(),
+ wpaKey.length());
+
+ mWlanMgmtClient->iResults->AppendL(attr);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanmgmtclient_context.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,50 @@
+/*
+* Copyright (c) 2009 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:
+*/
+
+#ifndef WLANMGMTCLIENT_CONTEXT_H
+#define WLANMGMTCLIENT_CONTEXT_H
+
+#include "wlanmgmtclient.h"
+
+class WlanMgmtClientContext
+{
+public:
+ WlanMgmtClientContext();
+ ~WlanMgmtClientContext();
+
+ void setObject(CWlanMgmtClient *eapQtConfig);
+public:
+
+ void setRunProtectedSetup(const QString &ssid, int completionCode);
+ void appendResult(
+ const QString &ssid,
+ int securityMode,
+ int operatingMode,
+ int defaultWepKeyIndex,
+ const QString &wepKey1 = QString(),
+ const QString &wepKey2 = QString(),
+ const QString &wepKey3 = QString(),
+ const QString &wepKey4 = QString(),
+ const QString &wpaKey = QString());
+
+private:
+ CWlanMgmtClient* mWlanMgmtClient;
+
+};
+
+#endif /* WLANMGMTCLIENT_CONTEXT_H */
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanmgmtclient_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,83 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WLAN Qt Utilities.
+*/
+
+#include <QTest>
+
+#include <e32std.h>
+#include <e32base.h>
+#include <e32cmn.h>
+#include "wlanmgmtclient.h"
+#include "testwlanwizardcontext.h"
+
+// ---------------------------------------------------------
+// CWlanScanRequest::NewL
+// ---------------------------------------------------------
+//
+CWlanMgmtClient* CWlanMgmtClient::NewL()
+ {
+ CWlanMgmtClient* self = new CWlanMgmtClient;
+
+ TestWlanWizardContext::setWlanMgmtClientObject(self);
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanRequest::~CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::~CWlanMgmtClient()
+ {
+ delete iResults;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanRequest::CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::CWlanMgmtClient()
+ {
+ iResults = new (ELeave) CArrayFixSeg<TWlanProtectedSetupCredentialAttribute> (4);
+ }
+
+// ---------------------------------------------------------
+// CWlanScanRequest::RunProtectedSetup
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::RunProtectedSetup(
+ TRequestStatus& aStatus,
+ const TWlanSsid& aSsid,
+ const TWlanWpsPin& aWpsPin,
+ CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>& aCredentials )
+{
+ Q_UNUSED(aWpsPin);
+ QCOMPARE(aSsid, iSsid);
+ for (int i = 0 ; i < iResults->Count() ; ++i){
+ aCredentials.AppendL(iResults->At(i));
+ }
+ User::RequestComplete(&aStatus, iCompletionCode);
+}
+
+// ---------------------------------------------------------
+// CWlanScanRequest::CancelProtectedSetup
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::CancelProtectedSetup()
+ {
+ // TODO
+ //User::RequestComplete(iStubRequestStatus, KErrCancel);
+ //iStubRequestStatus = 0;
+ }
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanqtutils.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,145 @@
+/*
+* Copyright (c) 2009 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:
+*/
+
+#ifndef STUB_WLANQTUTILS_H
+#define STUB_WLANQTUTILS_H
+
+#include <QObject>
+#include <QSharedPointer>
+#include <QStringList>
+#include <QTest>
+
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilsap.h"
+
+class WlanQtUtilsIap;
+class WlanQtUtilsWlanIap;
+
+class WLANQTUTILITIESDLL_EXPORT WlanQtUtils : public QObject
+{
+ Q_OBJECT
+ friend class WlanQtUtilsContext;
+public:
+ //! "None" IAP ID value (e.g. for "not found" cases)
+ static const int IapIdNone = -1;
+
+ /*!
+ WLAN connection status.
+ Remember to update traces/trace.properties when modifying this enum.
+ */
+ enum ConnStatus {
+ ConnStatusNone = 0, //!< Reserved.
+ ConnStatusConnecting, //!< Connecting.
+ ConnStatusConnected, //!< Connected.
+ ConnStatusDisconnected //!< Disconnected.
+ };
+
+ /*!
+ WLAN scan status
+ Remember to update traces/trace.properties when modifying this enum.
+ */
+ enum ScanStatus {
+ ScanStatusOk = 0, //!< Scan succeeded.
+ ScanStatusCancelled, //!< Scan was cancelled.
+ ScanStatusError //!< Scan failed.
+ };
+
+ /*!
+ Internet Connectivity Test status.
+ Remember to update traces/trace.properties when modifying this enum.
+ */
+ enum IctStatus {
+ IctPassed = 0, //!< Normal ICT passed.
+ IctHotspotPassed, //!< Hotspot ICT passed.
+ IctCancelled, //!< ICT was cancelled.
+ IctFailed //!< ICT failed.
+ };
+
+public:
+ WlanQtUtils();
+
+ ~WlanQtUtils();
+
+ void availableWlanAps( QList<QSharedPointer<WlanQtUtilsAp> > &wlanApList);
+
+ int createIap(const WlanQtUtilsAp *wlanAp);
+
+ bool updateIap(int iapId, const WlanQtUtilsAp *wlanAp);
+
+ void deleteIap(int iapId);
+
+ void connectIap(int iapId, bool runIct = false);
+
+ int connectedWlanId();
+
+ void disconnectIap(int iapId);
+
+ int activeIap();
+
+ void scanWlanAps();
+
+ void scanWlanDirect(const QString &ssid);
+
+ void stopWlanScan();
+
+signals:
+
+ void wlanScanApReady(int scanStatus);
+
+ void wlanScanDirectReady(int scanStatus);
+
+ void wlanNetworkOpened(int iapId);
+
+ void wlanNetworkClosed(int iapId, int reason);
+
+ void ictResult(int iapId, int result);
+
+private: // Return values for all methods.
+
+ void emitScanApsReady();
+
+ QList<QSharedPointer<WlanQtUtilsAp> > mScanWlanAps;
+ QList<QSharedPointer<WlanQtUtilsAp> > mScanWlanDirect;
+ QList<QSharedPointer<WlanQtUtilsAp> > *mScanResult;
+ QString mScanWlanDirectSsid;
+ int mCreateWlanIapReturn;
+ bool mUpdateWlanIapReturn;
+
+ int mWlanNetworkOpenedIapId;
+ int mWlanNetworkActiveIapId;
+ int mWlanNetworkClosedIapId;
+ int mWlanNetworkClosedReason;
+
+ int mActiveWlanIapReturn;
+
+ int mIctResultIapId;
+ WlanQtUtils::IctStatus mIctResultResults;
+
+ bool mConnectionSuccess;
+
+ QStringList mCalledMethods;
+
+ WlanQtUtilsAp *mWlanAp;
+
+ bool mEmitScanApReady;
+
+ int mScanApStatus;
+ int mScanDirectStatus;
+};
+
+#endif /* WLANQTUTILS_H */
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanqtutils_context.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,135 @@
+/*
+* Copyright (c) 2009 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:
+*/
+
+
+#include "wlanqtutils_context.h"
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+
+WlanQtUtilsContext::WlanQtUtilsContext(WlanQtUtils *utils )
+: mUtils(utils)
+{
+
+
+}
+
+WlanQtUtilsContext::~WlanQtUtilsContext()
+{
+
+}
+
+void WlanQtUtilsContext::setScanWlanApsResult(
+ QList<QSharedPointer<WlanQtUtilsAp> > result )
+{
+ mUtils->mScanWlanAps = result;
+}
+
+void WlanQtUtilsContext::setScanWlanDirectResult( QString ssid,
+ QList<QSharedPointer<WlanQtUtilsAp> > result )
+{
+ mUtils->mScanWlanDirectSsid = ssid;
+ mUtils->mScanWlanDirect = result;
+}
+
+void WlanQtUtilsContext::setCreateWlanIapResult(int iapId)
+{
+ mUtils->mCreateWlanIapReturn = iapId;
+ mUtils->mActiveWlanIapReturn = iapId;
+}
+
+void WlanQtUtilsContext::setActiveWlanIapResult(int iapId)
+{
+ mUtils->mActiveWlanIapReturn = iapId;
+}
+
+void WlanQtUtilsContext::setUpdateWlanIapResult(bool returnValue)
+{
+ mUtils->mUpdateWlanIapReturn = returnValue;
+}
+
+void WlanQtUtilsContext::setConnectionSuccessed(bool value)
+{
+ mUtils->mConnectionSuccess = value;
+}
+
+void WlanQtUtilsContext::setSignalWlanNetworkOpened(int iapId)
+{
+ mUtils->mWlanNetworkOpenedIapId = iapId;
+}
+
+void WlanQtUtilsContext::setSignalWlanNetworkClosed(int iapId, int reason)
+{
+ mUtils->mWlanNetworkClosedIapId = iapId;
+ mUtils->mWlanNetworkClosedReason = reason;
+}
+
+void WlanQtUtilsContext::setSignalIctResult(int iapId, WlanQtUtils::IctStatus result)
+{
+ mUtils->mIctResultIapId = iapId;
+ mUtils->mIctResultResults = result;
+}
+
+void WlanQtUtilsContext::setScanApStatus(int status)
+{
+ mUtils->mScanApStatus = status;
+}
+
+void WlanQtUtilsContext::setScanDirectStatus(int status)
+{
+ mUtils->mScanDirectStatus = status;
+}
+
+void WlanQtUtilsContext::setImmediateApScanResult(bool immediate)
+{
+ mUtils->mEmitScanApReady = immediate;
+}
+
+void WlanQtUtilsContext::emitScanApReady()
+{
+ mUtils->emitScanApsReady();
+}
+
+QStringList WlanQtUtilsContext::calledMethods()
+{
+ QStringList methods = mUtils->mCalledMethods;
+ mUtils->mCalledMethods.clear();
+ return methods;
+}
+
+bool WlanQtUtilsContext::verifyWlanIapSettings(WlanQtUtilsAp &ref)
+{
+ bool ret = true;
+ if (!mUtils->mWlanAp){
+ qWarning("WlanQtUtilsContext::verifyWlanIapSettings: iap not created");
+ ret = false;
+ }
+
+ if (!(*(mUtils->mWlanAp) == ref)){
+ qWarning("WlanQtUtilsContext::verifyWlanIapSettings: settings does not match");
+ ret = false;
+ }
+ return ret;
+}
+
+void WlanQtUtilsContext::emitWlanNetworkOpened(int iapId)
+{
+ emit mUtils->wlanNetworkOpened(iapId);
+}
+
+void WlanQtUtilsContext::emitWlanNetworkClosed(int iapId, int reason)
+{
+ emit mUtils->wlanNetworkClosed(iapId, reason);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanqtutils_context.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,78 @@
+/*
+* Copyright (c) 2009 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:
+*/
+
+#ifndef WLANQTUTILS_CONTEXT_H
+#define WLANQTUTILS_CONTEXT_H
+
+#include <QObject>
+#include <QSharedPointer>
+
+#include "wlanqtutilscommon.h"
+#include "wlanqtutils.h"
+
+class WlanQtUtilsWlanIap;
+class WlanQtUtilsAp;
+
+class Q_DECL_EXPORT WlanQtUtilsContext: public QObject
+{
+ Q_OBJECT
+
+public:
+ WlanQtUtilsContext(WlanQtUtils *utils );
+ ~WlanQtUtilsContext();
+
+public:
+ void setScanWlanApsResult( QList<QSharedPointer<WlanQtUtilsAp> > result );
+
+ void setScanWlanDirectResult( QString ssid,
+ QList<QSharedPointer<WlanQtUtilsAp> > result );
+
+ void setCreateWlanIapResult(int iapId);
+
+ void setActiveWlanIapResult(int iapId);
+
+ void setUpdateWlanIapResult(bool returnValue);
+
+ void setConnectionSuccessed(bool value);
+
+ void setSignalWlanNetworkOpened(int iapId);
+
+ void setSignalWlanNetworkClosed(int iapId, int reason);
+
+ void setSignalIctResult(int iapId, WlanQtUtils::IctStatus result);
+
+ void setImmediateApScanResult(bool immediate);
+
+ void setScanApStatus(int status);
+
+ void setScanDirectStatus(int status);
+
+ void emitScanApReady();
+
+ QStringList calledMethods();
+
+ bool verifyWlanIapSettings(WlanQtUtilsAp &ref);
+
+ void emitWlanNetworkOpened(int iapId);
+ void emitWlanNetworkClosed(int iapId, int reason);
+
+private:
+ WlanQtUtils* mUtils;
+};
+
+#endif /* WLANQTUTILS_CONTEXT_H */
+
+// End of File
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanqtutils_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,138 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+#include "wlanqtutilsap.h"
+#include "wlanqtutils.h"
+#include <QDebug>
+
+WlanQtUtils::WlanQtUtils() : mWlanAp(NULL), mEmitScanApReady(true),
+mScanApStatus(ScanStatusOk), mScanDirectStatus(ScanStatusOk)
+{
+ mWlanNetworkActiveIapId = -1;
+ mCalledMethods.append("WlanQtUtils");
+}
+
+WlanQtUtils::~WlanQtUtils()
+{
+ mCalledMethods.append("~WlanQtUtils");
+ delete mWlanAp;
+}
+
+void WlanQtUtils::availableWlanAps(QList<QSharedPointer<WlanQtUtilsAp> > &wlanApList)
+{
+ wlanApList = *mScanResult;
+ mCalledMethods.append("availableWlanAps");
+}
+
+int WlanQtUtils::createIap(const WlanQtUtilsAp * wlanAp)
+{
+ mCalledMethods.append("createIap");
+ delete mWlanAp;
+ mWlanAp = new WlanQtUtilsAp(*wlanAp);
+ return mCreateWlanIapReturn;
+}
+
+bool WlanQtUtils::updateIap(int iapId, const WlanQtUtilsAp * wlanAp)
+{
+ mCalledMethods.append("updateIap");
+ qDebug("updateWlanIap iapId = %d", iapId);
+ qDebug("mCreateWlanIapReturn = %d", mCreateWlanIapReturn);
+ delete mWlanAp;
+ mWlanAp = new WlanQtUtilsAp(*wlanAp);
+ QCOMPARE(iapId, mCreateWlanIapReturn);
+ return mUpdateWlanIapReturn;
+}
+
+void WlanQtUtils::deleteIap(int iapId)
+{
+ mCalledMethods.append("deleteIap");
+ QCOMPARE(iapId, mCreateWlanIapReturn);
+}
+
+int WlanQtUtils::connectedWlanId()
+{
+ mCalledMethods.append("connectedWlanId");
+ return mCreateWlanIapReturn;
+}
+
+void WlanQtUtils::connectIap(int iapId, bool runIct)
+{
+ qDebug("connectIap iapId = %d", iapId);
+ qDebug("mCreateWlanIapReturn = %d", mCreateWlanIapReturn);
+ mCalledMethods.append("connectIap");
+ QCOMPARE(iapId, mCreateWlanIapReturn);
+ QCOMPARE(runIct, true);
+
+ if (mConnectionSuccess) {
+ mWlanNetworkActiveIapId = iapId;
+ emit wlanNetworkOpened(mWlanNetworkOpenedIapId);
+ emit ictResult(mIctResultIapId - 1, false);
+ emit ictResult(mIctResultIapId, mIctResultResults);
+ } else {
+ emit wlanNetworkClosed(
+ mWlanNetworkClosedIapId -1,
+ mWlanNetworkClosedReason );
+
+ emit wlanNetworkClosed(
+ mWlanNetworkClosedIapId,
+ mWlanNetworkClosedReason );
+ }
+}
+
+void WlanQtUtils::disconnectIap(int iapId)
+{
+ qDebug("disconnectIap iapId = %d", iapId);
+ qDebug("mActiveWlanIapReturn = %d", mActiveWlanIapReturn);
+ mCalledMethods.append("disconnectIap");
+ QCOMPARE(iapId, mActiveWlanIapReturn);
+}
+
+int WlanQtUtils::activeIap()
+{
+ mCalledMethods.append("activeIap");
+ return mActiveWlanIapReturn;
+}
+
+void WlanQtUtils::scanWlanAps()
+{
+ mCalledMethods.append("scanWlanAps");
+ mScanResult = &mScanWlanAps;
+
+ if(mEmitScanApReady) {
+ emit wlanScanApReady(mScanApStatus);
+ }
+}
+
+void WlanQtUtils::scanWlanDirect(const QString &ssid)
+{
+ mCalledMethods.append("scanWlanDirect");
+ QCOMPARE(ssid, mScanWlanDirectSsid);
+ mScanResult = &mScanWlanDirect;
+
+ emit wlanScanDirectReady(mScanDirectStatus);
+}
+
+void WlanQtUtils::stopWlanScan()
+{
+ mCalledMethods.append("stopWlanScan");
+}
+
+void WlanQtUtils::emitScanApsReady()
+{
+ emit wlanScanApReady(mScanApStatus);
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanqtutilsap.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,126 @@
+/*
+* Copyright (c) 2010 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:
+* This is the header file for WlanQtUtilsWlanAp class.
+*/
+
+#ifndef STUB_WLANQTUTILSWLANAP_H
+#define STUB_WLANQTUTILSWLANAP_H
+
+#include <QObject>
+#include <QMetaType>
+#include <QVariant>
+#include "cmmanagerdefines_shim.h"
+
+class QString;
+class WlanQtUtilsApPrivate;
+
+/**
+ * This class represents WLAN access point (AP).
+ */
+class WlanQtUtilsAp : public QObject
+{
+public:
+
+ // Data types
+
+ /*!
+ Configuration IDs that can be read and set in this class.
+
+ ConfID's available for scan results:
+ - ConfIdSsid
+ - ConfIdBssid
+ - ConfIdSignalStrength
+ - ConfIdConnectionMode
+ - ConfIdSecurityMode
+ - ConfIdWpaPskUse
+ - ConfIdWpsSupported
+
+ ConfID's for IAP creation and updates, these are
+ mandatory for all security modes:
+ - ConfIdSsid
+ - ConfIdConnectionMode
+ - ConfIdSecurityMode
+ - ConfIdWepKey1 (Empty if not used)
+ - ConfIdWepKey2 (Empty if not used)
+ - ConfIdWepKey3 (Empty if not used)
+ - ConfIdWepKey4 (Empty if not used)
+ - ConfIdWepDefaultIndex
+ - ConfIdWpaPskUse
+ - ConfIdWpaPsk (Empty if not used)
+ - ConfIdHidden
+ - ConfIdWlanScanSSID
+ */
+ enum ConfId {
+ //! QString: WLAN Network Name (SSID)
+ ConfIdSsid = 0,
+ //! QByteArray: Basic Service Set Identifier
+ ConfIdBssid = 1,
+ //! int: signal strength in RSSI (dBm)
+ ConfIdSignalStrength = 2,
+ //! int: (CMManagerShim::WlanNetMode)
+ ConfIdConnectionMode = 3,
+ //! int: (CMManagerShim::WlanSecMode)
+ ConfIdSecurityMode = 4,
+ //! bool: true - WPA PSK, false - WPA EAP
+ ConfIdWpaPskUse = 5,
+ //! QString: Pre-Shared Key for WPA
+ //! Length: 8-63 - Ascii key
+ //! Length: 64 - Hex key
+ ConfIdWpaPsk = 6,
+ //! QString: WEP Key for index 1:
+ //! HEX:
+ //! - 64 bit: allowed key length = 10
+ //! - 128 bit: allowed key length = 26
+ //!
+ //! ASCII:
+ //! - 64 bit: allowed key length = 5
+ //! - 128 bit: allowed key length = 13
+ ConfIdWepKey1 = 7,
+ //! QString: WEP Key for index 2
+ ConfIdWepKey2 = 8,
+ //! QString: WEP Key for index 3
+ ConfIdWepKey3 = 9,
+ //! QString: WEP Key for index 4
+ ConfIdWepKey4 = 10,
+ //! int: (CMManagerShim::WlanWepKeyIndex): Default WEP Key index
+ ConfIdWepDefaultIndex = 11,
+ //! bool: Is WLAN hidden (CMManagerShim::CmHidden).
+ ConfIdHidden = 12,
+ //! bool: Does WLAN AP need explicit scanning (CMManagerShim::WlanScanSSID)
+ ConfIdWlanScanSSID = 13,
+ //! bool: true - Wifi Protected setup is supported, false - not
+ ConfIdWpsSupported = 14
+ };
+
+public:
+ WlanQtUtilsAp();
+ WlanQtUtilsAp(const WlanQtUtilsAp &ref);
+ ~WlanQtUtilsAp();
+ QVariant value(int identifier) const;
+ void setValue(int identifier, QVariant value );
+ bool operator==(const WlanQtUtilsAp & rhs ) const;
+
+ static int compare(
+ const WlanQtUtilsAp *ap1,
+ const WlanQtUtilsAp *ap2);
+
+private:
+ WlanQtUtilsApPrivate *d_ptr;
+
+};
+
+Q_DECLARE_METATYPE(WlanQtUtilsAp)
+
+#endif /* WLANQTUTILSWLANIAP_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanqtutilsap_stub.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2009 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:
+ * This is the source file for WlanQtUtilsAp class.
+ */
+
+#include <QString>
+#include <QHash>
+#include <QVariant>
+#include <QDebug>
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilsap.h"
+
+class WlanQtUtilsApPrivate
+{
+ friend class WlanQtUtilsAp;
+
+private:
+ QHash<int, QVariant> mConfigurations;
+};
+
+WlanQtUtilsAp::WlanQtUtilsAp() :
+ d_ptr(new WlanQtUtilsApPrivate())
+{
+}
+
+WlanQtUtilsAp::WlanQtUtilsAp(const WlanQtUtilsAp &ref) :
+ d_ptr(new WlanQtUtilsApPrivate())
+{
+ d_ptr->mConfigurations = ref.d_ptr->mConfigurations;
+}
+
+WlanQtUtilsAp::~WlanQtUtilsAp()
+{
+ d_ptr->mConfigurations.clear();
+ delete d_ptr;
+}
+
+QVariant WlanQtUtilsAp::value(int identifier) const
+{
+ return d_ptr->mConfigurations[identifier];
+}
+
+void WlanQtUtilsAp::setValue(int identifier, QVariant value)
+{
+ d_ptr->mConfigurations[identifier] = value;
+}
+
+bool WlanQtUtilsAp::operator==(const WlanQtUtilsAp & rhs ) const
+{
+ bool ret = true;
+ if (d_ptr->mConfigurations.size() != rhs.d_ptr->mConfigurations.size()) {
+ qWarning("WlanQtUtilsAp::operator==(): size: expect %d, actual %d ",
+ d_ptr->mConfigurations.size(),
+ rhs.d_ptr->mConfigurations.size() );
+ ret = false;
+ }
+ QHashIterator<int, QVariant> i(d_ptr->mConfigurations);
+
+ while (i.hasNext()) {
+ i.next();
+ if (!rhs.d_ptr->mConfigurations.contains(i.key())){
+ qWarning("WlanQtUtilsAp::operator==(): key not found: %d", i.key());
+ ret = false;
+
+ }
+ if (i.value() != rhs.d_ptr->mConfigurations[i.key()]){
+ qWarning("WlanQtUtilsAp::operator==(): values not match %d", i.key());
+ qDebug() << "Expect: " << i.value();
+ qDebug() << "Actual: " << rhs.d_ptr->mConfigurations[i.key()];
+ ret = false;
+ }
+ }
+ return ret;
+}
+
+/*!
+ AP comparison function.
+
+ @param [in] ap1 First AP to compare.
+ @param [in] ap2 Second AP to compare.
+
+ @return Zero(0), if APs are considered to be same.
+*/
+
+int WlanQtUtilsAp::compare(
+ const WlanQtUtilsAp *ap1,
+ const WlanQtUtilsAp *ap2)
+{
+ int equal = 1; // Not equal
+
+ // SSID (case sensitive) and security mode (with or without PSK)
+ // are the values, which identify a unique access point.
+ if (ap1->value(WlanQtUtilsAp::ConfIdSsid) ==
+ ap2->value(WlanQtUtilsAp::ConfIdSsid)
+ && ap1->value(WlanQtUtilsAp::ConfIdSecurityMode) ==
+ ap2->value(WlanQtUtilsAp::ConfIdSecurityMode)
+ && ap1->value(WlanQtUtilsAp::ConfIdWpaPskUse) ==
+ ap2->value(WlanQtUtilsAp::ConfIdWpaPskUse)) {
+ equal = 0; // Equal
+ }
+
+ return equal;
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/stubs/wlanqtutilscommon.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2009 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:
+*
+*/
+
+#ifndef STUB_WLANQTUTILSCOMMON_H
+#define STUB_WLANQTUTILSCOMMON_H
+/*
+#ifdef BUILD_WLAN_QT_UTILS_STUBS
+#define WLANQTUTILITIESDLL_EXPORT Q_DECL_EXPORT
+#else
+#define WLANQTUTILITIESDLL_EXPORT Q_DECL_IMPORT
+#endif
+*/
+#ifdef BUILD_WLANQTUTILITIES_DLL
+#define WLANQTUTILITIESDLL_EXPORT Q_DECL_EXPORT
+#else
+#define WLANQTUTILITIESDLL_EXPORT Q_DECL_IMPORT
+#endif
+// Maximum length of WLAN SSID (limit also for number of characters for user input)
+static const int KMaxSsidLen = 32;
+// Maximum length of WEP key
+static const int KMaxWEPKeyLen = 64;
+// Maximum length of WPA key
+static const int KMaxWPAKeyLen = 256;
+
+/**
+ * Bearer type.
+ */
+enum WlanQtUtilsBearerType {
+ WlanQtUtilsBearerTypeNone = 0, ///< None of the bearer types.
+ WlanQtUtilsBearerTypeCellular , ///< Cellular (2G, 3G, 3.5G) bearer type.
+ WlanQtUtilsBearerTypeWlan ///< WLAN bearer type.
+};
+
+/**
+ * Connection status.
+ */
+enum WlanQtUtilsConnectionStatus {
+ WlanQtUtilsConnectionStatusNone = 0, ///< None of the connection statuses.
+ WlanQtUtilsConnectionStatusConnecting, ///< Connecting.
+ WlanQtUtilsConnectionStatusConnected, ///< Connected.
+ WlanQtUtilsConnectionStatusDisconnected ///< Disconnected.
+};
+
+/**
+ * Signal strength category boundaries in dB (absolute value).
+ * Smaller value means better signal.
+ */
+// TODO: WLAN signal level values valid are copied from 08wk41 Sniffer. OK?
+// (WINS emulator gives just 0 which is equal to "Absolute max"...)
+enum
+{
+ WlanQtUtilsWlanSignalStrengthAbsoluteMax = 0, ///< Absolute maximum signal strength.
+ WlanQtUtilsWlanSignalStrengthMax = 60, ///< Maximum signal strength.
+ WlanQtUtilsWlanSignalStrengthGood = 74, ///< Good signal strength.
+ WlanQtUtilsWlanSignalStrengthLow = 87, ///< signal strength.
+ WlanQtUtilsWlanSignalStrengthMin = 100, ///< Minimum signal strength.
+ WlanQtUtilsWlanSignalUnavailable = 9999, ///< Signal is unavailable.
+};
+
+/** WLAN signal is unknown. */
+const int WlanQtUtilsWlanSignalUnknown = 1000000;
+
+/** WLAN transmit power is unknown. */
+const unsigned WlanQtUtilsWlanTransmitPowerUnknown = 0xFFFFFFFF;
+
+#endif // WLANQTUTILSCOMMON_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/t_wlanwizard.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,153 @@
+#
+# Copyright (c) 2010 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:
+# WLAN Wizard unit testing Qt project file.
+#
+
+include(stubs/stubs.pri)
+include(ut/ut.pri)
+
+QT += testlib
+CONFIG += hb qtestlib
+
+TEMPLATE = app
+TARGET = t_wlanwizard
+
+DEPENDPATH += .
+MOC_DIR = build
+RCC_DIR = build
+
+VERSION = 0.0.1
+
+DEFINES += BUILD_WLAN_WIZARD_DLL
+DEFINES += BUILD_EAP_WIZARD_DLL
+DEFINES += BUILD_WPS_WIZARD_DLL
+
+RESOURCES += ../resources/resource.qrc
+RESOURCES += ../../eapwizard/resources/eapwizard_resource.qrc
+RESOURCES += ../../wpswizard/resources/wpswizard_resource.qrc
+
+INCLUDEPATH += \
+ stubs
+
+# Stub headers must be used instead of real ones
+symbian {
+ MMP_RULES += "USERINCLUDE stubs"
+}
+
+# Temporary solution to fix tracecompiler
+# When tracecompiler is fixed, these can be removed
+symbian: {
+ MMP_RULES += \
+ "USERINCLUDE ../traces" \
+ "USERINCLUDE ../../eapwizard/traces" \
+ "USERINCLUDE ../../wpswizard/traces"
+}
+
+# WLAN WIZARD HEADERS
+HEADERS += \
+ ../inc/wlanwizard.h \
+ ../inc/wlanwizard_p.h \
+ ../inc/wlanwizardscanlist.h \
+ ../inc/wlanwizardpage.h \
+ ../inc/wlanwizardhelper.h \
+ ../inc/wlanwizardutils.h \
+ ../inc/wlanwizardpageinternal.h \
+ ../inc/wlanwizardpagekeyquery.h \
+ ../inc/wlanwizardpageprocessingsettings.h \
+ ../inc/wlanwizardpagesummary.h \
+ ../inc/wlanwizardsummaryviewitem.h \
+ ../inc/wlanwizardpagegenericerror.h \
+ ../inc/wlanwizardpagenetworkmode.h \
+ ../inc/wlanwizardpagescanning.h \
+ ../inc/wlanwizardpagesecuritymode.h \
+ ../inc/wlanwizardpagessid.h
+
+# WLAN WIZARD SOURCES
+SOURCES += \
+ ../src/wlanwizard.cpp \
+ ../src/wlanwizard_p.cpp \
+ ../src/wlanwizardscanlist.cpp \
+ ../src/wlanwizardutils.cpp \
+ ../src/wlanwizardpageinternal.cpp \
+ ../src/wlanwizardpagekeyquery.cpp \
+ ../src/wlanwizardpageprocessingsettings.cpp \
+ ../src/wlanwizardpagesummary.cpp \
+ ../src/wlanwizardsummaryviewitem.cpp \
+ ../src/wlanwizardpagegenericerror.cpp \
+ ../src/wlanwizardpagenetworkmode.cpp \
+ ../src/wlanwizardpagescanning.cpp \
+ ../src/wlanwizardpagesecuritymode.cpp \
+ ../src/wlanwizardpagessid.cpp
+
+# EAP Wizard headers
+HEADERS += \
+ ../../eapwizard/inc/eapwizard.h \
+ ../../eapwizard/inc/eapwizard_p.h \
+ ../../eapwizard/inc/eapwizardpage.h \
+ ../../eapwizard/inc/eapwizardpageoutertype.h \
+ ../../eapwizard/inc/eapwizardpagecertca.h \
+ ../../eapwizard/inc/eapwizardpagecertuser.h \
+ ../../eapwizard/inc/eapwizardpageidentity.h \
+ ../../eapwizard/inc/eapwizardpageinnertype.h \
+ ../../eapwizard/inc/eapwizardpageusernamepassword.h \
+ ../../eapwizard/inc/eapwizardpagenewpacstore.h \
+ ../../eapwizard/inc/eapwizardpagepacstorepasswordconfirm.h
+
+# EAP Wizard sources
+SOURCES += \
+ ../../eapwizard/src/eapwizard.cpp \
+ ../../eapwizard/src/eapwizard_p.cpp \
+ ../../eapwizard/src/eapwizardpage.cpp \
+ ../../eapwizard/src/eapwizardpageoutertype.cpp \
+ ../../eapwizard/src/eapwizardpagecertca.cpp \
+ ../../eapwizard/src/eapwizardpagecertuser.cpp \
+ ../../eapwizard/src/eapwizardpageidentity.cpp \
+ ../../eapwizard/src/eapwizardpageinnertype.cpp \
+ ../../eapwizard/src/eapwizardpageusernamepassword.cpp \
+ ../../eapwizard/src/eapwizardpagenewpacstore.cpp \
+ ../../eapwizard/src/eapwizardpagepacstorepasswordconfirm.cpp
+
+# WPS Wizard sources
+HEADERS += \
+ ../../wpswizard/inc/wpswizard.h \
+ ../../wpswizard/inc/wpswizard_p.h \
+ ../../wpswizard/inc/wpswizardpage.h \
+ ../../wpswizard/inc/wpswizardsteptwo.h \
+ ../../wpswizard/inc/wpswizardstepthreebutton.h \
+ ../../wpswizard/inc/wpswizardstepthreenumber.h \
+ ../../wpswizard/inc/wpswizardstepfour.h \
+ ../../wpswizard/inc/wpswizardstepfour_p.h \
+ ../../wpswizard/inc/wpswizardstepfive.h \
+ ../../wpswizard/inc/cwpsactiverunner.h \
+ ../../wpswizard/inc/mwpsactiverunnercallback.h \
+
+SOURCES += \
+ ../../wpswizard/src/wpswizard.cpp \
+ ../../wpswizard/src/wpswizard_p.cpp \
+ ../../wpswizard/src/wpswizardpage.cpp \
+ ../../wpswizard/src/wpswizardsteptwo.cpp \
+ ../../wpswizard/src/wpswizardstepthreebutton.cpp \
+ ../../wpswizard/src/wpswizardstepthreenumber.cpp \
+ ../../wpswizard/src/wpswizardstepfour.cpp \
+ ../../wpswizard/src/wpswizardstepfour_p.cpp \
+ ../../wpswizard/src/wpswizardstepfive.cpp \
+ ../../wpswizard/src/cwpsactiverunner.cpp
+
+LIBS += -leapqtplugininfo
+
+symbian: {
+ TARGET.CAPABILITY = ALL -TCB
+ TARGET.EPOCHEAPSIZE = 0x20000 0x2000000
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/hbautotest.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,835 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#include "hbautotest.h"
+#include <hbmainwindow.h>
+#include <hbwidget.h>
+
+
+const qreal STEP = 4; //How many pixels to drag before sending an event
+
+//Init static members
+bool HbAutoTest::pointerPressed = false;
+QPointF HbAutoTest::pressPoint = QPointF();
+
+void HbAutoTest::mouseMove (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos, int delay)
+{
+ if (delay!=-1) {
+ QTest::qWait(delay);
+ }
+ QPointF targetPoint=QPointF();
+ if (pos==QPointF()) {
+ targetPoint = middlePointOfWidget(widget);
+ } else {
+ targetPoint = widget->mapToScene(pos);
+ }
+ if (pointerPressed) {
+ //Now we should drag an item
+ drag(window, targetPoint);
+ HbAutoTestMouseEvent me (
+ QEvent::MouseMove,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::NoButton,
+ Qt::NoButton,
+ Qt::NoModifier);
+ QSpontaneKeyEvent::setSpontaneous(&me);
+ qApp->notify((window->viewport()), &me);
+ QCoreApplication::sendPostedEvents();
+ QTest::qWait(1);
+ } else {
+ HbAutoTestMouseEvent me (
+ QEvent::MouseMove,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::NoButton,
+ Qt::NoButton,
+ Qt::NoModifier);
+ QSpontaneKeyEvent::setSpontaneous(&me);
+ qApp->notify((window->viewport()), &me);
+ QCoreApplication::sendPostedEvents();
+ QTest::qWait(1);
+
+ }
+ QTest::qWait(1);
+ QTest::qWait(1);
+}
+
+void HbAutoTest::mousePress (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos, int delay)
+{
+ if (delay!=-1) {
+ QTest::qWait(delay);
+ }
+ pointerPressed=true;
+ QPointF targetPoint=QPointF();
+ if (pos==QPointF()) {
+ targetPoint = middlePointOfWidget(widget);
+ } else {
+ targetPoint = widget->mapToScene(pos);
+ }
+ QCursor::setPos(window->mapToGlobal(targetPoint.toPoint()));
+
+ pressPoint=targetPoint;
+
+ HbAutoTestMouseEvent me (
+ QEvent::MouseButtonPress,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::LeftButton,
+ Qt::LeftButton,
+ Qt::NoModifier);
+
+ QSpontaneKeyEvent::setSpontaneous(&me);
+ qApp->notify((window->viewport()), &me);
+ QCoreApplication::sendPostedEvents();
+ QCoreApplication::sendPostedEvents();
+ QTest::qWait(1);
+}
+
+void HbAutoTest::mouseRelease (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos, int delay)
+{
+ if (delay!=-1) {
+ QTest::qWait(delay);
+ }
+ pointerPressed=false;
+ QPointF targetPoint=QPointF();
+ if (pos==QPointF()) {
+ targetPoint = middlePointOfWidget(widget);
+ } else {
+ targetPoint = widget->mapToScene(pos);
+ }
+ QCursor::setPos(window->mapToGlobal(targetPoint.toPoint()));
+ pressPoint=QPointF();
+ HbAutoTestMouseEvent me (
+ QEvent::MouseButtonRelease,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::LeftButton,
+ Qt::NoButton,
+ Qt::NoModifier);
+
+ QSpontaneKeyEvent::setSpontaneous(&me);
+ qApp->notify((window->viewport()), &me);
+ QCoreApplication::sendPostedEvents();
+
+ QTest::qWait(1);
+ QTest::qWait(1);
+}
+
+void HbAutoTest::mouseClick (HbAutoTestMainWindow *window, const HbWidget *widget, QPointF pos, int delay)
+{
+ if (delay!=-1) {
+ QTest::qWait(delay);
+ }
+ QPointF targetPoint=QPointF();
+ if (pos==QPointF()) {
+ targetPoint = middlePointOfWidget(widget);
+ } else {
+ targetPoint = widget->mapToScene(pos);
+ }
+
+ QCursor::setPos(window->mapToGlobal(targetPoint.toPoint()));
+
+ HbAutoTestMouseEvent me (
+ QEvent::MouseButtonPress,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::LeftButton,
+ Qt::LeftButton,
+ Qt::NoModifier);
+ QSpontaneKeyEvent::setSpontaneous(&me);
+ qApp->notify((window->viewport()), &me);
+ QCoreApplication::sendPostedEvents();
+ //QTime currentTime = QTime::currentTime();
+ //qDebug() << currentTime.toString("hh:mm:ss.zzz") << ": Left button down";
+ QTest::qWait(1);
+
+ if (delay!=-1) {
+ QTest::qWait(delay);
+ }
+ HbAutoTestMouseEvent me2 (
+ QEvent::MouseButtonRelease,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::LeftButton,
+ Qt::NoButton,
+ Qt::NoModifier);
+
+ QSpontaneKeyEvent::setSpontaneous(&me2);
+ qApp->notify((window->viewport()), &me2);
+ QCoreApplication::sendPostedEvents();
+ //currentTime = QTime::currentTime();
+ //qDebug() << currentTime.toString("hh:mm:ss.zzz") << ": Left button up";
+
+ QTest::qWait(1);
+ QTest::qWait(1);
+}
+
+QPointF HbAutoTest::middlePointOfWidget( const HbWidget* widget)
+{
+ QRectF widgetRect = widget->rect();
+ QRectF widgetSceneRect = widget->mapRectToScene(widgetRect);
+ qreal middleX = ((widgetSceneRect.right() - widgetSceneRect.left())/2)+widgetSceneRect.left();
+ qreal middleY = ((widgetSceneRect.bottom() - widgetSceneRect.top())/2)+widgetSceneRect.top();
+ return QPointF(middleX,middleY);
+}
+
+
+
+void HbAutoTest::drag(HbAutoTestMainWindow *window, QPointF targetPoint)
+{
+ qreal tempX = targetPoint.x() - pressPoint.x();
+ qreal tempY = targetPoint.y() - pressPoint.y();
+ qreal totalTrip = sqrt ((tempX * tempX) + (tempY * tempY));
+
+ int numberOfSteps = qRound(totalTrip / STEP);
+ HbAutoTestMouseEvent me (
+ QEvent::MouseMove,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::NoButton ,
+ Qt::LeftButton,
+ Qt::NoModifier);
+
+ QPointF nextPanPoint=pressPoint;
+ for (int i=1; i<numberOfSteps; i++) { //On purpose not =<
+
+ nextPanPoint.setY (pressPoint.y()+((i / (qreal)numberOfSteps) * tempY));
+ nextPanPoint.setX (pressPoint.x()+((i / (qreal)numberOfSteps) * tempX));
+
+ QCursor::setPos(window->mapToGlobal(nextPanPoint.toPoint()));
+
+ me = HbAutoTestMouseEvent (QEvent::MouseMove,
+ nextPanPoint.toPoint(),
+ window->viewport()->mapToGlobal(nextPanPoint.toPoint()),
+ Qt::NoButton,
+ Qt::LeftButton,
+ Qt::NoModifier);
+
+ QSpontaneKeyEvent::setSpontaneous(&me);
+ qApp->notify((window->viewport()), &me);
+ QCoreApplication::sendPostedEvents();
+ }
+
+ QCursor::setPos(window->mapToGlobal(targetPoint.toPoint()));
+
+ //One more (or the only one) step to the target
+ me = HbAutoTestMouseEvent (QEvent::MouseMove,
+ targetPoint.toPoint(),
+ window->viewport()->mapToGlobal(targetPoint.toPoint()),
+ Qt::NoButton,
+ Qt::LeftButton,
+ Qt::NoModifier);
+ QSpontaneKeyEvent::setSpontaneous(&me);
+ qApp->notify((window->viewport()), &me);
+ QCoreApplication::sendPostedEvents();
+}
+
+
+void HbAutoTest::simulateEvent(QWidget *widget, bool press, int code,
+ Qt::KeyboardModifiers modifier, QString text, bool repeat, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ extern int Q_TESTLIB_EXPORT defaultKeyDelay();
+
+ if (delay == -1 || delay < 10) // defaultKeyDelay())
+ delay = 10; //defaultKeyDelay();
+ if(delay > 0)
+ QTest::qWait(delay);
+// Q_UNUSED(delay);
+// QTest::qWait(10); //TODO: Remove this and reveal above out-commented code
+
+ HbAutoTestKeyEvent a(press ? QEvent::KeyPress : QEvent::KeyRelease, code, modifier, text, repeat);
+ QSpontaneKeyEvent::setSpontaneous(&a);
+ if (!qApp->notify(widget, &a))
+ QTest::qWarn("Keyboard event not accepted by receiving widget");
+ }
+
+void HbAutoTest::sendKeyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key code,
+ QString text, Qt::KeyboardModifiers modifier, int delay)
+ {
+ QTEST_ASSERT(qApp);
+
+ if (!widget)
+ widget = QWidget::keyboardGrabber();
+ if (!widget) {
+ if (QWidget *apw = QApplication::activePopupWidget())
+ widget = apw->focusWidget() ? apw->focusWidget() : apw;
+ else
+ widget = QApplication::focusWidget();
+ }
+ if (!widget)
+ widget = QApplication::activeWindow();
+
+ QTEST_ASSERT(widget);
+
+ if (action == QTest::Click) {
+ QPointer<QWidget> ptr(widget);
+ sendKeyEvent(QTest::Press, widget, code, text, modifier, delay);
+ if (!ptr) {
+ // if we send key-events to embedded widgets, they might be destroyed
+ // when the user presses Return
+ return;
+ }
+ sendKeyEvent(QTest::Release, widget, code, text, modifier, delay);
+ return;
+ }
+
+ bool repeat = false;
+
+ if (action == QTest::Press) {
+ if (modifier & Qt::ShiftModifier)
+ simulateEvent(widget, true, Qt::Key_Shift, 0, QString(), false, delay);
+
+ if (modifier & Qt::ControlModifier)
+ simulateEvent(widget, true, Qt::Key_Control, modifier & Qt::ShiftModifier, QString(), false, delay);
+
+ if (modifier & Qt::AltModifier)
+ simulateEvent(widget, true, Qt::Key_Alt,
+ modifier & (Qt::ShiftModifier | Qt::ControlModifier), QString(), false, delay);
+ if (modifier & Qt::MetaModifier)
+ simulateEvent(widget, true, Qt::Key_Meta, modifier & (Qt::ShiftModifier
+ | Qt::ControlModifier | Qt::AltModifier), QString(), false, delay);
+ simulateEvent(widget, true, code, modifier, text, repeat, delay);
+ } else if (action == QTest::Release) {
+ simulateEvent(widget, false, code, modifier, text, repeat, delay);
+
+ if (modifier & Qt::MetaModifier)
+ simulateEvent(widget, false, Qt::Key_Meta, modifier, QString(), false, delay);
+ if (modifier & Qt::AltModifier)
+ simulateEvent(widget, false, Qt::Key_Alt, modifier &
+ (Qt::ShiftModifier | Qt::ControlModifier | Qt::AltModifier), QString(), false, delay);
+
+ if (modifier & Qt::ControlModifier)
+ simulateEvent(widget, false, Qt::Key_Control,
+ modifier & (Qt::ShiftModifier | Qt::ControlModifier), QString(), false, delay);
+
+ if (modifier & Qt::ShiftModifier)
+ simulateEvent(widget, false, Qt::Key_Shift, modifier & Qt::ShiftModifier, QString(), false, delay);
+ }
+ }
+
+void HbAutoTest::sendKeyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key code,
+ char ascii, Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ QString text;
+ if (ascii)
+ text = QString(QChar::fromLatin1(ascii));
+ sendKeyEvent(action, widget, code, text, modifier, delay);
+ }
+
+void HbAutoTest::keyEvent(QTest::KeyAction action, QWidget *widget, char ascii,
+ Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ sendKeyEvent(action, widget, asciiToKey(ascii), ascii, modifier, delay);
+ }
+
+void HbAutoTest::keyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key key,
+ Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ sendKeyEvent(action, widget, key, keyToAscii(key), modifier, delay);
+ }
+
+void HbAutoTest::keyClicks(QWidget *widget, const QString &sequence,
+ Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ for (int i=0; i < sequence.length(); i++)
+ keyEvent(QTest::Click, widget, sequence.at(i).toLatin1(), modifier, delay);
+ }
+
+void HbAutoTest::keyPress(QWidget *widget, char key, Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ keyEvent(QTest::Press, widget, key, modifier, delay);
+ }
+
+void HbAutoTest::keyRelease(QWidget *widget, char key, Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ keyEvent(QTest::Release, widget, key, modifier, delay);
+ }
+
+void HbAutoTest::keyClick(QWidget *widget, char key, Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ keyEvent(QTest::Click, widget, key, modifier, delay);
+ }
+
+void HbAutoTest::keyPress(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ keyEvent(QTest::Press, widget, key, modifier, delay);
+ }
+
+void HbAutoTest::keyRelease(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ keyEvent(QTest::Release, widget, key, modifier, delay); }
+
+void HbAutoTest::keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier, int delay)
+ {
+ Q_ASSERT_X(dynamic_cast<HbAutoTestMainWindow *>(( widget) ) != 0, "HbAutoTest", "Always use with HbAutoTestMainWindow");
+ keyEvent(QTest::Click, widget, key, modifier, delay);
+ }
+
+Qt::Key HbAutoTest::asciiToKey(char ascii)
+{
+ switch ((unsigned char)ascii) {
+ case 0x08: return Qt::Key_Backspace;
+ case 0x09: return Qt::Key_Tab;
+ case 0x0b: return Qt::Key_Backtab;
+ case 0x0d: return Qt::Key_Return;
+ case 0x1b: return Qt::Key_Escape;
+ case 0x20: return Qt::Key_Space;
+ case 0x21: return Qt::Key_Exclam;
+ case 0x22: return Qt::Key_QuoteDbl;
+ case 0x23: return Qt::Key_NumberSign;
+ case 0x24: return Qt::Key_Dollar;
+ case 0x25: return Qt::Key_Percent;
+ case 0x26: return Qt::Key_Ampersand;
+ case 0x27: return Qt::Key_Apostrophe;
+ case 0x28: return Qt::Key_ParenLeft;
+ case 0x29: return Qt::Key_ParenRight;
+ case 0x2a: return Qt::Key_Asterisk;
+ case 0x2b: return Qt::Key_Plus;
+ case 0x2c: return Qt::Key_Comma;
+ case 0x2d: return Qt::Key_Minus;
+ case 0x2e: return Qt::Key_Period;
+ case 0x2f: return Qt::Key_Slash;
+ case 0x30: return Qt::Key_0;
+ case 0x31: return Qt::Key_1;
+ case 0x32: return Qt::Key_2;
+ case 0x33: return Qt::Key_3;
+ case 0x34: return Qt::Key_4;
+ case 0x35: return Qt::Key_5;
+ case 0x36: return Qt::Key_6;
+ case 0x37: return Qt::Key_7;
+ case 0x38: return Qt::Key_8;
+ case 0x39: return Qt::Key_9;
+ case 0x3a: return Qt::Key_Colon;
+ case 0x3b: return Qt::Key_Semicolon;
+ case 0x3c: return Qt::Key_Less;
+ case 0x3d: return Qt::Key_Equal;
+ case 0x3e: return Qt::Key_Greater;
+ case 0x3f: return Qt::Key_Question;
+ case 0x40: return Qt::Key_At;
+ case 0x41: return Qt::Key_A;
+ case 0x42: return Qt::Key_B;
+ case 0x43: return Qt::Key_C;
+ case 0x44: return Qt::Key_D;
+ case 0x45: return Qt::Key_E;
+ case 0x46: return Qt::Key_F;
+ case 0x47: return Qt::Key_G;
+ case 0x48: return Qt::Key_H;
+ case 0x49: return Qt::Key_I;
+ case 0x4a: return Qt::Key_J;
+ case 0x4b: return Qt::Key_K;
+ case 0x4c: return Qt::Key_L;
+ case 0x4d: return Qt::Key_M;
+ case 0x4e: return Qt::Key_N;
+ case 0x4f: return Qt::Key_O;
+ case 0x50: return Qt::Key_P;
+ case 0x51: return Qt::Key_Q;
+ case 0x52: return Qt::Key_R;
+ case 0x53: return Qt::Key_S;
+ case 0x54: return Qt::Key_T;
+ case 0x55: return Qt::Key_U;
+ case 0x56: return Qt::Key_V;
+ case 0x57: return Qt::Key_W;
+ case 0x58: return Qt::Key_X;
+ case 0x59: return Qt::Key_Y;
+ case 0x5a: return Qt::Key_Z;
+ case 0x5b: return Qt::Key_BracketLeft;
+ case 0x5c: return Qt::Key_Backslash;
+ case 0x5d: return Qt::Key_BracketRight;
+ case 0x5e: return Qt::Key_AsciiCircum;
+ case 0x5f: return Qt::Key_Underscore;
+ case 0x60: return Qt::Key_QuoteLeft;
+ case 0x61: return Qt::Key_A;
+ case 0x62: return Qt::Key_B;
+ case 0x63: return Qt::Key_C;
+ case 0x64: return Qt::Key_D;
+ case 0x65: return Qt::Key_E;
+ case 0x66: return Qt::Key_F;
+ case 0x67: return Qt::Key_G;
+ case 0x68: return Qt::Key_H;
+ case 0x69: return Qt::Key_I;
+ case 0x6a: return Qt::Key_J;
+ case 0x6b: return Qt::Key_K;
+ case 0x6c: return Qt::Key_L;
+ case 0x6d: return Qt::Key_M;
+ case 0x6e: return Qt::Key_N;
+ case 0x6f: return Qt::Key_O;
+ case 0x70: return Qt::Key_P;
+ case 0x71: return Qt::Key_Q;
+ case 0x72: return Qt::Key_R;
+ case 0x73: return Qt::Key_S;
+ case 0x74: return Qt::Key_T;
+ case 0x75: return Qt::Key_U;
+ case 0x76: return Qt::Key_V;
+ case 0x77: return Qt::Key_W;
+ case 0x78: return Qt::Key_X;
+ case 0x79: return Qt::Key_Y;
+ case 0x7a: return Qt::Key_Z;
+ case 0x7b: return Qt::Key_BraceLeft;
+ case 0x7c: return Qt::Key_Bar;
+ case 0x7d: return Qt::Key_BraceRight;
+ case 0x7e: return Qt::Key_AsciiTilde;
+
+ // Latin 1 codes adapted from X: keysymdef.h,v 1.21 94/08/28 16:17:06
+ case 0xa0: return Qt::Key_nobreakspace;
+ case 0xa1: return Qt::Key_exclamdown;
+ case 0xa2: return Qt::Key_cent;
+ case 0xa3: return Qt::Key_sterling;
+ case 0xa4: return Qt::Key_currency;
+ case 0xa5: return Qt::Key_yen;
+ case 0xa6: return Qt::Key_brokenbar;
+ case 0xa7: return Qt::Key_section;
+ case 0xa8: return Qt::Key_diaeresis;
+ case 0xa9: return Qt::Key_copyright;
+ case 0xaa: return Qt::Key_ordfeminine;
+ case 0xab: return Qt::Key_guillemotleft;
+ case 0xac: return Qt::Key_notsign;
+ case 0xad: return Qt::Key_hyphen;
+ case 0xae: return Qt::Key_registered;
+ case 0xaf: return Qt::Key_macron;
+ case 0xb0: return Qt::Key_degree;
+ case 0xb1: return Qt::Key_plusminus;
+ case 0xb2: return Qt::Key_twosuperior;
+ case 0xb3: return Qt::Key_threesuperior;
+ case 0xb4: return Qt::Key_acute;
+ case 0xb5: return Qt::Key_mu;
+ case 0xb6: return Qt::Key_paragraph;
+ case 0xb7: return Qt::Key_periodcentered;
+ case 0xb8: return Qt::Key_cedilla;
+ case 0xb9: return Qt::Key_onesuperior;
+ case 0xba: return Qt::Key_masculine;
+ case 0xbb: return Qt::Key_guillemotright;
+ case 0xbc: return Qt::Key_onequarter;
+ case 0xbd: return Qt::Key_onehalf;
+ case 0xbe: return Qt::Key_threequarters;
+ case 0xbf: return Qt::Key_questiondown;
+ case 0xc0: return Qt::Key_Agrave;
+ case 0xc1: return Qt::Key_Aacute;
+ case 0xc2: return Qt::Key_Acircumflex;
+ case 0xc3: return Qt::Key_Atilde;
+ case 0xc4: return Qt::Key_Adiaeresis;
+ case 0xc5: return Qt::Key_Aring;
+ case 0xc6: return Qt::Key_AE;
+ case 0xc7: return Qt::Key_Ccedilla;
+ case 0xc8: return Qt::Key_Egrave;
+ case 0xc9: return Qt::Key_Eacute;
+ case 0xca: return Qt::Key_Ecircumflex;
+ case 0xcb: return Qt::Key_Ediaeresis;
+ case 0xcc: return Qt::Key_Igrave;
+ case 0xcd: return Qt::Key_Iacute;
+ case 0xce: return Qt::Key_Icircumflex;
+ case 0xcf: return Qt::Key_Idiaeresis;
+ case 0xd0: return Qt::Key_ETH;
+ case 0xd1: return Qt::Key_Ntilde;
+ case 0xd2: return Qt::Key_Ograve;
+ case 0xd3: return Qt::Key_Oacute;
+ case 0xd4: return Qt::Key_Ocircumflex;
+ case 0xd5: return Qt::Key_Otilde;
+ case 0xd6: return Qt::Key_Odiaeresis;
+ case 0xd7: return Qt::Key_multiply;
+ case 0xd8: return Qt::Key_Ooblique;
+ case 0xd9: return Qt::Key_Ugrave;
+ case 0xda: return Qt::Key_Uacute;
+ case 0xdb: return Qt::Key_Ucircumflex;
+ case 0xdc: return Qt::Key_Udiaeresis;
+ case 0xdd: return Qt::Key_Yacute;
+ case 0xde: return Qt::Key_THORN;
+ case 0xdf: return Qt::Key_ssharp;
+ case 0xe5: return Qt::Key_Aring;
+ case 0xe6: return Qt::Key_AE;
+ case 0xf7: return Qt::Key_division;
+ case 0xf8: return Qt::Key_Ooblique;
+ case 0xff: return Qt::Key_ydiaeresis;
+ default: QTEST_ASSERT(false); return Qt::Key(0);
+ }
+}
+
+char HbAutoTest::keyToAscii(Qt::Key key)
+{
+ switch (key) {
+ case Qt::Key_Backspace: return 0x8; //BS
+ case Qt::Key_Tab: return 0x09; // HT
+ case Qt::Key_Backtab: return 0x0b; // VT
+ case Qt::Key_Enter:
+ case Qt::Key_Return: return 0x0d; // CR
+ case Qt::Key_Escape: return 0x1b; // ESC
+ case Qt::Key_Space: return 0x20; // 7 bit printable ASCII
+ case Qt::Key_Exclam: return 0x21;
+ case Qt::Key_QuoteDbl: return 0x22;
+ case Qt::Key_NumberSign: return 0x23;
+ case Qt::Key_Dollar: return 0x24;
+ case Qt::Key_Percent: return 0x25;
+ case Qt::Key_Ampersand: return 0x26;
+ case Qt::Key_Apostrophe: return 0x27;
+ case Qt::Key_ParenLeft: return 0x28;
+ case Qt::Key_ParenRight: return 0x29;
+ case Qt::Key_Asterisk: return 0x2a;
+ case Qt::Key_Plus: return 0x2b;
+ case Qt::Key_Comma: return 0x2c;
+ case Qt::Key_Minus: return 0x2d;
+ case Qt::Key_Period: return 0x2e;
+ case Qt::Key_Slash: return 0x2f;
+ case Qt::Key_0: return 0x30;
+ case Qt::Key_1: return 0x31;
+ case Qt::Key_2: return 0x32;
+ case Qt::Key_3: return 0x33;
+ case Qt::Key_4: return 0x34;
+ case Qt::Key_5: return 0x35;
+ case Qt::Key_6: return 0x36;
+ case Qt::Key_7: return 0x37;
+ case Qt::Key_8: return 0x38;
+ case Qt::Key_9: return 0x39;
+ case Qt::Key_Colon: return 0x3a;
+ case Qt::Key_Semicolon: return 0x3b;
+ case Qt::Key_Less: return 0x3c;
+ case Qt::Key_Equal: return 0x3d;
+ case Qt::Key_Greater: return 0x3e;
+ case Qt::Key_Question: return 0x3f;
+ case Qt::Key_At: return 0x40;
+ case Qt::Key_A: return 0x61; // 0x41 == 'A', 0x61 == 'a'
+ case Qt::Key_B: return 0x62;
+ case Qt::Key_C: return 0x63;
+ case Qt::Key_D: return 0x64;
+ case Qt::Key_E: return 0x65;
+ case Qt::Key_F: return 0x66;
+ case Qt::Key_G: return 0x67;
+ case Qt::Key_H: return 0x68;
+ case Qt::Key_I: return 0x69;
+ case Qt::Key_J: return 0x6a;
+ case Qt::Key_K: return 0x6b;
+ case Qt::Key_L: return 0x6c;
+ case Qt::Key_M: return 0x6d;
+ case Qt::Key_N: return 0x6e;
+ case Qt::Key_O: return 0x6f;
+ case Qt::Key_P: return 0x70;
+ case Qt::Key_Q: return 0x71;
+ case Qt::Key_R: return 0x72;
+ case Qt::Key_S: return 0x73;
+ case Qt::Key_T: return 0x74;
+ case Qt::Key_U: return 0x75;
+ case Qt::Key_V: return 0x76;
+ case Qt::Key_W: return 0x77;
+ case Qt::Key_X: return 0x78;
+ case Qt::Key_Y: return 0x79;
+ case Qt::Key_Z: return 0x7a;
+ case Qt::Key_BracketLeft: return 0x5b;
+ case Qt::Key_Backslash: return 0x5c;
+ case Qt::Key_BracketRight: return 0x5d;
+ case Qt::Key_AsciiCircum: return 0x5e;
+ case Qt::Key_Underscore: return 0x5f;
+ case Qt::Key_QuoteLeft: return 0x60;
+
+ case Qt::Key_BraceLeft: return 0x7b;
+ case Qt::Key_Bar: return 0x7c;
+ case Qt::Key_BraceRight: return 0x7d;
+ case Qt::Key_AsciiTilde: return 0x7e;
+
+ case Qt::Key_Delete: return 0;
+ case Qt::Key_Insert: return 0; // = 0x1006,
+ case Qt::Key_Pause: return 0; // = 0x1008,
+ case Qt::Key_Print: return 0; // = 0x1009,
+ case Qt::Key_SysReq: return 0; // = 0x100a,
+
+ case Qt::Key_Clear: return 0; // = 0x100b,
+
+ case Qt::Key_Home: return 0; // = 0x1010, // cursor movement
+ case Qt::Key_End: return 0; // = 0x1011,
+ case Qt::Key_Left: return 0; // = 0x1012,
+ case Qt::Key_Up: return 0; // = 0x1013,
+ case Qt::Key_Right: return 0; // = 0x1014,
+ case Qt::Key_Down: return 0; // = 0x1015,
+ case Qt::Key_PageUp: return 0; // = 0x1016,
+ case Qt::Key_PageDown: return 0; // = 0x1017,
+ case Qt::Key_Shift: return 0; // = 0x1020, // modifiers
+ case Qt::Key_Control: return 0; // = 0x1021,
+ case Qt::Key_Meta: return 0; // = 0x1022,
+ case Qt::Key_Alt: return 0; // = 0x1023,
+ case Qt::Key_CapsLock: return 0; // = 0x1024,
+ case Qt::Key_NumLock: return 0; // = 0x1025,
+ case Qt::Key_ScrollLock: return 0; // = 0x1026,
+ case Qt::Key_F1: return 0; // = 0x1030, // function keys
+ case Qt::Key_F2: return 0; // = 0x1031,
+ case Qt::Key_F3: return 0; // = 0x1032,
+ case Qt::Key_F4: return 0; // = 0x1033,
+ case Qt::Key_F5: return 0; // = 0x1034,
+ case Qt::Key_F6: return 0; // = 0x1035,
+ case Qt::Key_F7: return 0; // = 0x1036,
+ case Qt::Key_F8: return 0; // = 0x1037,
+ case Qt::Key_F9: return 0; // = 0x1038,
+ case Qt::Key_F10: return 0; // = 0x1039,
+ case Qt::Key_F11: return 0; // = 0x103a,
+ case Qt::Key_F12: return 0; // = 0x103b,
+ case Qt::Key_F13: return 0; // = 0x103c,
+ case Qt::Key_F14: return 0; // = 0x103d,
+ case Qt::Key_F15: return 0; // = 0x103e,
+ case Qt::Key_F16: return 0; // = 0x103f,
+ case Qt::Key_F17: return 0; // = 0x1040,
+ case Qt::Key_F18: return 0; // = 0x1041,
+ case Qt::Key_F19: return 0; // = 0x1042,
+ case Qt::Key_F20: return 0; // = 0x1043,
+ case Qt::Key_F21: return 0; // = 0x1044,
+ case Qt::Key_F22: return 0; // = 0x1045,
+ case Qt::Key_F23: return 0; // = 0x1046,
+ case Qt::Key_F24: return 0; // = 0x1047,
+ case Qt::Key_F25: return 0; // = 0x1048, // F25 .. F35 only on X11
+ case Qt::Key_F26: return 0; // = 0x1049,
+ case Qt::Key_F27: return 0; // = 0x104a,
+ case Qt::Key_F28: return 0; // = 0x104b,
+ case Qt::Key_F29: return 0; // = 0x104c,
+ case Qt::Key_F30: return 0; // = 0x104d,
+ case Qt::Key_F31: return 0; // = 0x104e,
+ case Qt::Key_F32: return 0; // = 0x104f,
+ case Qt::Key_F33: return 0; // = 0x1050,
+ case Qt::Key_F34: return 0; // = 0x1051,
+ case Qt::Key_F35: return 0; // = 0x1052,
+ case Qt::Key_Super_L: return 0; // = 0x1053, // extra keys
+ case Qt::Key_Super_R: return 0; // = 0x1054,
+ case Qt::Key_Menu: return 0; // = 0x1055,
+ case Qt::Key_Hyper_L: return 0; // = 0x1056,
+ case Qt::Key_Hyper_R: return 0; // = 0x1057,
+ case Qt::Key_Help: return 0; // = 0x1058,
+ case Qt::Key_Direction_L: return 0; // = 0x1059,
+ case Qt::Key_Direction_R: return 0; // = 0x1060,
+
+ // Latin 1 codes adapted from X: keysymdef.h,v 1.21 94/08/28 16:17:06
+ case Qt::Key_nobreakspace: return char(0xa0);
+ case Qt::Key_exclamdown: return char(0xa1);
+ case Qt::Key_cent: return char(0xa2);
+ case Qt::Key_sterling: return char(0xa3);
+ case Qt::Key_currency: return char(0xa4);
+ case Qt::Key_yen: return char(0xa5);
+ case Qt::Key_brokenbar: return char(0xa6);
+ case Qt::Key_section: return char(0xa7);
+ case Qt::Key_diaeresis: return char(0xa8);
+ case Qt::Key_copyright: return char(0xa9);
+ case Qt::Key_ordfeminine: return char(0xaa);
+ case Qt::Key_guillemotleft: return char(0xab); // left angle quotation mar
+ case Qt::Key_notsign: return char(0xac);
+ case Qt::Key_hyphen: return char(0xad);
+ case Qt::Key_registered: return char(0xae);
+ case Qt::Key_macron: return char(0xaf);
+ case Qt::Key_degree: return char(0xb0);
+ case Qt::Key_plusminus: return char(0xb1);
+ case Qt::Key_twosuperior: return char(0xb2);
+ case Qt::Key_threesuperior: return char(0xb3);
+ case Qt::Key_acute: return char(0xb4);
+ case Qt::Key_mu: return char(0xb5);
+ case Qt::Key_paragraph: return char(0xb6);
+ case Qt::Key_periodcentered: return char(0xb7);
+ case Qt::Key_cedilla: return char(0xb8);
+ case Qt::Key_onesuperior: return char(0xb9);
+ case Qt::Key_masculine: return char(0xba);
+ case Qt::Key_guillemotright: return char(0xbb); // right angle quotation mar
+ case Qt::Key_onequarter: return char(0xbc);
+ case Qt::Key_onehalf: return char(0xbd);
+ case Qt::Key_threequarters: return char(0xbe);
+ case Qt::Key_questiondown: return char(0xbf);
+ case Qt::Key_Agrave: return char(0xc0);
+ case Qt::Key_Aacute: return char(0xc1);
+ case Qt::Key_Acircumflex: return char(0xc2);
+ case Qt::Key_Atilde: return char(0xc3);
+ case Qt::Key_Adiaeresis: return char(0xc4);
+ case Qt::Key_Aring: return char(0xe5);
+ case Qt::Key_AE: return char(0xe6);
+ case Qt::Key_Ccedilla: return char(0xc7);
+ case Qt::Key_Egrave: return char(0xc8);
+ case Qt::Key_Eacute: return char(0xc9);
+ case Qt::Key_Ecircumflex: return char(0xca);
+ case Qt::Key_Ediaeresis: return char(0xcb);
+ case Qt::Key_Igrave: return char(0xcc);
+ case Qt::Key_Iacute: return char(0xcd);
+ case Qt::Key_Icircumflex: return char(0xce);
+ case Qt::Key_Idiaeresis: return char(0xcf);
+ case Qt::Key_ETH: return char(0xd0);
+ case Qt::Key_Ntilde: return char(0xd1);
+ case Qt::Key_Ograve: return char(0xd2);
+ case Qt::Key_Oacute: return char(0xd3);
+ case Qt::Key_Ocircumflex: return char(0xd4);
+ case Qt::Key_Otilde: return char(0xd5);
+ case Qt::Key_Odiaeresis: return char(0xd6);
+ case Qt::Key_multiply: return char(0xd7);
+ case Qt::Key_Ooblique: return char(0xf8);
+ case Qt::Key_Ugrave: return char(0xd9);
+ case Qt::Key_Uacute: return char(0xda);
+ case Qt::Key_Ucircumflex: return char(0xdb);
+ case Qt::Key_Udiaeresis: return char(0xdc);
+ case Qt::Key_Yacute: return char(0xdd);
+ case Qt::Key_THORN: return char(0xde);
+ case Qt::Key_ssharp: return char(0xdf);
+ case Qt::Key_division: return char(0xf7);
+ case Qt::Key_ydiaeresis: return char(0xff);
+
+ // multimedia/internet keys - ignored by default - see QKeyEvent c'tor
+
+ case Qt::Key_Back : return 0; // = 0x1061,
+ case Qt::Key_Forward : return 0; // = 0x1062,
+ case Qt::Key_Stop : return 0; // = 0x1063,
+ case Qt::Key_Refresh : return 0; // = 0x1064,
+
+ case Qt::Key_VolumeDown: return 0; // = 0x1070,
+ case Qt::Key_VolumeMute : return 0; // = 0x1071,
+ case Qt::Key_VolumeUp: return 0; // = 0x1072,
+ case Qt::Key_BassBoost: return 0; // = 0x1073,
+ case Qt::Key_BassUp: return 0; // = 0x1074,
+ case Qt::Key_BassDown: return 0; // = 0x1075,
+ case Qt::Key_TrebleUp: return 0; // = 0x1076,
+ case Qt::Key_TrebleDown: return 0; // = 0x1077,
+
+ case Qt::Key_MediaPlay : return 0; // = 0x1080,
+ case Qt::Key_MediaStop : return 0; // = 0x1081,
+ case Qt::Key_MediaPrevious : return 0; // = 0x1082,
+ case Qt::Key_MediaNext : return 0; // = 0x1083,
+ case Qt::Key_MediaRecord: return 0; // = 0x1084,
+
+ case Qt::Key_HomePage : return 0; // = 0x1090,
+ case Qt::Key_Favorites : return 0; // = 0x1091,
+ case Qt::Key_Search : return 0; // = 0x1092,
+ case Qt::Key_Standby: return 0; // = 0x1093,
+ case Qt::Key_OpenUrl: return 0; // = 0x1094,
+
+ case Qt::Key_LaunchMail : return 0; // = 0x10a0,
+ case Qt::Key_LaunchMedia: return 0; // = 0x10a1,
+ case Qt::Key_Launch0 : return 0; // = 0x10a2,
+ case Qt::Key_Launch1 : return 0; // = 0x10a3,
+ case Qt::Key_Launch2 : return 0; // = 0x10a4,
+ case Qt::Key_Launch3 : return 0; // = 0x10a5,
+ case Qt::Key_Launch4 : return 0; // = 0x10a6,
+ case Qt::Key_Launch5 : return 0; // = 0x10a7,
+ case Qt::Key_Launch6 : return 0; // = 0x10a8,
+ case Qt::Key_Launch7 : return 0; // = 0x10a9,
+ case Qt::Key_Launch8 : return 0; // = 0x10aa,
+ case Qt::Key_Launch9 : return 0; // = 0x10ab,
+ case Qt::Key_LaunchA : return 0; // = 0x10ac,
+ case Qt::Key_LaunchB : return 0; // = 0x10ad,
+ case Qt::Key_LaunchC : return 0; // = 0x10ae,
+ case Qt::Key_LaunchD : return 0; // = 0x10af,
+ case Qt::Key_LaunchE : return 0; // = 0x10b0,
+ case Qt::Key_LaunchF : return 0; // = 0x10b1,
+
+ default: QTEST_ASSERT(false); return 0;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/hbautotest.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,279 @@
+/*
+* Copyright (c) 2010 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:
+*
+*/
+
+#ifndef HBAUTOTEST_H
+#define HBAUTOTEST_H
+
+#include <hbnamespace.h>
+#include <hbmainwindow.h>
+#include <QtTest/QtTest>
+
+class HbMainWindow;
+class HbWidget;
+class HbAutoTestMainWindow;
+class HbAutoTest;
+class HbAutoTestMouseEvent;
+/*
+INSTRUCTIONS:
+The class HbAutoTest is meant to be used with Orbit applications auto testing instead of GUI testing APIs of QTestLib.
+
+The functions of this class is to used similarily to the related QTestLib functions.
+
+Use HbAutoTestMainWindow (defined below) instead of HbMainWindow to enble filtering.
+Filterin filters out UI events that are not sent by function defined in HbAutoTest class.
+
+*/
+
+class HbAutoTestMouseEvent : public QMouseEvent
+{
+public:
+ HbAutoTestMouseEvent(Type type, const QPoint & pos, const QPoint & globalPos, Qt::MouseButton button, Qt::MouseButtons buttons, Qt::KeyboardModifiers modifiers )
+ : QMouseEvent(type,pos,globalPos,button,buttons,modifiers){}
+};
+
+class HbAutoTestKeyEvent : public QKeyEvent
+{
+public:
+ HbAutoTestKeyEvent(Type type, int key, Qt::KeyboardModifiers modifiers, const QString& text = QString(),
+ bool autorep = false, ushort count = 1 )
+ : QKeyEvent(type, key, modifiers, text, autorep, count){}
+};
+
+class HbAutoTest
+{
+public:
+
+ static void mouseMove (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos = QPointF(), int delay = -1 );
+ static void mousePress (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos = QPointF(), int delay = -1);
+ static void mouseRelease (HbAutoTestMainWindow *window, HbWidget *widget, QPointF pos = QPointF(), int delay = -1);
+ static void mouseClick (HbAutoTestMainWindow *window, const HbWidget *widget, QPointF pos = QPointF(), int delay = -1);
+
+private:
+ static void drag(HbAutoTestMainWindow *window, QPointF targetPoint);
+ static QPointF middlePointOfWidget( const HbWidget* widget);
+
+ static bool pointerPressed;
+ static QPointF pressPoint;
+
+//Key event Part: copy-pasted from QTestLib and modified to support HbAutoTestKeyEvent to enable filtering.
+//see HbAutoTestMainWindow below.
+public:
+
+ static Qt::Key asciiToKey(char ascii);
+ static char keyToAscii(Qt::Key key);
+
+ static void simulateEvent(QWidget *widget, bool press, int code,
+ Qt::KeyboardModifiers modifier, QString text, bool repeat, int delay=-1);
+
+ static void sendKeyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key code,
+ QString text, Qt::KeyboardModifiers modifier, int delay=-1);
+
+ static void sendKeyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key code,
+ char ascii, Qt::KeyboardModifiers modifier, int delay=-1);
+
+ static void keyEvent(QTest::KeyAction action, QWidget *widget, char ascii,
+ Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyEvent(QTest::KeyAction action, QWidget *widget, Qt::Key key,
+ Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyClicks(QWidget *widget, const QString &sequence,
+ Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyPress(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyRelease(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyClick(QWidget *widget, char key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyPress(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyRelease(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+
+ static void keyClick(QWidget *widget, Qt::Key key, Qt::KeyboardModifiers modifier = Qt::NoModifier, int delay=-1);
+};
+
+class HbTestEvent
+{
+public:
+ virtual void simulate(QWidget *w) = 0;
+ virtual HbTestEvent *clone() const = 0;
+
+ virtual ~HbTestEvent() {}
+};
+
+class HbTestKeyEvent: public HbTestEvent
+{
+public:
+ inline HbTestKeyEvent(QTest::KeyAction action, Qt::Key key, Qt::KeyboardModifiers modifiers, int delay)
+ : _action(action), _delay(delay), _modifiers(modifiers), _ascii(0), _key(key) {}
+ inline HbTestKeyEvent(QTest::KeyAction action, char ascii, Qt::KeyboardModifiers modifiers, int delay)
+ : _action(action), _delay(delay), _modifiers(modifiers),
+ _ascii(ascii), _key(Qt::Key_unknown) {}
+ inline HbTestEvent *clone() const { return new HbTestKeyEvent(*this); }
+
+ inline void simulate(QWidget *w)
+ {
+ if (_ascii == 0)
+ HbAutoTest::keyEvent(_action, w, _key, _modifiers, _delay);
+ else
+ HbAutoTest::keyEvent(_action, w, _ascii, _modifiers, _delay);
+ }
+
+protected:
+ QTest::KeyAction _action;
+ int _delay;
+ Qt::KeyboardModifiers _modifiers;
+ char _ascii;
+ Qt::Key _key;
+};
+
+class HbTestKeyClicksEvent: public HbTestEvent
+{
+public:
+ inline HbTestKeyClicksEvent(const QString &keys, Qt::KeyboardModifiers modifiers, int delay)
+ : _keys(keys), _modifiers(modifiers), _delay(delay) {}
+ inline HbTestEvent *clone() const { return new HbTestKeyClicksEvent(*this); }
+
+ inline void simulate(QWidget *w)
+ {
+ HbAutoTest::keyClicks(w, _keys, _modifiers, _delay);
+ }
+
+private:
+ QString _keys;
+ Qt::KeyboardModifiers _modifiers;
+ int _delay;
+};
+
+class HbTestDelayEvent: public HbTestEvent
+{
+public:
+ inline HbTestDelayEvent(int msecs): _delay(msecs) {}
+ inline HbTestEvent *clone() const { return new HbTestDelayEvent(*this); }
+
+ inline void simulate(QWidget * /*w*/) { QTest::qWait(_delay); }
+
+private:
+ int _delay;
+};
+
+class HbTestEventList: public QList<HbTestEvent *>
+{
+public:
+ inline HbTestEventList() {}
+ inline HbTestEventList(const HbTestEventList &other): QList<HbTestEvent *>()
+ { for (int i = 0; i < other.count(); ++i) append(other.at(i)->clone()); }
+ inline ~HbTestEventList()
+ { clear(); }
+ inline void clear()
+ { qDeleteAll(*this); QList<HbTestEvent *>::clear(); }
+
+ inline void addKeyClick(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { addKeyEvent(QTest::Click, qtKey, modifiers, msecs); }
+ inline void addKeyPress(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { addKeyEvent(QTest::Press, qtKey, modifiers, msecs); }
+ inline void addKeyRelease(Qt::Key qtKey, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { addKeyEvent(QTest::Release, qtKey, modifiers, msecs); }
+ inline void addKeyEvent(QTest::KeyAction action, Qt::Key qtKey,
+ Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { append(new HbTestKeyEvent(action, qtKey, modifiers, msecs)); }
+
+ inline void addKeyClick(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { addKeyEvent(QTest::Click, ascii, modifiers, msecs); }
+ inline void addKeyPress(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { addKeyEvent(QTest::Press, ascii, modifiers, msecs); }
+ inline void addKeyRelease(char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { addKeyEvent(QTest::Release, ascii, modifiers, msecs); }
+ inline void addKeyClicks(const QString &keys, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { append(new HbTestKeyClicksEvent(keys, modifiers, msecs)); }
+ inline void addKeyEvent(QTest::KeyAction action, char ascii, Qt::KeyboardModifiers modifiers = Qt::NoModifier, int msecs = -1)
+ { append(new HbTestKeyEvent(action, ascii, modifiers, msecs)); }
+
+ inline void addDelay(int msecs)
+ { append(new HbTestDelayEvent(msecs)); }
+
+ inline void simulate(QWidget *w)
+ {
+ for (int i = 0; i < count(); ++i)
+ at(i)->simulate(w);
+ }
+};
+
+class HbAutoTestMainWindow : public HbMainWindow
+{
+public:
+ HbAutoTestMainWindow() : HbMainWindow() {}
+
+ void mousePressEvent(QMouseEvent *event)
+ {
+ qDebug(
+ "HbAutoTestMainWindow::mousePressEvent: x(%d) y(%d)",
+ event->x(),
+ event->y());
+ if ( dynamic_cast<HbAutoTestMouseEvent *>(event) ) {
+ HbMainWindow::mousePressEvent(event);
+ } else {
+ ;//Do nothing
+ }
+ }
+
+ void mouseMoveEvent(QMouseEvent *event)
+ {
+ if ( dynamic_cast<HbAutoTestMouseEvent *>(event) ) {
+ HbMainWindow::mouseMoveEvent(event);
+ } else {
+ ;//Do nothing
+ }
+ }
+
+ void mouseReleaseEvent(QMouseEvent *event)
+ {
+ if ( dynamic_cast<HbAutoTestMouseEvent *>(event) ) {
+ HbMainWindow::mouseReleaseEvent(event);
+ } else {
+ ;//Do nothing
+ }
+ }
+
+ void keyPressEvent(QKeyEvent *event)
+ {
+ if ( dynamic_cast<HbAutoTestKeyEvent *>(event) ) {
+ HbMainWindow::keyPressEvent(event);
+ } else {
+ ;//Do nothing
+ }
+ }
+ void keyReleaseEvent(QKeyEvent *event)
+ {
+ if ( dynamic_cast<HbAutoTestKeyEvent *>(event) ) {
+ HbMainWindow::keyReleaseEvent(event);
+ } else {
+ ;//Do nothing
+ }
+ }
+
+ void mouseDoubleClickEvent(QMouseEvent *event)
+ {
+ Q_UNUSED(event);
+ //Just ignore, not supported in Orbit
+ }
+};
+
+
+Q_DECLARE_METATYPE(HbTestEventList)
+#endif //HBAUTOTEST_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/main.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+// System includes
+#include <HbApplication>
+#include <QtCore>
+#include <QTest>
+#include <QDebug>
+#include <QList>
+
+// User includes
+#include "testwlanwizard.h"
+#include "testwlanwizardeap.h"
+#include "testwlanwizardconnect.h"
+#include "testwlanwizardmanual.h"
+#include "testwlanwizardwps.h"
+
+// ======== LOCAL FUNCTIONS ========
+int main(int argc, char *argv[])
+{
+ qDebug("TestWlanWizard main start");
+ HbApplication app(argc, argv);
+ int res = 0;
+ char *pass[3];
+ pass[0] = argv[0];
+ pass[1] = "-o";
+
+ // log folder: \epoc32\winscw\c\data
+
+ app.setApplicationName("TestWlanWizardUtilities");
+ pass[2] = "c:\\data\\TestWlanWizardUtilities.txt";
+ TestWlanWizard *tcUtilities = new TestWlanWizard();
+ res |= QTest::qExec(tcUtilities, 3, pass);
+ delete tcUtilities;
+ tcUtilities = NULL;
+
+ app.setApplicationName("TestWlanWizardConnect");
+ pass[2] = "c:\\data\\TestWlanWizardConnect.txt";
+ TestWlanWizardConnect *tcConnect = new TestWlanWizardConnect();
+ res |= QTest::qExec(tcConnect, 3, pass);
+ delete tcConnect;
+ tcConnect = NULL;
+
+ app.setApplicationName("TestWlanWizardManual");
+ pass[2] = "c:\\data\\TestWlanWizardManual.txt";
+ TestWlanWizardManual *tcManual = new TestWlanWizardManual();
+ res |= QTest::qExec(tcManual, 3, pass);
+ delete tcManual;
+ tcManual = NULL;
+
+ app.setApplicationName("TestWlanWizardEap");
+ pass[2] = "c:\\data\\TestWlanWizardEap.txt";
+ TestWlanWizardEap *tcEap = new TestWlanWizardEap();
+ res |= QTest::qExec(tcEap, 3, pass);
+ delete tcEap;
+ tcEap = NULL;
+
+ app.setApplicationName("TestWlanWizardWps");
+ pass[2] = "c:\\data\\TestWlanWizardWps.txt";
+ TestWlanWizardWps *tcWps = new TestWlanWizardWps();
+ res |= QTest::qExec(tcWps, 3, pass);
+ delete tcWps;
+ tcWps = NULL;
+
+ qDebug("TestWlanWizard main exit");
+ return res;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizard.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,347 @@
+/*
+ * Copyright (c) 2009 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:
+ * This is the source file for testing Wlan Wizard library.
+ */
+
+// System includes
+#include <QtCore>
+#include <QTest>
+
+// User includes
+#include "testwlanwizard.h"
+#include "wlanwizardutils.h"
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+// ---------------------------------------------------------
+// FRAMEWORK FUNCTIONS
+// ---------------------------------------------------------
+
+/**
+ * This function will be called before the first test function is executed.
+ */
+void TestWlanWizard::initTestCase()
+{
+
+}
+
+/**
+ * This function will be called after the last test function was executed.
+ */
+void TestWlanWizard::cleanupTestCase()
+{
+}
+
+/**
+ * This function will be called before each test function is executed.
+ */
+void TestWlanWizard::init()
+{
+
+}
+
+/**
+ * This function will be called after each test function is executed.
+ */
+void TestWlanWizard::cleanup()
+{
+
+}
+
+// ---------------------------------------------------------
+// TEST CASES
+// ---------------------------------------------------------
+
+
+void TestWlanWizard::testWepHex64Valid()
+{
+ QString key("a0cd9fACDF");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testWepHex128Valid()
+{
+ QString key("ABCDEFabcdef0123456789AAAA");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testWepHexInvalidCharacters()
+{
+ QString key("wlanwizard");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testWepAscii64Valid()
+{
+ QString key("testi");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testWepAscii128Valid()
+{
+ QString key("wlanwizardjee");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testWepAsciiInvalidCharacters()
+{
+ QString key("wlanwizardje");
+ key.append(QChar(31));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testWepLength9Invalid()
+{
+ QString key("123456789");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+void TestWlanWizard::testWepLength11Invalid()
+{
+ QString key("12345678901");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+void TestWlanWizard::testWepLength25Invalid()
+{
+ QString key("1234567890123456789012345");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+void TestWlanWizard::testWepLength27Invalid()
+{
+ QString key("123456789012345678901234567");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+void TestWlanWizard::testWepLength4Invalid()
+{
+ QString key("1234");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+void TestWlanWizard::testWepLength6Invalid()
+{
+ QString key("123456");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+void TestWlanWizard::testWepLength12Invalid()
+{
+ QString key("123456789012");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+void TestWlanWizard::testWepLength14Invalid()
+{
+ QString key("12345678901234");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWepKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWepInvalidLength);
+}
+
+// ----------------------------------------------------------------------------
+// WPA test cases
+// ----------------------------------------------------------------------------
+void TestWlanWizard::testWpaHexValid()
+{
+ QString key("1234567890123456789012345678abcdefabcdefabcdefABCDEFABCDEFABCDEF");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testWpaHexInvalidCharacters()
+{
+ QString key("abcdefabcdefabcdefABCDEFABCDEFABCDEF123456789012345678901234567G");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+void TestWlanWizard::testWpaAsciiLength8Valid()
+{
+ QString key("ictsucks");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testWpaAsciiLength63Valid()
+{
+ QString key("zxcvbnm,.-asdfghjkl'qwertyuiop1234567890qwertyuiopzxcvbnm,.-123");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testWpaAsciiLength64Invalid()
+{
+ QString key("zxcvbnm,.-asdfghjkl'qwertyuiop1234567890qwertyuiopzxcvbnm,.-1234");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testWpaAsciiInvalidCharacters()
+{
+ QString key("wizardrules");
+ key.append(QChar(127));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testWpaLength7Invalid()
+{
+ QString key("wizards");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWpaTooShort);
+}
+
+void TestWlanWizard::testWpaLength65Invalid()
+{
+ QString key("zxcvbnm,.-asdfghjkl'qwertyuiop1234567890qwertyuiopzxcvbnm,.-12345");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::validateWpaKey(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusWpaTooLong);
+}
+
+
+// ----------------------------------------------------------------------------
+// ASCII test cases
+// ----------------------------------------------------------------------------
+void TestWlanWizard::testAsciiValidCharacters()
+{
+ QString key;
+ for (int i = 32 ; i <= 126 ; i++){
+ key.append(QChar(i));
+ }
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isAscii(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testAsciiInvalidCharactersLower()
+{
+ QString key("wizardrules");
+ key.append(QChar(31));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isAscii(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testAsciiInvalidCharactersUpper()
+{
+ QString key("wizardrules");
+ key.append(QChar(127));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isAscii(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+
+// ----------------------------------------------------------------------------
+// HEX test cases
+// ----------------------------------------------------------------------------
+void TestWlanWizard::testHexValidCharacters()
+{
+ QString key("abcdefABCDEF1234567890");
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isHex(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusOk);
+}
+
+void TestWlanWizard::testHexInvalidCharactersDigitLower()
+{
+ QString key("afAF09");
+ key.append(QChar(47));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isHex(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testHexInvalidCharactersDigitUpper()
+{
+ QString key("abc");
+ key.append(QChar(58));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isHex(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testHexInvalidCharacters_a_Lower()
+{
+ QString key("abc");
+ key.append(QChar(96));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isHex(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testHexInvalidCharacters_f_Upper()
+{
+ QString key("abc");
+ key.append(QChar(103));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isHex(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testHexInvalidCharacters_A_Lower()
+{
+ QString key("abc");
+ key.append(QChar(64));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isHex(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testHexInvalidCharacters_F_Upper()
+{
+ QString key("abc");
+ key.append(QChar(71));
+ WlanWizardUtils::KeyStatus status = WlanWizardUtils::isHex(key);
+ QCOMPARE(status, WlanWizardUtils::KeyStatusIllegalCharacters);
+}
+
+void TestWlanWizard::testSsidValidCharacters()
+{
+ QString key("12345678901234567890123456789012");
+ WlanWizardUtils::SsidStatus status = WlanWizardUtils::validateSsid(key);
+ QCOMPARE(status, WlanWizardUtils::SsidStatusOk);
+}
+
+void TestWlanWizard::testSsidValidCharacters2()
+{
+ QString key("1");
+ WlanWizardUtils::SsidStatus status = WlanWizardUtils::validateSsid(key);
+ QCOMPARE(status, WlanWizardUtils::SsidStatusOk);
+}
+
+void TestWlanWizard::testSsidInvalidTooShort()
+{
+ QString key("");
+ WlanWizardUtils::SsidStatus status = WlanWizardUtils::validateSsid(key);
+ QCOMPARE(status, WlanWizardUtils::SsidStatusInvalidLength);
+}
+
+void TestWlanWizard::testSsidInvalidTooLong()
+{
+ QString key("123456789012345678901234567890123");
+ WlanWizardUtils::SsidStatus status = WlanWizardUtils::validateSsid(key);
+ QCOMPARE(status, WlanWizardUtils::SsidStatusInvalidLength);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizard.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,98 @@
+/*
+* Copyright (c) 2009 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:
+* This is the header file for testing Wlan Qt Utilities library.
+*/
+
+#ifndef TESTWLANWIZARD_H_
+#define TESTWLANWIZARD_H_
+
+// System includes
+#include <QObject>
+
+// User includes
+
+// Forward declarations
+class QSignalSpy;
+class WlanQtUtils;
+
+// External data types
+
+// Constants
+
+class TestWlanWizard: public QObject
+{
+ Q_OBJECT
+
+private slots:
+
+ // Functions from QTest framework.
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+ // WEP test cases
+ void testWepHex64Valid();
+ void testWepHex128Valid();
+ void testWepHexInvalidCharacters();
+
+ void testWepAscii64Valid();
+ void testWepAscii128Valid();
+ void testWepAsciiInvalidCharacters();
+ void testWepLength9Invalid();
+ void testWepLength11Invalid();
+ void testWepLength25Invalid();
+ void testWepLength27Invalid();
+ void testWepLength4Invalid();
+ void testWepLength6Invalid();
+ void testWepLength12Invalid();
+ void testWepLength14Invalid();
+
+ // WPA test cases
+ void testWpaHexValid();
+ void testWpaHexInvalidCharacters();
+ void testWpaAsciiLength8Valid();
+ void testWpaAsciiLength63Valid();
+ void testWpaAsciiLength64Invalid();
+ void testWpaAsciiInvalidCharacters();
+ void testWpaLength7Invalid();
+ void testWpaLength65Invalid();
+
+ // ASCII test cases
+ void testAsciiValidCharacters();
+ void testAsciiInvalidCharactersLower();
+ void testAsciiInvalidCharactersUpper();
+
+ // HEX test cases
+ void testHexValidCharacters();
+ void testHexInvalidCharactersDigitLower();
+ void testHexInvalidCharactersDigitUpper();
+ void testHexInvalidCharacters_a_Lower();
+ void testHexInvalidCharacters_f_Upper();
+ void testHexInvalidCharacters_A_Lower();
+ void testHexInvalidCharacters_F_Upper();
+
+ // SSID test cases
+ void testSsidValidCharacters();
+ void testSsidValidCharacters2();
+ void testSsidInvalidTooShort();
+ void testSsidInvalidTooLong();
+
+private:
+
+};
+
+#endif /* TESTWLANWIZARD_H_ */
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardconnect.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,615 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard UT.
+*/
+
+// System includes
+#include <HbApplication>
+#include <HbDocumentLoader>
+#include <HbStackedWidget>
+#include <HbRadioButtonList>
+#include <HbAction>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <QGraphicsWidget>
+#include <QObjectList>
+#include <QtCore>
+#include <QTest>
+#include <QDebug>
+#include <QList>
+#include <cmmanagerdefines_shim.h>
+#include <wlanerrorcodes.h>
+
+// User includes
+#include "testwlanwizardconnect.h"
+#include "testwlanwizardconnect_conf.h"
+#include "hbautotest.h"
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardpagessid.h"
+#include "wlanqtutils_context.h"
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+// ---------------------------------------------------------
+// TEST CASES
+// ---------------------------------------------------------
+
+/*!
+ * Connect to open:
+ * - verifies IAP settings
+ * - ICT success
+ * - Finish button pressed
+ */
+void TestWlanWizardConnect::tc_connect_to_open_success()
+{
+#ifdef tc_connect_to_open_success_enabled
+ tc_connect_success("tc_connect_to_open_success", CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeOpen, false, "");
+#endif
+}
+
+/*!
+ * Connect to open
+ */
+void TestWlanWizardConnect::tc_connect_to_open_success_adhoc()
+{
+#ifdef tc_connect_to_open_success_adhoc_enabled
+ tc_connect_success("tc_connect_to_open_success_adhoc", CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen, false, "");
+#endif
+}
+
+/*!
+ * Connect to open
+ */
+void TestWlanWizardConnect::tc_connect_to_wep_success()
+{
+#ifdef tc_connect_to_wep_success_enabled
+ tc_connect_success("tc_connect_to_wep_success", CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeWep, false, "abcde");
+#endif
+}
+
+/*!
+ * Connect to open
+ */
+void TestWlanWizardConnect::tc_connect_to_wpa_psk_success()
+{
+#ifdef tc_connect_to_wpa_psk_success_enabled
+ tc_connect_success("tc_connect_to_wpa_psk_success", CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa, false, "password");
+#endif
+}
+/*!
+ * Connect to open
+ */
+void TestWlanWizardConnect::tc_connect_to_wpa2_psk_success()
+{
+#ifdef tc_connect_to_wpa2_psk_success_enabled
+ tc_connect_success("tc_connect_to_wpa2_psk_success", CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeWpa2, false, "password");
+#endif
+}
+
+/*!
+ * Connect to open:
+ * - Opens
+ * - ICT success
+ * - Cancel pressed in summary page
+ */
+void TestWlanWizardConnect::tc_connect_to_open_success_cancel()
+{
+#ifdef tc_connect_to_open_success_cancel_enabled
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mView->mWizard->setParameters(
+ "tc_connect_to_open_success_cancel",
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ false);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "tc_connect_to_open_success_cancel"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QTest::qWait(WaitTimeForUi);
+
+ // Ignore previous calls
+ mWlanQtUtilsContext->calledMethods();
+
+ QCOMPARE( mouseClickCancel(), true );
+
+ QStringList calledMethods;
+ calledMethods << "disconnectIap" << "deleteIap";
+
+ QCOMPARE(mWlanQtUtilsContext->calledMethods(), calledMethods);
+ QCOMPARE(verifyStatus(WizardStatusSignalCancelled), true);
+#endif
+}
+
+void TestWlanWizardConnect::tc_network_failure_OpenAuthFailed()
+{
+#ifdef tc_network_failure_OpenAuthFailed_enabled
+ tc_network_error_codes(
+ "tc_network_failure_OpenAuthFailed",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlanOpenAuthFailed );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_SharedKeyAuthRequired()
+{
+#ifdef tc_network_failure_SharedKeyAuthRequired_enabled
+ tc_network_error_codes(
+ "tc_network_failure_SharedKeyAuthRequired",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlanSharedKeyAuthRequired );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_WpaAuthRequired()
+{
+#ifdef tc_network_failure_WpaAuthRequired_enabled
+ tc_network_error_codes(
+ "tc_network_failure_WpaAuthRequired",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlanWpaAuthRequired );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_WpaAuthFailed()
+{
+#ifdef tc_network_failure_WpaAuthFailed_enabled
+ tc_network_error_codes(
+ "tc_network_failure_WpaAuthFailed",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ "password",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlanWpaAuthFailed );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_802dot1xAuthFailed()
+{
+#ifdef tc_network_failure_802dot1xAuthFailed_enabled
+ tc_network_error_codes(
+ "tc_network_failure_802dot1xAuthFailed",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlan802dot1xAuthFailed );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_IllegalEncryptionKeys()
+{
+#ifdef tc_network_failure_IllegalEncryptionKeys_enabled
+ tc_network_error_codes(
+ "tc_network_failure_IllegalEncryptionKeys",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlanIllegalEncryptionKeys );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_PskModeRequired()
+{
+#ifdef tc_network_failure_PskModeRequired_enabled
+ tc_network_error_codes(
+ "tc_network_failure_PskModeRequired",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlanPskModeRequired );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_EapModeRequired()
+{
+#ifdef tc_network_failure_EapModeRequired_enabled
+ tc_network_error_codes(
+ "tc_network_failure_EapModeRequired",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_authentication_unsuccessful"),
+ KErrWlanEapModeRequired );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_IllefalWpaPskKey()
+{
+#ifdef tc_network_failure_IllefalWpaPskKey_enabled
+ tc_network_error_codes(
+ "tc_network_failure_IllefalWpaPskKey",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_incorrect_wpa_preshared_key_pleas"),
+ KErrWlanIllegalWpaPskKey );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_SharedKeyAuthFailed()
+{
+#ifdef tc_network_failure_SharedKeyAuthFailed_enabled
+ tc_network_error_codes(
+ "tc_network_failure_SharedKeyAuthFailed",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_incorrect_wep_key_please_check_the"),
+ KErrWlanSharedKeyAuthFailed );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_ErrNone()
+{
+#ifdef tc_network_failure_ErrNone_enabled
+ tc_network_error_codes(
+ "tc_network_failure_ErrNone",
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ "",
+ hbTrId("txt_occ_dialog_incorrect_wep_key_please_check_the"),
+ KErrWlanSharedKeyAuthFailed );
+#endif
+}
+void TestWlanWizardConnect::tc_network_failure_30180()
+{
+#ifdef tc_network_failure_30180_enabled
+ const QString ssid("tc_network_failure_30180");
+ tc_network_error_codes(
+ ssid,
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeWep,
+ false,
+ "abcde",
+ hbTrId("txt_occ_dialog_connection_failed"),
+ 30180 );
+
+ QCOMPARE( mouseClickPrevious(), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, hbTrId("txt_occ_dialog_connection_failed")), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QStringList calledMethods;
+ calledMethods
+ << "updateIap"
+ << "activeIap"
+ << "disconnectIap"
+ << "connectIap";
+
+ QCOMPARE(mWlanQtUtilsContext->calledMethods(), calledMethods);
+
+#endif
+}
+
+void TestWlanWizardConnect::tc_iap_creation_fails()
+{
+#ifdef tc_iap_creation_fails_enabled
+
+ const QString ssid("tc_iap_creation_fails");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(-1);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ false);
+
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyCurrentPageWithInfo(
+ WlanWizardPageInternal::PageGenericError,
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret") ), true );
+
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QStringList calledMethods;
+ calledMethods << "WlanQtUtils" << "createIap";
+ QCOMPARE(mWlanQtUtilsContext->calledMethods(), calledMethods);
+
+ QCOMPARE( mouseClickCancel(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyStatus(WizardStatusSignalCancelled, 2), true);
+ QTest::qWait(WaitTimeForUi);
+#endif
+}
+
+void TestWlanWizardConnect::tc_cancel_key_query()
+{
+#ifdef tc_cancel_key_query_enabled
+
+ const QString ssid("tc_cancel_key_query");
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeWep,
+ true,
+ false);
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickCancel(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyStatus(WizardStatusSignalCancelled), true);
+
+ mWlanQtUtilsContext->emitWlanNetworkClosed(-1, KErrCancel);
+ callWlanWizard_startPageOperation();
+
+ QStringList calledMethods;
+ calledMethods << "WlanQtUtils";
+ QCOMPARE(mWlanQtUtilsContext->calledMethods(), calledMethods);
+#endif
+}
+
+/*!
+ * Helpper test case for testing success case with compinations of provided
+ * parameters.
+ */
+void TestWlanWizardConnect::tc_connect_success(const QString &ssid, int networkMode,
+ int securityMode, bool hidden, QString key)
+{
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(2);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(2);
+ mWlanQtUtilsContext->setSignalIctResult(2, WlanQtUtils::IctPassed);
+
+ mView->mWizard->setParameters(
+ ssid,
+ networkMode,
+ securityMode,
+ true,
+ false);
+
+ WlanQtUtilsAp ap;
+ ap.setValue(WlanQtUtilsAp::ConfIdConnectionMode, networkMode);
+ ap.setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
+ ap.setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
+ ap.setValue(WlanQtUtilsAp::ConfIdHidden, false);
+ ap.setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, hidden);
+
+ // Default values
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1 );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
+
+ QStringList calledMethods;
+ calledMethods << "WlanQtUtils";
+ QCOMPARE(mWlanQtUtilsContext->calledMethods(), calledMethods);
+
+ mView->showWizard();
+ if (securityMode == CMManagerShim::WlanSecModeWep || securityMode
+ == CMManagerShim::WlanSecModeWpa || securityMode == CMManagerShim::WlanSecModeWpa2) {
+ // Key query short pwd
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+
+ if (securityMode == CMManagerShim::WlanSecModeWep) {
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey1, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey2, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey3, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey4, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1);
+ QCOMPARE( insertTextToObject("lineEditKey", "abcde"), true );
+ }
+ else {
+ QCOMPARE( insertTextToObject("lineEditKey", "password"), true );
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPsk, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ }
+ QCOMPARE( mouseClickObject("dialog"), true );
+
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+ QTest::qWait(WaitTimeForUi);
+ }
+ else {
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+ QTest::qWait(WaitTimeForUi);
+ }
+
+ QCOMPARE(verifySummaryPage(
+ ssid,
+ networkMode,
+ hidden,
+ securityMode,
+ true,
+ hbTrId("txt_occ_dblist_destination_val_internet")),true);
+
+ calledMethods.clear();
+ calledMethods << "createIap" << "activeIap" << "connectIap";
+ QCOMPARE( mWlanQtUtilsContext->calledMethods(), calledMethods);
+ QCOMPARE( mWlanQtUtilsContext->verifyWlanIapSettings(ap), true);
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickFinish(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyStatus(WizardStatusSignalFinished, 2), true);
+}
+
+/*!
+ * Helpper test case for testing success case with combinations of provided
+ * parameters.
+ */
+void TestWlanWizardConnect::tc_network_error_codes(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool hidden,
+ QString key,
+ const QString &errorString,
+ int errorCode)
+{
+ mWlanQtUtilsContext->setCreateWlanIapResult(2);
+ mWlanQtUtilsContext->setConnectionSuccessed(false);
+ mWlanQtUtilsContext->setSignalWlanNetworkClosed(2, errorCode);
+ mWlanQtUtilsContext->setActiveWlanIapResult(1);
+ mView->mWizard->setParameters(
+ ssid,
+ networkMode,
+ securityMode,
+ true,
+ false);
+
+ WlanQtUtilsAp ap;
+ ap.setValue(WlanQtUtilsAp::ConfIdConnectionMode, networkMode);
+ ap.setValue(WlanQtUtilsAp::ConfIdSecurityMode, securityMode);
+ ap.setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
+ ap.setValue(WlanQtUtilsAp::ConfIdHidden, false);
+ ap.setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, hidden);
+
+ // Default values
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1 );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
+
+ QStringList calledMethods;
+ calledMethods << "WlanQtUtils";
+ QCOMPARE(mWlanQtUtilsContext->calledMethods(), calledMethods);
+
+ mView->showWizard();
+ if (securityMode == CMManagerShim::WlanSecModeWep || securityMode
+ == CMManagerShim::WlanSecModeWpa || securityMode == CMManagerShim::WlanSecModeWpa2) {
+ // Key query short pwd
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+
+ if (securityMode == CMManagerShim::WlanSecModeWep) {
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey1, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey2, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey3, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey4, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1);
+ QCOMPARE( insertTextToObject("lineEditKey", "abcde"), true );
+ }
+ else {
+ QCOMPARE( insertTextToObject("lineEditKey", "password"), true );
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPsk, key);
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true);
+ }
+ QCOMPARE( mouseClickObject("dialog"), true );
+
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, errorString), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+ }
+ else {
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, errorString), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+ }
+
+ calledMethods.clear();
+ calledMethods
+ << "createIap"
+ << "activeIap"
+ << "disconnectIap"
+ << "connectIap";
+ QCOMPARE( mWlanQtUtilsContext->calledMethods(), calledMethods);
+ QCOMPARE( mWlanQtUtilsContext->verifyWlanIapSettings(ap), true);
+ QTest::qWait(WaitTimeForUi);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardconnect.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+#ifndef TESTWLANWIZARDRNDCONNECT_H_
+#define TESTWLANWIZARDRNDCONNECT_H_
+
+#include "testwlanwizardcontext.h"
+
+class TestWlanWizardConnect : public TestWlanWizardContext
+{
+Q_OBJECT
+
+private slots:
+ void tc_connect_to_open_success();
+ void tc_connect_to_open_success_adhoc();
+ void tc_connect_to_wep_success();
+ void tc_connect_to_wpa_psk_success();
+ void tc_connect_to_wpa2_psk_success();
+ void tc_connect_to_open_success_cancel();
+ void tc_network_failure_OpenAuthFailed();
+ void tc_network_failure_SharedKeyAuthRequired();
+ void tc_network_failure_WpaAuthRequired();
+ void tc_network_failure_WpaAuthFailed();
+ void tc_network_failure_802dot1xAuthFailed();
+ void tc_network_failure_IllegalEncryptionKeys();
+ void tc_network_failure_PskModeRequired();
+ void tc_network_failure_EapModeRequired();
+ void tc_network_failure_IllefalWpaPskKey();
+ void tc_network_failure_SharedKeyAuthFailed();
+ void tc_network_failure_ErrNone();
+ void tc_network_failure_30180();
+ void tc_iap_creation_fails();
+ void tc_cancel_key_query();
+
+private:
+ void tc_connect_success(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool hidden,
+ QString key);
+
+ void tc_network_error_codes(
+ const QString &ssid,
+ int networkMode,
+ int securityMode,
+ bool hidden,
+ QString key,
+ const QString &errorString,
+ int errorCode);
+};
+
+#endif /* TESTWLANWIZARDRNDCONNECT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardconnect_conf.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+// System includes
+
+// User includes
+
+// External function prototypes
+
+// Local constants
+
+
+#define tc_connect_to_open_success_enabled
+#define tc_connect_to_open_success_adhoc_enabled;
+#define tc_connect_to_wep_success_enabled;
+#define tc_connect_to_wpa_psk_success_enabled;
+#define tc_connect_to_wpa2_psk_success_enabled;
+#define tc_connect_to_open_success_cancel_enabled
+#define tc_network_failure_OpenAuthFailed_enabled
+#define tc_network_failure_SharedKeyAuthRequired_enabled
+#define tc_network_failure_WpaAuthRequired_enabled
+#define tc_network_failure_WpaAuthFailed_enabled
+#define tc_network_failure_802dot1xAuthFailed_enabled
+#define tc_network_failure_IllegalEncryptionKeys_enabled
+#define tc_network_failure_PskModeRequired_enabled
+#define tc_network_failure_EapModeRequired_enabled
+#define tc_network_failure_IllefalWpaPskKey_enabled
+#define tc_network_failure_SharedKeyAuthFailed_enabled
+#define tc_network_failure_ErrNone_enabled
+#define tc_network_failure_30180_enabled
+#define tc_iap_creation_fails_enabled
+#define tc_cancel_key_query_enabled
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardcontext.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,968 @@
+/*
+ * Copyright (c) 2010 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:
+ */
+
+// System includes
+#include <HbApplication>
+#include <HbDocumentLoader>
+#include <HbStackedWidget>
+#include <HbRadioButtonList>
+#include <HbAction>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <HbCheckBox>
+#include <QGraphicsWidget>
+#include <QObjectList>
+#include <QtCore>
+#include <QTest>
+#include <QDebug>
+#include <QList>
+#include <HbListWidget>
+#include <HbListWidgetItem>
+#include <HbParameterLengthLimiter>
+
+// User includes
+#include "testwlanwizardcontext.h"
+#include "hbautotest.h"
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardpageinternal.h"
+#include "wlanwizardhelper.h"
+#include "wlanqtutils_context.h"
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "eapqtconfiginterface_context.h"
+#include "eapwizard.h"
+#include "eapwizard_p.h"
+#include "eapwizardpage.h"
+#include "wpswizardpage.h"
+#include "wlanmgmtclient_context.h"
+#include "wpswizardstepfour.h"
+#include "wpswizardstepfour_p.h"
+#include "cwpsactiverunner.h"
+
+// External function prototypes
+
+// Local constants
+class TestRadioButtonList: public HbRadioButtonList
+{
+public:
+ void emitActivated(const QModelIndex &modelIndex)
+ { HbRadioButtonList::emitActivated(modelIndex); }
+};
+
+
+// ---------------------------------------------------------
+// FRAMEWORK FUNCTIONS
+// ---------------------------------------------------------
+
+ContextWlanApList::ContextWlanApList()
+{
+
+}
+
+ContextWlanApList::~ContextWlanApList()
+{
+ clear();
+}
+
+void ContextWlanApList::Add(QString name, int netMode, int secMode, bool wpaPskInUse,
+ bool wpsSupported, int signalStrength)
+{
+ QSharedPointer<WlanQtUtilsAp> temp = QSharedPointer<WlanQtUtilsAp>(new WlanQtUtilsAp());
+ temp->setValue(WlanQtUtilsAp::ConfIdSsid, name);
+ temp->setValue(WlanQtUtilsAp::ConfIdConnectionMode, netMode);
+ temp->setValue(WlanQtUtilsAp::ConfIdSecurityMode, secMode);
+ temp->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, wpaPskInUse);
+ temp->setValue(WlanQtUtilsAp::ConfIdWpsSupported, wpsSupported);
+ temp->setValue(WlanQtUtilsAp::ConfIdSignalStrength, signalStrength);
+
+ mList.append(temp);
+}
+
+void ContextWlanApList::clear()
+{
+ mList.clear();
+}
+
+
+TestWlanWizardContext::TestWlanWizardContext() :
+ mView(NULL),
+ mMainWindow(NULL),
+ mWlanQtUtilsContext(NULL),
+ mEapQtUtilsContext(NULL),
+ mWlanMgmtClientContext(NULL),
+ mApList(NULL),
+ mApOpenList(NULL)
+{
+
+}
+TestWlanWizardContext::~TestWlanWizardContext()
+{
+
+}
+
+/**
+ * This function will be called before the first test function is executed.
+ */
+void TestWlanWizardContext::initTestCase()
+{
+ qDebug("TestWlanWizardContext::initTestCase");
+
+ mMainWindow = new HbAutoTestMainWindow;
+
+ mView = new TestView();
+
+ mMainWindow->addView(mView);
+ mMainWindow->setCurrentView(mView);
+ mMainWindow->installEventFilter(this);
+ mMainWindow->show();
+
+ QTest::qWait(1);
+ while (!mEvent) {
+ QTest::qWait(WaitTimeForUi);
+ }
+ mEvent = false;
+ mApList = new ContextWlanApList();
+ mApOpenList = new ContextWlanApList();
+
+}
+
+/**
+ * This function will be called after the last test function was executed.
+ */
+void TestWlanWizardContext::cleanupTestCase()
+{
+ qDebug("TestWlanWizardContext::cleanupTestCase");
+
+ qDebug("delete mApList");
+ delete mApList;
+ mApList = NULL;
+ delete mApOpenList;
+ mApOpenList = NULL;
+
+ qDebug("delete mMainWindow");
+ mMainWindow->setAttribute( Qt::WA_DeleteOnClose, true );
+ mMainWindow->close();
+ mMainWindow = NULL;
+ QTest::qWait(WaitTimeForUi);
+ qDebug("TestWlanWizardContext::cleanupTestCase exit");
+}
+
+/**
+ * This function will be called before each test function is executed.
+ */
+void TestWlanWizardContext::init()
+{
+ qDebug("TestWlanWizardContext::init()");
+
+ mView->createWizard();
+ mWlanQtUtilsContext = new WlanQtUtilsContext(mView->mWizard->d_ptr->mWlanQtUtils.data());
+
+ mEapQtUtilsContext = new EapQtConfigInterfaceContext();
+ mEapQtUtilsContext->setObject(getEapQtConfig());
+
+ mWlanMgmtClientContext = new WlanMgmtClientContext();
+ //mWlanMgmtClientContext->setObject(mWlanMgmtClient);
+
+ WpsPageStepFour* wps = (WpsPageStepFour*)(mView->mWizard->d_ptr->mPages[WpsWizardPage::PageWpsWizardStep4]);
+ Q_ASSERT(wps);
+ mWlanMgmtClientContext->setObject(wps->d_ptr->mWpsActiveRunner->iWLANMgmtClient);
+}
+
+/**
+ * This function will be called after each test function is executed.
+ */
+void TestWlanWizardContext::cleanup()
+{
+ qDebug("TestWlanWizardContext::cleanup()");
+
+ delete mWlanQtUtilsContext;
+ delete mEapQtUtilsContext;
+ delete mWlanMgmtClientContext;
+
+ mView->deleteWizard();
+ mApList->clear();
+ mApOpenList->clear();
+ QTest::qWait(1);
+}
+
+
+/*!
+ * Filter to catch focus event to the text editor widget.
+ */
+bool TestWlanWizardContext::eventFilter(QObject *obj, QEvent *event)
+{
+ if (obj == mMainWindow && event->type() == QEvent::Show) {
+ mMainWindow->removeEventFilter(this);
+ mEvent = true;
+ }
+ return false;
+}
+
+QGraphicsWidget* TestWlanWizardContext::findChildItem(const QString &itemName, QGraphicsItem *widget)
+{
+ QList<QGraphicsItem*> list = widget->childItems();
+ for (int i = 0; i < list.size(); i++) {
+ QGraphicsItem* item = list[i];
+
+ QGraphicsWidget* widget = NULL;
+ if (item->isWidget()) {
+ widget = (QGraphicsWidget*)item;
+ }
+ if (widget && widget->objectName() == itemName) {
+ return widget;
+ }
+ else if ((item = findChildItem(itemName, item))) {
+ return (QGraphicsWidget*)item;
+ }
+ }
+ return 0;
+}
+
+bool TestWlanWizardContext::verifyStatus(WizardStatusSignal status, int iapId)
+{
+ return mView->verifyStatus(status, iapId);
+}
+
+bool TestWlanWizardContext::verifyCurrentPage(int pageId, int retries, int wait_ms)
+{
+ bool ret = true;
+ for (int i = 0; i < retries; i++) {
+ QTest::qWait(wait_ms);
+ WlanWizardPrivate *pPrivate = mView->mWizard->d_ptr;
+ HbWidget* current = qobject_cast<HbWidget*> (pPrivate->mStackedWidget->currentWidget());
+ WlanWizardPage *page = pPrivate->mPageMapper[current];
+
+ // TODO: verify title in this method
+
+ if (page == pPrivate->mPages[pageId]) {
+ switch(pageId) {
+ case WlanWizardPageInternal::PageNetworkMode:
+ return verifyDialogText("dialog_6", hbTrId("txt_occ_dialog_select_network_mode_and_status"));
+
+ case WlanWizardPageInternal::PageNetworkSecurity:
+ return verifyDialogText("dialog_6", hbTrId("txt_occ_dialog_select_network_security_mode"));
+
+ case WlanWizardPageInternal::PageSsid:
+ return verifyDialogText("dialog", hbTrId("txt_occ_dialog_insert_the_name_of_the_new_wlan_net"));
+
+ case WlanWizardPageInternal::PageSummary:
+ if (pPrivate->mTitle->plainText() != hbTrId("txt_occ_title_wlan_setup_wizard_summary")){
+ qWarning("TestWlanWizardContext::verifyCurrentPage: Invalid title");
+ return false;
+ }
+ return true;
+
+ case EapWizardPage::PageOuterType:
+ return verifyDialogText("title", hbTrId("txt_occ_title_select_eap_type"));
+
+ case EapWizardPage::PageCertificateCa:
+ return verifyDialogText("title", hbTrId("txt_occ_title_select_authority_certificate"));
+
+ case EapWizardPage::PageCertificateUser:
+ return verifyDialogText("title", hbTrId("txt_occ_title_select_user_certificate"));
+
+ case EapWizardPage::PageNewPacStorePassword:
+ ret &= verifyDialogText("setlabel_55", hbTrId("txt_occ_setlabel_new_pac_store_password"));
+ ret &= verifyDialogText("setlabel_56", hbTrId("txt_occ_setlabel_confirm_password"));
+ return ret;
+
+ case EapWizardPage::PagePromptPacStorePassword:
+ return verifyDialogText("setlabel_59", hbTrId("txt_occ_setlabel_eap_pac_store_password"));
+
+ case WpsWizardPage::PageWpsWizardStep2:
+ return verifyDialogText("label", hbTrId("txt_occ_dialog_selected_network_supports_wifi_pro"));
+ break;
+
+ case WpsWizardPage::PageWpsWizardStep3_Button:
+ return verifyDialogText("label_heading", hbTrId("txt_occ_dialog_first_press_button_on_the_wireless"));
+ break;
+
+ case WpsWizardPage::PageWpsWizardStep3_Number:
+ // TODO: something better here??
+ return true;
+
+ case WpsWizardPage::PageWpsWizardStep4:
+ return verifyDialogText("label_heading", hbTrId("txt_occ_dialog_negotiating"));
+
+ case WpsWizardPage::PageWpsWizardStep5:
+ return verifyDialogText("label", hbTrId("txt_occ_dialog_settings_received_for_multiple_wlan"));
+
+ default:
+ return false;
+ }
+ }
+ }
+ qWarning("verifyCurrentPage: expected: %d", pageId);
+ return false;
+}
+
+bool TestWlanWizardContext::verifyCurrentPageWithInfo(
+ int pageId, const QString &info, int retries, int wait_ms)
+{
+ bool ret = true;
+ for (int i = 0; i < retries; i++) {
+ QTest::qWait(wait_ms);
+
+ WlanWizardPrivate *pPrivate = mView->mWizard->d_ptr;
+ HbWidget* current = qobject_cast<HbWidget*> (pPrivate->mStackedWidget->currentWidget());
+ WlanWizardPage *page = pPrivate->mPageMapper[current];
+
+ // TODO: verify title in this method
+
+ if (page == pPrivate->mPages[pageId]) {
+ switch(pageId) {
+ case WlanWizardPageInternal::PageGenericError:
+ return verifyDialogText("dialog", info);
+
+ case WlanWizardPageInternal::PageKeyQuery:
+ return verifyDialogText("dialog", HbParameterLengthLimiter("txt_occ_dialog_enter_key_for_1").arg(info));
+
+ case WlanWizardPageInternal::PageProcessSettings:
+ return verifyDialogText("dialog", HbParameterLengthLimiter("txt_occ_dialog_checking_connection_to_1").arg(info));
+
+ case WlanWizardPageInternal::PageScanning:
+ return verifyDialogText("dialog", HbParameterLengthLimiter("txt_occ_dialog_searching").arg(info));
+
+ case EapWizardPage::PageUsernamePassword:
+ ret &= verifyDialogText(
+ "setlabel_55",
+ HbParameterLengthLimiter("txt_occ_setlabel_user_name_for_1").arg(info));
+ ret &= verifyDialogText("setlabel_56", hbTrId("txt_occ_setlabel_eap_password"));
+ return ret;
+
+ case EapWizardPage::PageIdentity:
+ ret &= verifyDialogText("setlabel_53", HbParameterLengthLimiter("txt_occ_setlabel_user_name_for_1").arg(info));
+ ret &= verifyDialogText("setlabel_53_val", hbTrId("txt_occ_setlabel_user_name_val_generate_automatic"));
+ ret &= verifyDialogText("setlabel_54", hbTrId("txt_occ_setlabel_eap_realm"));
+ ret &= verifyDialogText("setlabel_54_val", hbTrId("txt_occ_setlabel_eap_realm_val_generate_automatically"));
+ return ret;
+
+ case EapWizardPage::PageInnerTypePeap:
+ case EapWizardPage::PageInnerTypeEapTtls:
+ return verifyDialogText("title", HbParameterLengthLimiter("txt_occ_title_select_innear_eap_type_for_1").arg(info));
+
+ default:
+ return verifyCurrentPage(pageId, retries, wait_ms);
+ }
+ }
+ }
+ qWarning("verifyCurrentPage: expected: %d", pageId);
+ return false;
+}
+
+
+bool TestWlanWizardContext::verifyDialogText(const QString objName, const QString text)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+ HbWidget* widget = qobject_cast<HbWidget*> (
+ findChildItem(objName, current));
+
+ if (widget) {
+ HbLabel *label = qobject_cast<HbLabel*>(widget);
+ if (label) {
+ if(label->plainText() == text) {
+ if (!label->isVisible()){
+ qWarning("verifyDialogText: not visible");
+ return false;
+ }
+ return true;
+
+ } else {
+ qWarning("verifyDialogText: not match");
+ qDebug() << "expect: " << text;
+ qDebug() << "actual: " << label->plainText();
+ return false;
+ }
+ }
+ HbCheckBox *checkBox = qobject_cast<HbCheckBox*>(widget);
+
+ if (checkBox) {
+ if(checkBox->text() == text) {
+ if (!checkBox->isVisible()){
+ qWarning("verifyDialogText: not visible");
+ return false;
+ }
+ return true;
+
+ } else {
+ qWarning("verifyDialogText: not match");
+ qDebug() << "expect: " << text;
+ qDebug() << "actual: " << checkBox->text();
+ return false;
+ }
+ }
+ }
+
+ qWarning("verifyDialogText: object not found");
+
+ return false;
+}
+
+bool TestWlanWizardContext::verifyActionButtons(ButtonStatus prevStatus,
+ ButtonStatus cancelStatus,
+ ButtonStatus nextStatus,
+ ButtonStatus finishStatus)
+{
+ WlanWizardPrivate *pPrivate = mView->mWizard->d_ptr;
+ ButtonStatus prevReally = ButtonHidden;
+ ButtonStatus cancelReally = ButtonHidden;
+ ButtonStatus nextReally = ButtonHidden;
+ ButtonStatus finishReally = ButtonHidden;
+
+ if(pPrivate->mActionPrevious->isVisible()) {
+ if(pPrivate->mActionPrevious->isEnabled()) {
+ prevReally = ButtonEnabled;
+ } else {
+ prevReally = ButtonDisabled;
+ }
+ }
+
+ if(pPrivate->mActionCancel->isVisible()) {
+ if(pPrivate->mActionCancel->isEnabled()) {
+ cancelReally = ButtonEnabled;
+ } else {
+ cancelReally = ButtonDisabled;
+ }
+ }
+
+ if(pPrivate->mActionNext->isVisible()) {
+ if(pPrivate->mActionNext->isEnabled()) {
+ nextReally = ButtonEnabled;
+ } else {
+ nextReally = ButtonDisabled;
+ }
+ }
+
+ if(pPrivate->mActionFinish->isVisible()) {
+ if(pPrivate->mActionFinish->isEnabled()) {
+ finishReally = ButtonEnabled;
+ } else {
+ finishReally = ButtonDisabled;
+ }
+ }
+ bool ret = true;
+ if (prevReally != prevStatus){
+ qWarning("Previous Button: really: %d, status: %d", prevReally, prevStatus);
+ ret = false;
+ }
+ if (cancelReally != cancelStatus){
+ qWarning("Cancel Button: really: %d, status: %d", cancelReally, cancelStatus);
+ ret = false;
+ }
+ if (nextReally != nextStatus){
+ qWarning("Next Button: really: %d, status: %d", nextReally, nextStatus);
+ ret = false;
+ }
+ if (finishReally != finishStatus){
+ qWarning("Finish Button: really: %d, status: %d", finishReally, finishStatus);
+ ret = false;
+ }
+
+ return ret;
+}
+
+bool TestWlanWizardContext::verifySummaryPage(
+ const QString &ssid,
+ int netMode,
+ bool hidden,
+ int secMode,
+ bool useWpaPsk,
+ const QString &destination,
+ int outerType,
+ int innerType,
+ bool eapFastProvMode)
+{
+ bool ret = true;
+ int i = 0;
+ HbListWidget* listWidget = qobject_cast<HbListWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+
+ if (!listWidget){
+ qWarning("verifySummaryPage: ListWidget not found");
+ return false;
+ }
+
+ // VERIFY: NETWORK NAME
+ HbListWidgetItem *item = listWidget->item(i++);
+ if (item->text() != hbTrId("txt_occ_dblist_network_name")) {
+ qWarning("verifySummaryPage: no match network name");
+ ret = false;
+ }
+
+ if (item->secondaryText() != ssid){
+ qWarning("verifySummaryPage: no match ssid");
+ ret = false;
+ }
+
+ // VERIFY: NETWORK MODE
+ item = listWidget->item(i++);
+ if (item->text() != hbTrId("txt_occ_dblist_network_mode")) {
+ qWarning("verifySummaryPage: no match network mode");
+ ret = false;
+ }
+ QString netModeString(toNetworkModeString(netMode, hidden));
+ if (item->secondaryText() != netModeString){
+ qWarning("verifySummaryPage: no match network mode value");
+ qDebug() << "Actual: " << item->secondaryText();
+ qDebug() << "Expected: " << netModeString;
+ ret = false;
+ }
+
+ // VERIFY: SECURITY MODE
+ item = listWidget->item(i++);
+ if (item->text() != hbTrId("txt_occ_dblist_security_mode")) {
+ qWarning("verifySummaryPage: no match security mode");
+ ret = false;
+ }
+
+ if (item->secondaryText() != toSecurityModeString(secMode, useWpaPsk)){
+ qWarning("verifySummaryPage: no match security mode value");
+ ret = false;
+ }
+
+ // VERIFY: EAP OUTER TYPE
+ if (outerType != -1) {
+ item = listWidget->item(i++);
+ if (item->text() != hbTrId("txt_occ_dblist_outer_eap")) {
+ qWarning("verifySummaryPage: no match eap outer type");
+ ret = false;
+ }
+ if (item->secondaryText() != eapTypeToString(outerType)){
+ qWarning("verifySummaryPage: no match eap outer type value");
+ ret = false;
+ }
+ }
+
+ // VERIFY: EAP INNER TYPE
+ if (innerType != -1) {
+ item = listWidget->item(i++);
+ if (item->text() != hbTrId("txt_occ_dblist_inner_eap")) {
+ qWarning("verifySummaryPage: no match eap inner type");
+ ret = false;
+ }
+ if (item->secondaryText() != eapTypeToString(innerType)){
+ qWarning("verifySummaryPage: no match eap inner type value");
+ ret = false;
+ }
+ }
+
+ // VERIFY: EAP FAST PROVISIONING MODE
+ if (eapFastProvMode) {
+ item = listWidget->item(i++);
+ if (item->text() != hbTrId("txt_occ_dblist_provisioning_mode_for_eapfast")) {
+ qWarning("verifySummaryPage: no match eap prov mode");
+ ret = false;
+ }
+ if (item->secondaryText() != hbTrId("txt_occ_dblist_provisioning_mode_for_val_unauthent")){
+ qWarning("verifySummaryPage: no match eap prov mode value");
+ ret = false;
+ }
+ }
+
+ // VERIFY: DESTINATION
+ if (destination.length() > 0) {
+ item = listWidget->item(i++);
+ if (item->text() != hbTrId("txt_occ_dblist_destination")) {
+ qWarning("verifySummaryPage: no match destination");
+ ret = false;
+ }
+ if (item->secondaryText() != destination){
+ qWarning("verifySummaryPage: no match destination value");
+ ret = false;
+ }
+ }
+
+
+ return ret;
+}
+
+bool TestWlanWizardContext::mouseClickObject(const QString objName)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+ HbWidget* widget = (HbWidget*) findChildItem(objName, current);
+
+ if (widget) {
+ HbAutoTest::mouseClick(mMainWindow, widget);
+ widget->clearFocus();
+ widget->setFocus();
+ return true;
+ }
+ qWarning("mouseClickObject: object not found");
+
+ return false;
+}
+
+bool TestWlanWizardContext::insertTextToObject(const QString objName, const QString text)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+ HbWidget* widget = (HbWidget*) findChildItem(objName, current);
+
+ if (widget) {
+ for (int i = 0; i < text.size(); i++) {
+ HbAutoTest::keyPress(mMainWindow, text.at(i).toAscii(), 0, 10);
+ QTest::qWait(20);
+ }
+ return true;
+ }
+ qWarning("insertTextToObject: object not found");
+ return false;
+}
+
+bool TestWlanWizardContext::selectRadioButton(const QString objName, int index)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+ TestRadioButtonList* widget = (TestRadioButtonList*) findChildItem(objName, current);
+
+ if (widget) {
+ if (widget->items().length() <= index) {
+ qWarning("selectRadioButton: index out of range");
+ return false;
+ }
+ widget->setSelected(index);
+ widget->emitActivated(widget->currentIndex());
+ return true;
+ }
+ qWarning("selectRadioButton: object not found");
+
+ return false;
+}
+
+bool TestWlanWizardContext::verifyRadioButtonState(
+ const QString objName,
+ int index,
+ const QString &text)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+
+ HbRadioButtonList* widget = qobject_cast<HbRadioButtonList*>(
+ findChildItem(objName, current));
+
+ if (widget) {
+ if (widget->selected() != index) {
+ qWarning("verifyRadioButtonState: invalid index");
+ return false;
+ }
+
+ if (widget->items().at(index) != text) {
+ qWarning("verifyRadioButtonState: text does not match");
+ return false;
+ }
+
+ return true;
+ }
+ qWarning("verifyRadioButtonState: object not found");
+
+ return false;
+}
+
+QStringList TestWlanWizardContext::verifyRadioButtons(const QString objName)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+
+ HbRadioButtonList* widget = qobject_cast<HbRadioButtonList*>(
+ findChildItem(objName, current));
+
+ QStringList ret;
+
+ if (widget) {
+ ret = widget->items();
+ }
+ else {
+ qWarning("verifyRadioButtons: object not found");
+ }
+
+ return ret;
+}
+
+int TestWlanWizardContext::verifySelectedRadioButton(const QString objName)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+
+ HbRadioButtonList* widget = qobject_cast<HbRadioButtonList*>(
+ findChildItem(objName, current));
+
+ int ret = ListNotFound;
+
+ if (widget) {
+ ret = widget->selected();
+ }
+ else {
+ qWarning("verifySelectedRadioButton: object not found");
+ }
+
+ return ret;
+}
+
+bool TestWlanWizardContext::verifyCheckBoxState(const QString &objName, bool checked)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+ HbCheckBox* widget = qobject_cast<HbCheckBox*>(
+ findChildItem(objName, current));
+
+ if (widget) {
+ if (widget->isChecked() != checked) {
+ qWarning("Checkbox in wrong state");
+ return false;
+ }
+ return true;
+ }
+ qWarning("verifyCheckBoxState: object not found");
+ return false;
+}
+
+bool TestWlanWizardContext::selectCheckBoxState(const QString &objName, bool check)
+{
+ HbWidget* current = qobject_cast<HbWidget*> (
+ mView->mWizard->d_ptr->mStackedWidget->currentWidget());
+ HbCheckBox* widget = qobject_cast<HbCheckBox*>(
+ findChildItem(objName, current));
+
+ if (widget) {
+ if (check) {
+ widget->setCheckState(Qt::Checked);
+ } else {
+ widget->setCheckState(Qt::Unchecked);
+ }
+ return true;
+
+ }
+ qWarning("selectCheckBoxState: object not found");
+ return false;
+}
+
+bool TestWlanWizardContext::mouseClickNext()
+{
+ if (mView->mWizard->d_ptr->mActionNext->isEnabled()) {
+ mView->mWizard->d_ptr->mActionNext->activate(QAction::Trigger);
+ return true;
+ }
+ qWarning("Next button not enabled");
+ return false;
+}
+
+bool TestWlanWizardContext::mouseClickPrevious()
+{
+ if (mView->mWizard->d_ptr->mActionPrevious->isEnabled()) {
+ mView->mWizard->d_ptr->mActionPrevious->activate(QAction::Trigger);
+ return true;
+ }
+ qWarning("mouseClickPrevious: Previous button not enabled");
+
+ return false;
+}
+
+bool TestWlanWizardContext::mouseClickCancel()
+{
+ if (mView->mWizard->d_ptr->mActionCancel->isEnabled()) {
+ mView->mWizard->d_ptr->mActionCancel->activate(QAction::Trigger);
+ return true;
+ }
+ qWarning("mouseClickCancel: Cancel button not enabled");
+
+ return false;
+}
+
+bool TestWlanWizardContext::mouseClickFinish()
+{
+ if (mView->mWizard->d_ptr->mActionFinish->isEnabled()) {
+ mView->mWizard->d_ptr->mActionFinish->activate(QAction::Trigger);
+ return true;
+ }
+ qWarning("mouseClickFinish: Finish button not enabled");
+
+ return false;
+}
+
+QString TestWlanWizardContext::toNetworkModeString(int netMode, bool isHidden)
+{
+ QString ret;
+ switch (netMode) {
+ case CMManagerShim::Adhoc:
+ ret = hbTrId("txt_occ_dblist_network_mode_val_adhoc");
+ break;
+
+ default:
+ if (isHidden) {
+ ret = hbTrId("txt_occ_dblist_network_mode_val_infrastructure_hi");
+ } else {
+ ret = hbTrId("txt_occ_dblist_network_mode_val_infrastructure_pu");
+ }
+ break;
+ }
+ return ret;
+}
+
+QString TestWlanWizardContext::toSecurityModeString(int secMode, int useWpaPsk)
+{
+ QString ret;
+ switch (secMode) {
+ case CMManagerShim::WlanSecMode802_1x:
+ ret = hbTrId("txt_occ_dblist_security_mode_val_8021x");
+ break;
+
+ case CMManagerShim::WlanSecModeWep:
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wep");
+ break;
+
+ case CMManagerShim::WlanSecModeWpa:
+ if (useWpaPsk) {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpawpa2psk");
+ } else {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpawpa2_with_eap");
+ }
+ break;
+
+ case CMManagerShim::WlanSecModeWpa2:
+ if (useWpaPsk) {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpa2_with_passwor");
+ } else {
+ ret = hbTrId("txt_occ_dblist_security_mode_val_wpa2_with_eap");
+ }
+ break;
+
+ default:
+ Q_ASSERT(secMode == CMManagerShim::WlanSecModeOpen);
+ ret = hbTrId("txt_occ_dblist_security_mode_val_open");
+ break;
+ }
+ return ret;
+}
+
+
+EapQtConfigInterface *TestWlanWizardContext::getEapQtConfig()
+{
+ return mView->mWizard->d_ptr->mEapWizard->d_ptr->mEapConfIf.data();
+}
+
+QString TestWlanWizardContext::eapTypeToString(int type)
+{
+ QCOMPARE(mView->mWizard->d_ptr->mEapWizard != NULL, true);
+ return mView->mWizard->d_ptr->mEapWizard->d_ptr->eapTypeToString(type);
+}
+
+void TestWlanWizardContext::callWlanWizard_startPageOperation()
+{
+ mView->mWizard->d_ptr->startPageOperation();
+}
+
+
+void TestWlanWizardContext::setWlanMgmtClientObject(CWlanMgmtClient* object)
+{
+ // TODO: mWlanMgmtClient = object;
+}
+
+TestView::TestView() : mWizard(NULL)
+{
+ qDebug("TestView::TestView()");
+}
+
+TestView::~TestView()
+{
+ qDebug("TestView::~TestView()");
+}
+
+void TestView::createWizard()
+{
+ qDebug("TestView::createWizard");
+ Q_ASSERT(mWizard == NULL);
+ mWizard = new WlanWizard(mainWindow());
+ bool ok;
+ ok = connect(
+ mWizard, SIGNAL(finished(int, bool)),
+ this, SLOT(finished(int, bool)),
+ Qt::QueuedConnection);
+ Q_ASSERT(ok);
+
+ ok = connect(
+ mWizard, SIGNAL(cancelled()),
+ this, SLOT(cancelled()),
+ Qt::QueuedConnection);
+ Q_ASSERT(ok);
+
+ mWizardStatus = WizardStatusSignalNone;
+ mConnectedIapId = -100;
+}
+
+void TestView::showWizard()
+{
+ qDebug("TestView::showWizard()");
+ Q_ASSERT(mWizard);
+ mWizard->show();
+}
+
+void TestView::deleteWizard()
+{
+ qDebug("TestView::deleteWizard");
+
+ Q_ASSERT(mWizard != NULL);
+ QMetaObject::invokeMethod(mWizard, "deleteLater", Qt::QueuedConnection);
+ QTest::qWait(100);
+ mWizard = NULL;
+}
+
+void TestView::finished(int iapId, bool connected)
+{
+ qDebug("TestView::complete(), iap id: %d, connected: %d", iapId, connected);
+
+ if (mWizardStatus != WizardStatusSignalNone) {
+ qWarning("TestView::finished: multiple signals received");
+ mWizardStatus = WizardStatusSignalUndefined;
+ } else {
+ mWizardStatus = WizardStatusSignalFinished;
+ mConnectedIapId = iapId;
+ }
+}
+
+void TestView::cancelled()
+{
+ qDebug("TestView::cancelled()");
+ if (mWizardStatus != WizardStatusSignalNone) {
+ qWarning("TestView::cancelled: multiple signals received");
+ mWizardStatus = WizardStatusSignalUndefined;
+ } else {
+ mWizardStatus = WizardStatusSignalCancelled;
+ }
+}
+
+bool TestView::verifyStatus(WizardStatusSignal status, int iapId )
+{
+ // Since connections to cancelled and finished signals are queued
+ // we need to use qWait() here.
+ QTest::qWait(100);
+ bool ret = true;
+ if (status != mWizardStatus){
+ qWarning("TestView::verifyStatus, status: expected: %d, actual: %d", status, mWizardStatus);
+ ret = false;
+ }
+ if (status == WizardStatusSignalFinished) {
+ if (iapId != mConnectedIapId) {
+ qWarning("TestView::verifyStatus, iapid: expected: %d, actual: %d", iapId, mConnectedIapId);
+ ret = false;
+ }
+ }
+ return ret;
+}
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardcontext.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,191 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+#ifndef TESTWLANWIZARDRNDUICONTEXT_H_
+#define TESTWLANWIZARDRNDUICONTEXT_H_
+
+#include <QObject>
+#include <HbView>
+#include <QSharedPointer>
+
+class QGraphicsItem;
+class HbAutoTestMainWindow;
+class WlanWizard;
+class WlanQtUtilsContext;
+class WlanQtUtils;
+class WlanQtUtilsAp;
+class QString;
+class EapWizard;
+class EapQtConfigInterfaceContext;
+class EapQtConfigInterface;
+class WlanMgmtClientContext;
+class CWlanMgmtClient;
+
+//! 1sec
+#define WaitTimeForUi 500
+
+enum WizardStatusSignal{
+ WizardStatusSignalNone,
+ WizardStatusSignalFinished,
+ WizardStatusSignalCancelled,
+ WizardStatusSignalUndefined,
+};
+
+class ContextWlanApList
+{
+public:
+ ContextWlanApList();
+ ~ContextWlanApList();
+
+ void Add(QString name,
+ int netMode,
+ int secMode,
+ bool wpaPskInUse,
+ bool wpsSupported,
+ int signalStrength = 0);
+
+ void clear();
+
+ const QList<QSharedPointer<WlanQtUtilsAp> > &List() { return mList; }
+private:
+ QList<QSharedPointer<WlanQtUtilsAp> > mList;
+};
+
+class TestView: public HbView
+{
+Q_OBJECT
+
+public:
+
+
+public:
+ TestView();
+ virtual ~TestView();
+
+ void createWizard();
+ void showWizard();
+ bool verifyStatus(WizardStatusSignal status, int iapId = -100);
+
+private slots:
+ void finished(int iapId, bool connected);
+ void cancelled();
+
+public:
+ void deleteWizard();
+
+public:
+ WlanWizard *mWizard;
+
+private:
+ WizardStatusSignal mWizardStatus;
+ int mConnectedIapId;
+};
+
+
+class TestWlanWizardContext : public QObject
+{
+Q_OBJECT
+public:
+ TestWlanWizardContext();
+ virtual ~TestWlanWizardContext();
+
+public slots:
+ // Test framework functions
+ void initTestCase();
+ void cleanupTestCase();
+ void init();
+ void cleanup();
+
+protected:
+ static const int ListNotFound = -2;
+ static const int ListNoneSelected = -1;
+
+ enum ButtonStatus {
+ ButtonHidden,
+ ButtonDisabled,
+ ButtonEnabled
+ };
+ /*!
+ * Reimplements QObject function that is invoked on any event. This
+ * function handles only a focus event to mSsid edit field.
+ * @param obj contains the object, where the event originates from.
+ * @param event contains the event id.
+ */
+ bool eventFilter(QObject *obj, QEvent *event);
+
+ QGraphicsWidget* findChildItem(const QString &itemName, QGraphicsItem *widget);
+ bool verifyStatus(WizardStatusSignal status, int iapId = -100);
+ bool verifyCurrentPage(int pageId, int retries = 10, int wait_ms = 200);
+ bool verifyCurrentPageWithInfo(int pageId, const QString &info, int retries = 10, int wait_ms = 200);
+ bool verifyDialogText(const QString objName, const QString text);
+ bool verifyActionButtonVisibility(bool prevVisible, bool cancelVisible,
+ bool nextVisible, bool finishVisible);
+ bool verifyActionButtons(ButtonStatus prevStatus, ButtonStatus cancelStatus,
+ ButtonStatus nextStatus, ButtonStatus finishStatus);
+ bool verifySummaryPage(
+ const QString &ssid,
+ int netMode,
+ bool hidden,
+ int secMode,
+ bool useWpaPsk,
+ const QString &destination = QString(),
+ int outerType = -1,
+ int innerType = -1,
+ bool eapFastProvMode = false);
+
+ bool mouseClickObject(const QString objName);
+ bool insertTextToObject(const QString objName, const QString text);
+ bool selectRadioButton(const QString objName, int index);
+ bool verifyRadioButtonState(const QString objName, int index, const QString &text);
+ bool verifyCheckBoxState(const QString &objName, bool checked);
+ QStringList verifyRadioButtons(const QString objName);
+ int verifySelectedRadioButton(const QString objName);
+ bool selectCheckBoxState(const QString &objName, bool check);
+
+ bool mouseClickNext();
+ bool mouseClickPrevious();
+ bool mouseClickCancel();
+ bool mouseClickFinish();
+
+ QString toNetworkModeString(int netMode, bool isHidden);
+ QString toSecurityModeString(int secMode, int useWpaPsk);
+
+ EapQtConfigInterface *getEapQtConfig();
+ QString eapTypeToString(int type);
+
+ void callWlanWizard_startPageOperation();
+
+public:
+ static void setWlanMgmtClientObject(CWlanMgmtClient* object);
+
+public:
+
+ static CWlanMgmtClient *mWlanMgmtClient;
+
+protected:
+ bool mEvent;
+
+ // Test data
+ TestView *mView;
+ HbAutoTestMainWindow *mMainWindow;
+ WlanQtUtilsContext *mWlanQtUtilsContext;
+ EapQtConfigInterfaceContext *mEapQtUtilsContext;
+ WlanMgmtClientContext *mWlanMgmtClientContext;
+ ContextWlanApList *mApList;
+ ContextWlanApList *mApOpenList;
+};
+
+#endif /* TESTWLANWIZARDRNDUICONTEXT_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardeap.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,1859 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard UT.
+*/
+
+// System includes
+#include <QTest>
+#include <QDebug>
+#include <QList>
+#include <cmmanagerdefines_shim.h>
+#include <wlanerrorcodes.h>
+#include <HbParameterLengthLimiter>
+
+// User includes
+#include "testwlanwizardeap.h"
+#include "testwlanwizardeap_conf.h"
+#include "hbautotest.h"
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+#include "wlanqtutils_context.h"
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "wlanwizardpageinternal.h"
+#include "eapwizardpage.h"
+#include "eapqtvalidator_stub.h"
+
+#include "eapqtconfiginterface_context.h"
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+// ---------------------------------------------------------
+// TEST CASES
+// ---------------------------------------------------------
+void TestWlanWizardEap::tc_eap_outer_page_orientation_change()
+{
+#ifdef tc_eap_outer_page_orientation_change_enabled
+
+ const QString ssid("tc_eap_outer_page_orientation_change");
+
+ mEapQtUtilsContext->createEapAkaSim(EapQtPluginHandle::PluginEapAka);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype(ButtonDisabled);
+
+ mMainWindow->setOrientation(Qt::Horizontal, false);
+ QTest::qWait(WaitTimeForUi);
+
+ verify_outertype(ButtonDisabled);
+
+ mMainWindow->setOrientation(Qt::Vertical, false);
+ QTest::qWait(WaitTimeForUi);
+
+ verify_outertype(ButtonDisabled);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka()
+{
+#ifdef tc_eap_aka_enabled
+ tc_eap_aka_sim(EapQtPluginHandle::PluginEapAka);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_sim()
+{
+#ifdef tc_eap_sim_enabled
+ tc_eap_aka_sim(EapQtPluginHandle::PluginEapSim);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_leap()
+{
+#ifdef tc_eap_leap_enabled
+ const QString username("user");
+ const QString password("passwd");
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createLeap(username,password);
+
+ const QString ssid("tc_eap_leap");
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_username_password_click_next(EapQtPluginHandle::PluginLeap, username, password);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPage::PageProcessSettings,ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifySummaryPage(
+ ssid,
+ CMManagerShim::Infra,
+ false,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ hbTrId("txt_occ_dblist_destination_val_internet"),
+ EapQtPluginHandle::PluginLeap),true);
+
+ QTest::qWait(WaitTimeForUi);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_peap_gtc()
+{
+#ifdef tc_eap_peap_gtc_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginPeap,
+ EapQtPluginHandle::PluginEapGtc);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_peap_mschapv2()
+{
+#ifdef tc_eap_peap_mschapv2_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginPeap,
+ EapQtPluginHandle::PluginEapMschapv2);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_ttls_mschapv2()
+{
+#ifdef tc_eap_ttls_mschapv2_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginPlainMschapv2);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_ttls_pap()
+{
+#ifdef tc_eap_ttls_pap_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginPap);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_ttls_gtc()
+{
+#ifdef tc_eap_ttls_gtc_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginEapGtc);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanUserRejected()
+{
+#ifdef tc_eap_aka_connect_KErrWlanUserRejected_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanUserRejected,
+ HbParameterLengthLimiter("txt_occ_dialog_1_auth_failed_user_cert_rej").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanUserCertificateExpired()
+{
+#ifdef tc_eap_aka_connect_KErrWlanUserCertificateExpired_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanUserCertificateExpired,
+ HbParameterLengthLimiter("txt_occ_dialog_1_auth_failed_user_cert_exp").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanServerCertificateExpired()
+{
+#ifdef tc_eap_aka_connect_KErrWlanServerCertificateExpired_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanServerCertificateExpired,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed_server_ce").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanCerficateVerifyFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanCerficateVerifyFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanCerficateVerifyFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed_could_not").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanNoCipherSuite()
+{
+#ifdef tc_eap_aka_connect_KErrWlanNoCipherSuite_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanNoCipherSuite,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed_cipher_su").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanSimNotInstalled()
+{
+#ifdef tc_eap_aka_connect_KErrWlanSimNotInstalled_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanSimNotInstalled,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed_check_sim").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapFastPacStoreCorrupted()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapFastPacStoreCorrupted_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapFastPacStoreCorrupted,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed_reset_pac").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapFast)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapSimFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapSimFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapSimFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanNotSubscribed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanNotSubscribed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanNotSubscribed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrCancel()
+{
+#ifdef tc_eap_aka_connect_KErrCancel_enabled
+ tc_eap_aka_connect_error(
+ KErrCancel,
+ hbTrId("txt_occ_dialog_connection_failed"));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapTlsFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapTlsFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapTlsFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapPeapFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapPeapFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapPeapFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapAkaFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapAkaFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapAkaFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapTtlsFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapTtlsFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapTtlsFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanLeapFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanLeapFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanLeapFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanNoUserCertificate()
+{
+#ifdef tc_eap_aka_connect_KErrWlanNoUserCertificate_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanNoUserCertificate,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapFastTunnelCompromiseError()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapFastTunnelCompromiseError_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapFastTunnelCompromiseError,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapFastUnexpextedTlvExhanged()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapFastUnexpextedTlvExhanged_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapFastUnexpextedTlvExhanged,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapFastNoPacNorCertsToAuthenticateWithProvDisabled()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapFastNoPacNorCertsToAuthenticateWithProvDisabled_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapFastNoPacNorCertsToAuthenticateWithProvDisabled,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapFastNoMatchingPacForAid()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapFastNoMatchingPacForAid_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapFastNoMatchingPacForAid,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanEapFastAuthFailed()
+{
+#ifdef tc_eap_aka_connect_KErrWlanEapFastAuthFailed_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanEapFastAuthFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanAccessBarred()
+{
+#ifdef tc_eap_aka_connect_KErrWlanAccessBarred_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanAccessBarred,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanPasswordExpired()
+{
+#ifdef tc_eap_aka_connect_KErrWlanPasswordExpired_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanPasswordExpired,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanNoDialinPermissions()
+{
+#ifdef tc_eap_aka_connect_KErrWlanNoDialinPermissions_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanNoDialinPermissions,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanAccountDisabled()
+{
+#ifdef tc_eap_aka_connect_KErrWlanAccountDisabled_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanAccountDisabled,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_KErrWlanRestrictedLogonHours()
+{
+#ifdef tc_eap_aka_connect_KErrWlanRestrictedLogonHours_enabled
+ tc_eap_aka_connect_error(
+ KErrWlanRestrictedLogonHours,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapAka)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_ttls_mschapv2_connect_KErrWlanEapGtcFailed()
+{
+#ifdef tc_eap_ttls_mschapv2_connect_KErrWlanEapGtcFailed_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginPlainMschapv2,
+ KErrWlanEapGtcFailed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginPlainMschapv2)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_ttls_mschapv2_connect_KErrWlanEapMsChapv2()
+{
+#ifdef tc_eap_ttls_mschapv2_connect_KErrWlanEapMsChapv2_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginPlainMschapv2,
+ KErrWlanEapMsChapv2,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginPlainMschapv2)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_ttls_mschapv2_connect_KErrWlanNotSubscribed()
+{
+#ifdef tc_eap_ttls_mschapv2_connect_KErrWlanNotSubscribed_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginPlainMschapv2,
+ KErrWlanNotSubscribed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginPlainMschapv2)));
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_ttls_gtc_back_and_forward()
+{
+#ifdef tc_eap_ttls_gtc_back_and_forward_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginEapGtc,
+ KErrWlanNotSubscribed,
+ HbParameterLengthLimiter("txt_occ_dialog_1_authentication_failed").arg(
+ eapTypeToString(EapQtPluginHandle::PluginEapGtc)));
+
+ // Go back to outertype selection page
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_username_password(EapQtPluginHandle::PluginEapGtc);
+
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_innertype(
+ EapQtPluginHandle::PluginEapTtls,
+ ButtonEnabled);
+
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_identity_page(eapTypeToString(EapQtPluginHandle::PluginEapTtls));
+
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_ca_cert_page();
+
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_outertype(ButtonEnabled);
+
+ // Go forward to username & password page
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_ca_cert_page();
+
+ // Create new validators
+ mEapQtUtilsContext->createEapIdentifyValidators(EapQtPluginHandle::PluginEapTtls);
+ mEapQtUtilsContext->createInnerTypeValidators(EapQtPluginHandle::PluginEapGtc);
+
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_identity_page(eapTypeToString(EapQtPluginHandle::PluginEapTtls));
+
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_innertype(
+ EapQtPluginHandle::PluginEapTtls,
+ ButtonEnabled);
+
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_username_password(EapQtPluginHandle::PluginEapGtc);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_set_outer_type_fails()
+{
+#ifdef tc_eap_aka_set_outer_type_fails_enabled
+ const QString ssid("tc_eap_aka_set_outer_type_fails");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(false);
+ mWlanQtUtilsContext->setSignalWlanNetworkClosed(3, KErrCancel);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createEapAkaSim(EapQtPluginHandle::PluginEapAka);
+ mEapQtUtilsContext->setSelectectedOuterTypesReturn(false);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE(
+ verifyCurrentPageWithInfo(
+ WlanWizardPageInternal::PageGenericError,
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret")), true );
+
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_save_outer_configuration_fails()
+{
+#ifdef tc_eap_aka_save_outer_configuration_fails_enabled
+ const QString ssid("tc_eap_aka_save_outer_configuration_fails");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(false);
+ mWlanQtUtilsContext->setSignalWlanNetworkClosed(3, KErrCancel);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createEapAkaSim(EapQtPluginHandle::PluginEapAka);
+ mEapQtUtilsContext->setOuterConfigReturn(false);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE(
+ verifyCurrentPageWithInfo(
+ WlanWizardPageInternal::PageGenericError,
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret")), true );
+
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_aka_set_configuration_reference_fails()
+{
+#ifdef tc_eap_aka_set_configuration_reference_fails_enabled
+ const QString ssid("tc_eap_aka_set_configuration_reference_fails");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(false);
+ mWlanQtUtilsContext->setSignalWlanNetworkClosed(3, KErrCancel);
+
+ mEapQtUtilsContext->setConfigurationReference(3, false);
+ mEapQtUtilsContext->createEapAkaSim(EapQtPluginHandle::PluginEapAka);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE(
+ verifyCurrentPageWithInfo(
+ WlanWizardPageInternal::PageGenericError,
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret")), true );
+
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_peap_gtc_save_inner_configuration_fails()
+{
+#ifdef tc_eap_peap_gtc_save_inner_configuration_fails_enabled
+ tc_eap_peap_ttls(
+ EapQtPluginHandle::PluginEapTtls,
+ EapQtPluginHandle::PluginEapGtc,
+ KErrGeneral, // Not used directly in sub test case
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret"),
+ false );
+#endif
+}
+
+
+void TestWlanWizardEap::tc_eap_peap_identity_validators()
+{
+#ifdef tc_eap_peap_identity_validators_enabled
+ const QString ssid("tc_eap_peap_identity_validators");
+ const QString username("u");
+ const QString password("p");
+ const QString usernameIdentity("identity");
+ const QString realm("realm.com");
+ EapQtPluginHandle::Plugin outerType(EapQtPluginHandle::PluginPeap);
+ EapQtPluginHandle::Plugin innerType(EapQtPluginHandle::PluginEapGtc);
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createEapTtlsPeap(
+ outerType,
+ true,
+ true,
+ usernameIdentity,
+ true,
+ realm,
+ innerType );
+
+ EapQtValidatorStub* validatorUser = (EapQtValidatorStub*)mEapQtUtilsContext->validator(
+ EapQtExpandedEapType::TypePeap, EapQtConfig::Username);
+ EapQtValidatorStub* validatorRealm = (EapQtValidatorStub*)mEapQtUtilsContext->validator(
+ EapQtExpandedEapType::TypePeap,EapQtConfig::Realm);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_ca_cert_page_select_and_click_next(true);
+
+ QCOMPARE( verifyCurrentPageWithInfo(EapWizardPage::PageIdentity, eapTypeToString(outerType)), true );
+ // Check box checked next enabled
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE(verifyCheckBoxState("setlabel_53_val", true), true);
+ QCOMPARE(verifyCheckBoxState("setlabel_54_val", true), true);
+
+ // 1. Username validator returns false, checkbox not checked
+ validatorUser->setReturnValue(EapQtValidator::StatusInvalid);
+ validatorRealm->setReturnValue(EapQtValidator::StatusOk);
+
+ QCOMPARE(selectCheckBoxState("setlabel_53_val", false), true);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ // 2. Username validator returns true, checkbox not checked
+ validatorUser->setReturnValue(EapQtValidator::StatusOk);
+ validatorRealm->setReturnValue(EapQtValidator::StatusOk);
+ QCOMPARE( mouseClickObject("lineEditUsername"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditUsername", username), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ // 3. back to valid state, checkboc checked
+ QCOMPARE(selectCheckBoxState("setlabel_53_val", true), true);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ // 4. Realm validator returns false, checkbox not checked
+ validatorUser->setReturnValue(EapQtValidator::StatusOk);
+ validatorRealm->setReturnValue(EapQtValidator::StatusInvalid);
+
+ QCOMPARE(selectCheckBoxState("setlabel_54_val", false), true);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ // 5. Realm validator returns true, checkbox not checked
+ validatorUser->setReturnValue(EapQtValidator::StatusOk);
+ validatorRealm->setReturnValue(EapQtValidator::StatusOk);
+ QCOMPARE( mouseClickObject("lineEditRealm"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditRealm", username), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ // 6. back to valid state, checkboc checked
+ QCOMPARE(selectCheckBoxState("setlabel_54_val", true), true);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_leap_user_password_validators()
+{
+#ifdef tc_eap_leap_user_password_validators_enabled
+ const QString ssid("tc_eap_leap_user_password_validators");
+ const QString username("u");
+ const QString password("p");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createLeap(username,password);
+
+ EapQtValidatorStub* validatorUser = (EapQtValidatorStub*)mEapQtUtilsContext->validator(
+ EapQtExpandedEapType::TypeLeap, EapQtConfig::Username);
+ EapQtValidatorStub* validatorPassword = (EapQtValidatorStub*)mEapQtUtilsContext->validator(
+ EapQtExpandedEapType::TypeLeap, EapQtConfig::Password);
+ validatorUser->setReturnValue(EapQtValidator::StatusInvalid);
+ validatorPassword->setReturnValue(EapQtValidator::StatusInvalid);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+
+ // 1. By default both validator return invalid
+ QCOMPARE(
+ verifyCurrentPageWithInfo(
+ EapWizardPage::PageUsernamePassword,
+ eapTypeToString(EapQtPluginHandle::PluginLeap)), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ // 2. User return ok, password invalid
+ validatorUser->setReturnValue(EapQtValidator::StatusOk);
+ QCOMPARE( mouseClickObject("lineEditUsername"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditUsername", username), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ // 3. User return ok, password ok
+ validatorPassword->setReturnValue(EapQtValidator::StatusOk);
+ QCOMPARE( mouseClickObject("lineEditPassword"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditPassword", password), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_tls_no_user_certificate()
+{
+#ifdef tc_eap_tls_no_user_certificate_enabled
+
+ const QString ssid("tc_eap_tls_no_user_certificate");
+
+ QList<EapQtCertificateInfo> caCerts;
+ QList<EapQtCertificateInfo> userCerts;
+
+ EapQtCertificateInfo caCert;
+ caCert.setValue(EapQtCertificateInfo::CertificateLabel, "My Super Cert 1");
+ caCerts.append(caCert);
+
+ mEapQtUtilsContext->createEapTls(
+ caCerts,
+ 0,
+ userCerts,
+ -1);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_ca_cert_page_select_and_click_next(false);
+ verify_user_cert_page_select_and_click_next(ButtonDisabled, -1);
+
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_tls_one_user_certificate_with_ca_selection()
+{
+#ifdef tc_eap_tls_one_user_certificate_with_ca_selection_enabled
+ const QString ssid("tc_eap_tls_one_user_certificate_with_ca_selection");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+
+ QList<EapQtCertificateInfo> caCerts;
+ QList<EapQtCertificateInfo> userCerts;
+
+ EapQtCertificateInfo cert;
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, "My CA Cert");
+ caCerts.append(cert);
+
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, "My User Cert");
+ userCerts.append(cert);
+
+ mEapQtUtilsContext->createEapTls(
+ caCerts,
+ 0,
+ userCerts,
+ 0);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_ca_cert_page_select_and_click_next(false);
+ verify_user_cert_page_select_and_click_next(ButtonEnabled, 0);
+ verify_identity_and_click_next(eapTypeToString(EapQtPluginHandle::PluginEapTls));
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPage::PageProcessSettings,ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+ QCOMPARE( verifySummaryPage(
+ ssid,
+ CMManagerShim::Infra,
+ false,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ hbTrId("txt_occ_dblist_destination_val_internet"),
+ EapQtPluginHandle::PluginEapTls),true);
+
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_tls_two_user_certificates()
+{
+#ifdef tc_eap_tls_two_user_certificates_enabled
+ const QString ssid("tc_eap_tls_two_user_certificates");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+
+ QList<EapQtCertificateInfo> caCerts;
+ QList<EapQtCertificateInfo> userCerts;
+
+ EapQtCertificateInfo cert;
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, "My CA Cert");
+ caCerts.append(cert);
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, "My Super CA Cert");
+ caCerts.append(cert);
+
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, "My User Cert");
+ userCerts.append(cert);
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, "My User Cert Second");
+ userCerts.append(cert);
+
+ mEapQtUtilsContext->createEapTls(
+ caCerts,
+ 0,
+ userCerts,
+ 1);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_ca_cert_page_select_and_click_next(false);
+ verify_user_cert_page_select_and_click_next(ButtonDisabled, 1);
+ verify_identity_and_click_next(eapTypeToString(EapQtPluginHandle::PluginEapTls));
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPage::PageProcessSettings,ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+ QCOMPARE( verifySummaryPage(
+ ssid,
+ CMManagerShim::Infra,
+ false,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ hbTrId("txt_occ_dblist_destination_val_internet"),
+ EapQtPluginHandle::PluginEapTls),true);
+
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_tls_back_and_forward_certs_with_cert_update()
+{
+#ifdef tc_eap_tls_back_and_forward_certs_with_cert_update_enabled
+ const QString ssid("tc_eap_tls_two_user_certificates");
+
+ const QString caCert1("My CA Cert");
+ const QString caCert2("My CA Cert Second");
+
+ const QString userCert1("My User Cert");
+ const QString userCert2("My User Cert Second");
+
+ QList<EapQtCertificateInfo> caCerts;
+ QList<EapQtCertificateInfo> userCerts;
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+
+ EapQtCertificateInfo cert;
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, caCert1);
+ caCerts.append(cert);
+
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, userCert1);
+ userCerts.append(cert);
+
+ mEapQtUtilsContext->createEapTls(
+ caCerts,
+ 0,
+ userCerts,
+ 0);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+ verify_outertype_select_first(ButtonDisabled);
+ verify_ca_cert_page_select_and_click_next(true);
+ verify_user_cert_page_select_and_click_next(ButtonEnabled, 0);
+ verify_identity_page(eapTypeToString(EapQtPluginHandle::PluginEapTls));
+
+ // backwards
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_user_cert_page(ButtonEnabled, userCert1, 0 );
+
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_ca_cert_page();
+
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_outertype(ButtonEnabled);
+
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, caCert2);
+ caCerts.append(cert);
+ mEapQtUtilsContext->setCertsCa(caCerts);
+
+ cert.setValue(EapQtCertificateInfo::CertificateLabel, userCert2);
+ userCerts.append(cert);
+ mEapQtUtilsContext->setCertsUser(userCerts);
+
+ mEapQtUtilsContext->createEapIdentifyValidators(EapQtPluginHandle::PluginEapTls);
+
+ // Forward
+ QCOMPARE(mouseClickNext(), true);
+ verify_ca_cert_page_select_and_click_next(false);
+ verify_user_cert_page(ButtonDisabled);
+
+ // backwards
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_ca_cert_page(caCert1, 1);
+
+ QCOMPARE(mouseClickPrevious(), true);
+ QTest::qWait(WaitTimeForUi);
+ verify_outertype(ButtonEnabled);
+
+ QCOMPARE(mouseClickNext(), true);
+ verify_ca_cert_page(caCert1, 1);
+
+ QCOMPARE(mouseClickNext(), true);
+ verify_user_cert_page_select_and_click_next(ButtonDisabled, 0);
+
+ verify_identity_and_click_next(eapTypeToString(EapQtPluginHandle::PluginEapTls));
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPage::PageProcessSettings,ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+ QCOMPARE( verifySummaryPage(
+ ssid,
+ CMManagerShim::Infra,
+ false,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ hbTrId("txt_occ_dblist_destination_val_internet"),
+ EapQtPluginHandle::PluginEapTls),true);
+
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_sim_finish()
+{
+#ifdef tc_eap_sim_finish_enabled
+ tc_eap_aka_sim(EapQtPluginHandle::PluginEapAka);
+
+ QCOMPARE( mouseClickFinish(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyStatus(WizardStatusSignalFinished, 3), true);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_sim_cancel()
+{
+#ifdef tc_eap_sim_cancel_enabled
+ tc_eap_aka_sim(EapQtPluginHandle::PluginEapAka);
+
+ QCOMPARE( mouseClickCancel(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE(verifyStatus(WizardStatusSignalCancelled), true);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_confirmed()
+{
+#ifdef tc_eap_fast_confirmed_enabled
+ tc_eap_fast(
+ EapQtPacStoreConfig::PacStoreStatePasswordStored,
+ true);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_new_store()
+{
+#ifdef tc_eap_fast_new_store_enabled
+ tc_eap_fast(
+ EapQtPacStoreConfig::PacStoreStateStoreNotExists,
+ true);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_new_store_save_fails()
+{
+#ifdef tc_eap_fast_new_store_save_fails_enabled
+ tc_eap_fast(
+ EapQtPacStoreConfig::PacStoreStateStoreNotExists,
+ false);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_new_store_and_validators()
+{
+#ifdef tc_eap_fast_new_store_and_validators_enabled
+ const QString ssid("tc_eap_fast_new_store_and_validators");
+ const QString username("user");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(4);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(4);
+ mWlanQtUtilsContext->setSignalIctResult(4, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(4, true);
+ mEapQtUtilsContext->createEapFast(EapQtPacStoreConfig::PacStoreStateStoreNotExists);
+ mEapQtUtilsContext->createInner(
+ EapQtPluginHandle::PluginEapFast,
+ EapQtPluginHandle::PluginEapMschapv2,
+ "u",
+ "p");
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+ EapQtValidatorStub *validator = (EapQtValidatorStub*)mEapQtUtilsContext->validatorPacStore(
+ EapQtPacStoreConfig::PacStorePassword);
+ validator->setReturnValue(EapQtValidator::StatusInvalid);
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_new_pac_store_password_page(ButtonDisabled);
+
+ QCOMPARE( mouseClickObject("lineEditUsername"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditUsername", username), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ validator->setReturnValue(EapQtValidator::StatusOk);
+
+ QCOMPARE( mouseClickObject("lineEditPassword"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditPassword", username), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ QCOMPARE( mouseClickNext(), true );
+ verify_username_password(EapQtPluginHandle::PluginEapMschapv2);
+
+#endif
+}
+
+
+void TestWlanWizardEap::tc_eap_fast_new_store_back_and_forwards()
+{
+#ifdef tc_eap_fast_new_store_back_and_forwards_enabled
+ const QString ssid("tc_eap_fast_new_store_back_and_forwards");
+ const QString username("u");
+ const QString password("p");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(4);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(4);
+ mWlanQtUtilsContext->setSignalIctResult(4, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(4, true);
+ mEapQtUtilsContext->createEapFast(EapQtPacStoreConfig::PacStoreStateStoreNotExists);
+ mEapQtUtilsContext->createInner(
+ EapQtPluginHandle::PluginEapFast,
+ EapQtPluginHandle::PluginEapMschapv2,
+ username,
+ password);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_new_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickNext(), true );
+ verify_username_password(EapQtPluginHandle::PluginEapMschapv2);
+
+ // backwards
+ QCOMPARE( mouseClickPrevious(), true );
+ verify_new_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickPrevious(), true );
+
+ mEapQtUtilsContext->createInnerTypeValidators(EapQtPluginHandle::PluginEapMschapv2);
+
+ // forwards
+ verify_outertype_select_first(ButtonEnabled);
+ verify_new_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickNext(), true );
+ verify_username_password(EapQtPluginHandle::PluginEapMschapv2);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_new_store_read_config_fail()
+{
+#ifdef tc_eap_fast_new_store_read_config_fail_enabled
+ tc_eap_fast(
+ EapQtPacStoreConfig::PacStoreStateStoreNotExists,
+ true,
+ false);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_confirm_store()
+{
+#ifdef tc_eap_fast_confirm_store_enabled
+ tc_eap_fast(
+ EapQtPacStoreConfig::PacStoreStatePasswordRequired,
+ true);
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_confirm_store_and_validators()
+{
+#ifdef tc_eap_fast_confirm_store_and_validators_enabled
+ const QString ssid("tc_eap_fast_confirm_store_and_validators");
+ const QString username_invalid("invalid");
+ const QString username_valid("valid");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(4);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(4);
+ mWlanQtUtilsContext->setSignalIctResult(4, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(4, true);
+ mEapQtUtilsContext->createEapFast(EapQtPacStoreConfig::PacStoreStatePasswordRequired);
+ mEapQtUtilsContext->createInner(
+ EapQtPluginHandle::PluginEapFast,
+ EapQtPluginHandle::PluginEapMschapv2,
+ "u",
+ "p");
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+ EapQtValidatorStub *validator = (EapQtValidatorStub*)mEapQtUtilsContext->validatorPacStore(
+ EapQtPacStoreConfig::PacStorePasswordConfirmation);
+ validator->setReturnValue(EapQtValidator::StatusInvalid);
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_confirm_pac_store_password_page(ButtonEnabled);
+
+ QCOMPARE( mouseClickObject("lineEditPasswordConfirm"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditPasswordConfirm", username_invalid), true );
+ QCOMPARE( mouseClickObject("labelError"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ QCOMPARE( mouseClickNext(), true );
+ verify_confirm_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( verifyDialogText("labelError", hbTrId("txt_occ_info_incorrect_password")), true);
+
+
+ validator->setReturnValue(EapQtValidator::StatusOk);
+
+ QCOMPARE( mouseClickObject("lineEditPasswordConfirm"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditPasswordConfirm", username_valid), true );
+ QCOMPARE( mouseClickObject("labelError"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyDialogText("labelError", hbTrId("txt_occ_info_incorrect_password")), false);
+
+ QCOMPARE( mouseClickNext(), true );
+ verify_username_password(EapQtPluginHandle::PluginEapMschapv2);
+
+#endif
+}
+
+void TestWlanWizardEap::tc_eap_fast_confirm_store_back_and_forwards()
+{
+#ifdef tc_eap_fast_confirm_store_back_and_forwards_enabled
+ const QString ssid("tc_eap_fast_confirm_store_back_and_forwards");
+ const QString username("u");
+ const QString password("p");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(4);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(4);
+ mWlanQtUtilsContext->setSignalIctResult(4, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(4, true);
+ mEapQtUtilsContext->createEapFast(EapQtPacStoreConfig::PacStoreStatePasswordRequired);
+ mEapQtUtilsContext->createInner(
+ EapQtPluginHandle::PluginEapFast,
+ EapQtPluginHandle::PluginEapMschapv2,
+ username,
+ password);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_confirm_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickNext(), true );
+ verify_username_password(EapQtPluginHandle::PluginEapMschapv2);
+
+ // backwards
+ QCOMPARE( mouseClickPrevious(), true );
+ verify_confirm_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickPrevious(), true );
+
+ mEapQtUtilsContext->createInnerTypeValidators(EapQtPluginHandle::PluginEapMschapv2);
+
+ // forwards
+ verify_outertype_select_first(ButtonEnabled);
+ verify_confirm_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickNext(), true );
+ verify_username_password(EapQtPluginHandle::PluginEapMschapv2);
+#endif
+}
+
+
+// ---------------------------------------------------------
+// HELPPER VERIFICATORS & NAVIGATORS
+// ---------------------------------------------------------
+
+void TestWlanWizardEap::verify_outertype_select_first(
+ TestWlanWizardContext::ButtonStatus nextButtonStatus)
+{
+ verify_outertype(nextButtonStatus);
+
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE( mouseClickNext(), true );
+}
+
+void TestWlanWizardEap::verify_outertype(
+ TestWlanWizardContext::ButtonStatus nextButtonStatus)
+{
+ QCOMPARE( verifyCurrentPage(EapWizardPage::PageOuterType), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, nextButtonStatus, ButtonHidden), true );
+}
+
+void TestWlanWizardEap::verify_innertype_select_first(
+ int outerType,
+ TestWlanWizardContext::ButtonStatus nextButtonStatus)
+{
+ verify_innertype(outerType, nextButtonStatus);
+
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE( mouseClickNext(), true );
+}
+
+void TestWlanWizardEap::verify_innertype(
+ int outerType,
+ TestWlanWizardContext::ButtonStatus nextButtonStatus)
+{
+ int pageId;
+ if (outerType == EapQtPluginHandle::PluginPeap){
+ pageId = EapWizardPage::PageInnerTypePeap;
+
+ } else {
+ Q_ASSERT(outerType == EapQtPluginHandle::PluginEapTtls);
+ pageId = EapWizardPage::PageInnerTypeEapTtls;
+ }
+ QCOMPARE( verifyCurrentPageWithInfo(pageId, eapTypeToString(outerType)), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, nextButtonStatus, ButtonHidden), true );
+}
+
+void TestWlanWizardEap::verify_username_password_click_next(
+ int type,
+ const QString &username,
+ const QString &password)
+{
+ verify_username_password(type);
+
+ QCOMPARE( mouseClickObject("lineEditUsername"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditUsername", username), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickObject("lineEditPassword"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditPassword", password), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickObject("setlabel_56"), true );
+ QCOMPARE( mouseClickNext(), true );
+}
+
+void TestWlanWizardEap::verify_username_password(int type)
+{
+ QCOMPARE( verifyCurrentPageWithInfo(EapWizardPage::PageUsernamePassword, eapTypeToString(type)), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+}
+
+void TestWlanWizardEap::verify_ca_cert_page_select_and_click_next(bool automatic)
+{
+ verify_ca_cert_page();
+
+ int index = 0;
+ if (automatic == false) {
+ index = 1;
+ }
+ QCOMPARE( selectRadioButton( "list", index ), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE( mouseClickNext(), true );
+}
+
+
+void TestWlanWizardEap::verify_ca_cert_page()
+{
+ QCOMPARE( verifyCurrentPage(EapWizardPage::PageCertificateCa), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ QCOMPARE( verifyRadioButtonState(
+ "list",
+ 0,
+ hbTrId("txt_occ_setlabel_val_select_automatically")), true);
+}
+
+void TestWlanWizardEap::verify_ca_cert_page(const QString &text, int index)
+{
+ QCOMPARE( verifyCurrentPage(EapWizardPage::PageCertificateCa), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ QCOMPARE( verifyRadioButtonState("list", index, text), true);
+}
+
+void TestWlanWizardEap::verify_user_cert_page_select_and_click_next(
+ ButtonStatus nextButtonStatus,
+ int index)
+{
+ verify_user_cert_page(nextButtonStatus);
+
+ if (index != -1){
+ QCOMPARE( selectRadioButton( "list", index ), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE( mouseClickNext(), true );
+ } else {
+ QCOMPARE(
+ verifyDialogText(
+ "errorLabel",
+ hbTrId("txt_occ_dialog_no_certificates_installed_wizard_c")), true);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ }
+}
+
+void TestWlanWizardEap::verify_user_cert_page(ButtonStatus nextButtonStatus)
+{
+ QCOMPARE( verifyCurrentPage(EapWizardPage::PageCertificateUser), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, nextButtonStatus, ButtonHidden), true );
+}
+
+
+void TestWlanWizardEap::verify_user_cert_page(
+ ButtonStatus nextButtonStatus,
+ const QString &text,
+ int index)
+{
+ QCOMPARE( verifyCurrentPage(EapWizardPage::PageCertificateUser), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, nextButtonStatus, ButtonHidden), true );
+
+ QCOMPARE( verifyRadioButtonState("list", index, text), true);
+}
+
+void TestWlanWizardEap::verify_identity_modify_and_click_next(
+ const QString &outerType,
+ bool usernameAutomatic,
+ const QString &username,
+ bool realmAutomatic,
+ const QString &realm)
+{
+ QCOMPARE( verifyCurrentPageWithInfo(EapWizardPage::PageIdentity, outerType), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE(verifyCheckBoxState("setlabel_53_val", true), true);
+ QCOMPARE(verifyCheckBoxState("setlabel_54_val", true), true);
+
+ QCOMPARE(selectCheckBoxState("setlabel_53_val", usernameAutomatic), true);
+ QCOMPARE(selectCheckBoxState("setlabel_54_val", realmAutomatic), true);
+
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE(verifyCheckBoxState("setlabel_53_val", usernameAutomatic), true);
+ QCOMPARE(verifyCheckBoxState("setlabel_54_val", realmAutomatic), true);
+
+ QCOMPARE( mouseClickObject("lineEditUsername"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditUsername", username), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickObject("lineEditRealm"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditRealm", realm), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickObject("setlabel_53"), true );
+ QCOMPARE( mouseClickNext(), true );
+}
+
+void TestWlanWizardEap::verify_identity_and_click_next(const QString &outerType)
+{
+ verify_identity_page(outerType);
+
+ QCOMPARE(verifyCheckBoxState("setlabel_53_val", true), true);
+ QCOMPARE(verifyCheckBoxState("setlabel_54_val", true), true);
+
+ QCOMPARE( mouseClickObject("setlabel_53"), true );
+ QCOMPARE( mouseClickNext(), true );
+}
+
+void TestWlanWizardEap::verify_identity_page(const QString &outerType)
+{
+ QCOMPARE( verifyCurrentPageWithInfo(EapWizardPage::PageIdentity, outerType), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+}
+
+
+void TestWlanWizardEap::verify_new_pac_store_password_page(
+ ButtonStatus nextButtonStatus )
+{
+ QCOMPARE( verifyCurrentPage(EapWizardPage::PageNewPacStorePassword), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, nextButtonStatus, ButtonHidden), true );
+}
+
+
+void TestWlanWizardEap::verify_confirm_pac_store_password_page(
+ ButtonStatus nextButtonStatus)
+{
+ QCOMPARE( verifyCurrentPage(EapWizardPage::PagePromptPacStorePassword), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, nextButtonStatus, ButtonHidden), true );
+}
+
+// ---------------------------------------------------------
+// SUBTEST CASES
+// ---------------------------------------------------------
+
+
+void TestWlanWizardEap::tc_eap_aka_sim(int type)
+{
+ // TODO: verify IAP settings
+ // TODO: verify call stack
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createEapAkaSim(type);
+
+ const QString ssid("tc_eap_aka_sim");
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecMode802_1x,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPage::PageProcessSettings,ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+ QCOMPARE( verifySummaryPage(
+ ssid,
+ CMManagerShim::Infra,
+ false,
+ CMManagerShim::WlanSecMode802_1x,
+ true,
+ hbTrId("txt_occ_dblist_destination_val_internet"),
+ type),true);
+}
+
+void TestWlanWizardEap::tc_eap_peap_ttls(
+ int outerType,
+ int innerType,
+ int errorCode,
+ const QString &errorString,
+ bool saveInnerConfReturn )
+{
+ // TODO: verify IAP settings
+ // TODO: verify call stack
+ const QString ssid("tc_eap_peap_ttls");
+ const QString username("u");
+ const QString password("p");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+
+ if (errorCode == KErrNone) {
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+ } else {
+ mWlanQtUtilsContext->setConnectionSuccessed(false);
+ mWlanQtUtilsContext->setSignalWlanNetworkClosed(3, errorCode);
+ }
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createEapTtlsPeap(
+ (EapQtPluginHandle::Plugin)outerType,
+ true,
+ true,
+ QString(), //usernameIdentity,
+ true,
+ QString(), //realm,
+ (EapQtPluginHandle::Plugin)innerType );
+
+ mEapQtUtilsContext->createInner(
+ (EapQtPluginHandle::Plugin)outerType,
+ (EapQtPluginHandle::Plugin)innerType,
+ username,
+ password);
+
+ mEapQtUtilsContext->setInnerConfigReturn(saveInnerConfReturn);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+ verify_ca_cert_page_select_and_click_next(true);
+ verify_identity_and_click_next(eapTypeToString((EapQtPluginHandle::Plugin)outerType));
+ verify_innertype_select_first(
+ (EapQtPluginHandle::Plugin)outerType,
+ ButtonDisabled);
+
+ verify_username_password_click_next(innerType, username, password);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPage::PageProcessSettings,ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ if (errorCode == KErrNone){
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+ QCOMPARE( verifySummaryPage(
+ ssid,
+ CMManagerShim::Infra,
+ false,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ hbTrId("txt_occ_dblist_destination_val_internet"),
+ (EapQtPluginHandle::Plugin)outerType,
+ (EapQtPluginHandle::Plugin)innerType),true);
+
+ } else {
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, errorString), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ }
+}
+
+void TestWlanWizardEap::tc_eap_aka_connect_error(
+ int errorCode,
+ const QString &errorString)
+{
+ // TODO: verify IAP settings
+ // TODO: verify call stack
+
+ const QString ssid(errorString);
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(false);
+ mWlanQtUtilsContext->setSignalWlanNetworkClosed(3, errorCode);
+
+ mEapQtUtilsContext->setConfigurationReference(3, true);
+ mEapQtUtilsContext->createEapAkaSim(EapQtPluginHandle::PluginEapAka);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa2,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, errorString), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+}
+
+
+void TestWlanWizardEap::tc_eap_fast(
+ int pacStoreState,
+ bool savePacStoreReturn,
+ bool readPacStoreReturn)
+{
+ // TODO: verify IAP settings
+ // TODO: verify call stack
+
+ const QString ssid("tc_eap_fast");
+ const QString username("u");
+ const QString password("p");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(4);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(4);
+ mWlanQtUtilsContext->setSignalIctResult(4, WlanQtUtils::IctPassed);
+
+ mEapQtUtilsContext->setConfigurationReference(4, true);
+ mEapQtUtilsContext->createEapFast(pacStoreState);
+ mEapQtUtilsContext->setPacStoreConfigSaveReturn(savePacStoreReturn);
+ mEapQtUtilsContext->setPacStoreConfigReadReturn(readPacStoreReturn);
+
+ if (!readPacStoreReturn) {
+ EapQtPacStoreConfig pacStoreConfig;
+ pacStoreConfig.setValue(
+ EapQtPacStoreConfig::PacStoreReset,
+ true);
+
+ mEapQtUtilsContext->setPacStoreConfigSave(pacStoreConfig, true);
+ }
+
+ mEapQtUtilsContext->createInner(
+ EapQtPluginHandle::PluginEapFast,
+ EapQtPluginHandle::PluginEapMschapv2,
+ username,
+ password);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ false);
+
+ mView->showWizard();
+
+ verify_outertype_select_first(ButtonDisabled);
+
+ if (!readPacStoreReturn) {
+ EapQtPacStoreConfig pacStoreConfig;
+
+ pacStoreConfig.setValue(
+ EapQtPacStoreConfig::PacStorePassword,
+ "");
+
+ pacStoreConfig.setValue(
+ EapQtPacStoreConfig::PacStoreSavePassword,
+ true);
+
+
+ mEapQtUtilsContext->setPacStoreConfigSave(pacStoreConfig, true);
+ }
+
+ switch (pacStoreState){
+ case EapQtPacStoreConfig::PacStoreStateStoreNotExists:
+ verify_new_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickNext(), true );
+ break;
+
+ case EapQtPacStoreConfig::PacStoreStatePasswordRequired:
+ verify_confirm_pac_store_password_page(ButtonEnabled);
+ QCOMPARE( mouseClickNext(), true );
+ break;
+ }
+
+ verify_username_password_click_next(EapQtPluginHandle::PluginEapMschapv2,username,password);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPage::PageProcessSettings,ssid), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ if (savePacStoreReturn) {
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+ QCOMPARE( verifySummaryPage(
+ ssid,
+ CMManagerShim::Infra,
+ false,
+ CMManagerShim::WlanSecModeWpa,
+ false,
+ hbTrId("txt_occ_dblist_destination_val_internet"),
+ EapQtPluginHandle::PluginEapFast,
+ EapQtPluginHandle::PluginEapMschapv2,
+ true) ,true);
+ } else {
+ QCOMPARE(
+ verifyCurrentPageWithInfo(
+ WlanWizardPageInternal::PageGenericError,
+ hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret")), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardeap.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,157 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+#ifndef TESTWLANWIZARDRNDEAP_H
+#define TESTWLANWIZARDRNDEAP_H
+
+#include "testwlanwizardcontext.h"
+
+class TestWlanWizardEap : public TestWlanWizardContext
+{
+Q_OBJECT
+
+private slots:
+ void tc_eap_outer_page_orientation_change();
+ void tc_eap_aka();
+ void tc_eap_sim();
+ void tc_eap_leap();
+ void tc_eap_peap_gtc();
+ void tc_eap_peap_mschapv2();
+ void tc_eap_ttls_mschapv2();
+ void tc_eap_ttls_pap();
+ void tc_eap_ttls_gtc();
+ void tc_eap_aka_connect_KErrWlanUserRejected();
+ void tc_eap_aka_connect_KErrWlanUserCertificateExpired();
+ void tc_eap_aka_connect_KErrWlanServerCertificateExpired();
+ void tc_eap_aka_connect_KErrWlanCerficateVerifyFailed();
+ void tc_eap_aka_connect_KErrWlanNoCipherSuite();
+ void tc_eap_aka_connect_KErrWlanSimNotInstalled();
+ void tc_eap_aka_connect_KErrWlanEapFastPacStoreCorrupted();
+ void tc_eap_aka_connect_KErrWlanEapSimFailed();
+ void tc_eap_aka_connect_KErrWlanNotSubscribed();
+ void tc_eap_aka_connect_KErrCancel();
+ void tc_eap_aka_connect_KErrWlanEapTlsFailed();
+ void tc_eap_aka_connect_KErrWlanEapPeapFailed();
+ void tc_eap_aka_connect_KErrWlanEapAkaFailed();
+ void tc_eap_aka_connect_KErrWlanEapTtlsFailed();
+ void tc_eap_aka_connect_KErrWlanLeapFailed();
+ void tc_eap_aka_connect_KErrWlanNoUserCertificate();
+ void tc_eap_aka_connect_KErrWlanEapFastTunnelCompromiseError();
+ void tc_eap_aka_connect_KErrWlanEapFastUnexpextedTlvExhanged();
+ void tc_eap_aka_connect_KErrWlanEapFastNoPacNorCertsToAuthenticateWithProvDisabled();
+ void tc_eap_aka_connect_KErrWlanEapFastNoMatchingPacForAid();
+ void tc_eap_aka_connect_KErrWlanEapFastAuthFailed();
+ void tc_eap_aka_connect_KErrWlanAccessBarred();
+ void tc_eap_aka_connect_KErrWlanPasswordExpired();
+ void tc_eap_aka_connect_KErrWlanNoDialinPermissions();
+ void tc_eap_aka_connect_KErrWlanAccountDisabled();
+ void tc_eap_aka_connect_KErrWlanRestrictedLogonHours();
+ void tc_eap_ttls_mschapv2_connect_KErrWlanEapGtcFailed();
+ void tc_eap_ttls_mschapv2_connect_KErrWlanEapMsChapv2();
+ void tc_eap_ttls_mschapv2_connect_KErrWlanNotSubscribed();
+ void tc_eap_ttls_gtc_back_and_forward();
+ void tc_eap_aka_set_outer_type_fails();
+ void tc_eap_aka_save_outer_configuration_fails();
+ void tc_eap_aka_set_configuration_reference_fails();
+ void tc_eap_peap_gtc_save_inner_configuration_fails();
+ void tc_eap_peap_identity_validators();
+ void tc_eap_leap_user_password_validators();
+ void tc_eap_tls_no_user_certificate();
+ void tc_eap_tls_one_user_certificate_with_ca_selection();
+ void tc_eap_tls_two_user_certificates();
+ void tc_eap_tls_back_and_forward_certs_with_cert_update();
+ void tc_eap_sim_finish();
+ void tc_eap_sim_cancel();
+ void tc_eap_fast_confirmed();
+ void tc_eap_fast_new_store();
+ void tc_eap_fast_new_store_save_fails();
+ void tc_eap_fast_new_store_and_validators();
+ void tc_eap_fast_new_store_back_and_forwards();
+ void tc_eap_fast_new_store_read_config_fail();
+ void tc_eap_fast_confirm_store();
+ void tc_eap_fast_confirm_store_and_validators();
+ void tc_eap_fast_confirm_store_back_and_forwards();
+
+private: // Helpper methods
+ void verify_outertype_select_first(
+ TestWlanWizardContext::ButtonStatus nextButtonStatus);
+ void verify_outertype(
+ TestWlanWizardContext::ButtonStatus nextButtonStatus);
+
+ void verify_innertype_select_first(
+ int outerType,
+ TestWlanWizardContext::ButtonStatus nextButtonStatus);
+
+ void verify_innertype(
+ int outerType,
+ TestWlanWizardContext::ButtonStatus nextButtonStatus);
+
+ void verify_username_password_click_next(
+ int type,
+ const QString &username,
+ const QString &password);
+
+ void verify_username_password(int type);
+
+ void verify_ca_cert_page_select_and_click_next(bool automatic);
+ void verify_ca_cert_page();
+ void verify_ca_cert_page( const QString &text, int index);
+
+ void verify_user_cert_page_select_and_click_next(
+ ButtonStatus nextButtonStatus,
+ int index);
+
+ void verify_user_cert_page(ButtonStatus nextButtonStatus);
+ void verify_user_cert_page(
+ ButtonStatus nextButtonStatus,
+ const QString &text,
+ int index);
+
+ void verify_identity_modify_and_click_next(
+ const QString &outerType,
+ bool usernameAutomatic,
+ const QString &username,
+ bool realmAutomatic,
+ const QString &realm);
+ void verify_identity_and_click_next(const QString &outerType);
+ void verify_identity_page(const QString &outerType);
+
+ void verify_new_pac_store_password_page(ButtonStatus nextButtonStatus);
+ void verify_confirm_pac_store_password_page(ButtonStatus nextButtonStatus);
+
+private: // Helpper test cases
+ void tc_eap_aka_sim(int type);
+
+ void tc_eap_peap_ttls(
+ int outerType,
+ int innerType,
+ int errorCode = 0,
+ const QString &errorString = QString(),
+ bool saveInnerConfReturn = true);
+
+ void tc_eap_aka_connect_error(
+ int errorCode,
+ const QString &errorString);
+
+ void tc_eap_fast(
+ int pacStoreState,
+ bool savePacStoreReturn,
+ bool readPacStoreReturn = true);
+
+
+};
+
+#endif /* TESTWLANWIZARDRNDEAP_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardeap_conf.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,85 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+// System includes
+
+// User includes
+
+// External function prototypes
+
+// Local constants
+
+#define tc_eap_outer_page_orientation_change_enabled
+#define tc_eap_aka_enabled
+#define tc_eap_sim_enabled
+#define tc_eap_leap_enabled
+#define tc_eap_peap_gtc_enabled
+#define tc_eap_peap_mschapv2_enabled
+#define tc_eap_ttls_mschapv2_enabled
+#define tc_eap_ttls_pap_enabled
+#define tc_eap_ttls_gtc_enabled
+#define tc_eap_aka_connect_KErrWlanUserRejected_enabled
+#define tc_eap_aka_connect_KErrWlanUserCertificateExpired_enabled
+#define tc_eap_aka_connect_KErrWlanServerCertificateExpired_enabled
+#define tc_eap_aka_connect_KErrWlanCerficateVerifyFailed_enabled
+#define tc_eap_aka_connect_KErrWlanNoCipherSuite_enabled
+#define tc_eap_aka_connect_KErrWlanSimNotInstalled_enabled
+#define tc_eap_aka_connect_KErrWlanEapFastPacStoreCorrupted_enabled
+#define tc_eap_aka_connect_KErrWlanEapSimFailed_enabled
+#define tc_eap_aka_connect_KErrWlanNotSubscribed_enabled
+#define tc_eap_aka_connect_KErrCancel_enabled
+#define tc_eap_aka_connect_KErrWlanEapTlsFailed_enabled
+#define tc_eap_aka_connect_KErrWlanEapPeapFailed_enabled
+#define tc_eap_aka_connect_KErrWlanEapAkaFailed_enabled
+#define tc_eap_aka_connect_KErrWlanEapTtlsFailed_enabled
+#define tc_eap_aka_connect_KErrWlanLeapFailed_enabled
+#define tc_eap_aka_connect_KErrWlanNoUserCertificate_enabled
+#define tc_eap_aka_connect_KErrWlanEapFastTunnelCompromiseError_enabled
+#define tc_eap_aka_connect_KErrWlanEapFastUnexpextedTlvExhanged_enabled
+#define tc_eap_aka_connect_KErrWlanEapFastNoPacNorCertsToAuthenticateWithProvDisabled_enabled
+#define tc_eap_aka_connect_KErrWlanEapFastNoMatchingPacForAid_enabled
+#define tc_eap_aka_connect_KErrWlanEapFastAuthFailed_enabled
+#define tc_eap_aka_connect_KErrWlanAccessBarred_enabled
+#define tc_eap_aka_connect_KErrWlanPasswordExpired_enabled
+#define tc_eap_aka_connect_KErrWlanNoDialinPermissions_enabled
+#define tc_eap_aka_connect_KErrWlanAccountDisabled_enabled
+#define tc_eap_aka_connect_KErrWlanRestrictedLogonHours_enabled
+#define tc_eap_ttls_mschapv2_connect_KErrWlanEapGtcFailed_enabled
+#define tc_eap_ttls_mschapv2_connect_KErrWlanEapMsChapv2_enabled
+#define tc_eap_ttls_mschapv2_connect_KErrWlanNotSubscribed_enabled
+#define tc_eap_ttls_gtc_back_and_forward_enabled
+#define tc_eap_aka_set_outer_type_fails_enabled
+#define tc_eap_aka_save_outer_configuration_fails_enabled
+#define tc_eap_aka_set_configuration_reference_fails_enabled
+#define tc_eap_peap_gtc_save_inner_configuration_fails_enabled
+#define tc_eap_peap_identity_validators_enabled
+#define tc_eap_leap_user_password_validators_enabled
+#define tc_eap_tls_no_user_certificate_enabled
+#define tc_eap_tls_one_user_certificate_with_ca_selection_enabled
+#define tc_eap_tls_two_user_certificates_enabled
+#define tc_eap_tls_back_and_forward_certs_with_cert_update_enabled
+#define tc_eap_sim_finish_enabled
+#define tc_eap_sim_cancel_enabled
+#define tc_eap_fast_confirmed_enabled
+#define tc_eap_fast_new_store_enabled
+#define tc_eap_fast_new_store_save_fails_enabled
+#define tc_eap_fast_new_store_and_validators_enabled
+#define tc_eap_fast_new_store_back_and_forwards_enabled
+#define tc_eap_fast_new_store_read_config_fail_enabled
+#define tc_eap_fast_confirm_store_enabled
+#define tc_eap_fast_confirm_store_and_validators_enabled
+#define tc_eap_fast_confirm_store_back_and_forwards_enabled
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardmanual.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,1260 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+// System includes
+#include <HbApplication>
+#include <HbDocumentLoader>
+#include <HbStackedWidget>
+#include <HbRadioButtonList>
+#include <HbAction>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <QGraphicsWidget>
+#include <QObjectList>
+#include <QtCore>
+#include <QTest>
+#include <QDebug>
+#include <QList>
+#include <cmmanagerdefines_shim.h>
+
+// User includes
+#include "testwlanwizardmanual.h"
+#include "testwlanwizardmanual_conf.h"
+#include "hbautotest.h"
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+#include "wlanwizardpagessid.h"
+#include "wlanqtutils_context.h"
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+// ---------------------------------------------------------
+// TEST CASES
+// ---------------------------------------------------------
+
+
+void TestWlanWizardManual::tcStartWizard()
+{
+ qDebug("Start TestWlanWizardManual");
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_open_scan_results_received_at_scan_page()
+{
+#ifdef tc_open_scan_results_received_at_scan_page_enabled
+
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mWlanQtUtilsContext->setImmediateApScanResult(false);
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ mWlanQtUtilsContext->emitScanApReady();
+ mWlanQtUtilsContext->setImmediateApScanResult(true);
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_attempt_to_input_too_long_ssid()
+{
+#ifdef tc_attempt_to_input_too_long_ssid_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("12345678901234567890123456789012", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "1234567890123456789012345678901234567890"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "12345678901234567890123456789012"), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_scan_succesful_press_cancel_at_summary()
+{
+#ifdef tc_scan_succesful_press_cancel_at_summary_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ // Currently against the spec in http://wikis.in.nokia.com/pub/UXD/101ConnectionManager/occ_logical_flows_and_wireframes.pdf
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+ QCOMPARE( mouseClickCancel(), true );
+
+ QTest::qWait(WaitTimeForUi);
+
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_press_previous_at_scanning_page()
+{
+#ifdef tc_press_previous_at_scanning_page_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ // Click previous button and next again
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ // Currently against the spec in http://wikis.in.nokia.com/pub/UXD/101ConnectionManager/occ_logical_flows_and_wireframes.pdf
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_scan_succesful_go_to_summary_and_finish()
+{
+#ifdef tc_scan_succesful_go_to_summary_and_finish_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyActionButtons(ButtonDisabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ // Currently against the spec in http://wikis.in.nokia.com/pub/UXD/101ConnectionManager/occ_logical_flows_and_wireframes.pdf
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+ QCOMPARE( mouseClickFinish(), true );
+#endif
+}
+
+/*!
+ * Stop verifying buttons for views that have been already verified.
+ */
+void TestWlanWizardManual::tc_wep_pwd_too_short_error_label()
+{
+#ifdef tc_wep_pwd_too_short_error_label_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+
+ // Key query short pwd
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "password"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyDialogText("labelErrorNote", hbTrId("txt_occ_dialog_key_is_of_incorrect_length_please")), true );
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+
+ // Key query success
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyDialogText("labelErrorNote", ""), true );
+ QCOMPARE( insertTextToObject("lineEditKey", "12345"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_press_previous_at_key_query()
+{
+#ifdef tc_press_previous_at_key_query_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_manual_selection_with_press_previous()
+{
+#ifdef tc_manual_selection_with_press_previous_enabled
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageNetworkMode, "huuhaa3421"), true );
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageNetworkSecurity, "huuhaa3421"), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageNetworkMode, "huuhaa3421"), true );
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageNetworkSecurity, "huuhaa3421"), true );
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonHidden, ButtonEnabled), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_illegal_characters_in_wep_key()
+{
+#ifdef tc_illegal_characters_in_wep_key_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+
+ QCOMPARE( insertTextToObject("lineEditKey", "passworddd"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyDialogText("labelErrorNote", hbTrId("txt_occ_dialog_illegal_characters_in_key_please_c")), true );
+ QTest::qWait(WaitTimeForUi);
+
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_too_short_wpa_key()
+{
+#ifdef tc_too_short_wpa_key_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, true, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QTest::qWait(2000);
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+
+ QCOMPARE( insertTextToObject("lineEditKey", "1234"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyDialogText("labelErrorNote", hbTrId("txt_occ_dialog_preshared_key_too_short_at_least")), true );
+ QTest::qWait(WaitTimeForUi);
+#endif
+}
+
+/*!
+ * wpa psk
+ */
+void TestWlanWizardManual::tc_wpa_psk_success()
+{
+#ifdef tc_wpa_psk_success_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, true, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QTest::qWait(2000);
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+
+ QCOMPARE( insertTextToObject("lineEditKey", "1234567890"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+#endif
+}
+
+/*!
+ * no wpa psk
+ */
+void TestWlanWizardManual::tc_wpa_no_psk_go_to_eap_start()
+{
+#ifdef tc_wpa_no_psk_go_to_eap_start_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageEapStart), true );
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageEapStart), true );
+#endif
+}
+
+/*!
+ * wpa2 psk
+ */
+void TestWlanWizardManual::tc_wpa2_psk_success()
+{
+#ifdef tc_wpa2_psk_success_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa2, true, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QTest::qWait(2000);
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+
+ QCOMPARE( insertTextToObject("lineEditKey", "1234567890"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+#endif
+}
+
+/*!
+ * wpa2 no psk
+ */
+void TestWlanWizardManual::tc_wpa2_no_psk_go_to_eap_start()
+{
+#ifdef tc_wpa2_no_psk_go_to_eap_start_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa2, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageEapStart), true );
+#endif
+}
+
+/*!
+ * Wlan network closed -> generic error
+ */
+void TestWlanWizardManual::tc_network_closed_generic_error()
+{
+#ifdef tc_network_closed_generic_error_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkClosed(100, 1);
+ mWlanQtUtilsContext->setConnectionSuccessed(false);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, hbTrId("txt_occ_dialog_connection_failed")), true );
+
+#endif
+}
+
+/*!
+ * adhoc no psk
+ */
+void TestWlanWizardManual::tc_adhoc_network_no_psk()
+{
+#ifdef tc_adhoc_network_no_psk_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Adhoc, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+
+#endif
+}
+
+/*!
+ * 802_1x
+ */
+void TestWlanWizardManual::tc_secmode_802_1x_go_to_eap_start()
+{
+#ifdef tc_secmode_802_1x_go_to_eap_start_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecMode802_1x, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageEapStart), true );
+#endif
+}
+
+/*!
+ * Wapi
+ */
+void TestWlanWizardManual::tc_sec_mode_wapi()
+{
+#ifdef tc_sec_mode_wapi_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWapi, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+#endif
+}
+
+/*!
+ * Multiple AP scan match results
+ */
+void TestWlanWizardManual::tc_multiple_open_scan_results_single_match()
+{
+#ifdef tc_multiple_open_scan_results_single_match_enabled
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false, 400);
+ mApOpenList->Add("foobar", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false, 300);
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false, 200);
+
+ mApList->Add("foobar", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false, 300);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApOpenList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("foobar", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "foobar"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "foobar"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "foobar"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_iap_creation_fail()
+{
+#ifdef tc_iap_creation_fail_enabled
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(-1);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+
+ QStringList buttons;
+ buttons << hbTrId("txt_occ_dblist_val_infrastructure_public")
+ << hbTrId("txt_occ_list_infrastructure_hidden")
+ << hbTrId("txt_occ_list_adhoc_1");
+ QCOMPARE( verifyRadioButtons("list"), buttons );
+
+ QCOMPARE( selectRadioButton( "list", 2 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QCOMPARE( verifySelectedRadioButton("list"), ListNoneSelected );
+ QCOMPARE( selectRadioButton( "list", 2 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageNetworkSecurity, "huuhaa3421"), true );
+
+ buttons.clear();
+ buttons << hbTrId("txt_occ_list_open")
+ << hbTrId("txt_occ_list_wep_1");
+ QCOMPARE( verifyRadioButtons("list"), buttons );
+
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, hbTrId("txt_occ_dialog_unable_to_save_settings_please_ret")), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_scan_ap_status_not_ok()
+{
+#ifdef tc_scan_ap_status_not_ok_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mWlanQtUtilsContext->setScanApStatus(WlanQtUtils::ScanStatusError);
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_scan_direct_status_not_ok()
+{
+#ifdef tc_scan_direct_status_not_ok_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ //mWlanQtUtilsContext->setImmediateApScanResult(false);
+ mWlanQtUtilsContext->setScanDirectStatus(WlanQtUtils::ScanStatusError);
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+#endif
+}
+
+/*!
+ * Ict Result enumerator used. Hotspot.
+ */
+void TestWlanWizardManual::tc_ictresult_enumerated_hotspot()
+{
+#ifdef tc_ictresult_enumerated_hotspot_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false, 400);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctHotspotPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(1000);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(1000);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(1000);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QTest::qWait(5000);
+#endif
+}
+
+/*!
+ * Ict Result enumerator used. Ict canceled.
+ */
+void TestWlanWizardManual::tc_ictresult_enumerated_cancel()
+{
+#ifdef tc_ictresult_enumerated_cancel_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false, 400);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctCancelled);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(1000);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(1000);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(1000);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+#endif
+}
+
+/*!
+ * Ict fails in this case
+ */
+void TestWlanWizardManual::tc_multiple_ssids_with_same_name_2_netmode_options()
+{
+#ifdef tc_multiple_ssids_with_same_name_2_netmode_options_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ // Add duplicates
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+
+ // Add all five kinds of security modes.
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, true, false, 500);
+ mApList->Add("huuhaa3421", CMManagerShim::Adhoc, CMManagerShim::WlanSecModeOpen, false, false, 400);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, false, false, 300);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecMode802_1x, false, false, 200);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctFailed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QStringList buttons;
+ buttons << hbTrId("txt_occ_list_infrastructure_hidden")
+ << hbTrId("txt_occ_list_adhoc_1");
+ QCOMPARE( verifyRadioButtons("list"), buttons );
+
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( selectRadioButton( "list", 1 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_multiple_ssids_with_same_name_press_previous()
+{
+#ifdef tc_multiple_ssids_with_same_name_press_previous_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ // Add duplicates
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+
+ // Add all five kinds of security modes.
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, true, false, 500);
+ mApList->Add("huuhaa3421", CMManagerShim::Adhoc, CMManagerShim::WlanSecModeOpen, false, false, 400);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, true, false, 300);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecMode802_1x, false, false, 200);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkSecurity), true );
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkSecurity), true );
+ QCOMPARE( selectRadioButton( "list", 1 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_multiple_ssids_with_same_name_all_sec_modes()
+{
+#ifdef tc_multiple_ssids_with_same_name_all_sec_modes_enabled
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ // Add duplicates
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+
+ // Add all five kinds of security modes.
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, true, false, 500);
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa2, true, false, 500);
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Adhoc, CMManagerShim::WlanSecModeOpen, false, false, 400);
+ mApOpenList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecMode802_1x, false, false, 200);
+ mApOpenList->Add("dippadappa", CMManagerShim::Infra, CMManagerShim::WlanSecModeOpen, false, false, 200);
+
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ // Add duplicates
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+
+ // Add all five kinds of security modes.
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, true, false, 500);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa2, true, false, 500);
+ mApList->Add("huuhaa3421", CMManagerShim::Adhoc, CMManagerShim::WlanSecModeOpen, false, false, 400);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, true, false, 300);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecMode802_1x, false, false, 200);
+
+ mWlanQtUtilsContext->setScanWlanApsResult(mApOpenList->List());
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QStringList buttons;
+ buttons << hbTrId("txt_occ_dblist_val_infrastructure_public")
+ << hbTrId("txt_occ_list_infrastructure_hidden")
+ << hbTrId("txt_occ_list_adhoc_1");
+ QCOMPARE( verifyRadioButtons("list"), buttons );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkSecurity), true );
+ QCOMPARE( mouseClickPrevious(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QCOMPARE( mouseClickNext(), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkSecurity), true );
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_multiple_ssids_with_same_name_orientation_switch()
+{
+#ifdef tc_multiple_ssids_with_same_name_orientation_switch_enabled
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ // Add duplicates
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+
+ // Add all five kinds of security modes.
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, true, false, 500);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, true, false, 300);
+ mApList->Add("huuhaa3421", CMManagerShim::Infra, CMManagerShim::WlanSecMode802_1x, false, false, 200);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa3421", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+
+ mMainWindow->setOrientation(Qt::Horizontal, false);
+ QTest::qWait(WaitTimeForUi);
+ mMainWindow->setOrientation(Qt::Vertical, false);
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa3421"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa3421"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkSecurity), true );
+ QCOMPARE( selectRadioButton( "list", 0 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageKeyQuery, "huuhaa3421"), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_multiple_ssids_with_same_name_wps_and_nonwps()
+{
+#ifdef tc_multiple_ssids_with_same_name_wps_and_nonwps_enabled
+ mApList->Add("huuhaa", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, false, 100);
+
+ // Add all five kinds of security modes.
+ mApList->Add("huuhaa", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, true, true, 300);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageNetworkMode), true );
+ QStringList buttons;
+ buttons << hbTrId("txt_occ_list_infrastructure_hidden")
+ << hbTrId("txt_occ_list_wifi_protected_setup");
+ QCOMPARE( verifyRadioButtons("list"), buttons );
+ QCOMPARE( selectRadioButton( "list", 1 ), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageWpsStart), true );
+#endif
+}
+
+/*!
+ *
+ */
+void TestWlanWizardManual::tc_multiple_ssids_with_same_name_two_wps_aps()
+{
+#ifdef tc_multiple_ssids_with_same_name_two_wps_aps_enabled
+ mApList->Add("huuhaa", CMManagerShim::Infra, CMManagerShim::WlanSecModeWpa, false, true, 100);
+
+ // Add all five kinds of security modes.
+ mApList->Add("huuhaa", CMManagerShim::Infra, CMManagerShim::WlanSecModeWep, true, true, 300);
+
+ mWlanQtUtilsContext->setScanWlanDirectResult("huuhaa", mApList->List());
+ mWlanQtUtilsContext->setCreateWlanIapResult(100);
+ mWlanQtUtilsContext->setSignalIctResult(100, WlanQtUtils::IctPassed);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(100);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+
+ mView->showWizard();
+
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSsid), true );
+
+ QCOMPARE( mouseClickObject("lineEditKey"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( insertTextToObject("lineEditKey", "huuhaa"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickObject("dialog"), true );
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( mouseClickNext(), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageScanning, "huuhaa"), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageWpsStart), true );
+#endif
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardmanual.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+#ifndef TESTWLANWIZARDRNMANUAL_H_
+#define TESTWLANWIZARDRNMANUAL_H_
+
+#include "testwlanwizardcontext.h"
+
+class TestWlanWizardManual : public TestWlanWizardContext
+{
+Q_OBJECT
+
+private slots:
+ // Test cases
+ void tcStartWizard();
+ void tc_open_scan_results_received_at_scan_page();
+ void tc_attempt_to_input_too_long_ssid();
+ void tc_scan_succesful_press_cancel_at_summary();
+ void tc_press_previous_at_scanning_page();
+ void tc_scan_succesful_go_to_summary_and_finish();
+ void tc_wep_pwd_too_short_error_label();
+ void tc_press_previous_at_key_query();
+ void tc_manual_selection_with_press_previous();
+ void tc_illegal_characters_in_wep_key();
+ void tc_too_short_wpa_key();
+ void tc_wpa_psk_success();
+ void tc_wpa_no_psk_go_to_eap_start();
+ void tc_wpa2_psk_success();
+ void tc_wpa2_no_psk_go_to_eap_start();
+ void tc_network_closed_generic_error();
+ void tc_adhoc_network_no_psk();
+ void tc_secmode_802_1x_go_to_eap_start();
+ void tc_sec_mode_wapi();
+ void tc_multiple_open_scan_results_single_match();
+ void tc_iap_creation_fail();
+ void tc_scan_ap_status_not_ok();
+ void tc_scan_direct_status_not_ok();
+ void tc_ictresult_enumerated_hotspot();
+ void tc_ictresult_enumerated_cancel();
+ void tc_multiple_ssids_with_same_name_2_netmode_options();
+ void tc_multiple_ssids_with_same_name_press_previous();
+ void tc_multiple_ssids_with_same_name_all_sec_modes();
+ void tc_multiple_ssids_with_same_name_orientation_switch();
+ void tc_multiple_ssids_with_same_name_wps_and_nonwps();
+ void tc_multiple_ssids_with_same_name_two_wps_aps();
+
+};
+
+#endif /* TESTWLANWIZARDRNMANUAL_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardmanual_conf.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,53 @@
+/*
+ * Copyright (c) 2009 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:
+ */
+
+// System includes
+
+// User includes
+
+// External function prototypes
+
+// Local constants
+#define tc_open_scan_results_received_at_scan_page_enabled
+#define tc_attempt_to_input_too_long_ssid_enabled
+#define tc_scan_succesful_press_cancel_at_summary_enabled
+#define tc_press_previous_at_scanning_page_enabled
+#define tc_scan_succesful_go_to_summary_and_finish_enabled
+#define tc_wep_pwd_too_short_error_label_enabled
+#define tc_press_previous_at_key_query_enabled
+#define tc_manual_selection_with_press_previous_enabled
+#define tc_illegal_characters_in_wep_key_enabled
+#define tc_too_short_wpa_key_enabled
+#define tc_wpa_psk_success_enabled
+#define tc_wpa_no_psk_go_to_eap_start_enabled
+#define tc_wpa2_psk_success_enabled
+#define tc_wpa2_no_psk_go_to_eap_start_enabled
+#define tc_network_closed_generic_error_enabled
+#define tc_adhoc_network_no_psk_enabled
+#define tc_secmode_802_1x_go_to_eap_start_enabled
+#define tc_sec_mode_wapi_enabled
+#define tc_multiple_open_scan_results_single_match_enabled
+#define tc_iap_creation_fail_enabled
+#define tc_scan_ap_status_not_ok_enabled
+#define tc_scan_direct_status_not_ok_enabled
+#define tc_ictresult_enumerated_hotspot_enabled
+#define tc_ictresult_enumerated_cancel_enabled
+#define tc_multiple_ssids_with_same_name_2_netmode_options_enabled
+#define tc_multiple_ssids_with_same_name_press_previous_enabled
+#define tc_multiple_ssids_with_same_name_all_sec_modes_enabled
+#define tc_multiple_ssids_with_same_name_orientation_switch_enabled
+#define tc_multiple_ssids_with_same_name_wps_and_nonwps_enabled
+#define tc_multiple_ssids_with_same_name_two_wps_aps_enabled
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardwps.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,496 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Wizard UT.
+*/
+
+// System includes
+#include <QTest>
+#include <QDebug>
+#include <QList>
+#include <cmmanagerdefines_shim.h>
+#include <wlanerrorcodes.h>
+
+// User includes
+#include "testwlanwizardwps.h"
+#include "testwlanwizardwps_conf.h"
+#include "wlanwizard.h"
+#include "wlanwizard_p.h"
+#include "wlanqtutils_context.h"
+#include "wlanqtutils.h"
+#include "wlanqtutilsap.h"
+#include "wlanwizardpageinternal.h"
+#include "wpswizardpage.h"
+
+#include "wlanmgmtclient_context.h"
+
+// External function prototypes
+
+// Local constants
+
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+// ---------------------------------------------------------
+// TEST CASES
+// ---------------------------------------------------------
+
+void TestWlanWizardWps::tcConfigureManualOpen()
+{
+#ifdef tcConfigureManualOpen_enabled
+ const QString ssid("tcConfigureManualOpen");
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ WlanQtUtilsAp ap;
+ ap.setValue(WlanQtUtilsAp::ConfIdConnectionMode, CMManagerShim::Infra);
+ ap.setValue(WlanQtUtilsAp::ConfIdSecurityMode, CMManagerShim::WlanSecModeOpen);
+ ap.setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
+ ap.setValue(WlanQtUtilsAp::ConfIdHidden, false);
+ ap.setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, false);
+
+ // Default values
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1 );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Infra,
+ CMManagerShim::WlanSecModeOpen,
+ false,
+ true);
+
+ mView->showWizard();
+ verifyModeSelection();
+ QCOMPARE(selectRadioButton("radioButtonList", 2), true);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QCOMPARE( mWlanQtUtilsContext->verifyWlanIapSettings(ap), true);
+#endif
+}
+
+void TestWlanWizardWps::tcPushButtonOpen()
+{
+#ifdef tcPushButtonOpen_enabled
+ tcPushButton(
+ "tcPushButtonOpen",
+ EWlanIapSecurityModeAllowUnsecure,
+ CMManagerShim::WlanSecModeOpen,
+ EWlanOperatingModeInfrastructure,
+ CMManagerShim::Infra,
+ EWlanDefaultWepKey1,
+ CMManagerShim::WepKeyIndex1);
+#endif
+}
+
+void TestWlanWizardWps::tcPushButtonWep1()
+{
+#ifdef tcPushButtonWep1_enabled
+ tcPushButton(
+ "tcPushButtonWep1",
+ EWlanIapSecurityModeWep,
+ CMManagerShim::WlanSecModeWep,
+ EWlanOperatingModeAdhoc,
+ CMManagerShim::Adhoc,
+ EWlanDefaultWepKey1,
+ CMManagerShim::WepKeyIndex1);
+#endif
+}
+
+void TestWlanWizardWps::tcPushButtonWep2()
+{
+#ifdef tcPushButtonWep2_enabled
+ tcPushButton(
+ "tcPushButtonWep2",
+ EWlanIapSecurityModeWep,
+ CMManagerShim::WlanSecModeWep,
+ EWlanOperatingModeAdhoc,
+ CMManagerShim::Adhoc,
+ EWlanDefaultWepKey2,
+ CMManagerShim::WepKeyIndex2);
+#endif
+}
+
+void TestWlanWizardWps::tcPushButtonWep3()
+{
+#ifdef tcPushButtonWep3_enabled
+ tcPushButton(
+ "tcPushButtonWep3",
+ EWlanIapSecurityModeWep,
+ CMManagerShim::WlanSecModeWep,
+ EWlanOperatingModeAdhoc,
+ CMManagerShim::Adhoc,
+ EWlanDefaultWepKey3,
+ CMManagerShim::WepKeyIndex3);
+#endif
+}
+
+void TestWlanWizardWps::tcPushButtonWep4()
+{
+#ifdef tcPushButtonWep4_enabled
+ tcPushButton(
+ "tcPushButtonWep4",
+ EWlanIapSecurityModeWep,
+ CMManagerShim::WlanSecModeWep,
+ EWlanOperatingModeAdhoc,
+ CMManagerShim::Adhoc,
+ EWlanDefaultWepKey4,
+ CMManagerShim::WepKeyIndex4);
+#endif
+}
+
+void TestWlanWizardWps::tcPushButtonWpa()
+{
+#ifdef tcPushButtonWpa_enabled
+ tcPushButton(
+ "tcPushButtonWpa",
+ EWlanIapSecurityModeWpa,
+ CMManagerShim::WlanSecModeWpa,
+ EWlanOperatingModeAdhoc,
+ CMManagerShim::Adhoc,
+ EWlanDefaultWepKey1,
+ CMManagerShim::WepKeyIndex1);
+#endif
+}
+
+void TestWlanWizardWps::tcPushButtonWpa2()
+{
+#ifdef tcPushButtonWpa2_enabled
+ tcPushButton(
+ "tcPushButtonWpa2",
+ EWlanIapSecurityModeWpa2Only,
+ CMManagerShim::WlanSecModeWpa2,
+ EWlanOperatingModeAdhoc,
+ CMManagerShim::Adhoc,
+ EWlanDefaultWepKey1,
+ CMManagerShim::WepKeyIndex1);
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupOOBInterfaceReadError()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupOOBInterfaceReadError_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupOOBInterfaceReadError,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupDecryptionCRCFailure()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupDecryptionCRCFailure_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupDecryptionCRCFailure,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetup2_4ChannelNotSupported()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetup2_4ChannelNotSupported_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetup2_4ChannelNotSupported,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetup5_0ChannelNotSupported()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetup5_0ChannelNotSupported_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetup5_0ChannelNotSupported,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupNetworkAuthFailure()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupNetworkAuthFailure_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupNetworkAuthFailure,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupNoDHCPResponse()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupNoDHCPResponse_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupNoDHCPResponse,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupFailedDHCPConfig()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupFailedDHCPConfig_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupFailedDHCPConfig,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupIPAddressConflict()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupIPAddressConflict_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupIPAddressConflict,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupCouldNotConnectToRegistrar()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupCouldNotConnectToRegistrar_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupCouldNotConnectToRegistrar,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupMultiplePBCSessionsDetected()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupMultiplePBCSessionsDetected_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupMultiplePBCSessionsDetected,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupRogueActivitySuspected()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupRogueActivitySuspected_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupRogueActivitySuspected,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupDeviceBusy()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupDeviceBusy_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupDeviceBusy,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupSetupLocked()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupSetupLocked_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupSetupLocked,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupMessageTimeout()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupMessageTimeout_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupMessageTimeout,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupRegistrationSessionTimeout()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupRegistrationSessionTimeout_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupRegistrationSessionTimeout,
+ hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupDevicePasswordAuthFailure()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupDevicePasswordAuthFailure_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupDevicePasswordAuthFailure,
+ hbTrId("txt_occ_dialog_configuration_failed_authenticatio"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupPINMethodNotSupported()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupPINMethodNotSupported_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupPINMethodNotSupported,
+ hbTrId("txt_occ_dialog_configuration_failed_authenticatio"));
+#endif
+}
+
+void TestWlanWizardWps::tcPinCode_KErrWlanProtectedSetupPBMethodNotSupported()
+{
+#ifdef tcPinCode_KErrWlanProtectedSetupPBMethodNotSupported_enabled
+ tcPinCode_failure(
+ KErrWlanProtectedSetupPBMethodNotSupported,
+ hbTrId("txt_occ_dialog_configuration_failed_authenticatio"));
+#endif
+}
+
+void TestWlanWizardWps::verifyModeSelection()
+{
+ QCOMPARE( verifyCurrentPage(WpsWizardPage::PageWpsWizardStep2 ), true );
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QStringList list;
+ list << hbTrId("txt_occ_list_use_pushbutton")
+ << hbTrId("txt_occ_list_use_pin_code")
+ << hbTrId("txt_occ_list_configure_manually");
+
+ QCOMPARE(verifyRadioButtons("radioButtonList"), list);
+}
+
+
+void TestWlanWizardWps::tcPushButton(
+ const QString &ssid,
+ int secModeWlan,
+ int secModeCmm,
+ int operModeWlan,
+ int operModeCmm,
+ int defaultWepKeyIndexWlan,
+ int defaultWepKeyIndexCmm)
+{
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ WlanQtUtilsAp ap;
+ ap.setValue(WlanQtUtilsAp::ConfIdConnectionMode, operModeCmm);
+ ap.setValue(WlanQtUtilsAp::ConfIdSecurityMode, secModeCmm);
+ ap.setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
+ ap.setValue(WlanQtUtilsAp::ConfIdHidden, false);
+ ap.setValue(WlanQtUtilsAp::ConfIdWlanScanSSID, false);
+
+ // Default values
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPsk, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPskUse, true );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, CMManagerShim::WepKeyIndex1 );
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey1, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey2, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey3, QString());
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey4, QString());
+
+ if (secModeCmm == CMManagerShim::WlanSecModeWep){
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey1, "wepkey1");
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey2, "wepkey2");
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey3, "wepkey3");
+ ap.setValue(WlanQtUtilsAp::ConfIdWepKey4, "wepkey4");
+ ap.setValue(WlanQtUtilsAp::ConfIdWepDefaultIndex, defaultWepKeyIndexCmm );
+ } else if (secModeCmm == CMManagerShim::WlanSecModeWpa ||
+ secModeCmm == CMManagerShim::WlanSecModeWpa2) {
+ ap.setValue(WlanQtUtilsAp::ConfIdWpaPsk, "wpapsk");
+ }
+
+ mWlanMgmtClientContext->setRunProtectedSetup(ssid, KErrNone);
+ mWlanMgmtClientContext->appendResult(
+ ssid,
+ secModeWlan,
+ operModeWlan,
+ defaultWepKeyIndexWlan,
+ "wepkey1",
+ "wepkey2",
+ "wepkey3",
+ "wepkey4",
+ "wpapsk");
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeWep,
+ false,
+ true);
+
+ mView->showWizard();
+ verifyModeSelection();
+
+ QCOMPARE(selectRadioButton("radioButtonList", 0), true);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPage(WpsWizardPage::PageWpsWizardStep3_Button), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE( mouseClickNext(), true);
+ QCOMPARE( verifyCurrentPage(WpsWizardPage::PageWpsWizardStep4), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageProcessSettings, ssid), true );
+ QCOMPARE( verifyCurrentPage(WlanWizardPageInternal::PageSummary, 10, 500), true );
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( mWlanQtUtilsContext->verifyWlanIapSettings(ap), true);
+}
+
+
+void TestWlanWizardWps::tcPinCode_failure(
+ int errorCode,
+ const QString &errorText)
+{
+ const QString ssid("tcPinCode_failure");
+
+ mWlanQtUtilsContext->setCreateWlanIapResult(3);
+ mWlanQtUtilsContext->setConnectionSuccessed(true);
+ mWlanQtUtilsContext->setSignalWlanNetworkOpened(3);
+ mWlanQtUtilsContext->setSignalIctResult(3, WlanQtUtils::IctPassed);
+
+ mWlanMgmtClientContext->setRunProtectedSetup(ssid, errorCode);
+
+ mView->mWizard->setParameters(
+ ssid,
+ CMManagerShim::Adhoc,
+ CMManagerShim::WlanSecModeWep,
+ false,
+ true);
+
+ mView->showWizard();
+ verifyModeSelection();
+
+ QCOMPARE(selectRadioButton("radioButtonList", 1), true);
+ QTest::qWait(WaitTimeForUi);
+ QCOMPARE( verifyActionButtons(ButtonHidden, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPage(WpsWizardPage::PageWpsWizardStep3_Number), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonEnabled, ButtonHidden), true );
+
+ QCOMPARE(mouseClickNext(), true);
+ QTest::qWait(WaitTimeForUi);
+
+ QCOMPARE( verifyCurrentPage(WpsWizardPage::PageWpsWizardStep4), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+
+ QCOMPARE( verifyCurrentPageWithInfo(WlanWizardPageInternal::PageGenericError, errorText), true );
+ QCOMPARE( verifyActionButtons(ButtonEnabled, ButtonEnabled, ButtonDisabled, ButtonHidden), true );
+ QTest::qWait(WaitTimeForUi);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardwps.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2010 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:
+ */
+
+#ifndef TESTWLANWIZARDRNDWPS_H
+#define TESTWLANWIZARDRNDWPS_H
+
+#include "testwlanwizardcontext.h"
+
+class TestWlanWizardWps : public TestWlanWizardContext
+{
+Q_OBJECT
+
+private slots:
+ void tcConfigureManualOpen();
+ void tcPushButtonOpen();
+ void tcPushButtonWep1();
+ void tcPushButtonWep2();
+ void tcPushButtonWep3();
+ void tcPushButtonWep4();
+ void tcPushButtonWpa();
+ void tcPushButtonWpa2();
+ void tcPinCode_KErrWlanProtectedSetupOOBInterfaceReadError();
+ void tcPinCode_KErrWlanProtectedSetupDecryptionCRCFailure();
+ void tcPinCode_KErrWlanProtectedSetup2_4ChannelNotSupported();
+ void tcPinCode_KErrWlanProtectedSetup5_0ChannelNotSupported();
+ void tcPinCode_KErrWlanProtectedSetupNetworkAuthFailure();
+ void tcPinCode_KErrWlanProtectedSetupNoDHCPResponse();
+ void tcPinCode_KErrWlanProtectedSetupFailedDHCPConfig();
+ void tcPinCode_KErrWlanProtectedSetupIPAddressConflict();
+ void tcPinCode_KErrWlanProtectedSetupCouldNotConnectToRegistrar();
+ void tcPinCode_KErrWlanProtectedSetupMultiplePBCSessionsDetected();
+ void tcPinCode_KErrWlanProtectedSetupRogueActivitySuspected();
+ void tcPinCode_KErrWlanProtectedSetupDeviceBusy();
+ void tcPinCode_KErrWlanProtectedSetupSetupLocked();
+ void tcPinCode_KErrWlanProtectedSetupMessageTimeout();
+ void tcPinCode_KErrWlanProtectedSetupRegistrationSessionTimeout();
+ void tcPinCode_KErrWlanProtectedSetupDevicePasswordAuthFailure();
+ void tcPinCode_KErrWlanProtectedSetupPINMethodNotSupported();
+ void tcPinCode_KErrWlanProtectedSetupPBMethodNotSupported();
+ /*
+ void tcPushButton_KErrNone_back_forward_KErrNone();
+ void tcPinCodeMultipleResults();
+ void tcPinCodeMultipleResults_back_and_forward();
+ */
+
+private: // Helper methods
+ void verifyModeSelection();
+
+private: // Helper test cases
+ void tcPushButton(
+ const QString &ssid,
+ int secModeWlan,
+ int secModeCmm,
+ int operModeWlan,
+ int operModeCmm,
+ int defaultWepKeyIndexWlan,
+ int defaultWepKeyIndexCmm);
+
+ void tcPinCode_failure(
+ int errorCode,
+ const QString &errorText);
+
+
+
+};
+
+#endif /* TESTWLANWIZARDRNDWPS_H */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/testwlanwizardwps_conf.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2010 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:
+ */
+
+// System includes
+
+// User includes
+
+// External function prototypes
+
+// Local constants
+
+#define tcConfigureManualOpen_enabled
+#define tcPushButtonOpen_enabled
+#define tcPushButtonWep1_enabled
+#define tcPushButtonWep2_enabled
+#define tcPushButtonWep3_enabled
+#define tcPushButtonWep4_enabled
+#define tcPushButtonWpa_enabled
+#define tcPushButtonWpa2_enabled
+#define tcPinCode_KErrWlanProtectedSetupOOBInterfaceReadError_enabled
+#define tcPinCode_KErrWlanProtectedSetupDecryptionCRCFailure_enabled
+#define tcPinCode_KErrWlanProtectedSetup2_4ChannelNotSupported_enabled
+#define tcPinCode_KErrWlanProtectedSetup5_0ChannelNotSupported_enabled
+#define tcPinCode_KErrWlanProtectedSetupNetworkAuthFailure_enabled
+#define tcPinCode_KErrWlanProtectedSetupNoDHCPResponse_enabled
+#define tcPinCode_KErrWlanProtectedSetupFailedDHCPConfig_enabled
+#define tcPinCode_KErrWlanProtectedSetupIPAddressConflict_enabled
+#define tcPinCode_KErrWlanProtectedSetupCouldNotConnectToRegistrar_enabled
+#define tcPinCode_KErrWlanProtectedSetupMultiplePBCSessionsDetected_enabled
+#define tcPinCode_KErrWlanProtectedSetupRogueActivitySuspected_enabled
+#define tcPinCode_KErrWlanProtectedSetupDeviceBusy_enabled
+#define tcPinCode_KErrWlanProtectedSetupSetupLocked_enabled
+#define tcPinCode_KErrWlanProtectedSetupMessageTimeout_enabled
+#define tcPinCode_KErrWlanProtectedSetupRegistrationSessionTimeout_enabled
+#define tcPinCode_KErrWlanProtectedSetupDevicePasswordAuthFailure_enabled
+#define tcPinCode_KErrWlanProtectedSetupPINMethodNotSupported_enabled
+#define tcPinCode_KErrWlanProtectedSetupPBMethodNotSupported_enabled
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/tsrc/ut/ut.pri Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,40 @@
+#
+# Copyright (c) 2009 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:
+# UT for Wlan wizard testing
+#
+
+HEADERS += \
+ ut/hbautotest.h \
+ ut/testwlanwizard.h \
+ ut/testwlanwizardeap.h \
+ ut/testwlanwizardeap_conf.h \
+ ut/testwlanwizardcontext.h \
+ ut/testwlanwizardmanual.h \
+ ut/testwlanwizardmanual_conf.h \
+ ut/testwlanwizardconnect.h \
+ ut/testwlanwizardconnect_conf.h \
+ ut/testwlanwizardwps.h \
+ ut/testwlanwizardwps_conf.h
+
+SOURCES += \
+ ut/main.cpp \
+ ut/hbautotest.cpp \
+ ut/testwlanwizardeap.cpp \
+ ut/testwlanwizardcontext.cpp \
+ ut/testwlanwizardconnect.cpp \
+ ut/testwlanwizardmanual.cpp \
+ ut/testwlanwizard.cpp \
+ ut/testwlanwizardwps.cpp
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanwizard/wlanwizard.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,108 @@
+#
+# Copyright (c) 2009-2010 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:
+# WLAN Settings Wizard
+#
+
+TEMPLATE = lib
+TARGET = wlanwizard
+
+DEFINES += BUILD_WLAN_WIZARD_DLL
+
+VERSION = 0.0.1
+
+CONFIG += hb
+
+MOC_DIR = build
+RCC_DIR = build
+
+RESOURCES += resources/resource.qrc
+
+DOCML += \
+ resources/occ_wlan_wizard_main.docml \
+ resources/occ_add_wlan_05.docml \
+ resources/occ_add_wlan_06.docml \
+ resources/occ_add_wlan_02_03.docml \
+ resources/occ_add_wlan_01_04.docml \
+ resources/occ_add_wlan_error.docml
+
+TRANSLATIONS = wlanwizard.ts
+
+HEADERS += \
+ inc/wlanwizard.h \
+ inc/wlanwizard_p.h \
+ inc/wlanwizardscanlist.h \
+ inc/wlanwizardhelper.h \
+ inc/wlanwizardpage.h \
+ inc/wlanwizardpagegenericerror.h \
+ inc/wlanwizardpageinternal.h \
+ inc/wlanwizardpagekeyquery.h \
+ inc/wlanwizardpagenetworkmode.h \
+ inc/wlanwizardpageprocessingsettings.h \
+ inc/wlanwizardpagescanning.h \
+ inc/wlanwizardpagesecuritymode.h \
+ inc/wlanwizardpagessid.h \
+ inc/wlanwizardpagesummary.h \
+ inc/wlanwizardsummaryviewitem.h \
+ inc/wlanwizardutils.h
+
+SOURCES += \
+ src/wlanwizard.cpp \
+ src/wlanwizard_p.cpp \
+ src/wlanwizardscanlist.cpp \
+ src/wlanwizardpagegenericerror.cpp \
+ src/wlanwizardpageinternal.cpp \
+ src/wlanwizardpagekeyquery.cpp \
+ src/wlanwizardpagenetworkmode.cpp \
+ src/wlanwizardpageprocessingsettings.cpp \
+ src/wlanwizardpagescanning.cpp \
+ src/wlanwizardpagesecuritymode.cpp \
+ src/wlanwizardpagessid.cpp \
+ src/wlanwizardpagesummary.cpp \
+ src/wlanwizardsummaryviewitem.cpp \
+ src/wlanwizardutils.cpp
+
+LIBS += \
+ -lwlanqtutilities \
+ -leapwizard \
+ -lwpswizard
+
+symbian {
+ INCLUDEPATH += \
+ inc \
+ ../inc
+
+ TARGET.UID3 = 0x2002C39A
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+ TARGET.EPOCALLOWDLLDATA = 1
+
+ # Localition of directories for def files
+ defFilePath = .
+
+ # OST trace system requires traces directory to be in USERINCLUDES
+ MMP_RULES += "USERINCLUDE traces"
+
+ BLD_INF_RULES.prj_exports += \
+ "rom/wlanwizard.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanwizard.iby)"
+
+ BLD_INF_RULES.prj_exports += \
+ "rom/wlanwizard_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlanwizard_resources.iby)"
+
+ # Export wlanwizard and wlanwizard plugin apis
+ BLD_INF_RULES.prj_exports += \
+ "inc/wlanwizard.h |../inc/wlanwizard.h" \
+ "inc/wlanwizardhelper.h |../inc/wlanwizardhelper.h" \
+ "inc/wlanwizardpage.h |../inc/wlanwizardpage.h" \
+ "inc/wlanwizardplugin.h |../inc/wlanwizardplugin.h"
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/bwins/wpswizardu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,14 @@
+EXPORTS
+ ?qt_metacall@WpsWizard@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 1 NONAME ; int WpsWizard::qt_metacall(enum QMetaObject::Call, int, void * *)
+ ??_EWpsWizard@@UAE@I@Z @ 2 NONAME ; WpsWizard::~WpsWizard(unsigned int)
+ ?metaObject@WpsWizard@@UBEPBUQMetaObject@@XZ @ 3 NONAME ; struct QMetaObject const * WpsWizard::metaObject(void) const
+ ?qt_metacast@WpsWizard@@UAEPAXPBD@Z @ 4 NONAME ; void * WpsWizard::qt_metacast(char const *)
+ ?trUtf8@WpsWizard@@SA?AVQString@@PBD0H@Z @ 5 NONAME ; class QString WpsWizard::trUtf8(char const *, char const *, int)
+ ??1WpsWizard@@UAE@XZ @ 6 NONAME ; WpsWizard::~WpsWizard(void)
+ ??0WpsWizard@@QAE@PAVWlanWizardHelper@@@Z @ 7 NONAME ; WpsWizard::WpsWizard(class WlanWizardHelper *)
+ ?staticMetaObject@WpsWizard@@2UQMetaObject@@B @ 8 NONAME ; struct QMetaObject const WpsWizard::staticMetaObject
+ ?tr@WpsWizard@@SA?AVQString@@PBD0@Z @ 9 NONAME ; class QString WpsWizard::tr(char const *, char const *)
+ ?getStaticMetaObject@WpsWizard@@SAABUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const & WpsWizard::getStaticMetaObject(void)
+ ?tr@WpsWizard@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString WpsWizard::tr(char const *, char const *, int)
+ ?trUtf8@WpsWizard@@SA?AVQString@@PBD0@Z @ 12 NONAME ; class QString WpsWizard::trUtf8(char const *, char const *)
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/eabi/wpswizardu.def Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,14 @@
+EXPORTS
+ _ZN9WpsWizard11qt_metacallEN11QMetaObject4CallEiPPv @ 1 NONAME
+ _ZN9WpsWizard11qt_metacastEPKc @ 2 NONAME
+ _ZN9WpsWizard16staticMetaObjectE @ 3 NONAME DATA 16
+ _ZN9WpsWizard19getStaticMetaObjectEv @ 4 NONAME
+ _ZN9WpsWizardC1EP16WlanWizardHelper @ 5 NONAME
+ _ZN9WpsWizardC2EP16WlanWizardHelper @ 6 NONAME
+ _ZN9WpsWizardD0Ev @ 7 NONAME
+ _ZN9WpsWizardD1Ev @ 8 NONAME
+ _ZN9WpsWizardD2Ev @ 9 NONAME
+ _ZNK9WpsWizard10metaObjectEv @ 10 NONAME
+ _ZTI9WpsWizard @ 11 NONAME
+ _ZTV9WpsWizard @ 12 NONAME
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/cwpsactiverunner.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2010 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: WPS Wizard: Wrapper for middleware calls
+*
+*/
+
+#ifndef CWPSACTIVERUNNER_H_
+#define CWPSACTIVERUNNER_H_
+
+// System includes
+#include <e32base.h>
+#include <wlanmgmtclient.h>
+
+// User includes
+#include "mwpsactiverunnercallback.h"
+
+// Forward declarations
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+// Class declaration
+class CWpsActiveRunner : public CActive
+{
+public:
+ static CWpsActiveRunner* NewL(MWpsActiveRunnerCallback& aObserver);
+ virtual ~CWpsActiveRunner();
+public:
+
+ void RunL();
+ void DoCancel();
+ TInt RunError(TInt aError);
+ void StartSetup(RBuf8& aSsid, int aPin);
+
+protected:
+
+private:
+ explicit CWpsActiveRunner(MWpsActiveRunnerCallback& aObserver);
+ void ConstructL();
+ void InitializeL();
+private:
+
+ //! observer for notification of WPS setup completion
+ MWpsActiveRunnerCallback& iObserver;
+ //! To know if cancel was called before the completion
+ TBool isCancelTriggered;
+ //! WLAN management client object
+ CWlanMgmtClient* iWLANMgmtClient;
+ //! Array to hold the results of the WPS setup
+ CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>* iIapParametersArray;
+
+ friend class TestWlanWizardContext;
+};
+
+#endif /* CWPSACTIVERUNNER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/mwpsactiverunnercallback.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,46 @@
+/*
+* Copyright (c) 2010 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: Interface class for the middleware callback
+*
+*/
+#ifndef MWPSACTIVERUNNERCALLBACK_H_
+#define MWPSACTIVERUNNERCALLBACK_H_
+
+// System includes
+#include <QList>
+#include <wlanmgmtcommon.h>
+
+// User includes
+// Forward declarations
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class MWpsActiveRunnerCallback
+ {
+public:
+ /*!
+ * Callback to notify the completion of middleware API call
+ */
+ virtual void WpsActiveRunnerStopped(
+ QList<TWlanProtectedSetupCredentialAttribute>& aCredentials,
+ TInt aError) = 0;
+ };
+
+#endif /* MWPSACTIVERUNNERCALLBACK_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizard.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2010 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:
+ * WPS Wizard API
+ *
+ */
+
+#ifndef WPSWIZARD_H_
+#define WPSWIZARD_H_
+
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wlanwizardplugin.h"
+
+// Forward declarations
+class WlanWizardHelper;
+class WpsWizardPrivate;
+
+// External data types
+// Constants
+
+
+//Export Declaration
+#ifdef BUILD_WPS_WIZARD_DLL
+#define WPS_WIZARD_EXPORT Q_DECL_EXPORT
+#else
+#define WPS_WIZARD_EXPORT Q_DECL_IMPORT
+#endif
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WPS_WIZARD_EXPORT WpsWizard: public QObject, public WlanWizardPlugin
+{
+ Q_OBJECT
+
+public:
+
+ explicit WpsWizard( WlanWizardHelper *wizardHelper);
+ ~WpsWizard();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WpsWizard)
+
+private slots:
+
+private:
+
+ //data
+
+ //! pointer to the private implementation class.
+ QScopedPointer<WpsWizardPrivate> d_ptr;
+
+ friend class WpsWizardPrivate;
+ friend class TestWlanWizardContext;
+};
+
+#endif /* WPSWIZARD_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizard_p.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,125 @@
+/*
+ * Copyright (c) 2010 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: WPS wizard private implementation
+ *
+ */
+
+#ifndef WPSWIZARD_P_H_
+#define WPSWIZARD_P_H_
+
+// System includes
+#include <QObject>
+#include <wlanmgmtcommon.h>
+
+
+// User includes
+#include "wlanwizardhelper.h"
+#include "wpswizard.h"
+
+// Forward declarations
+class HbStackedWidget;
+class HbTranslator;
+class HbWidget;
+class HbLabel;
+class HbView;
+class HbAction;
+class HbDocumentLoader;
+class WlanWizardHelper;
+
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsWizardPrivate : public QObject
+ {
+ Q_OBJECT
+
+public:
+ WpsWizardPrivate(WpsWizard* wizard, WlanWizardHelper *wizardHelper);
+ ~WpsWizardPrivate();
+public:
+
+ void enableNextButton(bool enable);
+
+ void nextPage();
+
+ QString getSsid();
+
+ void storeSettings(int index);
+
+ HbMainWindow* mainWindow();
+
+ void storeSettingsArray(
+ QList<TWlanProtectedSetupCredentialAttribute>& credentials);
+ QList<TWlanProtectedSetupCredentialAttribute> getSettingsArray();
+
+ void setPin(int random);
+
+ int getPin();
+
+ int nextPageId(bool useWps);
+
+ void setConfiguration(WlanWizardHelper::ConfigurationId confId,
+ const QVariant &value);
+
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+ void createPages();
+
+ int convertSecurityModes(TWlanIapSecurityMode securityMode);
+
+ int convertNetworkModes(TWlanOperatingMode networkMode);
+
+ int convertDefaultWepKey(TWlanDefaultWepKey defaultWepKey);
+
+ Q_DISABLE_COPY(WpsWizardPrivate)
+
+private slots:
+
+private:
+
+ //data
+
+ //! Pointer to the WPS wizard
+ WpsWizard *q_ptr;
+ //! pointer to the wizard helper object
+ WlanWizardHelper *mWizardHelper;
+ //! Translation object
+ QScopedPointer<HbTranslator> mTranslator;
+ //! Object containing WLAN credentials
+ TWlanProtectedSetupCredentialAttribute mWpsAttr;
+ //! Array of objects containing WLAN credentials.
+ QList<TWlanProtectedSetupCredentialAttribute> mIapList;
+ //! Random number generated for Number entry mode
+ int mRandomNumber;
+
+ friend class WpsWizard;
+ friend class TestWlanWizardContext;
+ };
+
+#endif /* WPSWIZARD_P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardpage.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2010 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: API for wps wizard pages
+*
+*/
+
+#ifndef WPSWIZARDPAGE_H_
+#define WPSWIZARDPAGE_H_
+
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wlanwizardpage.h"
+
+// Forward declarations
+class WpsWizardPrivate;
+class HbWidget;
+
+
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsWizardPage : public QObject, public WlanWizardPage
+{
+ Q_OBJECT
+
+public:
+ enum WpsPageIds {
+ PageWpsWizardStep2 = WlanWizardPage::PageWpsStart,
+ PageWpsWizardStep3_Button,
+ PageWpsWizardStep3_Number,
+ PageWpsWizardStep4,
+ PageWpsWizardStep5,
+ PageWpsWizardStep6
+ };
+
+ enum WpsMode {
+ WpsPushButtonMode = 0,
+ WpsPinCodeMode,
+ WpsManualMode
+ };
+
+public:
+ explicit WpsWizardPage(WpsWizardPrivate* parent);
+ virtual ~WpsWizardPage();
+
+ /*!
+ * Creates a visualization of the page.
+ */
+ virtual HbWidget* initializePage() = 0;
+ /*!
+ * Returns id of next page. updates settings EapWizard.
+ */
+ virtual int nextId(bool &removeFromStack) const = 0;
+ /*!
+ * This method is called when "previous" button has been pressed.
+ */
+ virtual int previousTriggered() { return OneStepBackwards;};
+ /*!
+ * This method is called when Cancel button has been pressed.
+ */
+ virtual void cancelTriggered() {};
+
+signals:
+
+public slots:
+
+protected:
+
+ //data
+ //! Pointer to private implementation
+ WpsWizardPrivate* mWizard;
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WpsWizardPage)
+
+private slots:
+
+private:
+
+};
+
+#endif /* WPSWIZARDPAGE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepfive.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2010 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: WPS wizard page step 5
+*
+*/
+
+#ifndef WPSWIZARDSTEPFIVE_H_
+#define WPSWIZARDSTEPFIVE_H_
+
+
+// System includes
+#include <QObject>
+#include <HbDocumentLoader>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class HbProgressBar;
+class WpsWizardPrivate;
+
+
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsPageStepFive : public WpsWizardPage
+ {
+Q_OBJECT
+
+public:
+
+ explicit WpsPageStepFive(WpsWizardPrivate* parent);
+ ~WpsPageStepFive();
+
+public:
+
+ HbWidget* initializePage();
+
+ int nextId(bool &removeFromStack) const;
+
+ int previousTriggered();
+
+ void cancelTriggered();
+
+ bool showPage();
+
+signals:
+
+public slots:
+
+ void itemSelected(int index);
+
+ void loadDocmlSection(Qt::Orientation orientation);
+
+protected:
+
+protected slots:
+
+private:
+
+ Q_DISABLE_COPY(WpsPageStepFive)
+
+private slots:
+
+private:
+
+ //data
+
+ //! Pointer to the HbWidget object
+ HbWidget *mWidget;
+ //! Radio button list object
+ HbRadioButtonList *mRadio;
+ //! Heading label object
+ HbLabel *mHeading;
+ //! variable used to determine if next button has to be enabled.
+ bool mValid;
+ //! Documentloader object
+ HbDocumentLoader *mLoader;
+ };
+
+#endif /* WPSWIZARDSTEPFIVE_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepfour.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,114 @@
+/*
+* Copyright (c) 2010 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: WPS wizard page step 4
+*
+*/
+
+#ifndef WPSWIZARDSTEPFOUR_H_
+#define WPSWIZARDSTEPFOUR_H_
+
+
+// System includes
+#include <QObject>
+#include <HbDocumentLoader>
+
+// User includes
+#include "wpswizardpage.h"
+#include "mwpsactiverunnercallback.h"
+#include "cwpsactiverunner.h"
+
+// Forward declarations
+class HbWidget;
+class WpsWizardPrivate;
+class WpsPageStepFourPrivate;
+
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsPageStepFour : public WpsWizardPage
+ {
+Q_OBJECT
+
+public:
+
+ explicit WpsPageStepFour(WpsWizardPrivate* parent);
+ ~WpsPageStepFour();
+
+public:
+
+ HbWidget* initializePage();
+
+ int nextId(bool &removeFromStack) const;
+
+ int previousTriggered();
+
+ void cancelTriggered();
+
+ void startOperation();
+
+ bool requiresStartOperation();
+
+ void setCredentials(
+ QList<TWlanProtectedSetupCredentialAttribute>& credentials,
+ int credentialscount);
+
+ void handleError( int aErrorCode );
+
+ bool showPage();
+
+signals:
+
+public slots:
+
+ void loadDocmlSection(Qt::Orientation orientation);
+
+protected:
+
+protected slots:
+
+private:
+
+ void startWpsRunner();
+
+ Q_DISABLE_COPY(WpsPageStepFour)
+
+private slots:
+
+private:
+
+ //data
+
+ //! HbWidget object displayed on the page
+ HbWidget *mWidget;
+ //! Member variable to hold the result of of the WPS operation
+ int mWpsErrorCode;
+ //! Member variable containing the count of received settings.
+ int mCountCredentials;
+ //! variable to determine whether to enable the next button or not.
+ bool mValid;
+ //! Document loader object.
+ HbDocumentLoader *mLoader;
+ //! Pointer to Private Implementation
+ QScopedPointer<WpsPageStepFourPrivate> d_ptr;
+
+ friend class TestWlanWizardContext;
+ };
+
+#endif /* WPSWIZARDSTEPFOUR_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepfour_p.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,73 @@
+/*
+ * Copyright (c) 2010 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: WPS Wizard: Wrapper for middleware calls
+ *
+ */
+
+#ifndef WPSWIZARDSTEPFOUR__P_H_
+#define WPSWIZARDSTEPFOUR__P_H_
+
+// System includes
+
+// User includes
+#include "wpswizardstepfour.h"
+
+// Forward declarations
+class MWpsActiveRunnerCallback;
+class CWpsActiveRunner;
+
+
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsPageStepFourPrivate : public MWpsActiveRunnerCallback
+ {
+public:
+
+ explicit WpsPageStepFourPrivate(WpsPageStepFour* pageStepFour);
+ ~WpsPageStepFourPrivate();
+
+ /*!
+ * From mwpsactiverunnercallback.h
+ * This method is called from the active runner class to notify the end
+ * of operation
+ */
+ void WpsActiveRunnerStopped(
+ QList<TWlanProtectedSetupCredentialAttribute>& aCredentials,
+ TInt aError);
+
+ void StartSetup(QString ssid,int pin);
+
+ void Cancel();
+
+
+protected:
+
+private: // data
+
+ //! C-Class implementation of the WPS setup functionality.
+ QScopedPointer<CWpsActiveRunner> mWpsActiveRunner;
+ //! Pointer to the WpsPageStepFour object
+ WpsPageStepFour* q_ptr;
+
+ friend class TestWlanWizardContext;
+ };
+
+#endif /* WPSWIZARDSTEPFOUR__P_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepthreebutton.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,82 @@
+/*
+* Copyright (c) 2010 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: Step 3 Button press mode
+*
+*/
+
+#ifndef WPSWIZARDSTEPTHREEBUTTON_H_
+#define WPSWIZARDSTEPTHREEBUTTON_H_
+
+// System includes
+#include <QObject>
+#include <HbDocumentLoader>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class WpsWizardPrivate;
+
+// External data types
+
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsPageStepThreeButton : public WpsWizardPage
+ {
+Q_OBJECT
+
+public:
+ explicit WpsPageStepThreeButton(WpsWizardPrivate* parent);
+ ~WpsPageStepThreeButton();
+
+public:
+
+ HbWidget* initializePage();
+
+ int nextId(bool &removeFromStack) const;
+
+ int previousTriggered();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WpsPageStepThreeButton)
+
+private slots:
+
+private: //data
+ //! Pointer to the widget object
+ HbWidget *mWidget;
+ //! Pointer to the label displaying the heading
+ HbLabel *mHeading;
+ //! Document loader object.
+ HbDocumentLoader *mLoader;
+ };
+
+#endif /* WPSWIZARDSTEPTHREEBUTTON_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepthreenumber.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,89 @@
+/*
+ * Copyright (c) 2010 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: Step 3 Number mode
+ *
+ */
+
+#ifndef WPSWIZARDSTEPTHREENUMBER_H_
+#define WPSWIZARDSTEPTHREENUMBER_H_
+
+// System includes
+#include <QObject>
+#include <HbDocumentLoader>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class WpsWizardPrivate;
+
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsPageStepThreeNumber : public WpsWizardPage
+{
+Q_OBJECT
+
+public:
+ explicit WpsPageStepThreeNumber(WpsWizardPrivate* parent);
+ ~WpsPageStepThreeNumber();
+
+public:
+ HbWidget* initializePage();
+
+ int nextId(bool &removeFromStack) const;
+
+ int previousTriggered();
+
+ void cancelTriggered();
+
+ bool showPage();
+
+private:
+ int computeRandNumber();
+
+ int computeCheckSum(int aPin);
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WpsPageStepThreeNumber)
+
+private slots:
+
+private: //data
+ //! Pointer to the widget object.
+ HbWidget *mWidget;
+ //! Label object used for displaying the heading.
+ HbLabel *mHeading;
+ //! Document loader object
+ HbDocumentLoader *mLoader;
+};
+
+#endif /* WPSWIZARDSTEPTHREENUMBER_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardsteptwo.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2010 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: WPS wizard page 2
+*
+*/
+#ifndef WPSWIZARDSTEPTWO_H_
+#define WPSWIZARDSTEPTWO_H_
+
+// System includes
+#include <QObject>
+#include <HbDocumentLoader>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class WpsWizardPrivate;
+
+// External data types
+// Constants
+
+/*!
+ * @addtogroup group_wps_wizard_plugin
+ * @{
+ */
+
+// Class declaration
+class WpsPageStepTwo : public WpsWizardPage
+ {
+Q_OBJECT
+
+public:
+ explicit WpsPageStepTwo(WpsWizardPrivate* parent);
+ ~WpsPageStepTwo();
+
+public:
+ HbWidget* initializePage();
+
+ int nextId(bool &removeFromStack) const;
+
+ int previousTriggered();
+
+ void cancelTriggered();
+
+ bool showPage();
+
+signals:
+
+public slots:
+ void itemSelected(int index);
+
+ void loadDocmlSection(Qt::Orientation orientation);
+
+protected:
+
+protected slots:
+
+private:
+ Q_DISABLE_COPY(WpsPageStepTwo)
+
+private slots:
+
+private: //data
+ //! Pointer to the widget object
+ HbWidget *mWidget;
+ //! Radio button list object
+ HbRadioButtonList *mRadio;
+ //! Label object used to display the heading
+ HbLabel *mHeading;
+ //! Variable used to determine whether to enable next button or not
+ bool mValid;
+ //! Variable used to store the item selected.
+ int mItemSelected;
+ //! Document loader object.
+ HbDocumentLoader* mLoader;
+ };
+
+
+#endif /* WPSWIZARDSTEPTWO_H_ */
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/resources/occ_wps_01_05.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_wps_P1" type="HbWidget">
+ <widget name="radioButtonList" type="HbRadioButtonList"/>
+ <widget name="label" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignTop"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait">
+ <widget name="occ_wps_P1" type="HbWidget">
+ <widget name="label" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="radioButtonList" dstEdge="LEFT" spacing="0un" src="" srcEdge="LEFT"/>
+ <anchoritem dst="radioButtonList" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="label" srcEdge="BOTTOM"/>
+ <anchoritem dst="radioButtonList" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="radioButtonList" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ <anchoritem dst="label" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="label" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="label" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape">
+ <widget name="occ_wps_P1" type="HbWidget">
+ <widget name="label" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="label" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="label" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="radioButtonList" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="label" srcEdge="RIGHT"/>
+ <anchoritem dst="radioButtonList" dstEdge="TOP" spacing="0un" src="" srcEdge="TOP"/>
+ <anchoritem dst="radioButtonList" dstEdge="RIGHT" spacing="0un" src="" srcEdge="RIGHT"/>
+ <anchoritem dst="radioButtonList" dstEdge="BOTTOM" spacing="0un" src="" srcEdge="BOTTOM"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="portrait" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="landscape" sections="#common landscape"/>
+ <uistate name="portrait" sections="#common portrait"/>
+ </metadata>
+</hbdocument>
+
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/resources/occ_wps_02_03.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_wps_P2" type="HbWidget">
+ <widget name="label_heading" type="HbLabel">
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <enums name="alignment" value="AlignTop"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout orientation="Vertical" type="linear">
+ <contentsmargins bottom="0un" left="var(hb-param-margin-gene-popup)" right="var(hb-param-margin-gene-popup)" top="var(hb-param-margin-gene-popup)"/>
+ <linearitem itemname="label_heading"/>
+ </layout>
+ </widget>
+ <metadata activeUIState="Common ui state" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ </metadata>
+</hbdocument>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/resources/occ_wps_P4.docml Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<hbdocument version="1.1">
+ <widget name="occ_wps_P4" type="HbWidget">
+ <widget name="label_heading" type="HbLabel">
+ <string locid="txt_occ_dialog_negotiating" name="plainText" value="Negotiating...."/>
+ <enums name="alignment" value="AlignTop"/>
+ <enums name="textWrapping" value="TextWordWrap"/>
+ <fontspec name="fontSpec" role="Secondary" textheight="var(hb-param-text-height-secondary)"/>
+ </widget>
+ <widget name="horizontalProgressBar" type="HbProgressBar">
+ <integer name="progressValue" value="0"/>
+ <integer name="minimum" value="0"/>
+ <enums name="orientation" value="Horizontal"/>
+ <integer name="maximum" value="0"/>
+ </widget>
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Expanding" verticalStretch="0"/>
+ <layout type="anchor"/>
+ </widget>
+ <section name="portrait">
+ <widget name="occ_wps_P4" type="HbWidget">
+ <widget name="label_heading" type="HbLabel">
+ <sizepolicy horizontalPolicy="Expanding" horizontalStretch="0" verticalPolicy="Preferred" verticalStretch="0"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="horizontalProgressBar" dstEdge="LEFT" spacing="0un" src="label_heading" srcEdge="LEFT"/>
+ <anchoritem dst="horizontalProgressBar" dstEdge="TOP" spacing="var(hb-param-margin-gene-middle-vertical)" src="label_heading" srcEdge="BOTTOM"/>
+ <anchoritem dst="horizontalProgressBar" dstEdge="RIGHT" spacing="0un" src="label_heading" srcEdge="RIGHT"/>
+ <anchoritem dst="label_heading" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="label_heading" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="label_heading" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <section name="landscape">
+ <widget name="occ_wps_P4" type="HbWidget">
+ <widget name="label_heading" type="HbLabel">
+ <sizepolicy horizontalPolicy="Fixed" horizontalStretch="0" verticalPolicy="Fixed" verticalStretch="0"/>
+ <sizehint type="FIXED" width="expr((var(hb-param-screen-width) - var(hb-param-margin-gene-middle-horizontal)) / 2 - var(hb-param-margin-gene-screen) - var(hb-param-margin-gene-popup))"/>
+ </widget>
+ <layout type="anchor">
+ <anchoritem dst="label_heading" dstEdge="TOP" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="TOP"/>
+ <anchoritem dst="label_heading" dstEdge="LEFT" spacing="var(hb-param-margin-gene-popup)" src="" srcEdge="LEFT"/>
+ <anchoritem dst="horizontalProgressBar" dstEdge="LEFT" spacing="var(hb-param-margin-gene-middle-horizontal)" src="label_heading" srcEdge="RIGHT"/>
+ <anchoritem dst="horizontalProgressBar" dstEdge="TOP" spacing="0un" src="label_heading" srcEdge="TOP"/>
+ <anchoritem dst="horizontalProgressBar" dstEdge="RIGHT" spacing="-var(hb-param-margin-gene-popup)" src="" srcEdge="RIGHT"/>
+ </layout>
+ </widget>
+ </section>
+ <metadata activeUIState="portrait" display="NHD portrait" unit="un">
+ <uistate name="Common ui state" sections="#common"/>
+ <uistate name="landscape" sections="#common landscape"/>
+ <uistate name="portrait" sections="#common portrait"/>
+ </metadata>
+</hbdocument>
+
\ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/resources/wpswizard_resource.qrc Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<RCC>
+ <qresource prefix="/docml">
+ <file alias="occ_wps_01_05.docml">occ_wps_01_05.docml.bin</file>
+ <file alias="occ_wps_02_03.docml">occ_wps_02_03.docml.bin</file>
+ <file alias="occ_wps_P4.docml">occ_wps_P4.docml.bin</file>
+ </qresource>
+</RCC>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/rom/wpswizard.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 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:IBY file for WPS Wizard
+*
+*/
+
+#ifndef WPSWIZARD_IBY
+#define WPSWIZARD_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR/BUILD_DIR/wpswizard.dll SHARED_LIB_DIR/wpswizard.dll
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WPSWIZARD_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/rom/wpswizard_resources.iby Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,30 @@
+/*
+* Copyright (c) 2010 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:
+* WPS Wizard resource iby.
+*/
+
+#ifndef WPSWIZARD_RESOURCES_IBY
+#define WPSWIZARD_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wpswizardplugin.qm QT_TRANSLATIONS_DIR/wpswizardplugin.qm
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WPSWIZARD_RESOURCES_IBY
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/cwpsactiverunner.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,223 @@
+/*
+ * Copyright (c) 2010 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: Implementation of middleware wrapper class
+ *
+ *
+ */
+// System includes
+#include <wlanmgmtcommon.h>
+#include <e32math.h>
+
+// User includes
+#include "cwpsactiverunner.h"
+
+// External function prototypes
+
+//Constants
+static const TInt KArrayGranularity = 4;
+static const TInt KDefaultPinLength = 10;
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cwpsactiverunnerTraces.h"
+#endif
+
+/*!
+ \class CWpsActiveRunner
+ \brief CWpsActiveRunner is a wrapper class wlan Mgmt engine interface.
+ The wrapper class for wlan management engine calls
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ * Creates the instance of active runner which encapsulates the wlan mgmt
+ * interface middleware calls
+ *
+ *
+ * \param MWpsActiveRunnerCallback[in] call back interface to notify the
+ * completion of the middleware calls
+ */
+CWpsActiveRunner* CWpsActiveRunner::NewL(MWpsActiveRunnerCallback& aObserver)
+{
+ OstTraceFunctionEntry0( CWPSACTIVERUNNER_NEWL_ENTRY );
+ CWpsActiveRunner* self = new (ELeave) CWpsActiveRunner(aObserver);
+ CleanupStack::PushL(self);
+ self->ConstructL();
+ CleanupStack::Pop(self);
+ OstTraceFunctionExit0( CWPSACTIVERUNNER_NEWL_EXIT );
+ return self;
+}
+
+/*!
+ * Creates the instance of active runner which encapsulates the wlan mgmt
+ * interface middleware calls
+ *
+ *
+ * \param MWpsActiveRunnerCallback[in] call back interface to notify the
+ * completion of the middleware calls
+ */
+CWpsActiveRunner::CWpsActiveRunner(MWpsActiveRunnerCallback& aObserver) :
+ CActive(EPriorityStandard),
+ iObserver(aObserver),
+ isCancelTriggered(false),
+ iWLANMgmtClient(NULL),
+ iIapParametersArray(NULL)
+{
+ OstTraceFunctionEntry1( CWPSACTIVERUNNER_CWPSACTIVERUNNER_ENTRY, this );
+ OstTraceFunctionExit1( CWPSACTIVERUNNER_CWPSACTIVERUNNER_EXIT, this );
+}
+
+/*!
+ * ConstructL, Two phased constructor.
+ *
+ */
+void CWpsActiveRunner::ConstructL()
+{
+ OstTraceFunctionEntry1( CWPSACTIVERUNNER_CONSTRUCTL_ENTRY, this );
+
+ CActiveScheduler::Add(this);
+ InitializeL();
+ OstTraceFunctionExit1( CWPSACTIVERUNNER_CONSTRUCTL_EXIT, this );
+}
+
+/*!
+ * Initializes the member variables for making the middleware calls
+ *
+ */
+
+void CWpsActiveRunner::InitializeL()
+{
+ OstTraceFunctionEntry1( CWPSACTIVERUNNER_INITIALIZEL_ENTRY, this );
+ iWLANMgmtClient = CWlanMgmtClient::NewL();
+ iIapParametersArray = new (ELeave) CArrayFixSeg<
+ TWlanProtectedSetupCredentialAttribute> (KArrayGranularity);
+
+ OstTraceFunctionExit1( CWPSACTIVERUNNER_INITIALIZEL_EXIT, this );
+}
+
+/*!
+ * Destructor
+ *
+ */
+CWpsActiveRunner::~CWpsActiveRunner()
+{
+ OstTraceFunctionEntry0( DUP1_CWPSACTIVERUNNER_CWPSACTIVERUNNER_ENTRY );
+ Cancel();
+ delete iWLANMgmtClient;
+ delete iIapParametersArray;
+ OstTraceFunctionExit0( DUP1_CWPSACTIVERUNNER_CWPSACTIVERUNNER_EXIT );
+}
+
+/*!
+ * Initiates the call to the middleware
+ *
+ * \param aSsid[in] The network ssid to which we have to connect
+ * \param aPin[in] The pin to be used for WPS negotiating
+ */
+void CWpsActiveRunner::StartSetup(RBuf8& aSsid, int aPin)
+{
+ OstTraceFunctionEntry1( CWPSACTIVERUNNER_STARTSETUP_ENTRY, this );
+ TWlanSsid ssid;
+ TWlanWpsPin pin;
+
+ isCancelTriggered = false;
+ ssid.Copy(aSsid);
+ TBuf8<KDefaultPinLength> pinCode;
+
+ if (aPin == 0) {
+ pinCode.AppendFill('0', 8);
+ }
+ else {
+ pinCode.AppendNum(aPin);
+ }
+
+ pin.Copy(pinCode);
+
+ iWLANMgmtClient->RunProtectedSetup(iStatus, ssid, pin, *iIapParametersArray);
+
+ SetActive();
+
+ OstTraceFunctionExit1( CWPSACTIVERUNNER_STARTSETUP_EXIT, this );
+}
+
+/*!
+ * RunL implementation
+ */
+void CWpsActiveRunner::RunL()
+{
+ OstTraceFunctionEntry1( CWPSACTIVERUNNER_RUNL_ENTRY, this );
+
+ TInt completionCode = iStatus.Int();
+ QList<TWlanProtectedSetupCredentialAttribute> credentials;
+
+ if(!isCancelTriggered) {
+
+ if (completionCode < KErrNone) {
+ //Raise Error
+ QT_TRYCATCH_LEAVING(iObserver.WpsActiveRunnerStopped(credentials, completionCode));
+ }
+ else {
+ TInt len = iIapParametersArray->Length();
+ TInt count;
+ for(count=0;count<iIapParametersArray->Count();count++)
+ {
+ TWlanProtectedSetupCredentialAttribute attr =(*iIapParametersArray)[count];
+ credentials.append(attr);
+ }
+ QT_TRYCATCH_LEAVING(iObserver.WpsActiveRunnerStopped(credentials,completionCode));
+
+ }
+ }
+
+ OstTraceFunctionExit1( CWPSACTIVERUNNER_RUNL_EXIT, this );
+}
+
+/*!
+ * Cancels the ongoing call
+ */
+void CWpsActiveRunner::DoCancel()
+{
+ OstTraceFunctionEntry1( CWPSACTIVERUNNER_DOCANCEL_ENTRY, this );
+ isCancelTriggered = true;
+ if(iWLANMgmtClient)
+ {
+ iWLANMgmtClient->CancelProtectedSetup();
+ }
+ OstTraceFunctionExit1( CWPSACTIVERUNNER_DOCANCEL_EXIT, this );
+}
+
+/*!
+ * Handles the error usecase
+ */
+TInt CWpsActiveRunner::RunError(TInt aError)
+{
+ OstTraceFunctionEntry1( CWPSACTIVERUNNER_RUNERROR_ENTRY, this );
+
+ OstTrace1( TRACE_ERROR, CWPSACTIVERUNNER_RUNERROR, "CWpsActiveRunner::RunError;aError=%d", aError );
+
+ QList<TWlanProtectedSetupCredentialAttribute> credentials;
+ if(iWLANMgmtClient)
+ {
+ iWLANMgmtClient->CancelProtectedSetup();
+ }
+
+ QT_TRYCATCH_LEAVING(iObserver.WpsActiveRunnerStopped(credentials, aError));
+
+ return 0;
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizard.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,82 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "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:
+ * WPS Wizard: API implementation.
+ *
+ */
+
+// System includes
+#include <QApplication>
+
+// User includes
+// WLAN Wizard
+#include "wlanwizardhelper.h"
+
+// WPS Wizard
+#include "wpswizard.h"
+#include "wpswizard_p.h"
+
+// Wizard Pages
+#include "wpswizardsteptwo.h"
+#include "wpswizardstepthreebutton.h"
+#include "wpswizardstepthreenumber.h"
+#include "wpswizardstepfour.h"
+#include "wpswizardstepfive.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardTraces.h"
+#endif
+
+//Forward Declarations
+class WlanWizardHelper;
+
+// External function prototypes
+
+//Local Constants
+
+/*!
+ \class WpsWizard
+ \brief Provides the WPS wizard implementation
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Creates the WpsWizard object
+
+ @param [in] wizardHelper WlanWizardHelper* Helper class to from the framework
+ */
+
+WpsWizard::WpsWizard(WlanWizardHelper *wizardHelper) :
+ d_ptr(NULL)
+{
+ OstTraceFunctionEntry1(WPSWIZARD_WPSWIZARD_ENTRY, this);
+ d_ptr.reset(new WpsWizardPrivate(this, wizardHelper));
+ OstTraceFunctionExit1(WPSWIZARD_WPSWIZARD_EXIT, this);
+}
+
+/*!
+ Destructor
+
+ */
+WpsWizard::~WpsWizard()
+{
+ OstTraceFunctionEntry1(WPSWIZARD_WPSWIZARD_DESTRUCTOR_ENTRY, this);
+ OstTraceFunctionExit1(WPSWIZARD_WPSWIZARD_DESTRUCTOR_EXIT, this);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizard_p.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,391 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the "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:
+ * WPS Wizard: Private implementation.
+ *
+ */
+
+// System includes
+#include <HbTranslator>
+#include <HbDocumentLoader>
+#include <QGraphicsWidget>
+#include <HbMainWindow>
+#include <HbView>
+#include <HbStackedWidget>
+#include <HbLabel>
+#include <HbAction>
+#include <QApplication>
+#include <cmmanagerdefines_shim.h>
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizard_pTraces.h"
+#endif
+
+// User includes
+#include "wlanwizardhelper.h"
+// WPS Wizard
+#include "wpswizard.h"
+#include "wpswizard_p.h"
+// Wizard Pages
+#include "wpswizardsteptwo.h"
+#include "wpswizardstepthreebutton.h"
+#include "wpswizardstepthreenumber.h"
+#include "wpswizardstepfour.h"
+#include "wpswizardstepfive.h"
+
+//Forward Decalrations
+
+// External function prototypes
+
+// Local constants
+
+
+/*!
+ \class WpsWizardPrivate
+ \brief This class providesthe private class implementation for WPS wizard
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor for the private implementation of wps wizard
+
+ @param [in] wizard WpsWizard* pointer to the framework object
+ @param [in] wizardHelper WlanWizardHelper * pointer to the wizard helpper class
+
+ @return WpsWizardPrivate
+ */
+WpsWizardPrivate::WpsWizardPrivate(WpsWizard* wizard,
+ WlanWizardHelper *wizardHelper) :
+ q_ptr(wizard),
+ mWizardHelper(wizardHelper),
+ mTranslator(new HbTranslator("wpswizardplugin")),
+ mRandomNumber(0)
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_ENTRY, this);
+ createPages();
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_EXIT, this);
+}
+
+/*!
+ Destructor
+ */
+WpsWizardPrivate::~WpsWizardPrivate()
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_DESTRUCTOR_ENTRY, this);
+ // have to delete the memory that was allocated in this object
+ mIapList.clear();
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_DESTRUCTOR_EXIT, this);
+}
+
+/*!
+ Provides the caller with the functionality to enable/disable the 'Next' button
+
+ @param [in] enable bool to indicate whether to enable or disable the 'next button'
+ */
+void WpsWizardPrivate::enableNextButton(bool enable)
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_ENTRY, this);
+ mWizardHelper->enableNextButton(enable);
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_EXIT, this);
+}
+
+/*!
+ Provides the functionality to automatically move to the next page.
+ */
+void WpsWizardPrivate::nextPage()
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_NEXTPAGE_ENTRY, this);
+ mWizardHelper->nextPage();
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGE_EXIT, this);
+}
+
+/*!
+ Provides access to the main window
+
+ @return HbMainWindow* An instance of HbMainWindow.
+ */
+HbMainWindow* WpsWizardPrivate::mainWindow()
+{
+ return mWizardHelper->mainWindow();
+}
+
+/*!
+ Provides the functionality to store the received settings
+
+ @param [in] index int indicates the index in the array of received
+ settings to be stored
+ */
+void WpsWizardPrivate::storeSettings(int index)
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGS_ENTRY, this);
+
+ if (mIapList.count() > index)
+ {
+ mWpsAttr = mIapList[index];
+
+ // SSID
+ QString ssid = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iSsid.Ptr()),
+ mWpsAttr.iSsid.Length());
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfSsid, ssid);
+ // WEP Key1
+ QString str = QString::fromUtf8(reinterpret_cast<const char*>(mWpsAttr.iWepKey1.Ptr()),
+ mWpsAttr.iWepKey1.Length());
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep1, str);
+ // WEP Key2
+ str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWepKey2.Ptr()),
+ mWpsAttr.iWepKey2.Length());
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep2, str);
+ // WEP Key3
+ str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWepKey3.Ptr()),
+ mWpsAttr.iWepKey3.Length());
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep3, str);
+ // WEP Key4
+ str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWepKey4.Ptr()),
+ mWpsAttr.iWepKey4.Length());
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWep4, str);
+ //Default WEP key in use
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWepDefault,
+ convertDefaultWepKey(mWpsAttr.iWepDefaultKey));
+ //Key WPA
+ str = QString::fromUtf8(reinterpret_cast<const char*> (mWpsAttr.iWpaPreSharedKey.Ptr()),
+ mWpsAttr.iWpaPreSharedKey.Length());
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfKeyWpa, str);
+ // security mode
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfSecurityMode,
+ convertSecurityModes(mWpsAttr.iSecurityMode));
+ // Network Mode
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfNetworkMode,
+ convertNetworkModes(mWpsAttr.iOperatingMode));
+
+ mWizardHelper->setConfiguration(WlanWizardHelper::ConfUsePsk, true);
+ }
+
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGS_EXIT, this);
+}
+
+/*!
+ Provides the functionality to retrieve the ssid of the network to connect
+
+ @return returns the SSID as a QString
+ */
+QString WpsWizardPrivate::getSsid()
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSSID_ENTRY, this);
+ QString ssid;
+ ssid = mWizardHelper->configuration(WlanWizardHelper::ConfSsid).toString();
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSSID_EXIT, this);
+ return ssid;
+}
+
+/*!
+ Provides functionality for the caller to store the array of
+ recieved settings from AP
+
+ @param [in] credentials QList<TWlanProtectedSetupCredentialAttribute>&
+ received settings from wps enabled AP
+ */
+void WpsWizardPrivate::storeSettingsArray(QList<
+ TWlanProtectedSetupCredentialAttribute>& credentials)
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_ENTRY, this);
+ mIapList = credentials;
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_EXIT, this);
+}
+
+/*!
+ Returns the array of settings received from the AP
+
+ @return Array containing the settings
+ */
+QList<TWlanProtectedSetupCredentialAttribute> WpsWizardPrivate::getSettingsArray()
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_ENTRY, this);
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_EXIT, this);
+ return mIapList;
+}
+
+/*!
+ Creates the required pages for WPS setup
+ */
+void WpsWizardPrivate::createPages()
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_CREATEPAGES_ENTRY, this);
+
+ mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep2,
+ new WpsPageStepTwo(this));
+
+ mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep3_Button,
+ new WpsPageStepThreeButton(this));
+
+ mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep3_Number,
+ new WpsPageStepThreeNumber(this));
+
+ mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep4,
+ new WpsPageStepFour(this));
+
+ mWizardHelper->addPage(WpsWizardPage::PageWpsWizardStep5,
+ new WpsPageStepFive(this));
+
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_CREATEPAGES_EXIT, this);
+}
+
+/*!
+ Converts enums between wlan security mode to cm manager enums.
+
+ @param [in] securityMode Security operating mode from wlanmgmt api
+
+ @return int converted CMManagerShim::WlanSecMode codes
+ */
+int WpsWizardPrivate::convertSecurityModes(TWlanIapSecurityMode securityMode)
+{
+ CMManagerShim::WlanSecMode cmManagerSecurityMode;
+ switch(securityMode) {
+ case EWlanIapSecurityModeWep:
+ cmManagerSecurityMode = CMManagerShim::WlanSecModeWep;
+ break;
+
+ case EWlanIapSecurityModeWpa:
+ cmManagerSecurityMode = CMManagerShim::WlanSecModeWpa;
+ break;
+
+ case EWlanIapSecurityModeWpa2Only:
+ cmManagerSecurityMode = CMManagerShim::WlanSecModeWpa2;
+ break;
+
+ default:
+ // invalid securityMode.
+ // Not possible to get EWlanIapSecurityMode802d1x here. Since not
+ // supported with wps
+ Q_ASSERT(EWlanIapSecurityModeAllowUnsecure == securityMode);
+ cmManagerSecurityMode = CMManagerShim::WlanSecModeOpen;
+ break;
+ }
+
+ return cmManagerSecurityMode;
+}
+
+/*!
+ Converts enums between wlan wep key index to cm manager enums.
+
+ @param [in] defaultWepKey Default wep key used in wlanmgmt api
+
+ @return int converted CMManagerShim::WlanWepKeyIndex codes
+ */
+int WpsWizardPrivate::convertDefaultWepKey(TWlanDefaultWepKey defaultWepKey)
+{
+ int cmManagerWepKeyIndex;
+
+ switch (defaultWepKey) {
+ case EWlanDefaultWepKey2:
+ cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex2;
+ break;
+
+ case EWlanDefaultWepKey3:
+ cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex3;
+ break;
+
+ case EWlanDefaultWepKey4:
+ cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex4;
+ break;
+
+ case EWlanDefaultWepKey1:
+ default:
+ // It is possible that the value of defaultWepKey is not initialized
+ // when security mode is Open. That's why we cannot assert here.
+ cmManagerWepKeyIndex = CMManagerShim::WepKeyIndex1;
+ break;
+ }
+ return cmManagerWepKeyIndex;
+}
+
+/*!
+ Converts enums between wlan network mode to cm manager enums.
+
+ @param [in] networkMode Networking operating mode from wlanmgmt api
+
+ @return int converted CMManagerShim::WlanConnMode codes
+ */
+int WpsWizardPrivate::convertNetworkModes(TWlanOperatingMode networkMode)
+{
+ CMManagerShim::WlanConnMode wlanConnMode;
+ switch (networkMode) {
+ case EWlanOperatingModeAdhoc:
+ wlanConnMode = CMManagerShim::Adhoc;
+ break;
+
+ default:
+ Q_ASSERT(EWlanOperatingModeInfrastructure == networkMode);
+ wlanConnMode = CMManagerShim::Infra;
+ break;
+ }
+ return wlanConnMode;
+}
+
+/*!
+ Provides with the functionality to store the PIN generated
+
+ @param [in] random The generated PIN code to be used in succesive steps
+
+ */
+void WpsWizardPrivate::setPin(int random)
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_SETPIN_ENTRY, this);
+ mRandomNumber = random;
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_SETPIN_EXIT, this);
+}
+
+/*!
+ Returns the PIN code stored in one of the WPS Pages
+
+ @return PIN code to be used in the WPS operation.
+ */
+int WpsWizardPrivate::getPin()
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETPIN_ENTRY, this);
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETPIN_EXIT, this);
+ return mRandomNumber;
+}
+
+/*!
+ Returns page id when manual configuration is chosen
+
+ @param [in] useWps is WPS used or not?
+
+ @return new page id
+ */
+int WpsWizardPrivate::nextPageId(bool useWps)
+{
+ OstTraceFunctionEntry1(WPSWIZARDPRIVATE_NEXTPAGEID_ENTRY, this);
+ OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGEID_EXIT, this);
+ return mWizardHelper->nextPageId(useWps);
+}
+
+/*!
+ Sets wlan configuration value for given configuration identifier.
+ See ConfigurationId for further details about the data types in QVariant.
+
+ @param [in] confId Configuration Identifier do to be set
+ @param [in] value Value for configuration.
+ */
+void WpsWizardPrivate::setConfiguration(
+ WlanWizardHelper::ConfigurationId confId,
+ const QVariant &value)
+{
+ mWizardHelper->setConfiguration(confId, value);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardpage.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,69 @@
+/*
+ * Copyright (c) 2010 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:
+ * WPS Wizard: API for wizard pages.
+ *
+ */
+
+// System includes
+#include <HbWidget>
+
+// User includes
+#include "wpswizard_p.h"
+#include "wpswizardpage.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardpageTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+/*!
+ \class WpsWizardPage
+ \brief Implementation of the basic wps wizard page functionality
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor for the WPS page baseclass
+
+ @param [in] parent WpsWizardPrivate* pointer to the implementation class
+ */
+
+WpsWizardPage::WpsWizardPage(WpsWizardPrivate* parent) :
+ QObject(parent),
+ mWizard(parent)
+{
+ OstTraceFunctionEntry1(WPSWIZARDPAGE_WPSWIZARDPAGE_ENTRY, this);
+ OstTraceFunctionExit1(WPSWIZARDPAGE_WPSWIZARDPAGE_EXIT, this);
+}
+
+/*!
+ Destructor
+ */
+WpsWizardPage::~WpsWizardPage()
+{
+ OstTraceFunctionEntry1(WPSWIZARDPAGE_WPSWIZARDPAGE_DESTRUCTOR_ENTRY, this);
+ mWizard = NULL;
+ OstTraceFunctionExit1(WPSWIZARDPAGE_WPSWIZARDPAGE_DESTRUCTOR_EXIT, this);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepfive.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,229 @@
+/*
+ * Copyright (c) 2010 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:
+ * WPS Wizard Page: Step 5
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <HbMainWindow>
+
+// User includes
+#include "wpswizardstepfive.h"
+#include "wpswizard_p.h"
+
+// Trace Includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardstepfiveTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+
+/*!
+ \class WpsPageStepFive
+ \brief Implementation of wps wizard page for step five.
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor for WPS page five
+
+ @param [in] parent WpsWizardPrivate* Pointer to the WPS wizard private
+ implementation
+ */
+WpsPageStepFive::WpsPageStepFive(WpsWizardPrivate* parent) :
+ WpsWizardPage(parent),
+ mWidget(NULL),
+ mRadio(NULL),
+ mHeading(NULL),
+ mValid(false),
+ mLoader(NULL)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_EXIT, this);
+}
+
+/*!
+ Destructor
+ */
+WpsPageStepFive::~WpsPageStepFive()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_DESTRUCTOR_ENTRY, this);
+ delete mLoader;
+ OstTraceFunctionExit1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_DESTRUCTOR_EXIT, this);
+}
+
+/*!
+ Loads the page with all the widgets
+
+ @return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepFive::initializePage()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFIVE_INITIALIZEPAGE_ENTRY, this);
+
+ if (!mWidget) {
+ bool ok;
+
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ mLoader->load(":/docml/occ_wps_01_05.docml", &ok);
+ Q_ASSERT(ok);
+
+ // Initialize orientation
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_wps_P1"));
+ Q_ASSERT(mWidget);
+
+ mHeading = qobject_cast<HbLabel*> (mLoader->findWidget("label"));
+ Q_ASSERT(mHeading);
+
+ mHeading->setPlainText(hbTrId("txt_occ_dialog_settings_received_for_multiple_wlan"));
+
+ mRadio = qobject_cast<HbRadioButtonList*> (mLoader->findWidget(
+ "radioButtonList"));
+ Q_ASSERT(mRadio);
+
+ QList<TWlanProtectedSetupCredentialAttribute> arr = mWizard->getSettingsArray();
+
+ QStringList ssidList;
+ for (int count = 0; count < arr.count(); count++)
+ {
+ TWlanProtectedSetupCredentialAttribute attr = arr[count];
+ QString ssid = QString::fromUtf8((const char*) attr.iSsid.Ptr(),
+ attr.iSsid.Length());
+ ssidList.append(ssid);
+ }
+ mRadio->setItems(ssidList);
+
+ bool connectOk = connect(
+ mRadio,
+ SIGNAL(itemSelected(int)),
+ this,
+ SLOT(itemSelected(int)));
+ Q_ASSERT(connectOk);
+
+ connectOk = connect(
+ mWizard->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+
+ Q_ASSERT(connectOk);
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPFIVE_INITIALIZEPAGE_EXIT, this);
+ return mWidget;
+}
+
+/*!
+ Determines the Number of steps to move backwards when 'Prev' Button
+ is clicked
+
+ @return int Number of pages to move backwards
+ */
+int WpsPageStepFive::previousTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFIVE_PREVIOUSTRIGGERED_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPFIVE_PREVIOUSTRIGGERED_EXIT, this);
+
+ return (PageWpsWizardStep5 - PageWpsWizardStep2) - 1;
+}
+/*!
+ CallBack when the cancel button is clicked
+ */
+void WpsPageStepFive::cancelTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFIVE_CANCELTRIGGERED_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPFIVE_CANCELTRIGGERED_EXIT, this);
+}
+
+/*!
+ Funtion to determine the next page to be displayed in the wizard process
+
+ @param [out] removeFromStack bool RemoveFromStack indicating whether the current
+ page should be removed from the stack
+
+ @return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepFive::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFIVE_NEXTID_ENTRY, this);
+ removeFromStack = false;
+ OstTraceFunctionExit1(WPSPAGESTEPFIVE_NEXTID_EXIT, this);
+ return WlanWizardPage::PageProcessSettings;
+}
+
+/*!
+ Determines whether the Next action button should be enabled or not
+
+ @return bool Indicating whether next button is enabled or not.
+ */
+bool WpsPageStepFive::showPage()
+{
+ return mValid;
+}
+
+
+/*!
+ Call back when an item is selected from the list on the UI
+
+ @param [in] index Indicating the relative position in the list
+ */
+void WpsPageStepFive::itemSelected(int index)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFIVE_ITEMSELECTED_ENTRY, this);
+ mValid = true;
+ mWizard->storeSettings(index);
+ mWizard->enableNextButton(mValid);
+ OstTraceFunctionExit1(WPSPAGESTEPFIVE_ITEMSELECTED_EXIT, this);
+}
+
+
+/*!
+ Loads docml at initialization phase and when HbMainWindow sends orientation()
+ signal.
+
+ @param [in] orientation orientation to be loaded.
+ */
+void WpsPageStepFive::loadDocmlSection(Qt::Orientation orientation)
+{
+ bool ok = false;
+
+ // Load the orientation specific section
+ if (orientation == Qt::Horizontal) {
+ mLoader->load(":/docml/occ_wps_01_05.docml", "landscape", &ok);
+ Q_ASSERT(ok);
+ }
+ else {
+ Q_ASSERT(orientation == Qt::Vertical);
+ mLoader->load(":/docml/occ_wps_01_05.docml", "portrait", &ok);
+ Q_ASSERT(ok);
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepfour.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,330 @@
+/*
+ * Copyright (c) 2010 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:
+ * WPS Wizard Page: Step 4 progress bar display
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <HbProgressBar>
+#include <HbMessageBox>
+#include <HbMainWindow>
+#include <platform\wlanerrorcodes.h>
+
+// User includes
+#include "wpswizardstepfour.h"
+#include "wpswizardstepfour_p.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardstepfourTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+
+/*!
+ \class WpsPageStepFour
+ \brief Implementation of wps wizard page for step four.
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+
+/*!
+ Constructor for WPS page four
+
+ @param [in] parent Pointer to the WPS wizard private implementation
+ */
+WpsPageStepFour::WpsPageStepFour(WpsWizardPrivate* parent) :
+ WpsWizardPage(parent),
+ mWidget(NULL),
+ mWpsErrorCode(0),
+ mCountCredentials(0),
+ mLoader(NULL),
+ d_ptr(NULL)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_ENTRY, this);
+ d_ptr.reset(new WpsPageStepFourPrivate(this));
+ OstTraceFunctionExit1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_EXIT, this);
+}
+
+/*!
+ Destructor
+ */
+WpsPageStepFour::~WpsPageStepFour()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_DESTRUCTOR_ENTRY, this);
+ delete mLoader;
+ OstTraceFunctionExit1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_DESTRUCTOR_EXIT, this);
+}
+
+/*!
+ Loads the page with all the widgets
+
+ @return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepFour::initializePage()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOUR_INITIALIZEPAGE_ENTRY, this);
+
+ if (!mWidget) {
+ bool ok;
+
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ mLoader->load(":/docml/occ_wps_P4.docml", &ok);
+ Q_ASSERT(ok);
+
+ // Initialize orientation
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_wps_P4"));
+ Q_ASSERT(mWidget);
+
+ bool connectOk = connect(
+ mWizard->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(connectOk);
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPFOUR_INITIALIZEPAGE_EXIT, this);
+
+ return mWidget;
+}
+
+/*!
+ In case the wizard page needs timer protection to the page use this
+ method to start control operation of the page. This method will be called
+ after requiresStartOperation() if true is returned with different call
+ stack.
+
+ See requiresStartOperation(), WlanWizardHelper::nextPage().
+ */
+
+void WpsPageStepFour::startOperation()
+{
+ startWpsRunner();
+}
+
+/*!
+ Funtion to determine the next page to be displayed in the wizard process
+
+ @param [out] removeFromStack bool variable indicating whether the current
+ page should be removed from the stack
+
+ @return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepFour::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOUR_NEXTID_ENTRY, this);
+
+ int id = WpsWizardPage::PageNone;
+ removeFromStack = false;
+
+ // Error has occured go to error page
+ if(mWpsErrorCode != 0) {
+ return WlanWizardPage::PageGenericError;
+ }
+
+ if(mCountCredentials == 0) {
+ id = WlanWizardPage::PageProcessSettings;
+ } else if (mCountCredentials >= 2) {
+ id = WpsWizardPage::PageWpsWizardStep5;
+ } else {
+ // only one response received. So go to the summary page
+ mWizard->storeSettings(0);
+ id = WlanWizardPage::PageProcessSettings;
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPFOUR_NEXTID_EXIT, this);
+ return id;
+}
+
+/*!
+ If the wizard page requires timer protection and asyncronous time
+ lasting operation, protect parameters should return true. This is used
+ in pages e.g. where progressbar is shown. The whole point is to
+ initialize the UI before starting the operation, so that the progress bar
+ is painted before the operation takes place.
+
+ In practise this means that if true is returned in protect.
+ - WlanWizardPage::startOperation() is called to start the page operation.
+ - 1.5sec timer is used to protect the page
+ - wizardPage MUST call WlanWizardHelper::nextPage() to trigger entry to
+ next wizard page.
+
+ @return true if protection is need. see description of the method.
+ */
+
+bool WpsPageStepFour::requiresStartOperation()
+{
+ return true;
+}
+
+/*!
+ Determines the Number of steps to move backwards when 'Prev' Button
+ is clicked
+
+ @return int Number of pages to move backwards
+ */
+int WpsPageStepFour::previousTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOUR_PREVIOUSTRIGGERED_ENTRY, this);
+ d_ptr->Cancel();
+ OstTraceFunctionExit1(WPSPAGESTEPFOUR_PREVIOUSTRIGGERED_EXIT, this);
+ return (PageWpsWizardStep4 - PageWpsWizardStep2) - 1;
+}
+
+/*!
+ Determines whether the Next action button should be enabled or not
+
+ @return bool Indicating whether next button is enabled or not.
+ */
+bool WpsPageStepFour::showPage()
+{
+ mWpsErrorCode = 0;
+
+ return false;
+}
+
+/*!
+ Handles the error case. Based on the error code decides
+ whether to retry or stop the wizard
+
+ @param [in] aErrorCode integer variable indicating the error codes
+ */
+void WpsPageStepFour::handleError(int aErrorCode)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOUR_HANDLEERROR_ENTRY, this);
+ QString str;
+ OstTrace1( TRACE_ERROR, WPSPAGESTEPFOUR_HANDLEERROR, "WpsPageStepFour::handleError;aErrorCode=%d", aErrorCode );
+ mWpsErrorCode = aErrorCode;
+ switch (aErrorCode) {
+ case KErrWlanProtectedSetupOOBInterfaceReadError:
+ case KErrWlanProtectedSetupDecryptionCRCFailure:
+ case KErrWlanProtectedSetup2_4ChannelNotSupported:
+ case KErrWlanProtectedSetup5_0ChannelNotSupported:
+ case KErrWlanProtectedSetupNetworkAuthFailure:
+ case KErrWlanProtectedSetupNoDHCPResponse:
+ case KErrWlanProtectedSetupFailedDHCPConfig:
+ case KErrWlanProtectedSetupIPAddressConflict:
+ case KErrWlanProtectedSetupCouldNotConnectToRegistrar:
+ case KErrWlanProtectedSetupMultiplePBCSessionsDetected:
+ case KErrWlanProtectedSetupRogueActivitySuspected:
+ case KErrWlanProtectedSetupDeviceBusy:
+ case KErrWlanProtectedSetupSetupLocked:
+ case KErrWlanProtectedSetupMessageTimeout:
+ case KErrWlanProtectedSetupRegistrationSessionTimeout:
+ str = QString(hbTrId("txt_occ_dialog_configuration_failed_please_try_ag"));
+ break;
+
+ case KErrWlanProtectedSetupDevicePasswordAuthFailure:
+ case KErrWlanProtectedSetupPINMethodNotSupported:
+ case KErrWlanProtectedSetupPBMethodNotSupported:
+ default:
+ str = QString(hbTrId("txt_occ_dialog_configuration_failed_authenticatio"));
+ break;
+
+ }
+
+ mValid = false;
+ mWizard->setConfiguration(WlanWizardHelper::ConfGenericErrorString, str);
+ mWizard->setConfiguration(
+ WlanWizardHelper::ConfGenericErrorPageStepsBackwards,
+ (PageWpsWizardStep4 - PageWpsWizardStep2));
+ mWizard->nextPage();
+
+ OstTraceFunctionExit1(WPSPAGESTEPFOUR_HANDLEERROR_EXIT, this) ;
+}
+
+/*!
+ Provides the functionality to initiate the WPS functionality
+ */
+void WpsPageStepFour::startWpsRunner()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOUR_STARTWPSRUNNER_ENTRY, this);
+ mValid = false;
+ d_ptr->StartSetup(mWizard->getSsid(), mWizard->getPin());
+ OstTraceFunctionExit1(WPSPAGESTEPFOUR_STARTWPSRUNNER_EXIT, this);
+}
+
+/*!
+ Stores the credentials set by the user, through the WPs Wizard
+
+ @param [in] credentials List of Credentials entered by user.
+
+ @param credentialscount Number Of Credentials in the list
+ */
+void WpsPageStepFour::setCredentials(
+ QList<TWlanProtectedSetupCredentialAttribute>& credentials,
+ int credentialscount)
+{
+ OstTraceFunctionEntry1( WPSPAGESTEPFOUR_SETCREDENTIALS_ENTRY, this );
+
+ mCountCredentials = credentialscount;
+ mWizard->storeSettingsArray(credentials);
+ mWizard->nextPage();
+ // enable the next button
+
+ OstTraceFunctionExit1( WPSPAGESTEPFOUR_SETCREDENTIALS_EXIT, this );
+}
+
+/*!
+ CallBack when the cancel button is clicked
+ */
+void WpsPageStepFour::cancelTriggered()
+{
+ OstTraceFunctionEntry1( WPSPAGESTEPFOUR_CANCELTRIGGERED_ENTRY, this );
+ d_ptr->Cancel();
+ OstTraceFunctionExit1( WPSPAGESTEPFOUR_CANCELTRIGGERED_EXIT, this );
+}
+
+/*!
+ Loads docml at initialization phase and when HbMainWindow sends
+ orientation() signal.
+
+ @param orientation[in] orientation to be loaded.
+ */
+void WpsPageStepFour::loadDocmlSection(Qt::Orientation orientation)
+{
+ bool ok = false;
+
+ // Load the orientation specific section
+ if (orientation == Qt::Horizontal) {
+ mLoader->load(":/docml/occ_wps_P4.docml", "landscape", &ok);
+ Q_ASSERT(ok);
+ }
+ else {
+ Q_ASSERT(orientation == Qt::Vertical);
+ mLoader->load(":/docml/occ_wps_P4.docml", "portrait", &ok);
+ Q_ASSERT(ok);
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepfour_p.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,137 @@
+/*
+* Copyright (c) 2010 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:
+* WPS Wizard Page: Step 4 progress bar display
+*/
+
+//System Includes
+
+//User Includes
+#include "wpswizard.h"
+#include "wpswizardstepfour_p.h"
+#include "cwpsactiverunner.h"
+
+// Trace includes
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardstepfour_pTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+
+/*!
+ \class WpsPageStepFourPrivate
+ \brief Private implementation of wps wizard page for step four.
+ */
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor for WPS page four
+
+ @param [in] WpsPageStepFour* Pointer to the public/Ui class
+ */
+
+WpsPageStepFourPrivate::WpsPageStepFourPrivate(WpsPageStepFour* pageStepFour) :
+ mWpsActiveRunner(NULL),
+ q_ptr(pageStepFour)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOURPRIVATE_WPSPAGESTEPFOURPRIVATE_ENTRY, this);
+
+ // start the framework.
+ CWpsActiveRunner* runner = NULL;
+ QT_TRAP_THROWING(runner = CWpsActiveRunner::NewL(*this));
+ mWpsActiveRunner.reset(runner);
+
+ OstTraceFunctionExit1(WPSPAGESTEPFOURPRIVATE_WPSPAGESTEPFOURPRIVATE_EXIT, this);
+}
+
+/*!
+ Destructor
+ */
+WpsPageStepFourPrivate::~WpsPageStepFourPrivate()
+{
+ OstTraceFunctionEntry1(DUP1_WPSPAGESTEPFOURPRIVATE_WPSPAGESTEPFOURPRIVATE_ENTRY, this);
+ OstTraceFunctionExit1(DUP1_WPSPAGESTEPFOURPRIVATE_WPSPAGESTEPFOURPRIVATE_EXIT, this);
+}
+
+/*!
+ This method will initiate the WPS setup functionality.
+
+ @param [in] ssid name of the network which supports wps
+ @param [in] pin pin number to be used for WPS negotiating.
+ */
+void WpsPageStepFourPrivate::StartSetup(QString ssid, int pin)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOURPRIVATE_STARTSETUP_ENTRY, this);
+
+ TPtrC ptrName(reinterpret_cast<const TText*> (ssid.constData()));
+
+ RBuf8 ssidName;
+ QT_TRAP_THROWING(ssidName.CreateL(ptrName.Length()));
+ ssidName.Copy(ptrName);
+
+ mWpsActiveRunner->StartSetup(ssidName, pin);
+ ssidName.Close();
+
+ OstTraceFunctionExit1(WPSPAGESTEPFOURPRIVATE_STARTSETUP_EXIT, this);
+}
+
+/*!
+ CallBack informing the completion of the WPS setup.
+
+ @param [in] aCredentials An array of credentials from the remote AP
+ @param [in] aError integer variable indicating result of the operation
+ */
+void WpsPageStepFourPrivate::WpsActiveRunnerStopped(
+ QList<TWlanProtectedSetupCredentialAttribute>& aCredentials,
+ TInt aError)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOURPRIVATE_WPSACTIVERUNNERSTOPPED_ENTRY, this);
+
+ // mWpsErrorCode = aError;
+ if (aError == KErrNone) {
+ q_ptr->setCredentials(aCredentials, aCredentials.count());
+ } else if (aError == KErrCancel) {
+ // operation was cancelled
+ } else {
+ OstTrace1(
+ TRACE_ERROR,
+ WPSPAGESTEPFOURPRIVATE_WPSACTIVERUNNERSTOPPED_ERROR,
+ "WpsPageStepFourPrivate::WpsActiveRunnerStopped;Error=%d",
+ aError);
+
+ q_ptr->handleError(aError);
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPFOURPRIVATE_WPSACTIVERUNNERSTOPPED_EXIT, this);
+}
+
+/*!
+ To cancel the ongoing WPS setup implementation.
+ */
+void WpsPageStepFourPrivate::Cancel()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPFOURPRIVATE_CANCEL_ENTRY, this);
+
+ mWpsActiveRunner->DoCancel();
+
+ OstTraceFunctionExit1(WPSPAGESTEPFOURPRIVATE_CANCEL_EXIT, this);
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepthreebutton.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,136 @@
+/*
+ * Copyright (c) 2010 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:
+ * WPS Wizard Page: Step 3 Push button number
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <HbMainwindow>
+
+// User includes
+#include "wpswizardstepthreebutton.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardstepthreebuttonTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+/*!
+ \class WpsPageStepThreeButton
+ \brief Implementation of wps wizard page for step three button press mode.
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor for WPS page three button
+
+ @param [in] parent Pointer to the WPS wizard private implementation
+ */
+WpsPageStepThreeButton::WpsPageStepThreeButton(WpsWizardPrivate* parent) :
+ WpsWizardPage(parent),
+ mWidget(NULL),
+ mHeading(NULL),
+ mLoader(NULL)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_EXIT, this);
+
+}
+
+/*!
+ Destructor
+ */
+WpsPageStepThreeButton::~WpsPageStepThreeButton()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_DESTRUCTOR_ENTRY, this);
+ delete mLoader;
+ OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_DESTRUCTOR_EXIT, this);
+}
+
+/*!
+ Loads the page with all the widgets
+
+ @return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepThreeButton::initializePage()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_INITIALIZEPAGE_ENTRY, this);
+
+ if (!mWidget) {
+ bool ok;
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ mLoader->load(":/docml/occ_wps_02_03.docml", &ok);
+ Q_ASSERT(ok);
+
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_wps_P2"));
+ Q_ASSERT(mWidget);
+
+ mHeading = qobject_cast<HbLabel*> (mLoader->findWidget("label_heading"));
+ Q_ASSERT(mHeading);
+
+ mHeading->setPlainText(hbTrId("txt_occ_dialog_first_press_button_on_the_wireless"));
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_INITIALIZEPAGE_EXIT, this);
+ return mWidget;
+}
+
+/*!
+ Funtion to determine the next page to be displayed in the wizard process
+
+ @param [out] removeFromStack bool indicating whether the current page should be
+ removed from the stack
+
+ @return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepThreeButton::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_NEXTID_ENTRY, this);
+ removeFromStack = false;
+ OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_NEXTID_EXIT, this);
+
+ return WpsWizardPage::PageWpsWizardStep4;
+}
+
+/*!
+ Determines the Number of steps to move backwards when 'Prev' Button
+ is clicked
+
+ @return int Number of pages to move backwards
+ */
+int WpsPageStepThreeButton::previousTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_PREVIOUSTRIGGERED_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_PREVIOUSTRIGGERED_EXIT, this);
+ return (PageWpsWizardStep3_Button - PageWpsWizardStep2);
+}
+
+
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepthreenumber.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,218 @@
+/*
+ * Copyright (c) 2010 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:
+ * WPS Wizard Page: Step 3 Number enter mode.
+ *
+ */
+
+// System includes
+#include <HbDocumentLoader>
+#include <HbWidget>
+#include <HbRadiobuttonList>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <QTextStream>
+#include <QTime>
+#include <HbMainWindow>
+#include <HbParameterLengthLimiter>
+
+// User includes
+#include "wpswizardstepthreenumber.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardstepthreenumberTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+const static int KMaxPINLength = 8;
+
+/*!
+ \class WpsPageStepThreeNumber
+ \brief Implementation of wps wizard page for step three PIN Entry mode.
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor for WPS page three number entry mode
+
+ @param [in] parent Pointer to the WPS wizard private implementation
+ */
+WpsPageStepThreeNumber::WpsPageStepThreeNumber(WpsWizardPrivate* parent) :
+ WpsWizardPage(parent),
+ mWidget(NULL),
+ mHeading(NULL),
+ mLoader(NULL)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_EXIT, this);
+
+}
+
+/*!
+ Destructor
+ */
+WpsPageStepThreeNumber::~WpsPageStepThreeNumber()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_DESTRUCTOR_ENTRY, this);
+ delete mLoader;
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_DESTRUCTOR_EXIT, this);
+}
+
+/*!
+ Loads the page with all the widgets
+
+ @return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepThreeNumber::initializePage()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_ENTRY, this);
+
+ if (!mWidget) {
+ bool ok;
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ mLoader->load(":/docml/occ_wps_02_03.docml", &ok);
+ Q_ASSERT(ok);
+
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_wps_P2"));
+ Q_ASSERT(mWidget);
+
+ mHeading= qobject_cast<HbLabel*> (mLoader->findWidget("label_heading"));
+ Q_ASSERT(mHeading);
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_EXIT, this);
+
+ return mWidget;
+}
+
+/*!
+ Funtion to determine the next page to be displayed in the wizard process
+
+ @param [out] removeFromStack bool indicating whether the current page should be
+ removed from the stack
+
+ @return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepThreeNumber::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_NEXTID_ENTRY, this);
+ removeFromStack = false;
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_NEXTID_EXIT, this);
+
+ return WpsWizardPage::PageWpsWizardStep4;
+}
+
+/*!
+ Determines the Number of steps to move backwards when 'Prev' Button
+ is clicked
+
+ @return int Number of pages to move backwards
+ */
+int WpsPageStepThreeNumber::previousTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_ENTRY, this);
+
+ mWizard->setPin(0);
+
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_EXIT, this);
+ return (PageWpsWizardStep3_Number - PageWpsWizardStep2) - 1;
+}
+
+/*!
+ CallBack when the cancel button is clicked
+ */
+void WpsPageStepThreeNumber::cancelTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_ENTRY, this);
+ mWizard->setPin(0);
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_EXIT, this);
+}
+
+
+/*!
+ Determines whether the Next action button should be enabled or not
+
+ @return bool Indicating whether next button is enabled or not.
+ */
+bool WpsPageStepThreeNumber::showPage()
+{
+ int randomNumber = computeRandNumber();
+ mHeading->setPlainText(
+ HbParameterLengthLimiter(
+ "txt_occ_dialog_enter_1_on_the_wireless_station_t").arg(
+ QString::number(randomNumber)));
+ mWizard->setPin(randomNumber);
+ return true;
+}
+
+/*!
+ Computes the Random number based on current system time
+
+ @return int Returns the generated random number
+ */
+int WpsPageStepThreeNumber::computeRandNumber()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_ENTRY, this);
+
+ int pin = 0;
+ QTime time(0, 0);
+ int seed = time.secsTo(QTime::currentTime());
+
+ do {
+ qsrand(seed);
+ pin = qrand();
+ } while (pin < (10 ^ (KMaxPINLength - 2)) || (((pin / 1000000) % 10)) == 0);
+
+ //last digit is checksum, so we need 7 digits
+ //and the first shouldn't be 0
+ pin = pin % 10000000;
+ int checkSum = computeCheckSum(pin);
+ pin *= 10;
+ pin += checkSum;
+
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_EXIT, this);
+ return pin;
+}
+
+/*!
+ Computes the checksum for a given pin
+
+ @return Returns the generated checksum
+ */
+int WpsPageStepThreeNumber::computeCheckSum(int aPin)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_ENTRY, this);
+
+ int accum = 0;
+ aPin *= 10;
+ accum += 3 * ((aPin / 10000000) % 10);
+ accum += 1 * ((aPin / 1000000) % 10);
+ accum += 3 * ((aPin / 100000) % 10);
+ accum += 1 * ((aPin / 10000) % 10);
+ accum += 3 * ((aPin / 1000) % 10);
+ accum += 1 * ((aPin / 100) % 10);
+ accum += 3 * ((aPin / 10) % 10);
+ int digit = (accum % 10);
+ OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_EXIT, this);
+ return (10 - digit) % 10;
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardsteptwo.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,227 @@
+/*
+ * Copyright (c) 2010 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:
+ * WPS Wizard Page: Step 2
+ *
+ */
+
+// System includes
+#include <HbWidget>
+#include <HbRadioButtonList>
+#include <HbLineEdit>
+#include <HbLabel>
+#include <HbMainWindow>
+
+// User includes
+#include "wpswizardsteptwo.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardsteptwoTraces.h"
+#endif
+
+// External function prototypes
+
+// Local constants
+
+/*!
+ \class WpsPageStepTwo
+ \brief Implementation of wps wizard page for step two.
+ */
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+ Constructor for WPS page two
+
+ @param [in] parent Pointer to the WPS wizard private implementation
+ */
+WpsPageStepTwo::WpsPageStepTwo(WpsWizardPrivate* parent) :
+ WpsWizardPage(parent),
+ mWidget(NULL),
+ mRadio(NULL),
+ mHeading(NULL),
+ mValid(false),
+ mItemSelected(0),
+ mLoader(NULL)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_EXIT, this);
+
+}
+
+/*!
+ Destructor
+ */
+WpsPageStepTwo::~WpsPageStepTwo()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_DESTRUCTOR_ENTRY, this);
+ delete mLoader;
+ OstTraceFunctionExit1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_DESTRUCTOR_EXIT, this);
+}
+
+/*!
+ Loads the page with all the widgets
+
+ @return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepTwo::initializePage()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTWO_INITIALIZEPAGE_ENTRY, this);
+
+ if (!mWidget) {
+ bool ok;
+ mLoader = new HbDocumentLoader(mWizard->mainWindow());
+
+ mLoader->load(":/docml/occ_wps_01_05.docml", &ok);
+ Q_ASSERT(ok);
+
+ // Initialize orientation
+ loadDocmlSection(mWizard->mainWindow()->orientation());
+
+ mWidget = qobject_cast<HbWidget*> (mLoader->findWidget("occ_wps_P1"));
+ Q_ASSERT(mWidget);
+
+ mHeading = qobject_cast<HbLabel*> (mLoader->findWidget("label"));
+ Q_ASSERT(mHeading);
+ mHeading->setPlainText(hbTrId("txt_occ_dialog_selected_network_supports_wifi_pro"));
+
+ mRadio = qobject_cast<HbRadioButtonList*> (mLoader->findWidget("radioButtonList"));
+ Q_ASSERT(mRadio);
+
+ //Set Options
+ QStringList list;
+ list << hbTrId("txt_occ_list_use_pushbutton")
+ << hbTrId("txt_occ_list_use_pin_code")
+ << hbTrId("txt_occ_list_configure_manually");
+ mRadio->setItems(list);
+
+ bool connectOk = connect(
+ mRadio,
+ SIGNAL(itemSelected(int)),
+ this,
+ SLOT(itemSelected(int)));
+ Q_ASSERT(connectOk);
+
+ connectOk = connect(
+ mWizard->mainWindow(),
+ SIGNAL(orientationChanged(Qt::Orientation)),
+ this,
+ SLOT(loadDocmlSection(Qt::Orientation)));
+ Q_ASSERT(connectOk);
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPTWO_INITIALIZEPAGE_EXIT, this);
+ return mWidget;
+}
+
+/*!
+ Funtion to determine the next page to be displayed in the wizard process
+
+ @param [out] removeFromStack bool indicating whether the current page should be
+ removed from the stack
+
+ @return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepTwo::nextId(bool &removeFromStack) const
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTWO_NEXTID_ENTRY, this);
+ int id = WpsWizardPage::PageWpsWizardStep3_Button;
+ removeFromStack = false;
+
+ if (mItemSelected == WpsPushButtonMode) {
+ id = WpsWizardPage::PageWpsWizardStep3_Button;
+
+ } else if (mItemSelected == WpsPinCodeMode) {
+ id = WpsWizardPage::PageWpsWizardStep3_Number;
+
+ } else {
+ id = mWizard->nextPageId(false);
+ }
+
+ OstTraceFunctionExit1(WPSPAGESTEPTWO_NEXTID_EXIT, this);
+ return id;
+}
+
+/*!
+ Determines the Number of steps to move backwards when 'Prev' Button
+ is clicked
+
+ @return int Number of pages to move backwards
+ */
+int WpsPageStepTwo::previousTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTWO_PREVIOUSTRIGGERED_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPTWO_PREVIOUSTRIGGERED_EXIT, this);
+ return 1;
+}
+
+/*!
+ CallBack when the cancel button is clicked
+ */
+void WpsPageStepTwo::cancelTriggered()
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTWO_CANCELTRIGGERED_ENTRY, this);
+ OstTraceFunctionExit1(WPSPAGESTEPTWO_CANCELTRIGGERED_EXIT, this);
+}
+
+/*!
+ Determines whether the Next action button should be enabled or not
+
+ @return bool Indicating whether next button is enabled or not.
+ */
+bool WpsPageStepTwo::showPage()
+{
+ return mValid;
+}
+
+/*!
+ Call back when an item is selected from the list on the UI
+
+ @param [in] index Indcating the relative position in the list
+ */
+void WpsPageStepTwo::itemSelected(int index)
+{
+ OstTraceFunctionEntry1(WPSPAGESTEPTWO_ITEMSELECTED_ENTRY, this);
+ mValid = true;
+ mWizard->enableNextButton(mValid);
+ mItemSelected = index;
+ OstTraceFunctionExit1(WPSPAGESTEPTWO_ITEMSELECTED_EXIT, this);
+}
+
+/*!
+ Loads docml at initialization phase and when HbMainWindow sends
+ orientation() signal.
+
+ @param [in] orientation orientation to be loaded.
+ */
+void WpsPageStepTwo::loadDocmlSection(Qt::Orientation orientation)
+{
+ bool ok = false;
+
+ // Load the orientation specific section
+ if (orientation == Qt::Horizontal) {
+ mLoader->load(":/docml/occ_wps_01_05.docml", "landscape", &ok);
+ Q_ASSERT(ok);
+ } else {
+ Q_ASSERT(orientation == Qt::Vertical);
+ mLoader->load(":/docml/occ_wps_01_05.docml", "portrait", &ok);
+ Q_ASSERT(ok);
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/stubs/stub_wlanmgmtclient.cpp Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WPS Wizard use in emulator.
+*/
+
+#include <e32std.h>
+#include <e32base.h>
+#include "wlanmgmtclient.h"
+
+// ---------------------------------------------------------
+// CWlanScanRequest::NewL
+// ---------------------------------------------------------
+//
+CWlanMgmtClient* CWlanMgmtClient::NewL()
+ {
+ CWlanMgmtClient* self = new CWlanMgmtClient;
+ return self;
+ }
+
+// ---------------------------------------------------------
+// CWlanScanRequest::~CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::~CWlanMgmtClient()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanScanRequest::CWlanMgmtClient
+// ---------------------------------------------------------
+//
+CWlanMgmtClient::CWlanMgmtClient()
+ {
+ }
+
+// ---------------------------------------------------------
+// CWlanScanRequest::RunProtectedSetup
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::RunProtectedSetup(
+ TRequestStatus& aStatus,
+ const TWlanSsid& aSsid,
+ const TWlanWpsPin& /* aWpsPin */,
+ CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>& aCredentials )
+{
+ // Complete the request immediately
+ TRequestStatus *status = &aStatus;
+ TInt err = KErrNone;
+ TWlanProtectedSetupCredentialAttribute attr;
+
+ attr.iSsid.Copy(aSsid);
+ attr.iSecurityMode = EWlanIapSecurityModeAllowUnsecure;
+ attr.iAuthenticationMode = EWlanAuthenticationModeOpen;
+ attr.iOperatingMode = EWlanOperatingModeInfrastructure;
+ attr.iWepDefaultKey = EWlanDefaultWepKey1;
+
+ TRAP(err, aCredentials.AppendL(attr) );
+ User::RequestComplete(status, err);
+}
+
+// ---------------------------------------------------------
+// CWlanScanRequest::CancelProtectedSetup
+// ---------------------------------------------------------
+//
+void CWlanMgmtClient::CancelProtectedSetup()
+ {
+ }
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/stubs/stubs.pri Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,26 @@
+#
+# Copyright (c) 2010 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:
+# Stubs for WpsWizard emulator usage
+#
+
+symbian {
+ mmpStubRules = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "USERINCLUDE stubs" \
+ "SOURCEPATH stubs" \
+ "SOURCE stub_wlanmgmtclient.cpp" \
+ "$${LITERAL_HASH}endif"
+ MMP_RULES += mmpStubRules
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/stubs/wlanmgmtclient.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,71 @@
+/*
+* Copyright (c) 2010 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:
+* WLAN Management API stubbing for WPSWizard
+*/
+
+#ifndef WLANMGMTCLIENT_H
+#define WLANMGMTCLIENT_H
+
+#include "wlanmgmtcommon.h"
+#include "wlanscaninfo.h"
+
+// CLASS DECLARATION
+
+class CWlanMgmtClient : public CBase
+ {
+ public: // Methods
+
+ // Constructors and destructor
+
+ /**
+ * Static constructor.
+ * @return Pointer to the constructed object.
+ */
+ static CWlanMgmtClient* NewL();
+
+ /**
+ * Destructor.
+ */
+ ~CWlanMgmtClient();
+
+ /**
+ * Start Protected Setup.
+ *
+ * @param aStatus Status of the calling active object. On successful
+ * completion contains KErrNone, otherwise one of the
+ * system-wide error codes.
+ * @param aSsid SSID of the network to configure.
+ * @param aWpsPin PIN value to be used. "00000000" (string of eight zeros)
+ * if push button method is used.
+ * @param aCredentials Results of a successful Protected Setup operation.
+ * @sa \link psetup Protected Setup-specific error codes \endlink.
+ */
+ virtual void RunProtectedSetup(
+ TRequestStatus& aStatus,
+ const TWlanSsid& aSsid,
+ const TWlanWpsPin& aWpsPin,
+ CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>& aCredentials );
+
+ /**
+ * Cancel an outstanding Protected Setup operation.
+ */
+ virtual void CancelProtectedSetup();
+
+ private: // Data
+
+ CWlanMgmtClient();
+ };
+
+#endif // WLANMGMTCLIENT_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/traces/OstTraceDefinitions.h Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2010 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: TraceHeader ,includes the TraceAPI
+ *
+ *
+ */
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/wpswizard.pro Tue Aug 31 16:18:40 2010 +0300
@@ -0,0 +1,80 @@
+#
+# Copyright (c) 2010 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: WPS wizard
+#
+
+
+TEMPLATE = lib
+TARGET = wpswizard
+DEFINES += BUILD_WPS_WIZARD_DLL
+VERSION = 0.0.1
+CONFIG += hb
+MOC_DIR = build
+RCC_DIR = build
+RESOURCES += resources/wpswizard_resource.qrc
+TRANSLATIONS += wpswizardplugin.ts
+
+DOCML += \
+ resources/occ_wps_01_05.docml \
+ resources/occ_wps_02_03.docml \
+ resources/occ_wps_P4.docml
+
+INCLUDEPATH += inc \
+ ../inc
+
+HEADERS += inc/wpswizard.h \
+ inc/wpswizard_p.h \
+ inc/wpswizardpage.h \
+ inc/wpswizardsteptwo.h \
+ inc/wpswizardstepthreebutton.h \
+ inc/wpswizardstepthreenumber.h \
+ inc/wpswizardstepfour.h \
+ inc/wpswizardstepfour_p.h \
+ inc/wpswizardstepfive.h \
+ inc/cwpsactiverunner.h \
+ inc/mwpsactiverunnercallback.h \
+
+SOURCES += src/wpswizard_p.cpp \
+ src/wpswizard.cpp \
+ src/wpswizardpage.cpp \
+ src/wpswizardsteptwo.cpp \
+ src/wpswizardstepthreebutton.cpp \
+ src/wpswizardstepthreenumber.cpp \
+ src/wpswizardstepfour.cpp \
+ src/wpswizardstepfour_p.cpp \
+ src/wpswizardstepfive.cpp \
+ src/cwpsactiverunner.cpp
+
+
+symbian {
+
+ LIBS += -lecom
+
+ TARGET.UID3 = 0x2003D2FE
+ TARGET.CAPABILITY = CAP_GENERAL_DLL
+
+ TARGET.EPOCALLOWDLLDATA = 1
+
+ MMP_RULES += "USERINCLUDE traces"
+
+ # location of directories for def files
+ defFilePath = .
+
+ BLD_INF_RULES.prj_exports += "rom/wpswizard.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wpswizard.iby)"
+ BLD_INF_RULES.prj_exports += "rom/wpswizard_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wpswizard_resources.iby)"
+ BLD_INF_RULES.prj_exports += "inc/wpswizard.h |../inc/wpswizard.h"
+}
+
+include (stubs/stubs.pri)
+