# HG changeset patch # User Dremov Kirill (Nokia-D-MSW/Tampere) # Date 1270066669 -10800 # Node ID 981afc7d3841a9f9a18a585d24b13aa05064d209 # Parent 8b0eae1b1d71db88f772c06664df94090eceb6b1 Revision: 201011 Kit: 201013 diff -r 8b0eae1b1d71 -r 981afc7d3841 hotspotfw/hsfw_sis/cenrep.pkg --- a/hotspotfw/hsfw_sis/cenrep.pkg Mon Mar 15 12:44:54 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,47 +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: ; Languages -; - -; ============================================================================ -; Name : cenrep_armv5.pkg -; --------------------------------------------------------------------------- -; Version history: -; ============================================================================ -; -; Languages - -; ============================================================================ -; Name : cenrep_armv5.pkg -; --------------------------------------------------------------------------- -; Version history: -; ============================================================================ -; -; Languages -&EN - -; Header -#{"HotSpot ICTS Repository"}, (0x10202BE9), 1, 0, 0, TYPE=SISPATCH - -; Supports Series 60 v 3.0 -[0x101F7961], 0, 0, 0, {"Series60ProductID"} - -; Localised Vendor name -%{"Nokia"} - -; Unique Vendor name -:"Nokia" - -;Files -"..\InternetConnectivityTestService\cenrep\10282EC7.txt"-"c:\private\10202BE9\10282EC7.txt" \ No newline at end of file diff -r 8b0eae1b1d71 -r 981afc7d3841 hotspotfw/hsfw_sis/hotspot.pkg --- a/hotspotfw/hsfw_sis/hotspot.pkg Mon Mar 15 12:44:54 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,63 +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: ;Languages -; -&EN - -;Header -#{"Hotspot FW demo"},(0x10282ECB),1,0,0 - -; Supports Series 60 v 3.0 -[0x101F7961], 0, 0, 0, {"Series60ProductID"} - -; Localised Vendor Name -%{"Nokia"} - -;Unique Vendor Name -:"Nokia" - -; Uninstall -"\EPOC32\RELEASE\ARMV5\UREL\HotspotUninstall.exe"-"c:\sys\bin\HotspotUninstall.exe", FR, RR, RW - -; Server -"\EPOC32\RELEASE\ARMV5\UREL\HotSpotServer.exe"-"c:\sys\bin\HotSpotServer.exe" - -; Client API -"\EPOC32\RELEASE\ARMV5\UREL\hotspotclient.dll"-"c:\sys\bin\hotspotclient.dll" - -; ECOM plugin -"\EPOC32\DATA\Z\Resource\Plugins\NetCfgExtnHotSpot.RSC"-"c:\resource\plugins\NetCfgExtnHotSpot.RSC" -"\EPOC32\RELEASE\ARMV5\UREL\NetCfgExtnHotSpot.dll"-"c:\sys\bin\NetCfgExtnHotSpot.dll" - -; ECOM plugin -"\EPOC32\DATA\Z\Resource\Plugins\HssMgmtImpl.rsc"-"c:\resource\plugins\HssMgmtImpl.rsc" -"\EPOC32\RELEASE\ARMV5\UREL\hssmgmtimpl.dll"-"c:\sys\bin\hssmgmtimpl.dll" - -; ICTS -"\EPOC32\RELEASE\ARMV5\UREL\ictsclientinterface.dll"-"c:\sys\bin\ictsclientinterface.dll" - -"\EPOC32\RELEASE\ARMV5\UREL\wlanagthotspotimpl.dll"-"c:\sys\bin\wlanagthotspotimpl.dll" -"\EPOC32\RELEASE\ARMV5\UREL\wlanagt2.agt"-"c:\sys\bin\WlanAgt2.agt" -"\EPOC32\DATA\Z\Resource\Plugins\WlanAgtHotSpotImpl.RSC"-"c:\resource\plugins\WlanAgtHotSpotImpl.RSC" - -; Hotspot browser logon application -"\epoc32\release\armv5\urel\HsBrowser.exe" -"c:\sys\bin\HsBrowser.exe" - -; Hotspot browser logon application, resources and bitmaps -"\epoc32\data\z\resource\apps\hsbrowser.rsc" -"c:\Resource\apps\hsbrowser.rsc" -"\epoc32\data\z\private\10003a3f\apps\hsbrowser_reg.RSC" -"c:\private\10003a3f\import\apps\hsbrowser_reg.rsc" - -; Embedded SIS-files -@"ictscenrep.sisx" ,(0x10202BE9) -"backup_registration.xml"-"c:\private\10282ECB\backup_registration.xml" diff -r 8b0eae1b1d71 -r 981afc7d3841 package_definition.xml --- a/package_definition.xml Mon Mar 15 12:44:54 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,52 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlanindicatorplugin/group/wlanindicatorplugin.mmp --- a/wlanutilities/wlanindicatorplugin/group/wlanindicatorplugin.mmp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlanindicatorplugin/group/wlanindicatorplugin.mmp Wed Mar 31 23:17:49 2010 +0300 @@ -55,10 +55,8 @@ LIBRARY apgrfx.lib LIBRARY cone.lib LIBRARY commonengine.lib -LIBRARY commdb.lib LIBRARY charconv.lib LIBRARY connmon.lib LIBRARY cmmanager.lib -LIBRARY cmmanagerdatabase.lib LIBRARY bafl.lib diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlanindicatorplugin/inc/wlanindicatorpluginimplementation.h --- a/wlanutilities/wlanindicatorplugin/inc/wlanindicatorpluginimplementation.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlanindicatorplugin/inc/wlanindicatorpluginimplementation.h Wed Mar 31 23:17:49 2010 +0300 @@ -22,30 +22,11 @@ // INCLUDES #include // CAknIndicatorPlugin -#include -#include #include -// CONSTANTS -const TInt KWlanMaxAccessPointNameLength = 50; - // FORWARD DECLARATIONS class CCoeEnv; -// CLASS DECLARATIONS -struct TWliWlanInfo - { - // Network name (unknown: SSID, known: IAP name), TBuf8 - TWlanSsid iSsid; - - //Internet Access Point Id. 0 if the IAP has not been defined. - TUint32 iIapId; - - // The name of the WLAN IAP, TBuf16 - TBuf iNetworkName; -}; - - /** * WLAN Indicator Plug-in implementation * @@ -97,11 +78,8 @@ private: // new functions /** - * Creates text for the cases - * - "WLAN network found" - * - "WLAN networks found" - * - "'myNetwork' found" - * @return Descriptor for the current "wlan available" case + * Creates text for the case "wlan networks available" + * @return Descriptor for the "wlan available" case */ HBufC* CreateWlanNetworksFoundTextL(); @@ -110,21 +88,7 @@ * @return Descriptor containing the "'myNetwork' connected" text */ HBufC* CreateWlanConnectedTextL(); - - /** - * Finds the required info for the "networks available" case: - * - name of the known network (null if all unknown) - * - number of available networks - * @param aAvailableCount Number of available networks - */ - HBufC* AvailableNetworksInfoL( TInt& aAvailableCount ); - - /** - * Finds the network name based on the IAP id - * @param Struct for storing the IAP information - */ - void GetWlanInfoFromIapL( TWliWlanInfo& aWlanInfo ); - + /** * Finds the WLAN connection name. * @return Descriptor containing the name of the connected WLAN nw. @@ -164,12 +128,6 @@ */ RConnectionMonitor iConnMonitor; - /** - * Owned. Used for getting WLAN available networks info - */ - CWlanMgmtClient* iWlanMgmtClient; - - }; #endif // CWLANINDICATORPLUGINIMPLEMENTATION_H diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlanindicatorplugin/src/wlanindicatorpluginimplementation.cpp --- a/wlanutilities/wlanindicatorplugin/src/wlanindicatorpluginimplementation.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlanindicatorplugin/src/wlanindicatorpluginimplementation.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -30,11 +30,6 @@ #include #include #include -#include -#include -#include -#include -#include #include #include #include "wlanindicatorpluginimplementation.h" @@ -77,9 +72,7 @@ iResource = iCoeEnv->AddResourceFileL( fileName ); iConnMonitor.ConnectL(); - - iWlanMgmtClient = CWlanMgmtClient::NewL(); - + } // ----------------------------------------------------------------------------- @@ -107,9 +100,7 @@ iCoeEnv->DeleteResourceFile( iResource ); iConnMonitor.Close(); - - delete iWlanMgmtClient; - + } @@ -149,7 +140,8 @@ // HBufC* CWlanIndicatorPluginImplementation::TextL( const TInt aUid, TInt& aTextType ) - { + { + HBufC* textBuf = NULL; switch ( aUid ) @@ -190,37 +182,10 @@ { HBufC* dynText = NULL; - HBufC* knownNetworkName = NULL; - TInt availableCount( 0 ); - knownNetworkName = AvailableNetworksInfoL( availableCount ); - - CleanupStack::PushL( knownNetworkName ); - - if ( !knownNetworkName ) - { - if ( availableCount == 1 ) - { - // dynText: "qtn_uni_ind_wlan_avail_unknown WLAN network found" - dynText = StringLoader::LoadL ( - R_QTN_UNI_IND_WLAN_AVAIL_UNKNOWN, iCoeEnv ); - } - else - { - // dynText: "qtn_uni_ind_wlan_avail_unknown_many WLAN networks found" - dynText = StringLoader::LoadL ( - R_QTN_UNI_IND_WLAN_AVAIL_UNKNOWN_MANY, iCoeEnv ); - } - } - else - { - // dynText: "qtn_uni_ind_wlan_avail_known '%U' found" - dynText = StringLoader::LoadL ( - R_QTN_UNI_IND_WLAN_AVAIL_KNOWN, *knownNetworkName, iCoeEnv ); - - } - - CleanupStack::PopAndDestroy( knownNetworkName ); + // "qtn_uni_ind_wlan_avail_unknown_many WLAN networks found" + dynText = StringLoader::LoadL ( + R_QTN_UNI_IND_WLAN_AVAIL_UNKNOWN_MANY, iCoeEnv ); return dynText; } @@ -254,99 +219,6 @@ // --------------------------------------------------------------------------- -// CWlanIndicatorPluginImplementation::AvailableNetworksInfoL() -// --------------------------------------------------------------------------- -// -HBufC* CWlanIndicatorPluginImplementation::AvailableNetworksInfoL( - TInt& aAvailableCount ) - { - - HBufC* knownNetworkName = NULL; - - // get available iaps - RArray availableIaps; - TInt iapError( 0 ); - iapError = iWlanMgmtClient->GetAvailableIaps( availableIaps ); - - if ( iapError == KErrNone ) - { - // if there are known networks, get the name of the first one - // in an alphabetical order - if ( availableIaps.Count() ) - { - // get all network names and put them into a sorted array - - // use one TWliWlanInfo struct to point to each IAP in a loop - TWliWlanInfo* availableInfo = new ( ELeave ) TWliWlanInfo(); - CleanupStack::PushL( availableInfo ); - - // descriptor array with granularity 2 - CDesCArray* networkNames = new (ELeave)CDesCArrayFlat( 2 ); - CleanupStack::PushL( networkNames ); - - for ( TInt i = 0; i < availableIaps.Count() ; i++ ) - { - availableInfo->iIapId = availableIaps[i]; - GetWlanInfoFromIapL( *availableInfo ); - - // insert the name into the proper place - // in alphabetical order - networkNames->InsertIsqL( - ( availableInfo->iNetworkName ), ECmpFolded ); - } - - knownNetworkName = ( networkNames->MdcaPoint(0) ).AllocL(); - - CleanupStack::PopAndDestroy( networkNames ); - CleanupStack::PopAndDestroy( availableInfo ); - - } - - else // unknown networks only - { - CWlanScanInfo* scanInfo = CWlanScanInfo::NewL(); - - TInt scanError( 0 ); - scanError = iWlanMgmtClient->GetScanResults( *scanInfo ); - if ( scanError == KErrNone ) - { - // Find if we have 1 or more networks available, - // we don't have to know the exact amount - scanInfo->Next() ? aAvailableCount = 2 : aAvailableCount = 1; - } - - delete scanInfo; - - } - } - - availableIaps.Close(); - - return knownNetworkName; - - } - -// --------------------------------------------------------------------------- -// CWlanIndicatorPluginImplementation::GetWlanInfoFromIapL() -// --------------------------------------------------------------------------- -// -void CWlanIndicatorPluginImplementation::GetWlanInfoFromIapL( TWliWlanInfo& aWlanInfo ) - { - CCommsDatabase* commsDb = CCommsDatabase::NewL(); - CleanupStack::PushL( commsDb ); - - CCommsDbTableView* commsDbIapTableView = commsDb->OpenViewMatchingUintLC( - TPtrC( IAP ), TPtrC( COMMDB_ID ), aWlanInfo.iIapId ); - - User::LeaveIfError( commsDbIapTableView->GotoFirstRecord() ); - - commsDbIapTableView->ReadTextL( TPtrC( COMMDB_NAME ), aWlanInfo.iNetworkName ); - - CleanupStack::PopAndDestroy( commsDbIapTableView ); - CleanupStack::PopAndDestroy( commsDb ); - } - -// --------------------------------------------------------------------------- // CWlanIndicatorPluginImplementation::ConnectionNameL() // --------------------------------------------------------------------------- // diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.h --- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.h Wed Mar 31 23:17:49 2010 +0300 @@ -128,20 +128,6 @@ */ inline TWsfWlanInfo& WlanInfo(); - /** - * Returns whether Connect or Start Web browsing was selected - * @since S60 5.0 - * @return ETrue if Connect was selected (browser doesn't need to be - * launched, EFalse otherwise. - */ - inline TBool ShouldConnectOnly(); - - /** - * Returns whether default connection should be used - * @return ETrue if default should be used, EFalse otherwise. - */ - inline TBool UseDefaultConnection(); - private: // data @@ -155,16 +141,6 @@ */ TWsfWlanInfo iWlanInfo; - /** - * Indicates whether Connect or Start Web browsing was selected - */ - TBool iConnectOnly; - - /** - * Indicates whether default connection should be used - */ - TBool iUseDefaultConnection; - }; diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.inl --- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.inl Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.inl Wed Mar 31 23:17:49 2010 +0300 @@ -39,22 +39,3 @@ } -// --------------------------------------------------------------------------- -// CWsfAiHelperDocument::ShouldConnectOnly() -// --------------------------------------------------------------------------- -// -TBool CWsfAiHelperDocument::ShouldConnectOnly() - { - return iConnectOnly; - } - -// --------------------------------------------------------------------------- -// CWsfAiHelperDocument::UseDefaultConnection() -// --------------------------------------------------------------------------- -// -TBool CWsfAiHelperDocument::UseDefaultConnection() - { - return iUseDefaultConnection; - } - - diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aihelper/src/wsfaihelperdocument.cpp --- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperdocument.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aihelper/src/wsfaihelperdocument.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -105,15 +105,11 @@ // Read the afilename arg // Take that into a TWlanInfo and start creation of accesspoint TPckgBuf info; - TPckgBuf connecting; - TPckgBuf connectOnly; + info.Copy( aFilename.Left( sizeof( TWsfWlanInfo ) ) ); - connecting.Copy( aFilename.Mid( sizeof( TWsfWlanInfo ), sizeof( TBool ) ) ); - connectOnly.Copy( aFilename.Right( sizeof( TBool ) ) ); iWlanInfo = info(); - iUseDefaultConnection = connecting(); - iConnectOnly = connectOnly(); + static_cast( iAppUi )->NotifyFileName(); return NULL; diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/group/aiplugin.mmp --- a/wlanutilities/wlansniffer/aiplugin/group/aiplugin.mmp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/group/aiplugin.mmp Wed Mar 31 23:17:49 2010 +0300 @@ -42,7 +42,8 @@ SOURCE wsfrefreshscanactivewrapper.cpp SOURCE wsfdisconnectactivewrapper.cpp SOURCE wsfconnectactivewrapper.cpp -SOURCE wsfactivewrappers.cpp +SOURCE wsfactivewrappers.cpp +SOURCE wsflaunchaihelperactivewrapper.cpp // Plugin's own resources. diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/inc/wsfactivewrappers.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfactivewrappers.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfactivewrappers.h Wed Mar 31 23:17:49 2010 +0300 @@ -34,6 +34,7 @@ class CWsfRefreshScanActiveWrapper; class CWsfDisconnectActiveWrapper; class CWsfConnectActiveWrapper; +class CWsfLaunchAiHelperActiveWrapper; // CLASS DECLARATION @@ -59,15 +60,15 @@ * Two-phased constructor. * @since S60 5.2 */ - static CWsfActiveWrappers* NewL(CWsfModel* aModel, - TWsfAiController &aController); + static CWsfActiveWrappers* NewL( CWsfModel* aModel, + TWsfAiController &aController ); /** * Two-phased constructor. * @since S60 5.2 */ static CWsfActiveWrappers* NewLC(CWsfModel* aModel, - TWsfAiController &aController); + TWsfAiController &aController ); public: @@ -81,7 +82,7 @@ * Starts connecting * @since S60 5.2 */ - void Connect(TUint aIapID, TWsfIapPersistence aPersistence); + void Connect( TUint aIapID, TWsfIapPersistence aPersistence ); /** * Starts refresh scan @@ -95,6 +96,18 @@ * @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. @@ -150,6 +163,12 @@ */ CWsfConnectActiveWrapper* iConnectActiveWrapper; + /** + * Pointer to CWsfLaunchAiHelperActiveWrapper + * Own. + */ + CWsfLaunchAiHelperActiveWrapper* iLaunchAiHelperActiveWrapper; + }; #endif // WSFACTIVEWRAPPERS_H diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h Wed Mar 31 23:17:49 2010 +0300 @@ -109,18 +109,12 @@ */ void StartupRefresh(); - /** + /** * Propagates the network data from the engine * to the AI model * @since S60 5.2 */ void StartupRefreshDataReadyL(); - - /** - * Dismisses the AI menu/other dialogs if there was any open - * @since S60 5.0 - */ - void DismissDialogsL(); /** * Refreshes the refreshing icon @@ -134,13 +128,25 @@ */ 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 @@ -239,26 +245,12 @@ * @param aInfo Wlaninfo to connect with */ void StartWebBrowserL( TWsfWlanInfo& aInfo ); - - /* - * Connect to the given wlan - * @since S60 5.0 - * @param aInfo Wlaninfo to connect with - */ - void ConnectL( TWsfWlanInfo& aInfo, TBool aShoulConnectOnly ); /** * Cleanup function to release connecting state * @param aPtr Pointer for this class */ static void CleanUpConnectingL( TAny* aPtr ); - - /** - * Launches and helper application to create an accesspoint - * @since S60 5.2 - * @param aWlanInfo The WlanInfo object to be passed to the helper app - */ - void LaunchAiHelperAppL( TWsfWlanInfo& aInfo ); /* * Brings browser to the foreground @@ -381,7 +373,7 @@ */ TBool iTestAccessPoint; - /** + /** * A pointer to CWsfActiveWrappers */ CWsfActiveWrappers* iActiveWrappers; diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h Wed Mar 31 23:17:49 2010 +0300 @@ -163,14 +163,6 @@ CEikLabel* aText1 ); /** - * Sets signal strenght and the security string - * @since S60 5.0 - * @param aStrength siganl strength string - * @param aSecure security string - */ - void SetStrengthAndSecure( TDesC* aStrength, TDesC* aSecure ); - - /** * Sets Scanning status on/off. * @since S60 5.0 * @param aScanState Scanning satus flag @@ -309,7 +301,7 @@ CWsfAiView* iUi; /** - * The database observer obseving changes in + * The database observer observing changes in * show WLAN availablity */ CWsfDbObserver* iDbObserver; @@ -320,24 +312,6 @@ TInt iResourceFileOffset; /** - * Constants for Signal Strength text - * Own. - */ - HBufC* iCurrentSignalStrength; - - /** - * Constants for Secure Information text - * Own. - */ - HBufC* iCurrentSecureInfo; - - /** - * Constants for Title text - * Own. - */ - HBufC* iWlanTitle; - - /** * Constants for MSK activate text * Own. */ diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincontentmodel.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincontentmodel.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincontentmodel.h Wed Mar 31 23:17:49 2010 +0300 @@ -37,17 +37,9 @@ */ enum TWsfAiWizardContentIds { - EAiWizardContentFullText - ,EAiWizardContentNaviBarIcon - ,EAiWizardContentTitleText - ,EAiWizardContentStatusIcon - ,EAiWizardContentStatusText - ,EAiWizardContentTypeIcon // Transparent icon - ,EAiWizardContentTypeText - ,EAiWizardContentStrengthIcon - ,EAiWizardContentStrengthText + EAiWizardContentStatusIcon + ,EAiWizardContentStrengthIcon ,EAiWizardContentSecureIcon - ,EAiWizardContentSecureText ,EAiWizardContentNetworkStatus ,EAiWizardContentNetworkName }; @@ -57,17 +49,9 @@ */ const TAiContentItem KAiWizardContent[] = { - { EAiWizardContentFullText, L"FullText", KAiContentTypeText } - ,{ EAiWizardContentNaviBarIcon, L"NaviBarIcon", KAiContentTypeBitmap } - ,{ EAiWizardContentTitleText, L"TitleText", KAiContentTypeText } - ,{ EAiWizardContentStatusIcon, L"StatusIcon", KAiContentTypeBitmap } - ,{ EAiWizardContentStatusText, L"StatusText", KAiContentTypeText } - ,{ EAiWizardContentTypeIcon, L"TypeIcon", KAiContentTypeBitmap } - ,{ EAiWizardContentTypeText, L"TypeText", KAiContentTypeText } + { EAiWizardContentStatusIcon, L"StatusIcon", KAiContentTypeBitmap } ,{ EAiWizardContentStrengthIcon, L"StrengthIcon", KAiContentTypeBitmap } - ,{ EAiWizardContentStrengthText, L"StrengthText", KAiContentTypeText } ,{ EAiWizardContentSecureIcon, L"SecureIcon", KAiContentTypeBitmap } - ,{ EAiWizardContentSecureText, L"SecureText", KAiContentTypeText } ,{ EAiWizardContentNetworkStatus, L"NetworkStatus",KAiContentTypeText } ,{ EAiWizardContentNetworkName, L"NetworkName", KAiContentTypeText } }; diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/inc/wsfaipublishobserver.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaipublishobserver.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfaipublishobserver.h Wed Mar 31 23:17:49 2010 +0300 @@ -42,15 +42,6 @@ CEikLabel* aText1 ) = 0; /** - * Sets signal strenght and the security string - * @since S60 5.0 - * @param aStrength siganl strength string - * @param aSecure security string - */ - virtual void SetStrengthAndSecure( TDesC* aStrength, - TDesC* aSecure ) = 0; - - /** * Sets Scanning status on/off. * @since S60 5.0 * @param aScanState Scanning satus flag @@ -65,7 +56,7 @@ virtual void SetRefreshingL( TBool aRefreshing ) = 0; /** - * Sets refreshing status on/off. + * Sets connecting status on. * @since S60 5.0 * @param aScanState Refreshing status flag */ diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/inc/wsfdbobserver.h --- a/wlanutilities/wlansniffer/aiplugin/inc/wsfdbobserver.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsfdbobserver.h Wed Mar 31 23:17:49 2010 +0300 @@ -12,7 +12,7 @@ * Contributors: * * Description: -* Header file for CWlanPluginDbObserver class. +* Header file for CWsfDbObserver class. * */ @@ -39,15 +39,13 @@ public: /** * The Constructor. - * @param aState Pointer to the WLAN State object. */ - CWsfDbObserver( ); + CWsfDbObserver(); /** * First phase of two phased construction. - * @param aState Pointer to the WLAN State object. */ - static CWsfDbObserver* NewL( ); + static CWsfDbObserver* NewL(); /** * This function activates this object as an active object. @@ -86,6 +84,11 @@ * is called. */ void DoCancel(); + + /** + * @see CActive + */ + TInt RunError( TInt aError ); private: /** @@ -100,12 +103,6 @@ private: /** - * @var Pointer to the WLAN state object to ask and set scanning - * state. - */ - //CWlanPluginWlanState * iWlanState; - - /** * A CommsDat session fod database access. */ CMDBSession* iSession; diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/inc/wsflaunchaihelperactivewrapper.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlanutilities/wlansniffer/aiplugin/inc/wsflaunchaihelperactivewrapper.h Wed Mar 31 23:17:49 2010 +0300 @@ -0,0 +1,171 @@ +/* + * 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 + +// 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 diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/src/wsfactivewrappers.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfactivewrappers.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfactivewrappers.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -24,6 +24,7 @@ #include "wsfrefreshscanactivewrapper.h" #include "wsfdisconnectactivewrapper.h" #include "wsfconnectactivewrapper.h" +#include "wsflaunchaihelperactivewrapper.h" // ---------------------------------------------------------------------------- @@ -46,6 +47,7 @@ delete iRefreshScanActiveWrapper; delete iDisconnectActiveWrapper; delete iConnectActiveWrapper; + delete iLaunchAiHelperActiveWrapper; } @@ -57,9 +59,9 @@ TWsfAiController &aController ) { LOG_ENTERFN( "CWsfActiveWrappers::NewLC" ); - CWsfActiveWrappers* self = new (ELeave) CWsfActiveWrappers(); + CWsfActiveWrappers* self = new ( ELeave ) CWsfActiveWrappers(); CleanupStack::PushL( self ); - self->ConstructL( aModel,aController ); + self->ConstructL( aModel, aController ); return self; } @@ -94,6 +96,9 @@ iDisconnectActiveWrapper = CWsfDisconnectActiveWrapper::NewL( aModel ); iConnectActiveWrapper = CWsfConnectActiveWrapper::NewL( aModel ); + + iLaunchAiHelperActiveWrapper = CWsfLaunchAiHelperActiveWrapper::NewL( + aModel, aController ); } @@ -142,6 +147,19 @@ // ---------------------------------------------------------------------------- +// CWsfActiveWrappers::LaunchHelperApplicationL +// ---------------------------------------------------------------------------- +// +void CWsfActiveWrappers::LaunchHelperApplicationL( TWsfWlanInfo& aInfo, + TBool aConnectOnly, + TBool aTestAccessPoint ) + { + LOG_ENTERFN( "CWsfActiveWrappers::LaunchHelperApplicationL" ); + iLaunchAiHelperActiveWrapper->Start( aInfo, aConnectOnly, aTestAccessPoint ); + } + + +// ---------------------------------------------------------------------------- // CWsfActiveWrappers::GetWLANList // ---------------------------------------------------------------------------- // diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -66,12 +66,7 @@ // LOCAL DEFINITIONS LOCAL_D const TInt KFirstItemArrayIndex = 0; -// 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; +// index value to suppress 1 second refreshing state static const TInt KSuppressRefreshIndex = 1024; @@ -227,9 +222,6 @@ MDesCArray* data = iAiModel->FormatSingleLineWlanListL( iInfoArray ); - // index value to suppress 1 second refreshing state - const TInt KSuppressRefreshIndex = 1024; - iUi->UpdateHotSpotsL( data, KSuppressRefreshIndex ); } @@ -292,20 +284,6 @@ // -------------------------------------------------------------------------- -// TWsfAiController::DismissDialogsL -// -------------------------------------------------------------------------- -// -void TWsfAiController::DismissDialogsL() - { - LOG_ENTERFN("TWsfAiController::DismissDialogsL" ); - TKeyEvent key; - key.iCode = EKeyEscape; - key.iModifiers = 0; - iEnv->SimulateKeyEventL( key, EEventKey ); - } - - -// -------------------------------------------------------------------------- // TWsfAiController::WlanListChangedL // -------------------------------------------------------------------------- // @@ -528,7 +506,7 @@ if ( !iUsedInfo.Connected() ) { - ConnectL( iUsedInfo, EFalse ); + ConnectL( iUsedInfo, EFalse, EFalse ); } else { @@ -574,13 +552,14 @@ // TWsfAiController::ConnectL // -------------------------------------------------------------------------- // -void TWsfAiController::ConnectL( TWsfWlanInfo& aInfo, TBool aShoulConnectOnly ) +void TWsfAiController::ConnectL( TWsfWlanInfo& aInfo, TBool aConnectOnly, + TBool aTestAccessPoint ) { LOG_ENTERFN( "TWsfAiController::ConnectL" ); _ASS_D( iModel ); - iTestAccessPoint = EFalse; - iShouldConnectOnly = aShoulConnectOnly; + iTestAccessPoint = aTestAccessPoint; + iShouldConnectOnly = aConnectOnly; iUsedInfo = aInfo; // Prevent connections to ad-hoc + WPA @@ -629,9 +608,10 @@ { // let the helper app do the query if necessary LOG_WRITE("AiHelper needs to be launched"); - LaunchAiHelperAppL( iUsedInfo ); - ConnectingL( iUsedInfo.iIapId ); iTestAccessPoint = ETrue; + iActiveWrappers->LaunchHelperApplicationL( iUsedInfo, + iShouldConnectOnly, + iTestAccessPoint ); } // Connect @@ -646,7 +626,6 @@ { iActiveWrappers->Connect( iUsedInfo.iIapId, EIapPersistent ); } - } // pop cleanup item CleanupStack::Pop(); @@ -668,54 +647,6 @@ // -------------------------------------------------------------------------- -// TWsfAiController::LaunchAiHelperAppL -// -------------------------------------------------------------------------- -// -void TWsfAiController::LaunchAiHelperAppL( TWsfWlanInfo& aInfo ) - { - LOG_ENTERFN( "TWsfAiController::LaunchAiHelperAppL" ); - - CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL(); - CleanupStack::PushL( waiter ); - - RProperty aiHelperApp; - User::LeaveIfError( aiHelperApp.Attach( - KWsfAiHelperCategoryUid, - KWsfAiHelperExitCodeKey ) ); - CleanupClosePushL( aiHelperApp ); - - aiHelperApp.Subscribe( waiter->iStatus ); - - LOG_WRITE("launching..."); - iModel->LaunchHelperApplicationL( aInfo, ETrue, EFalse ); - waiter->WaitForRequest(); - - TInt exitCode( KErrNone ); - aiHelperApp.Get( exitCode ); - - LOG_WRITEF("AiHelper returned %d", exitCode ); - - if ( exitCode == KErrNone ) - { - User::LeaveIfError( aiHelperApp.Attach( - KWsfAiHelperCategoryUid, - KWsfAiHelperIapIdKey ) ); - TInt iapId( 0 ); - aiHelperApp.Get( iapId ); - aInfo.iIapId = TUint32( iapId ); - LOG_WRITEF("AiHelper iap id = %d", iapId ); - } - else - { - User::Leave( exitCode ); - } - - CleanupStack::PopAndDestroy( &aiHelperApp ); - CleanupStack::PopAndDestroy( waiter ); - } - - -// -------------------------------------------------------------------------- // TWsfAiController::ContinueBrowsingL // -------------------------------------------------------------------------- // @@ -1092,13 +1023,14 @@ if ( LaunchSearchDialogL( info ) ) { - ConnectL( info, ETrue ); + ConnectL( info, ETrue, EFalse ); } } else { // there are known networks - ConnectL( *wlanArray->At( KFirstItemArrayIndex ), ETrue ); + ConnectL( *wlanArray->At( KFirstItemArrayIndex ), ETrue, + EFalse ); } break; @@ -1120,7 +1052,7 @@ if ( LaunchSearchDialogL( info ) ) { - ConnectL( info, ETrue ); + ConnectL( info, ETrue, EFalse ); } break; @@ -1243,8 +1175,15 @@ void TWsfAiController::RefreshRefreshingL() { LOG_ENTERFN( "TWsfAiController::RefreshRefreshingL" ); - MDesCArray *data = iAiModel->FormatRefreshingL(); - iUi->UpdateViewL( data ); + if ( !iUi->MultilineControl() ) + { + MDesCArray *data = iAiModel->FormatRefreshingL(); + iUi->UpdateViewL( data ); + } + else + { + LOG_WRITE( "Multiline control in use - no update done" ); + } } // -------------------------------------------------------------------------- @@ -1254,8 +1193,15 @@ void TWsfAiController::RefreshConnectingL() { LOG_ENTERFN( "TWsfAiController::RefreshConnectingL" ); - MDesCArray *data = iAiModel->FormatConnectingL(); - iUi->UpdateViewL( data ); + if ( !iUi->MultilineControl() ) + { + MDesCArray *data = iAiModel->FormatConnectingL(); + iUi->UpdateViewL( data ); + } + else + { + LOG_WRITE( "Multiline control in use - no update done" ); + } } // End of file diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -15,6 +15,8 @@ * */ + + // EXTERNAL INCLUDES #include #include @@ -50,8 +52,6 @@ // define icon id for Navigation Bar icon -LOCAL_D const TInt KNaviBarIcon = EWlanOffIcon; -LOCAL_D const TInt KTransparentIcon = ETransparentIcon; LOCAL_D const TUid KUidSnifferApp = {0x10281CAA}; LOCAL_D const TInt KRefreshStepTime = 200 * 1000; LOCAL_D const TInt KConnectingStepTime = 200 * 1000; @@ -98,14 +98,6 @@ delete iModel; delete iAiModel; delete iUi; - - delete iCurrentSignalStrength; - delete iCurrentSecureInfo; - - if ( iWlanTitle ) - { - delete iWlanTitle; - } if ( iMskActivate ) { @@ -184,7 +176,6 @@ TInt rightBoundary( 0 ); TChar boundary('\''); HBufC* localCurrentStatusText( NULL ); - HBufC* localCurrentTypeText( NULL ); HBufC* localCurrentNetworkStatus( NULL ); HBufC* localCurrentNetworkName( NULL ); @@ -201,19 +192,18 @@ 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 ); - localCurrentTypeText = end.AllocLC(); } else { + LOG_WRITE( "status name does not exist" ); localCurrentStatusText = fullText.AllocLC(); - delete localCurrentTypeText; - localCurrentTypeText = NULL; } //Connected @@ -221,6 +211,7 @@ { if ( iAiModel->Connected() ) { + LOG_WRITE( "ai model is connected" ); if ( !iConnectedTo ) { iConnectedTo = StringLoader::LoadL( @@ -235,11 +226,13 @@ 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; } @@ -252,93 +245,40 @@ iCurrentObserverIndex < iObservers.Count(); ++iCurrentObserverIndex ) { + LOG_WRITEF( "Start publish - index = %d", iCurrentObserverIndex ); + MAiContentObserver* observer = iObservers[iCurrentObserverIndex]; observer->StartTransaction( reinterpret_cast( this ) ); // make sure we cancel the tracsaction if leaves CleanupStack::PushL( TCleanupItem( PublishCleanup, this ) ); - // Publish Full Text if Classic or Navigation Bar Classic used - if ( localFullText ) - { - published = PublishText( observer, - EAiWizardContentFullText, - *localFullText ) || published; - } - - // Publish Navigation Bar Icon: EAiWizardContentNaviBarIcon - published = PublishIconL( observer, - EAiWizardContentNaviBarIcon, - KNaviBarIcon ) || published; - - // Publish Application Title: EAiWizardContentTitleText - if ( !iWlanTitle ) - { - iWlanTitle = StringLoader::LoadL( R_QTN_AI_WIZARD_TITLE ); - } - if ( iWlanTitle ) - { - published = PublishText( observer, - EAiWizardContentTitleText, - *iWlanTitle ) || published; - } - if ( localCurrentStatusText ) { + LOG_WRITE( "Publish -> status icon" ); // Publish Status icon: EAiWizardContentStatusIcon iconId = aPublishIconArray->At( 0 ); published = PublishIconL( observer, EAiWizardContentStatusIcon, iconId ) || published; - - // Publish Status text: EAiWizardContentStatusText - published = PublishText( observer, - EAiWizardContentStatusText, - *localCurrentStatusText ) || published; } - if ( localCurrentTypeText ) - { - // Publish Type icon: EAiWizardContentTypeIcon - published = PublishIconL( observer, - EAiWizardContentTypeIcon, - KTransparentIcon ) || published; - - // Publish Type text: EAiWizardContentTypeText - published = PublishText( observer, - EAiWizardContentTypeText, - *localCurrentTypeText ) || published; - } - + LOG_WRITE( "Publish -> Strength icon" ); // Publish Strength icon: EAiWizardContentStrengthIcon iconId = aPublishIconArray->At( 2 ); published = PublishIconL( observer, EAiWizardContentStrengthIcon, iconId ) || published; - // Publish Strength text: EAiWizardContentStrengthText - if ( iCurrentSignalStrength && iScanState ) - { - published = PublishText( observer, - EAiWizardContentStrengthText, - *iCurrentSignalStrength ) || published; - } - + LOG_WRITE( "Publish -> secure icon" ); // Publish Secure icon: EAiWizardContentSecureIcon iconId = aPublishIconArray->At( 1 ); published = PublishIconL( observer, EAiWizardContentSecureIcon, iconId ) || published; - - // Publish Secure text: EAiWizardContentSecureText - if ( iCurrentSecureInfo && iScanState ) - { - published = PublishText( observer, - EAiWizardContentSecureText, - *iCurrentSecureInfo ) || published; - } if ( localCurrentNetworkName ) { + LOG_WRITE( "Publish -> localCurrentNetworkName" ); // Publish NetworkName text: EAiWizardContentNetworkName published = PublishText( observer, EAiWizardContentNetworkName, @@ -347,6 +287,7 @@ if ( localCurrentNetworkStatus ) { + LOG_WRITE( "Publish -> localCurrentNetworkStatus" ); // Publish NetworkName text: EAiWizardContentNetworkName published = PublishText( observer, EAiWizardContentNetworkStatus, @@ -357,20 +298,19 @@ // otherwise cancel transaction if ( published ) { + LOG_WRITE( "Commit" ); observer->Commit( reinterpret_cast( this ) ); published = EFalse; } else { + LOG_WRITE( "Cancel transaction" ); observer->CancelTransaction( reinterpret_cast( this ) ); } CleanupStack::Pop( 1 ); // PublishCleanup() } - if ( localCurrentTypeText ) - { - CleanupStack::PopAndDestroy( localCurrentTypeText ); - } + LOG_WRITE( "Publishing ready" ); if ( localCurrentNetworkName ) { @@ -469,9 +409,6 @@ delete iAnimationPeriodic; iAnimationPeriodic = NULL; } - - // HS went to background -> dismiss open dialogs/menus - TRAP_IGNORE( iController.DismissDialogsL() ); } } @@ -570,58 +507,21 @@ observer->StartTransaction( reinterpret_cast( this ) ); - observer->Clean( *this, EAiWizardContentNaviBarIcon, - EAiWizardContentNaviBarIcon ); - observer->Clean( *this, EAiWizardContentTitleText, - EAiWizardContentTitleText ); observer->Clean( *this, EAiWizardContentStatusIcon, EAiWizardContentStatusIcon ); - observer->Clean( *this, EAiWizardContentStatusText, - EAiWizardContentStatusText ); - observer->Clean( *this, EAiWizardContentTypeIcon, - EAiWizardContentTypeIcon ); - observer->Clean( *this, EAiWizardContentTypeText, - EAiWizardContentTypeText ); observer->Clean( *this, EAiWizardContentStrengthIcon, EAiWizardContentStrengthIcon ); - observer->Clean( *this, EAiWizardContentStrengthText, - EAiWizardContentStrengthText ); observer->Clean( *this, EAiWizardContentSecureIcon, EAiWizardContentSecureIcon ); - observer->Clean( *this, EAiWizardContentSecureText, - EAiWizardContentSecureText ); observer->Clean( *this, EAiWizardContentNetworkName, EAiWizardContentNetworkName ); + observer->Commit( reinterpret_cast( this ) ); } } // -------------------------------------------------------------------------- -// CWsfAiPlugin::SetStrengthAndSecure -// -------------------------------------------------------------------------- -// -void CWsfAiPlugin::SetStrengthAndSecure( TDesC* aStrength, TDesC* aSecure ) - { - LOG_ENTERFN( "CWsfAiPlugin::SetStrengthAndSecure" ); - delete iCurrentSignalStrength; - iCurrentSignalStrength = NULL; - if ( aStrength && aStrength->Length() > 0) - { - iCurrentSignalStrength = aStrength->Alloc(); - } - - delete iCurrentSecureInfo; - iCurrentSecureInfo = NULL; - if ( aSecure && aSecure->Length() > 0) - { - // r_qtn_sniffer_plug_in_content_secure - iCurrentSecureInfo = aSecure->Alloc(); - } - } - - -// -------------------------------------------------------------------------- // CWsfAiPlugin::SetScanningState // -------------------------------------------------------------------------- // @@ -847,10 +747,15 @@ // void CWsfAiPlugin::PublishCleanup( TAny* aPtr ) { - LOG_ENTERFN( "CWsfAiPlugin::PublishClearup" ); + LOG_ENTERFN( "CWsfAiPlugin::PublishCleanup" ); CWsfAiPlugin* self = static_cast( aPtr ); - self->iObservers[self->iCurrentObserverIndex] + + if ( self && self->iCurrentObserverIndex < self->iObservers.Count() ) + { + LOG_WRITE( "Cancel transaction" ); + self->iObservers[self->iCurrentObserverIndex] ->CancelTransaction( reinterpret_cast( self ) ); + } } diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/src/wsfaiview.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfaiview.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfaiview.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -198,7 +198,13 @@ } iPublishObserver->SetScanningState( ETrue ); - iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ); + + TRAPD( error, + iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ) ); + if ( error ) + { + LOG_WRITEF( "Publish failed - %d error ignored", error ); + } } @@ -222,15 +228,18 @@ LOG_ENTERFN( "CWsfAiView::ForceRefreshingL" ); } + // -------------------------------------------------------------------------- // CWsfAiPlugin::SetRefreshingL // -------------------------------------------------------------------------- // void CWsfAiView::StartConnectingAnimationL() { + LOG_ENTERFN( "CWsfAiView::StartConnectingAnimationL" ); iPublishObserver->StartConnectingL(); } + // -------------------------------------------------------------------------- // CWsfAiView::MultilineControl // -------------------------------------------------------------------------- @@ -267,8 +276,6 @@ delimiter ) + secondTabPos + 1; // ok we have the tab positions read the values... - - TInt secVal = 0; //read the icons TLex( aString.Mid( 0, firstTabPos )).Val( (TInt&)statusIcon ); TLex( aString.Mid( @@ -278,16 +285,6 @@ TLex( aString.Mid( thirdTabPos+1 , aString.Length() - ( thirdTabPos + 1 ) ) ).Val( (TInt&) secureicon ); - - secVal = secureicon; - HBufC* secureString = NULL; - - iPublishObserver->SetStrengthAndSecure( NULL, secureString ); - if ( secVal == ESecureNetworkIcon ) - { - delete secureString; - secureString = NULL; - } // and the label text TPtrC labelText = aString.Mid( firstTabPos+1, @@ -328,7 +325,14 @@ iUpdateStatusIconDeferred = iSavedUpdateStatusIconDeferred; MakePublishIconsL(); - iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ); + + TRAPD( error, + iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ) ); + if ( error ) + { + LOG_WRITEF( "Publish failed - %d error ignored", error ); + } + iPublishObserver->SetRefreshingL( EFalse ); } @@ -368,7 +372,13 @@ iUpdateStatusIconDeferred = EWlanOffIcon; iPublishObserver->SetScanningState( EFalse ); MakePublishIconsL(); - iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ); + + TRAPD( error, + iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel ) ); + if ( error ) + { + LOG_WRITEF( "Publish failed - %d error ignored", error ); + } } @@ -401,7 +411,6 @@ iPublishIconArray->AppendL( iUpdateSecureIconDeferred ); iPublishIconArray->AppendL( iUpdateSignalStrengthIconDeferred ); } - } @@ -426,6 +435,11 @@ iUpdateSignalStrengthIconDeferred = tmp3; } + +// -------------------------------------------------------------------------- +// CWsfAiView::UpdateViewL() +// -------------------------------------------------------------------------- +// void CWsfAiView::UpdateViewL( MDesCArray* aItemTextArray ) { LOG_ENTERFN( "CWsfAiView::UpdateViewL" ); diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/src/wsfdbobserver.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfdbobserver.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfdbobserver.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -18,6 +18,7 @@ */ + //User includes #include "wsfdbobserver.h" #include "wsfaicontroller.h" @@ -31,9 +32,9 @@ const TInt KWlanSettingsUiDefaultScanNetwork = 300; + // --------------------------------------------------------- -// CWlanPluginDbObserver::CWlanPluginDbObserver -// Constructor +// CWsfDbObserver::CWsfDbObserver // --------------------------------------------------------- CWsfDbObserver::CWsfDbObserver( ) : CActive( EPriorityNormal ), @@ -41,8 +42,9 @@ { } + // --------------------------------------------------------- -// CWlanPluginDbObserver::NewL +// CWsfDbObserver::NewL // --------------------------------------------------------- CWsfDbObserver* CWsfDbObserver::NewL( ) { @@ -52,9 +54,10 @@ CleanupStack::Pop(); return self; } - + + // --------------------------------------------------------- -// CWlanPluginDbObserver::ConstructL +// CWsfDbObserver::ConstructL // --------------------------------------------------------- void CWsfDbObserver::ConstructL() { @@ -64,18 +67,15 @@ FeatureManager::InitializeLibL(); - CActiveScheduler::Add(this); + CActiveScheduler::Add( this ); + } - } - + // --------------------------------------------------------- -// CWlanPluginDbObserver::~CWlanPluginDbObserver -// Destructor +// CWsfDbObserver::~CWsfDbObserver // --------------------------------------------------------- CWsfDbObserver::~CWsfDbObserver() { - - Cancel(); delete iRecord; @@ -84,24 +84,23 @@ delete iWlanMgmtClient; - FeatureManager::UnInitializeLib(); + FeatureManager::UnInitializeLib(); } + // --------------------------------------------------------- -// CWlanPluginDbObserver::RunL +// CWsfDbObserver::RunL // --------------------------------------------------------- void CWsfDbObserver::RunL() { LOG_ENTERFN( "CWsfDbObserver::RunL" ); - //iSession->OpenTransactionL(); - //iRecord->RefreshL( *iSession ); iRecord->LoadL( *iSession ); - //iSession->CommitTransactionL(); //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 ); + LOG_WRITEF( "CWsfDbObserver::RunL -- Bg:%d bg2:%d O:%d", i, j, + iOuterScanState ); if ( iRecord->iBgScanInterval == 0 && iOuterScanState ) { LOG_WRITE( "CWsfDbObserver::RunL -- Scan disabled" ); @@ -118,34 +117,33 @@ SetActive(); iRecord->RequestNotification(*iSession,iStatus); - } + // --------------------------------------------------------- -// CWlanPluginDbObserver::DoCancel +// CWsfDbObserver::DoCancel // --------------------------------------------------------- void CWsfDbObserver::DoCancel() { - iRecord->CancelNotification( *iSession, iStatus ); - } + // --------------------------------------------------------- -// CWlanPluginDbObserver::ActivateIt +// 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 = new (ELeave) CCDWlanDeviceSettingsRecord( tableId ); + iRecord->iWlanDeviceSettingsType = KWlanUserSettings; @@ -165,91 +163,114 @@ } + // --------------------------------------------------------- -// CWlanPluginDbObserver::SetController +// CWsfDbObserver::SetController // --------------------------------------------------------- void CWsfDbObserver::SetController( TWsfAiController* aController ) { iController = aController; } + // --------------------------------------------------------- -// CWlanPluginDbObserver::EnableScanL +// CWsfDbObserver::EnableScanL // --------------------------------------------------------- void CWsfDbObserver::EnableScanL() { - if( !iOuterScanState ) + LOG_ENTERFN( "CWsfDbObserver::EnableScanL" ); + if ( !iOuterScanState ) { - iSession->OpenTransactionL(); 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; - } - iSession->CommitTransactionL(); + { + 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 } } - + + // --------------------------------------------------------- -// CWlanPluginDbObserver::DisableScanL +// CWsfDbObserver::DisableScanL // --------------------------------------------------------- void CWsfDbObserver::DisableScanL() - { - if( iOuterScanState ) - { - iSession->OpenTransactionL(); - iRecord->RefreshL( *iSession ); + { + 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; - } - iSession->CommitTransactionL(); + { + 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 - } - } + } + } + // --------------------------------------------------------- -// CWlanPluginDbObserver::DefaultScanInterval +// CWsfDbObserver::DefaultScanInterval // --------------------------------------------------------- TInt 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; - } - } + { + 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; + } + + diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/src/wsflaunchaihelperactivewrapper.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsflaunchaihelperactivewrapper.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -0,0 +1,230 @@ +/* + * 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; + } + diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/aiplugin/src/wsfsearchwlansdialog.cpp --- a/wlanutilities/wlansniffer/aiplugin/src/wsfsearchwlansdialog.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/aiplugin/src/wsfsearchwlansdialog.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -16,6 +16,7 @@ */ + // EXTERNAL INCLUDES #include #include @@ -24,8 +25,10 @@ #include #include #include + // INTERNAL INCLUDES #include "wsfsearchwlansdialog.h" +#include "wsflogger.h" // MACROS #ifdef _DEBUG @@ -48,7 +51,8 @@ CleanupStack::Pop( thisPtr ); return thisPtr; } - + + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::NewLC // -------------------------------------------------------------------------- @@ -62,6 +66,7 @@ return thisPtr; } + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::~CWsfSearchWlansDialog // -------------------------------------------------------------------------- @@ -69,7 +74,8 @@ CWsfSearchWlansDialog::~CWsfSearchWlansDialog() { } - + + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::CWsfSearchWlansDialog // -------------------------------------------------------------------------- @@ -79,7 +85,8 @@ iSelectedItem( &aSelectedItem ) { } - + + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::ConstructL // -------------------------------------------------------------------------- @@ -88,16 +95,19 @@ { // nothing at the moment... } - + + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::ProcessCommandL // -------------------------------------------------------------------------- // void CWsfSearchWlansDialog::ProcessCommandL( TInt aCommandId ) { + LOG_ENTERFN( "CWsfSearchWlansDialog::ProcessCommandL" ); CAknListQueryDialog::ProcessCommandL( aCommandId ); } - + + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::UpdateHotSpotsL // -------------------------------------------------------------------------- @@ -105,6 +115,7 @@ void CWsfSearchWlansDialog::UpdateHotSpotsL( MDesCArray* aItemTextArray, TInt aCurrentItem ) { + LOG_ENTERFN( "CWsfSearchWlansDialog::UpdateHotSpotsL" ); _ASS_D( ListBox() ); SetItemTextArray( aItemTextArray ); @@ -119,32 +130,38 @@ ListBox()->SetCurrentItemIndex( aCurrentItem ); } } - + + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::SelectedItem // -------------------------------------------------------------------------- // TInt CWsfSearchWlansDialog::SelectedItem() { + LOG_ENTERFN( "CWsfSearchWlansDialog::SelectedItem" ); _ASS_D( ListBox() ); return ListBox()->CurrentItemIndex(); } + // -------------------------------------------------------------------------- -// CWsfAiPlugin::StartConnectingAnimationL +// CWsfSearchWlansDialog::StartConnectingAnimationL // -------------------------------------------------------------------------- // void CWsfSearchWlansDialog::StartConnectingAnimationL() { + LOG_ENTERFN( "CWsfSearchWlansDialog::StartConnectingAnimationL" ); } + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::ForceRefreshingL // -------------------------------------------------------------------------- // void CWsfSearchWlansDialog::ForceRefreshingL() { + LOG_ENTERFN( "CWsfSearchWlansDialog::ForceRefreshingL" ); } @@ -153,10 +170,11 @@ // -------------------------------------------------------------------------- // TBool CWsfSearchWlansDialog::MultilineControl() - { + { + LOG_ENTERFN( "CWsfSearchWlansDialog::MultilineControl" ); return ETrue; } - + // -------------------------------------------------------------------------- // CWsfSearchWlansDialog::UpdateViewL @@ -164,24 +182,27 @@ // 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( diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/engine/server/inc/wsfwlanscaninfodefines.h --- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscaninfodefines.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscaninfodefines.h Wed Mar 31 23:17:49 2010 +0300 @@ -63,6 +63,7 @@ E802Dot11ChallengeTextIE = 16, // Reserved for challenge text extension 17 - 31 E802Dot11ErpInformationIE = 42, + E802Dot11HtCapabilitiesIE = 45, E802Dot11ExtendedRatesIE = 50, E802Dot11AironetIE = 133, E802Dot11ApIpAddressIE = 149, diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanner.h --- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanner.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanner.h Wed Mar 31 23:17:49 2010 +0300 @@ -35,6 +35,72 @@ #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; @@ -297,11 +363,20 @@ void RefreshSecurityMode( TWsfWlanInfo& aWlanInfo ); /** - * Parses the scan results for the transfer rate - * @since S60 5.0 + * 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 RefreshMaxRate( TWsfWlanInfo& aWlanInfo ); + void RefreshTechnology( TWsfWlanInfo& aWlanInfo ); /** * Prepares for direct scanning diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp --- a/wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -631,6 +631,13 @@ 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(); + } } diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp --- a/wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -642,6 +642,8 @@ LOG_ENTERFN( "CWsfWlanScanner::RestartScanning" ); TBool restarted( EFalse ); + LOG_WRITEF( "iScanState = %d isActive = %d iShowAvailability = %d", + iScanState, IsActive(), iShowAvailability ); if ( iScanState == EIdle && ( IsActive() || iShowAvailability ) ) { @@ -656,6 +658,7 @@ restarted = ETrue; } + LOG_WRITEF( "restarted = %d", restarted ); return restarted; } @@ -862,7 +865,7 @@ TWsfWlanInfo* temp = matchArray[i]; ++temp->iCoverage; RefreshSignalStrength( *temp ); - RefreshMaxRate( *temp ); + RefreshTechnology( *temp ); } } // Close() for matchArray @@ -1035,7 +1038,7 @@ // not hidden RefreshNetworkMode( *wlanInfo ); RefreshSecurityMode( *wlanInfo ); - RefreshMaxRate( *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() @@ -1052,7 +1055,7 @@ { wlanInfo->iCoverage = 1; RefreshSignalStrength( *wlanInfo ); - RefreshMaxRate( *wlanInfo ); + RefreshTechnology( *wlanInfo ); ++nElem; // new entry, inc index in array } else // if found inc coverage and refresh signal strength and rate @@ -1062,7 +1065,7 @@ TWsfWlanInfo* temp = matchArray[i]; ++temp->iCoverage; RefreshSignalStrength( *temp ); - RefreshMaxRate( *temp ); + RefreshTechnology( *temp ); if ( temp->iIapId ) { @@ -1576,56 +1579,154 @@ } +// ----------------------------------------------------------------------------- +// 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::RefreshMaxRate +// CWsfWlanScanner::RefreshTechnology // --------------------------------------------------------------------------- // -void CWsfWlanScanner::RefreshMaxRate( TWsfWlanInfo& aWlanInfo ) +void CWsfWlanScanner::RefreshTechnology( TWsfWlanInfo& aWlanInfo ) { - LOG_ENTERFN( "CWsfWlanScanner::RefreshMaxRate" ); + LOG_ENTERFN( "CWsfWlanScanner::RefreshTechnology" ); - TUint8 ieLen( 0 ); + TUint8 ieLen(0); const TUint8* ieData; TUint8 dataRates[KMaxNumberOfRates]; - TUint8 maxDataRate( aWlanInfo.iTransferRate * 2 ); + + 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 ); - Mem::FillZ( &dataRates[0], sizeof( dataRates ) ); + 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; - // Supported Rates - iScanInfo->InformationElement( E802Dot11SupportedRatesIE, ieLen, &ieData ); + 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; - Mem::Copy( dataRates, ieData, ieLen ); + // 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; - for ( TInt a = 0; a < ieLen; a++ ) - { - // ignore the highest bit - dataRates[a] &= 0x7f; - if ( maxDataRate < dataRates[a] ) + 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 ) ) { - maxDataRate = dataRates[a]; + 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 } } - // Extended Supported Rates - Mem::FillZ( &dataRates[0], sizeof( dataRates ) ); - - iScanInfo->InformationElement( E802Dot11ExtendedRatesIE, ieLen, &ieData ); - - Mem::Copy( dataRates, ieData, ieLen ); - - if ( ieData ) - { - for ( TInt a = 0; a < ieLen; a++ ) - { - dataRates[a] &= 0x7f; - if ( maxDataRate < dataRates[a] ) - { - maxDataRate = dataRates[a]; - } - } - } - aWlanInfo.iTransferRate = maxDataRate / 2; - LOG_WRITEF( "maxRate = %d", aWlanInfo.iTransferRate ); + LOG_WRITEF( "technology = %d", aWlanInfo.iTransferRate ); } diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/mainapplication/data/wlansniffer.rss --- a/wlanutilities/wlansniffer/mainapplication/data/wlansniffer.rss Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/data/wlansniffer.rss Wed Mar 31 23:17:49 2010 +0300 @@ -430,6 +430,32 @@ //----------------------------------------------------------------------------- // +// 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: // //----------------------------------------------------------------------------- diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewmodel.h --- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewmodel.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewmodel.h Wed Mar 31 23:17:49 2010 +0300 @@ -231,11 +231,11 @@ HBufC* FormatCoverageLC(); /** - * Formats wlan speed to string - * @since S60 v5.0 + * Formats wlan technology to string + * @since S60 v5.2 * @return formated string */ - HBufC* FormatSpeedLC(); + HBufC* FormatTechnologyLC(); /** * Calculate number of visible (Not hidden) WLANs diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/mainapplication/inc/wsfmainview.h --- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainview.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/inc/wsfmainview.h Wed Mar 31 23:17:49 2010 +0300 @@ -171,10 +171,9 @@ * Check if the Browser application is already running and * using the selected connection. * @since S60 5.0 - * @return EFalse if Start Web Browsing menu item should be shown - * ETrue if Start Web Browsing menu item should not be shown + * @return IapId that browser is using */ - TBool IsBrowserUsingWlanL(); + TInt BrowserIapIdL(); private: @@ -201,9 +200,9 @@ TBool iSelectionKey; /** - * If Browser is using the WLAN connection or not. + * IapId that browser is using */ - TBool iIsBrowserUsingWlan; + TInt iBrowserIapId; }; diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -490,7 +490,7 @@ void CWsfDetailsViewModel::FormatAndAppenSpeedL() { LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSpeedL" ); - HBufC* speed = FormatSpeedLC(); + HBufC* speed = FormatTechnologyLC(); HBufC* listBoxItem = FormatListBoxItemLC( R_QTN_SNIFFER_HEADING_WLAN_NW_MAX_RATE, *speed ); @@ -651,24 +651,45 @@ } } -// --------------------------------------------------------------------------- -// CWsfDetailsViewModel::FormatSpeedLC -// --------------------------------------------------------------------------- +// --------------------------------------------------------- +// CWsfDetailsViewModel::FormatTechnologyLC +// --------------------------------------------------------- // -HBufC* CWsfDetailsViewModel::FormatSpeedLC() +HBufC* CWsfDetailsViewModel::FormatTechnologyLC() { - LOG_ENTERFN( "CWsfDetailsViewModel::FormatSpeedLC" ); - //if data rate is allowed to be a fraction, - //rewrite this format string - _LIT( KRateFmt, "%d" ); + 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(); + } + } - const TInt KMaxRateStringWidth = 8; - TBuf rate; - rate.Format( KRateFmt, iWlanInfo.iTransferRate ); - AknTextUtils::DisplayTextLanguageSpecificNumberConversion( rate ); - - return StringLoader::LoadLC( R_QTN_SNIFFER_WLAN_MAX_DATA_RATE, - rate, iCoeEnv ); + return StringLoader::LoadLC( resourceId ); } // --------------------------------------------------------------------------- diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -373,8 +373,10 @@ if ( iInfoArray->Count() ) { TWsfWlanInfo* firstItem = iInfoArray->At( 0 ); - if ( firstItem && firstItem->Connected() ) + 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 ) diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp --- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -34,6 +34,7 @@ #include "wsfmainapplication.hrh" #include "wsfactivewaiter.h" #include "wsfappui.h" +#include "wsfmodel.h" #include "wsflogger.h" @@ -71,7 +72,7 @@ // CWsfMainView::CWsfMainView // --------------------------------------------------------------------------- // -CWsfMainView::CWsfMainView() +CWsfMainView::CWsfMainView(): iBrowserIapId( KErrNotFound ) { // no implementation required } @@ -148,7 +149,6 @@ case EAknSoftkeyContextOptions: { LOG_WRITE( "CWsfMainView::HandleCommandL, Options" ); - UpdateBrowserUsageInfoL(); MenuBar()->SetMenuTitleResourceId( R_SNIFFER_CONTEXT_MENUBAR ); MenuBar()->SetMenuType( CEikMenuBar::EMenuContext ); MenuBar()->TryDisplayMenuBarL(); @@ -238,8 +238,7 @@ TWsfWlanInfo *selectedItem = iController.SelectedItem(); CWsfWlanInfoArray *infoArray = iModel->GetInfoArray(); - CWsfAppUi* appui = static_cast( AppUi() ); - TBool connecting( appui->SuppressingKeyEvents() ); + TBool connecting( doc->Model().IsConnecting() ); if ( !selectedItem ) { @@ -268,9 +267,9 @@ TBool connected( selectedItem->Connected() ); TBool connectedAndUsed( EFalse ); - if ( connected ) + if ( connected && iBrowserIapId == selectedItem->iIapId ) { - connectedAndUsed = iIsBrowserUsingWlan; + connectedAndUsed = ETrue; } TBool known( selectedItem->Known() ); @@ -324,8 +323,10 @@ TBool known( EFalse ); TBool hidden( ETrue ); - CWsfAppUi* appui = static_cast( AppUi() ); - TBool connecting( appui->SuppressingKeyEvents() ); + const CWsfDocument* doc = static_cast( + AppUi()->Document() ); + + TBool connecting( doc->Model().IsConnecting() ); TBool selectedItemConnecting( EFalse ); @@ -334,9 +335,9 @@ // workaround: even if the model reports no elements, we know that // the hidden item must always be there connected = selectedItem->Connected(); - if ( connected ) + if ( connected && iBrowserIapId == selectedItem->iIapId ) { - connectedAndUsed = iIsBrowserUsingWlan; + connectedAndUsed = ETrue; } known = selectedItem->Known(); hidden = selectedItem->Hidden(); @@ -405,17 +406,17 @@ void CWsfMainView::UpdateBrowserUsageInfoL() { LOG_ENTERFN( "CWsfMainView::UpdateBrowserUsageInfoL" ); - iIsBrowserUsingWlan = IsBrowserUsingWlanL(); + iBrowserIapId = BrowserIapIdL(); } // --------------------------------------------------------------------------- -// CWsfMainView::IsBrowserUsingWlanL +// CWsfMainView::BrowserIapIdL // --------------------------------------------------------------------------- // -TBool CWsfMainView::IsBrowserUsingWlanL() +TInt CWsfMainView::BrowserIapIdL() { - LOG_ENTERFN( "CWsfMainView::IsBrowserUsingWlanL" ); + LOG_ENTERFN( "CWsfMainView::BrowserIapIdL" ); const TInt KBrowserUid = 0x10008D39; TUid id( TUid::Uid( KBrowserUid ) ); @@ -423,7 +424,7 @@ // Check if the Browser application is already running. TApaTaskList taskList( iEikonEnv->WsSession() ); TApaTask task = taskList.FindApp( id ); - TBool isBrowserRunning( EFalse ); + TInt browserIapId( KErrNotFound ); #ifndef __WINS__ @@ -431,14 +432,20 @@ { LOG_WRITE( "The Browser is running." ); // The Browser is already running. - // Check if the selected WLAN is connected. - iController.UpdateSelectedItemL(); - TWsfWlanInfo* selectedItem = iController.SelectedItem(); + TWsfWlanInfo* firstItem = NULL; + + CWsfWlanInfoArray *infoArray = iModel->GetInfoArray(); + if ( infoArray ) + { + firstItem = infoArray->At( 0 ); + } + TBool connected( EFalse ); - if( selectedItem ) - { - connected = selectedItem->Connected(); - } + if( firstItem ) + { + // first item always holds the connected network + connected = firstItem->Connected(); + } LOG_WRITEF("Selected network Connected? %d", connected); if ( connected ) @@ -519,7 +526,7 @@ if ( clientBuf().iUid[i].iUid == KBrowserUid ) { - isBrowserRunning = ETrue; + browserIapId = firstItem->iIapId; } } appSess.Close(); @@ -535,8 +542,8 @@ #endif // __WINS__ - LOG_WRITEF( "isBrowserRunning: %d", isBrowserRunning ); - return isBrowserRunning; + LOG_WRITEF( "browserIapId: %d", browserIapId ); + return browserIapId; } diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/model/bwins/wsfmodelu.def --- a/wlanutilities/wlansniffer/model/bwins/wsfmodelu.def Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/model/bwins/wsfmodelu.def Wed Mar 31 23:17:49 2010 +0300 @@ -5,20 +5,20 @@ ?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) - ?SetRefreshState@CWsfModel@@QAEXH@Z @ 7 NONAME ; void CWsfModel::SetRefreshState(int) - ?RefreshScan@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTRequestStatus@@@Z @ 8 NONAME ; void CWsfModel::RefreshScan(class TPckgBuf &, class TRequestStatus &) - ?SetEngineObserver@CWsfModel@@QAEXPAVMWsfModelObserver@@@Z @ 9 NONAME ; void CWsfModel::SetEngineObserver(class MWsfModelObserver *) - ?ConnectL@CWsfModel@@QAEHK@Z @ 10 NONAME ; int CWsfModel::ConnectL(unsigned long) - ?CheckIsIapIdValidL@CWsfModel@@QBEXI@Z @ 11 NONAME ; void CWsfModel::CheckIsIapIdValidL(unsigned int) const - ?SetActiveViewL@CWsfModel@@QAEXH@Z @ 12 NONAME ; void CWsfModel::SetActiveViewL(int) - ?NewLC@CWsfModel@@SAPAV1@AAVMWsfStateChangeObserver@@H@Z @ 13 NONAME ; class CWsfModel * CWsfModel::NewLC(class MWsfStateChangeObserver &, int) - ?IsScanEnabledL@CWsfModel@@QAEHXZ @ 14 NONAME ; int CWsfModel::IsScanEnabledL(void) - ?SetConnectResultL@CWsfModel@@QAEXHI@Z @ 15 NONAME ; void CWsfModel::SetConnectResultL(int, unsigned int) - ?AbortScanningL@CWsfModel@@QAEXXZ @ 16 NONAME ; void CWsfModel::AbortScanningL(void) - ?TestAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@HH@Z @ 17 NONAME ; int CWsfModel::TestAccessPointL(class TWsfWlanInfo &, int, int) - ?CancelNotifyEvents@CWsfModel@@QAEXXZ @ 18 NONAME ; void CWsfModel::CancelNotifyEvents(void) - ??1CWsfModel@@UAE@XZ @ 19 NONAME ; CWsfModel::~CWsfModel(void) - ?LaunchHelperApplicationL@CWsfModel@@QAEXAAVTWsfWlanInfo@@HH@Z @ 20 NONAME ; void CWsfModel::LaunchHelperApplicationL(class TWsfWlanInfo &, int, int) + ?GetConnectedWlanDetails@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTWsfWlanInfo@@AAVTRequestStatus@@@Z @ 7 NONAME ; void CWsfModel::GetConnectedWlanDetails(class TPckgBuf &, 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 &, class TRequestStatus &) + ?SetEngineObserver@CWsfModel@@QAEXPAVMWsfModelObserver@@@Z @ 10 NONAME ; void CWsfModel::SetEngineObserver(class MWsfModelObserver *) + ?ConnectL@CWsfModel@@QAEHK@Z @ 11 NONAME ; int CWsfModel::ConnectL(unsigned long) + ?CheckIsIapIdValidL@CWsfModel@@QBEXI@Z @ 12 NONAME ; void CWsfModel::CheckIsIapIdValidL(unsigned int) const + ?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) + ?TestAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@HH@Z @ 18 NONAME ; int CWsfModel::TestAccessPointL(class TWsfWlanInfo &, int, int) + ?CancelNotifyEvents@CWsfModel@@QAEXXZ @ 19 NONAME ; void CWsfModel::CancelNotifyEvents(void) + ??1CWsfModel@@UAE@XZ @ 20 NONAME ; CWsfModel::~CWsfModel(void) ?GetWlanListL@CWsfModel@@QAEPAVCWsfWlanInfoArray@@XZ @ 21 NONAME ; class CWsfWlanInfoArray * CWsfModel::GetWlanListL(void) ?DisableScanL@CWsfModel@@QAEHXZ @ 22 NONAME ; int CWsfModel::DisableScanL(void) ?GetConnectedWlanDetailsL@CWsfModel@@QAEHAAVTWsfWlanInfo@@@Z @ 23 NONAME ; int CWsfModel::GetConnectedWlanDetailsL(class TWsfWlanInfo &) @@ -33,11 +33,12 @@ ?CreateAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@H@Z @ 32 NONAME ; int CWsfModel::CreateAccessPointL(class TWsfWlanInfo &, int) ?TestConnectedAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@H@Z @ 33 NONAME ; int CWsfModel::TestConnectedAccessPointL(class TWsfWlanInfo &, int) ?NewLC@CWsfAppLauncher@@SAPAV1@XZ @ 34 NONAME ; class CWsfAppLauncher * CWsfAppLauncher::NewLC(void) - ?GetWlanList@CWsfModel@@QAEXAAV?$TPckgBuf@I@@AAVTPtr8@@AAVTRequestStatus@@@Z @ 35 NONAME ; void CWsfModel::GetWlanList(class TPckgBuf &, class TPtr8 &, class TRequestStatus &) - ?RequestNotifyEventsL@CWsfModel@@QAEXAAVMWsfStateChangeObserver@@@Z @ 36 NONAME ; void CWsfModel::RequestNotifyEventsL(class MWsfStateChangeObserver &) + ?RequestNotifyEventsL@CWsfModel@@QAEXAAVMWsfStateChangeObserver@@@Z @ 35 NONAME ; void CWsfModel::RequestNotifyEventsL(class MWsfStateChangeObserver &) + ?GetWlanList@CWsfModel@@QAEXAAV?$TPckgBuf@I@@AAVTPtr8@@AAVTRequestStatus@@@Z @ 36 NONAME ; void CWsfModel::GetWlanList(class TPckgBuf &, class TPtr8 &, class TRequestStatus &) ?LaunchBrowserL@CWsfModel@@UAEXK@Z @ 37 NONAME ; void CWsfModel::LaunchBrowserL(unsigned long) - ?RefreshScanL@CWsfModel@@QAEHXZ @ 38 NONAME ; int CWsfModel::RefreshScanL(void) - ?Disconnect@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTRequestStatus@@@Z @ 39 NONAME ; void CWsfModel::Disconnect(class TPckgBuf &, class TRequestStatus &) - ?SetObservedWlanL@CWsfModel@@QAEXABVTDesC8@@@Z @ 40 NONAME ; void CWsfModel::SetObservedWlanL(class TDesC8 const &) - ?GetConnectedWlanDetails@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTWsfWlanInfo@@AAVTRequestStatus@@@Z @ 41 NONAME ; void CWsfModel::GetConnectedWlanDetails(class TPckgBuf &, class TWsfWlanInfo &, class TRequestStatus &) + ?LaunchHelperApplicationL@CWsfModel@@QAEXAAVTWsfWlanInfo@@@Z @ 38 NONAME ; void CWsfModel::LaunchHelperApplicationL(class TWsfWlanInfo &) + ?RefreshScanL@CWsfModel@@QAEHXZ @ 39 NONAME ; int CWsfModel::RefreshScanL(void) + ?Disconnect@CWsfModel@@QAEXAAV?$TPckgBuf@H@@AAVTRequestStatus@@@Z @ 40 NONAME ; void CWsfModel::Disconnect(class TPckgBuf &, class TRequestStatus &) + ?SetObservedWlanL@CWsfModel@@QAEXABVTDesC8@@@Z @ 41 NONAME ; void CWsfModel::SetObservedWlanL(class TDesC8 const &) + ?CloseHelperApplication@CWsfModel@@QAEHXZ @ 42 NONAME ; int CWsfModel::CloseHelperApplication(void) diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/model/eabi/wsfmodelu.def --- a/wlanutilities/wlansniffer/model/eabi/wsfmodelu.def Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/model/eabi/wsfmodelu.def Wed Mar 31 23:17:49 2010 +0300 @@ -30,17 +30,18 @@ _ZN9CWsfModel18CreateAccessPointLER12TWsfWlanInfoi @ 29 NONAME _ZN9CWsfModel18IctsTestPermissionEv @ 30 NONAME _ZN9CWsfModel20RequestNotifyEventsLER23MWsfStateChangeObserver @ 31 NONAME - _ZN9CWsfModel24GetConnectedWlanDetailsLER12TWsfWlanInfo @ 32 NONAME - _ZN9CWsfModel24LaunchHelperApplicationLER12TWsfWlanInfoii @ 33 NONAME - _ZN9CWsfModel25TestConnectedAccessPointLER12TWsfWlanInfoi @ 34 NONAME - _ZN9CWsfModel4NewLER23MWsfStateChangeObserveri @ 35 NONAME - _ZN9CWsfModel5NewLCER23MWsfStateChangeObserveri @ 36 NONAME - _ZN9CWsfModel8ConnectLER8TPckgBufIiEm18TWsfIapPersistenceR14TRequestStatus @ 37 NONAME - _ZN9CWsfModel8ConnectLEm @ 38 NONAME - _ZN9CWsfModelD0Ev @ 39 NONAME - _ZN9CWsfModelD1Ev @ 40 NONAME - _ZN9CWsfModelD2Ev @ 41 NONAME - _ZNK9CWsfModel18CheckIsIapIdValidLEj @ 42 NONAME - _ZThn12_N9CWsfModel14LaunchBrowserLEm @ 43 NONAME - _ZN9CWsfModel23GetConnectedWlanDetailsER8TPckgBufIiER12TWsfWlanInfoR14TRequestStatus @ 44 NONAME + _ZN9CWsfModel22CloseHelperApplicationEv @ 32 NONAME + _ZN9CWsfModel23GetConnectedWlanDetailsER8TPckgBufIiER12TWsfWlanInfoR14TRequestStatus @ 33 NONAME + _ZN9CWsfModel24GetConnectedWlanDetailsLER12TWsfWlanInfo @ 34 NONAME + _ZN9CWsfModel24LaunchHelperApplicationLER12TWsfWlanInfo @ 35 NONAME + _ZN9CWsfModel25TestConnectedAccessPointLER12TWsfWlanInfoi @ 36 NONAME + _ZN9CWsfModel4NewLER23MWsfStateChangeObserveri @ 37 NONAME + _ZN9CWsfModel5NewLCER23MWsfStateChangeObserveri @ 38 NONAME + _ZN9CWsfModel8ConnectLER8TPckgBufIiEm18TWsfIapPersistenceR14TRequestStatus @ 39 NONAME + _ZN9CWsfModel8ConnectLEm @ 40 NONAME + _ZN9CWsfModelD0Ev @ 41 NONAME + _ZN9CWsfModelD1Ev @ 42 NONAME + _ZN9CWsfModelD2Ev @ 43 NONAME + _ZNK9CWsfModel18CheckIsIapIdValidLEj @ 44 NONAME + _ZThn12_N9CWsfModel14LaunchBrowserLEm @ 45 NONAME diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/model/inc/wsfmodel.h --- a/wlanutilities/wlansniffer/model/inc/wsfmodel.h Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/model/inc/wsfmodel.h Wed Mar 31 23:17:49 2010 +0300 @@ -310,17 +310,18 @@ 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.0 + * @since S60 5.2 * @param aWlanInfo The WlanInfo object to be passed to the helper app - * @param aConnecting ETrue if default connection is used, EFalse otherwise. - * @param aConnectOnly ETrue if the helper app is expected to connect - * only, EFalse if it should also launch the browser - * on successful connection. */ - IMPORT_C void LaunchHelperApplicationL( TWsfWlanInfo& aWlanInfo, - TBool aConnecting, - TBool aConnectOnly ); + IMPORT_C void LaunchHelperApplicationL( TWsfWlanInfo& aWlanInfo ); /** * Cancel notify events from server diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/model/src/wsfmodel.cpp --- a/wlanutilities/wlansniffer/model/src/wsfmodel.cpp Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/model/src/wsfmodel.cpp Wed Mar 31 23:17:49 2010 +0300 @@ -916,25 +916,43 @@ 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, - TBool aConnecting, - TBool aConnectOnly ) +EXPORT_C void CWsfModel::LaunchHelperApplicationL( TWsfWlanInfo &aWlanInfo ) { LOG_ENTERFN( "CWsfModel::LaunchHelperApplicationL" ); TPckgC param( aWlanInfo ); - TPckgC param2( aConnecting ); - TPckgC param3( aConnectOnly ); - TBuf8 temp; + TBuf8 temp; temp.Copy( param ); - temp.Append( param2 ); - temp.Append( param3 ); TFileName fileName; fileName.Copy( temp ); diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.css --- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.css Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.css Wed Mar 31 23:17:49 2010 +0300 @@ -8,30 +8,30 @@ height: auto; padding-left: 7px; padding-right: 7px; - padding-top: 7%; - padding-bottom: 7%; + padding-top: 16px; + padding-bottom: 17px; nav-index: appearance; block-progression: tb; } button.wizardStatusBox1 { - display: block; - visibility: visible; - width: auto; - height: adaptive; - position: absolute; + 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: adaptive; - position: absolute; - top: 5u; + display: block; + visibility: visible; + width: auto; + height: 24px; + position: absolute; + top: 25px; block-progression: lr; direction: ltr; } @@ -40,10 +40,10 @@ display: block; visibility: visible; position: static; - margin-top: 4%; - margin-left: 1.0u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 0u; + width: 24px; + height: 24px; } text.wizardEntryText1 { @@ -51,14 +51,15 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-top: 4%; - margin-left: 1.0u; + 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 { @@ -66,31 +67,33 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-left: 6.0u; + 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: 0.2%; - margin-right: 0.5u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-right: 5px; + width: 24px; + height: 24px; } image#wizardStrengthIcon { display: block; visibility: visible; position: static; - margin-top: 0.2%; - margin-right: 1u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-right: 0u; + width: 24px; + height: 24px; } \ No newline at end of file diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/37/wsfwidget.css --- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/37/wsfwidget.css Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/37/wsfwidget.css Wed Mar 31 23:17:49 2010 +0300 @@ -8,30 +8,30 @@ height: auto; padding-left: 7px; padding-right: 7px; - padding-top: 7%; - padding-bottom: 7%; + padding-top: 16px; + padding-bottom: 17px; nav-index: appearance; block-progression: tb; } button.wizardStatusBox1 { - display: block; - visibility: visible; - width: auto; - height: adaptive; - position: absolute; + 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: adaptive; - position: absolute; - top: 5u; + display: block; + visibility: visible; + width: auto; + height: 24px; + position: absolute; + top: 25px; block-progression: rl; direction: rtl; } @@ -40,10 +40,10 @@ display: block; visibility: visible; position: static; - margin-top: 4%; - margin-right: 1.0u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-right: 0u; + width: 24px; + height: 24px; } text.wizardEntryText1 { @@ -51,14 +51,15 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-top: 4%; - margin-right: 1.0u; + 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 { @@ -66,31 +67,33 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-right: 6.0u; + 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: 0.2%; - margin-left: 0.5u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 5px; + width: 24px; + height: 24px; } image#wizardStrengthIcon { display: block; visibility: visible; position: static; - margin-top: 0.2%; - margin-left: 1u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 0u; + width: 24px; + height: 24px; } \ No newline at end of file diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/50/wsfwidget.css --- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/50/wsfwidget.css Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/50/wsfwidget.css Wed Mar 31 23:17:49 2010 +0300 @@ -8,30 +8,30 @@ height: auto; padding-left: 7px; padding-right: 7px; - padding-top: 7%; - padding-bottom: 7%; + padding-top: 16px; + padding-bottom: 17px; nav-index: appearance; block-progression: tb; } button.wizardStatusBox1 { - display: block; - visibility: visible; - width: auto; - height: adaptive; - position: absolute; + 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: adaptive; - position: absolute; - top: 5u; + display: block; + visibility: visible; + width: auto; + height: 24px; + position: absolute; + top: 25px; block-progression: rl; direction: rtl; } @@ -40,10 +40,10 @@ display: block; visibility: visible; position: static; - margin-top: 4%; - margin-right: 1.0u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-right: 0u; + width: 24px; + height: 24px; } text.wizardEntryText1 { @@ -51,14 +51,15 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-top: 4%; - margin-right: 1.0u; + 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 { @@ -66,31 +67,33 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-right: 6.0u; + 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: 0.2%; - margin-left: 0.5u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 5px; + width: 24px; + height: 24px; } image#wizardStrengthIcon { display: block; visibility: visible; position: static; - margin-top: 0.2%; - margin-left: 1u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 0u; + width: 24px; + height: 24px; } \ No newline at end of file diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/57/wsfwidget.css --- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/57/wsfwidget.css Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/57/wsfwidget.css Wed Mar 31 23:17:49 2010 +0300 @@ -8,30 +8,30 @@ height: auto; padding-left: 7px; padding-right: 7px; - padding-top: 7%; - padding-bottom: 7%; + padding-top: 16px; + padding-bottom: 17px; nav-index: appearance; block-progression: tb; } button.wizardStatusBox1 { - display: block; - visibility: visible; - width: auto; - height: adaptive; - position: absolute; + 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: adaptive; - position: absolute; - top: 5u; + display: block; + visibility: visible; + width: auto; + height: 24px; + position: absolute; + top: 25px; block-progression: rl; direction: rtl; } @@ -40,10 +40,10 @@ display: block; visibility: visible; position: static; - margin-top: 4%; - margin-right: 1.0u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-right: 0u; + width: 24px; + height: 24px; } text.wizardEntryText1 { @@ -51,14 +51,15 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-top: 4%; - margin-right: 1.0u; + 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 { @@ -66,31 +67,33 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-right: 6.0u; + 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: 0.2%; - margin-left: 0.5u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 5px; + width: 24px; + height: 24px; } image#wizardStrengthIcon { display: block; visibility: visible; position: static; - margin-top: 0.2%; - margin-left: 1u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 0u; + width: 24px; + height: 24px; } \ No newline at end of file diff -r 8b0eae1b1d71 -r 981afc7d3841 wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/94/wsfwidget.css --- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/94/wsfwidget.css Mon Mar 15 12:44:54 2010 +0200 +++ b/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/94/wsfwidget.css Wed Mar 31 23:17:49 2010 +0300 @@ -8,30 +8,30 @@ height: auto; padding-left: 7px; padding-right: 7px; - padding-top: 7%; - padding-bottom: 7%; + padding-top: 16px; + padding-bottom: 17px; nav-index: appearance; block-progression: tb; } button.wizardStatusBox1 { - display: block; - visibility: visible; - width: auto; - height: adaptive; - position: absolute; + 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: adaptive; - position: absolute; - top: 5u; + display: block; + visibility: visible; + width: auto; + height: 24px; + position: absolute; + top: 25px; block-progression: rl; direction: rtl; } @@ -40,10 +40,10 @@ display: block; visibility: visible; position: static; - margin-top: 4%; - margin-right: 1.0u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-right: 0u; + width: 24px; + height: 24px; } text.wizardEntryText1 { @@ -51,14 +51,15 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-top: 4%; - margin-right: 1.0u; + 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 { @@ -66,31 +67,33 @@ visibility: visible; position: static; width: auto; - height: 4.0u; - margin-right: 6.0u; + 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: 0.2%; - margin-left: 0.5u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 5px; + width: 24px; + height: 24px; } image#wizardStrengthIcon { display: block; visibility: visible; position: static; - margin-top: 0.2%; - margin-left: 1u; - width: 4.0u; - height: 4.0u; + margin-top: 0u; + margin-left: 0u; + width: 24px; + height: 24px; } \ No newline at end of file