Revision: 201011
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 16:07:56 +0300
changeset 19 10810c91db26
parent 3 ff3b37722600
child 22 498f36116140
Revision: 201011 Kit: 201015
group/bld.inf
hotspotfw/group/bld.inf
hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h
hotspotfw/hsbrowser/src/hsbrowserloadeventobserver.cpp
hotspotfw/hsclient/NetCfgExtnHotSpot/inc/NetCfgExtnHotSpot.h
hotspotfw/hsclient/NetCfgExtnHotSpot/src/NetCfgExtnHotSpot.cpp
hotspotfw/hsclient/inc/hssinterface.h
hotspotfw/hsclient/src/hssinterface.cpp
hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp
hotspotfw/hsfw_sis/cenrep.pkg
hotspotfw/hsfw_sis/hotspot.pkg
hotspotfw/hsfw_sis/hotspotfwupdater.pkg
hotspotfw/hsfw_sis/ictsupdater.pkg
hotspotfw/hsserver/inc/802dot11.h
hotspotfw/hsserver/inc/algorithm.h
hotspotfw/hsserver/inc/hotspotclientserver.h
hotspotfw/hsserver/inc/hotspotserver.h
hotspotfw/hsserver/inc/hotspotsession.h
hotspotfw/hsserver/inc/hssiapsettingshandler.h
hotspotfw/hsserver/inc/hssscanoffsets.h
hotspotfw/hsserver/inc/pack.h
hotspotfw/hsserver/src/hotspotserver.cpp
hotspotfw/hsserver/src/hotspotsession.cpp
hotspotfw/hsserver/src/hssiapsettingshandler.cpp
hotspotfw/internetconnectivitytestservice/src/ictshttphandler.cpp
hotspotfw/rom/hotspot.iby
hotspotfw/rom/hotspotfwstub.pkg
hotspotfw/rom/hotspotfwstub.sis
hotspotfw/rom/ictsstub.pkg
hotspotfw/rom/ictsstub.sis
layers.sysdef.xml
package_definition.xml
sysdef_1_4_0.dtd
sysdef_1_5_1.dtd
wirelessacc.pro
wlanutilities/cpwlansettingsplugin/cpwlansettingsplugin.pro
wlanutilities/cpwlansettingsplugin/inc/cpwlansettingsgroupitemdata.h
wlanutilities/cpwlansettingsplugin/inc/cpwlansettingsplugin.h
wlanutilities/cpwlansettingsplugin/inc/wlansettings.h
wlanutilities/cpwlansettingsplugin/inc/wlansettings_s60_p.h
wlanutilities/cpwlansettingsplugin/rom/cpwlansettingsplugin.iby
wlanutilities/cpwlansettingsplugin/rom/cpwlansettingsplugin_resources.iby
wlanutilities/cpwlansettingsplugin/src/cpwlansettingsgroupitemdata.cpp
wlanutilities/cpwlansettingsplugin/src/cpwlansettingsplugin.cpp
wlanutilities/cpwlansettingsplugin/src/wlansettings.cpp
wlanutilities/cpwlansettingsplugin/src/wlansettings_s60.cpp
wlanutilities/cpwlansettingsplugin/traces/OstTraceDefinitions.h
wlanutilities/cpwlansettingsplugin/tsrc/main.cpp
wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.cpp
wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.h
wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.loc
wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.pro
wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.rss
wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest_reg.rss
wlanutilities/group/bld.inf
wlanutilities/wlanentryplugin/inc/cpwlanentryitemdata.h
wlanutilities/wlanentryplugin/inc/cpwlanentryplugin.h
wlanutilities/wlanentryplugin/inc/wlanstatusinfo.h
wlanutilities/wlanentryplugin/rom/wlanentryplugin.iby
wlanutilities/wlanentryplugin/rom/wlanentryplugin_resources.iby
wlanutilities/wlanentryplugin/src/cpwlanentryitemdata.cpp
wlanutilities/wlanentryplugin/src/cpwlanentryplugin.cpp
wlanutilities/wlanentryplugin/src/wlanstatusinfo.cpp
wlanutilities/wlanentryplugin/traces/OstTraceDefinitions.h
wlanutilities/wlanentryplugin/wlanentryplugin.pro
wlanutilities/wlanindicatorplugin/data/2001247E.rss
wlanutilities/wlanindicatorplugin/data/wlanindicator.rss
wlanutilities/wlanindicatorplugin/group/bld.inf
wlanutilities/wlanindicatorplugin/group/wlanindicatorplugin.mmp
wlanutilities/wlanindicatorplugin/inc/wlanindicatorplugin.h
wlanutilities/wlanindicatorplugin/inc/wlanindicatorpluginimplementation.h
wlanutilities/wlanindicatorplugin/loc/wlanindicatorplugin.loc
wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin.iby
wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin_resources.iby
wlanutilities/wlanindicatorplugin/rom/wlanindicatorpluginresources.iby
wlanutilities/wlanindicatorplugin/src/dllmain.cpp
wlanutilities/wlanindicatorplugin/src/wlanindicatorplugin.cpp
wlanutilities/wlanindicatorplugin/src/wlanindicatorpluginimplementation.cpp
wlanutilities/wlanindicatorplugin/traces/OstTraceDefinitions.h
wlanutilities/wlanindicatorplugin/wlanindicatorplugin.pro
wlanutilities/wlanplugin/data/10281BCB.rss
wlanutilities/wlanplugin/data/wlanpluginrsc.rss
wlanutilities/wlanplugin/group/bld.inf
wlanutilities/wlanplugin/group/wlanplugin.mmp
wlanutilities/wlanplugin/group/wlanpluginicons.mk
wlanutilities/wlanplugin/inc/wlanplugin.h
wlanutilities/wlanplugin/inc/wlanplugindbobserver.h
wlanutilities/wlanplugin/inc/wlanpluginlogger.h
wlanutilities/wlanplugin/inc/wlanplugintimeshifter.h
wlanutilities/wlanplugin/inc/wlanpluginwlanstate.h
wlanutilities/wlanplugin/loc/wlanplugin.loc
wlanutilities/wlanplugin/rom/wlanplugin.iby
wlanutilities/wlanplugin/rom/wlanpluginresources.iby
wlanutilities/wlanplugin/src/wlanplugin.cpp
wlanutilities/wlanplugin/src/wlanplugindbobserver.cpp
wlanutilities/wlanplugin/src/wlanpluginimplementationtable.cpp
wlanutilities/wlanplugin/src/wlanplugintimeshifter.cpp
wlanutilities/wlanplugin/src/wlanpluginwlanstate.cpp
wlanutilities/wlanqtutilities/base/inc/wlanqtutils.h
wlanutilities/wlanqtutilities/base/inc/wlanqtutils_p.h
wlanutilities/wlanqtutilities/base/inc/wlanqtutilsactiveconn.h
wlanutilities/wlanqtutilities/base/inc/wlanqtutilscommon.h
wlanutilities/wlanqtutilities/base/inc/wlanqtutilsiap.h
wlanutilities/wlanqtutilities/base/inc/wlanqtutilswlanap.h
wlanutilities/wlanqtutilities/base/inc/wlanqtutilswlaniap.h
wlanutilities/wlanqtutilities/base/src/wlanqtutils.cpp
wlanutilities/wlanqtutilities/base/src/wlanqtutils_p.cpp
wlanutilities/wlanqtutilities/base/src/wlanqtutilsactiveconn.cpp
wlanutilities/wlanqtutilities/base/src/wlanqtutilsiap.cpp
wlanutilities/wlanqtutilities/base/src/wlanqtutilswlanap.cpp
wlanutilities/wlanqtutilities/base/src/wlanqtutilswlaniap.cpp
wlanutilities/wlanqtutilities/bwins/wlanqtutilitiesu.def
wlanutilities/wlanqtutilities/eabi/wlanqtutilitiesu.def
wlanutilities/wlanqtutilities/rom/wlanqtutilities.iby
wlanutilities/wlanqtutilities/traces/OstTraceDefinitions.h
wlanutilities/wlanqtutilities/ut/context/commsdat_files/50_default.cre
wlanutilities/wlanqtutilities/ut/context/commsdat_files/default.cre
wlanutilities/wlanqtutilities/ut/context/wlanqtutilstestcontext.cpp
wlanutilities/wlanqtutilities/ut/context/wlanqtutilstestcontext.h
wlanutilities/wlanqtutilities/ut/stubs/wlanqtutilsconnmonstub.cpp
wlanutilities/wlanqtutilities/ut/stubs/wlanqtutilsconnteststub.cpp
wlanutilities/wlanqtutilities/ut/stubs/wlanqtutilsesockstub.cpp
wlanutilities/wlanqtutilities/ut/t_wlanqtutils/t_wlanqtutils.pro
wlanutilities/wlanqtutilities/ut/t_wlanqtutils/testwlanqtutils.cpp
wlanutilities/wlanqtutilities/ut/t_wlanqtutils/testwlanqtutils.h
wlanutilities/wlanqtutilities/wlanqtutilities.pro
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilscmmwrapper.h
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilscmmwrapper_s60_p.h
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconmonwrapper.h
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconmonwrapper_s60_p.h
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconntestwrapper.h
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconntestwrapper_s60_p.h
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsesockwrapper.h
wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsesockwrapper_s60_p.h
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilscmmwrapper.cpp
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilscmmwrapper_s60.cpp
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconmonwrapper.cpp
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconmonwrapper_s60.cpp
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconntestwrapper.cpp
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconntestwrapper_s60.cpp
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsesockwrapper.cpp
wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsesockwrapper_s60.cpp
wlanutilities/wlanqtutilities/wst/run_wst.bat
wlanutilities/wlanqtutilities/wst/wst_script/wst_make.bat
wlanutilities/wlansettingsui/bwinscw/wlansettingsuiu.def
wlanutilities/wlansettingsui/data/wlansettingsui.rss
wlanutilities/wlansettingsui/eabi/wlansettingsuiu.def
wlanutilities/wlansettingsui/group/bld.inf
wlanutilities/wlansettingsui/group/wlansettingsui.mmp
wlanutilities/wlansettingsui/inc/wlansettingsui.h
wlanutilities/wlansettingsui/inc/wlansettingsui.hrh
wlanutilities/wlansettingsui/inc/wlansettingsuibinarypopupsettingitem.h
wlanutilities/wlansettingsui/inc/wlansettingsuidefs.h
wlanutilities/wlansettingsui/inc/wlansettingsuidlg.h
wlanutilities/wlansettingsui/inc/wlansettingsuidlg.inl
wlanutilities/wlansettingsui/inc/wlansettingsuiimpl.h
wlanutilities/wlansettingsui/inc/wlansettingsuimainviewdlg.h
wlanutilities/wlansettingsui/inc/wlansettingsuimainviewdlg.inl
wlanutilities/wlansettingsui/inc/wlansettingsuimodel.h
wlanutilities/wlansettingsui/inc/wlansettingsuimodel.inl
wlanutilities/wlansettingsui/inc/wlansettingsuipanic.h
wlanutilities/wlansettingsui/inc/wlansettingsuiscanintervalsettingitem.h
wlanutilities/wlansettingsui/inc/wlansettingsuisettingitemlist.h
wlanutilities/wlansettingsui/inc/wlansettingsuisettingitemlist.inl
wlanutilities/wlansettingsui/inc/wlansettingsuistatuspane.h
wlanutilities/wlansettingsui/loc/wlansettingsui.loc
wlanutilities/wlansettingsui/rom/wlansettingsui.iby
wlanutilities/wlansettingsui/rom/wlansettingsuiresources.iby
wlanutilities/wlansettingsui/src/wlansettingsui.cpp
wlanutilities/wlansettingsui/src/wlansettingsuibinarypopupsettingitem.cpp
wlanutilities/wlansettingsui/src/wlansettingsuidlg.cpp
wlanutilities/wlansettingsui/src/wlansettingsuiimpl.cpp
wlanutilities/wlansettingsui/src/wlansettingsuimainviewdlg.cpp
wlanutilities/wlansettingsui/src/wlansettingsuimodel.cpp
wlanutilities/wlansettingsui/src/wlansettingsuipanic.cpp
wlanutilities/wlansettingsui/src/wlansettingsuiscanintervalsettingitem.cpp
wlanutilities/wlansettingsui/src/wlansettingsuisettingitemlist.cpp
wlanutilities/wlansettingsui/src/wlansettingsuistatuspane.cpp
wlanutilities/wlansniffer/aihelper/data/wsfaihelper.rss
wlanutilities/wlansniffer/aihelper/data/wsfaihelper_reg.rss
wlanutilities/wlansniffer/aihelper/group/aihelper.mmp
wlanutilities/wlansniffer/aihelper/group/bld.inf
wlanutilities/wlansniffer/aihelper/inc/wsfaihelper.hrh
wlanutilities/wlansniffer/aihelper/inc/wsfaihelperapplication.h
wlanutilities/wlansniffer/aihelper/inc/wsfaihelperappui.h
wlanutilities/wlansniffer/aihelper/inc/wsfaihelpercontainer.h
wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.h
wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.inl
wlanutilities/wlansniffer/aihelper/inc/wsfaihelperview.h
wlanutilities/wlansniffer/aihelper/rom/wsfaihelperapp.iby
wlanutilities/wlansniffer/aihelper/rom/wsfaihelperappresources.iby
wlanutilities/wlansniffer/aihelper/src/wsfaihelper.cpp
wlanutilities/wlansniffer/aihelper/src/wsfaihelperapplication.cpp
wlanutilities/wlansniffer/aihelper/src/wsfaihelperappui.cpp
wlanutilities/wlansniffer/aihelper/src/wsfaihelpercontainer.cpp
wlanutilities/wlansniffer/aihelper/src/wsfaihelperdocument.cpp
wlanutilities/wlansniffer/aihelper/src/wsfaihelperview.cpp
wlanutilities/wlansniffer/aiplugin/data/10281cae.rss
wlanutilities/wlansniffer/aiplugin/data/wsfaipluginrsc.rss
wlanutilities/wlansniffer/aiplugin/group/aiplugin.mmp
wlanutilities/wlansniffer/aiplugin/group/bld.inf
wlanutilities/wlansniffer/aiplugin/inc/wsfactivewaiter.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaicontrollercmds.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaimodel.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaimodel.inl
wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincommon.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincontentmodel.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaipluginuids.hrh
wlanutilities/wlansniffer/aiplugin/inc/wsfaipublishobserver.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaiuiobserver.h
wlanutilities/wlansniffer/aiplugin/inc/wsfaiview.h
wlanutilities/wlansniffer/aiplugin/inc/wsfdbobserver.h
wlanutilities/wlansniffer/aiplugin/inc/wsficonarraycreator.h
wlanutilities/wlansniffer/aiplugin/inc/wsfsearchwlansdialog.h
wlanutilities/wlansniffer/aiplugin/loc/wsfaiplugin.loc
wlanutilities/wlansniffer/aiplugin/rom/wsfaiplugin.iby
wlanutilities/wlansniffer/aiplugin/rom/wsfaipluginresources.iby
wlanutilities/wlansniffer/aiplugin/src/wsfactivewaiter.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaimodel.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaipluginproxy.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfaiview.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfdbobserver.cpp
wlanutilities/wlansniffer/aiplugin/src/wsficonarraycreator.cpp
wlanutilities/wlansniffer/aiplugin/src/wsfsearchwlansdialog.cpp
wlanutilities/wlansniffer/apwizard/bwins/wsfapwizardu.def
wlanutilities/wlansniffer/apwizard/data/wsfapwizard.rss
wlanutilities/wlansniffer/apwizard/eabi/wsfapwizardu.def
wlanutilities/wlansniffer/apwizard/group/apwizard.mmp
wlanutilities/wlansniffer/apwizard/group/bld.inf
wlanutilities/wlansniffer/apwizard/inc/wsfactivewaiter.h
wlanutilities/wlansniffer/apwizard/inc/wsfapwizard.hrh
wlanutilities/wlansniffer/apwizard/inc/wsfwlaniapcreator.h
wlanutilities/wlansniffer/apwizard/inc/wsfwlaniapwizard.h
wlanutilities/wlansniffer/apwizard/inc/wsfwlanssiddiscovery.h
wlanutilities/wlansniffer/apwizard/loc/wsfapwizard.loc
wlanutilities/wlansniffer/apwizard/rom/wsfapwizard.iby
wlanutilities/wlansniffer/apwizard/rom/wsfapwizardresources.iby
wlanutilities/wlansniffer/apwizard/src/wsfactivewaiter.cpp
wlanutilities/wlansniffer/apwizard/src/wsfwlaniapcreator.cpp
wlanutilities/wlansniffer/apwizard/src/wsfwlaniapwizard.cpp
wlanutilities/wlansniffer/apwizard/src/wsfwlanssiddiscovery.cpp
wlanutilities/wlansniffer/engine/client/bwins/wsfclientu.def
wlanutilities/wlansniffer/engine/client/eabi/wsfclientu.def
wlanutilities/wlansniffer/engine/client/group/bld.inf
wlanutilities/wlansniffer/engine/client/group/client.mmp
wlanutilities/wlansniffer/engine/client/inc/wsfactivewaiter.h
wlanutilities/wlansniffer/engine/client/inc/wsfeventhandler.h
wlanutilities/wlansniffer/engine/client/inc/wsfsession.h
wlanutilities/wlansniffer/engine/client/inc/wsfstatechangeobserver.h
wlanutilities/wlansniffer/engine/client/rom/wsfclient.iby
wlanutilities/wlansniffer/engine/client/src/wsfactivewaiter.cpp
wlanutilities/wlansniffer/engine/client/src/wsfeventhandler.cpp
wlanutilities/wlansniffer/engine/client/src/wsfsession.cpp
wlanutilities/wlansniffer/engine/server/group/bld.inf
wlanutilities/wlansniffer/engine/server/group/server.mmp
wlanutilities/wlansniffer/engine/server/inc/wsfactivewaiter.h
wlanutilities/wlansniffer/engine/server/inc/wsfcommon.h
wlanutilities/wlansniffer/engine/server/inc/wsfengine.h
wlanutilities/wlansniffer/engine/server/inc/wsfengineobserver.h
wlanutilities/wlansniffer/engine/server/inc/wsfserver.h
wlanutilities/wlansniffer/engine/server/inc/wsfservercloseradapter.h
wlanutilities/wlansniffer/engine/server/inc/wsfservercommon.h
wlanutilities/wlansniffer/engine/server/inc/wsfsession.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlanconnectiondetailsprovider.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlanmonitorobserver.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlanscaninfodefines.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanintervalchangeobserver.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanner.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlanscannerobserver.h
wlanutilities/wlansniffer/engine/server/inc/wsfwlansettingsaccessor.h
wlanutilities/wlansniffer/engine/server/rom/wsfserver.iby
wlanutilities/wlansniffer/engine/server/src/wsfactivewaiter.cpp
wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp
wlanutilities/wlansniffer/engine/server/src/wsfserver.cpp
wlanutilities/wlansniffer/engine/server/src/wsfservercloser.cpp
wlanutilities/wlansniffer/engine/server/src/wsfsession.cpp
wlanutilities/wlansniffer/engine/server/src/wsfwlanbearerconnectionmonitor.cpp
wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp
wlanutilities/wlansniffer/engine/server/src/wsfwlansettingsaccessor.cpp
wlanutilities/wlansniffer/group/bld.inf
wlanutilities/wlansniffer/group/wsficons.mk
wlanutilities/wlansniffer/group/wsficons_aif.mk
wlanutilities/wlansniffer/help/data/xhtml.zip
wlanutilities/wlansniffer/help/group/bld.inf
wlanutilities/wlansniffer/help/inc/sniffer.hlp.hrh
wlanutilities/wlansniffer/help/rom/wlansnifferhelps_variant.iby
wlanutilities/wlansniffer/inc/wlansniffer.h
wlanutilities/wlansniffer/inc/wlansnifferlistview.h
wlanutilities/wlansniffer/inc/wlansniffermainwindow.h
wlanutilities/wlansniffer/inc/wlansnifferservice.h
wlanutilities/wlansniffer/inc/wsflogger.h
wlanutilities/wlansniffer/mainapplication/data/wlansniffer.rss
wlanutilities/wlansniffer/mainapplication/data/wlansniffer_reg.rss
wlanutilities/wlansniffer/mainapplication/group/bld.inf
wlanutilities/wlansniffer/mainapplication/group/mainapplication.mmp
wlanutilities/wlansniffer/mainapplication/inc/wsfactivetimerhandler.h
wlanutilities/wlansniffer/mainapplication/inc/wsfactivetimeupdater.h
wlanutilities/wlansniffer/mainapplication/inc/wsfactivewaiter.h
wlanutilities/wlansniffer/mainapplication/inc/wsfapplication.h
wlanutilities/wlansniffer/mainapplication/inc/wsfappui.h
wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailscontroller.h
wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailscontroller.inl
wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailsdialog.h
wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailsmodel.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailscontainer.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailscontainerif.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsview.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontroller.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontrollerif.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontrollerpartner.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewmodel.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewpartner.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdocument.h
wlanutilities/wlansniffer/mainapplication/inc/wsfdocument.inl
wlanutilities/wlansniffer/mainapplication/inc/wsfmainapplication.hrh
wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainuiobserver.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainview.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontainer.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontroller.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontrollerif.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontrollerpartner.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewinternals.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewmodel.h
wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewpartner.h
wlanutilities/wlansniffer/mainapplication/loc/wsfmainapplication.loc
wlanutilities/wlansniffer/mainapplication/rom/wsfmainapplication.iby
wlanutilities/wlansniffer/mainapplication/rom/wsfmainapplicationresources.iby
wlanutilities/wlansniffer/mainapplication/src/wsfactivetimeupdater.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfactivewaiter.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfapplication.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailscontroller.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailsdialog.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailsmodel.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfdetailscontainer.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfdetailsview.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewcontroller.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfdocument.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfentrypoint.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontainer.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontroller.cpp
wlanutilities/wlansniffer/mainapplication/src/wsfmainviewmodel.cpp
wlanutilities/wlansniffer/model/bwins/wsfmodelu.def
wlanutilities/wlansniffer/model/eabi/wsfmodelu.def
wlanutilities/wlansniffer/model/group/bld.inf
wlanutilities/wlansniffer/model/group/model.mmp
wlanutilities/wlansniffer/model/inc/wsfactivewaiter.h
wlanutilities/wlansniffer/model/inc/wsfapplauncher.h
wlanutilities/wlansniffer/model/inc/wsfbrowserlaunchadapter.h
wlanutilities/wlansniffer/model/inc/wsfbrowserlaunchobserver.h
wlanutilities/wlansniffer/model/inc/wsfmodel.h
wlanutilities/wlansniffer/model/inc/wsfmodel.inl
wlanutilities/wlansniffer/model/inc/wsfmodelobserver.h
wlanutilities/wlansniffer/model/inc/wsfscreensaverstateobserver.h
wlanutilities/wlansniffer/model/inc/wsfscreensaverwatcher.h
wlanutilities/wlansniffer/model/rom/wsfmodel.iby
wlanutilities/wlansniffer/model/src/wsfactivewaiter.cpp
wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp
wlanutilities/wlansniffer/model/src/wsfmodel.cpp
wlanutilities/wlansniffer/model/src/wsfscreensaverwatcher.cpp
wlanutilities/wlansniffer/res/qgn_indi_wifi_protected_add.svg
wlanutilities/wlansniffer/res/qgn_indi_wlan_secure_network_add.svg
wlanutilities/wlansniffer/res/qgn_indi_wlan_signal_good_add.svg
wlanutilities/wlansniffer/res/qgn_indi_wlan_signal_low_add.svg
wlanutilities/wlansniffer/res/qgn_indi_wlan_signal_med_add.svg
wlanutilities/wlansniffer/res/qgn_prop_cmon_wlan_conn.svg
wlanutilities/wlansniffer/res/qgn_prop_wlan_bearer.svg
wlanutilities/wlansniffer/res/service_conf.xml
wlanutilities/wlansniffer/res/wlansniffer.qrc
wlanutilities/wlansniffer/rom/wlansniffer.iby
wlanutilities/wlansniffer/rom/wlansniffer_resources.iby
wlanutilities/wlansniffer/src/main.cpp
wlanutilities/wlansniffer/src/wlansniffer.cpp
wlanutilities/wlansniffer/src/wlansnifferlistview.cpp
wlanutilities/wlansniffer/src/wlansniffermainwindow.cpp
wlanutilities/wlansniffer/src/wlansnifferservice.cpp
wlanutilities/wlansniffer/traces/OstTraceDefinitions.h
wlanutilities/wlansniffer/widget/group/bld.inf
wlanutilities/wlansniffer/widget/widget_2001E637/group/bld.inf
wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/manifest.dat
wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.dtd
wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.xml
wlanutilities/wlansniffer/widget/widget_2001E637/loc/wsfwidgetconfiguration.loc
wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget.iby
wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_customer.iby
wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_resources.iby
wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_variant.iby
wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.dat
wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.xml
wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/37/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/50/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/57/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/94/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_20026F45/group/bld.inf
wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/manifest.dat
wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.dtd
wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.xml
wlanutilities/wlansniffer/widget/widget_20026F45/loc/wsfwidgetconfiguration.loc
wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget.iby
wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_customer.iby
wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_resources.iby
wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_variant.iby
wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.dat
wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.xml
wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/37/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/50/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/57/wsfwidget.css
wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/94/wsfwidget.css
wlanutilities/wlansniffer/wlaninfo/bwins/wsfwlaninfou.def
wlanutilities/wlansniffer/wlaninfo/eabi/wsfwlaninfou.def
wlanutilities/wlansniffer/wlaninfo/group/bld.inf
wlanutilities/wlansniffer/wlaninfo/group/wlaninfo.mmp
wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.h
wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.inl
wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarray.h
wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarrayfiltervisitor.h
wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarraysortkey.h
wlanutilities/wlansniffer/wlaninfo/rom/wsfwlaninfo.iby
wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp
wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfoarray.cpp
wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfoarraysortkey.cpp
wlanutilities/wlansniffer/wlaninfosorting/bwins/wsfwlaninfosortingu.def
wlanutilities/wlansniffer/wlaninfosorting/data/2000cf30.spd
wlanutilities/wlansniffer/wlaninfosorting/data/backup_registration.xml
wlanutilities/wlansniffer/wlaninfosorting/data/wsfwlaninfosorting.rss
wlanutilities/wlansniffer/wlaninfosorting/eabi/wsfwlaninfosortingu.def
wlanutilities/wlansniffer/wlaninfosorting/group/bld.inf
wlanutilities/wlansniffer/wlaninfosorting/group/wlaninfosorting.mmp
wlanutilities/wlansniffer/wlaninfosorting/group/wlaninfosortingicons.mk
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfoarrayvisitor.h
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosorting.hrh
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingblacklist.h
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingbrand.h
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingdbchangenotifier.h
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingdefault.h
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingfiltervisitor.h
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlansortingbrand.rh
wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlanssidselectiondlg2.h
wlanutilities/wlansniffer/wlaninfosorting/rom/wsfwlaninfosorting.iby
wlanutilities/wlansniffer/wlaninfosorting/rom/wsfwlaninfosortingresources.iby
wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfoarrayvisitor.cpp
wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingblacklist.cpp
wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingbrand.cpp
wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingdbchangenotifier.cpp
wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingdefault.cpp
wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlanssidselectiondlg2.cpp
wlanutilities/wlansniffer/wlansniffer.pro
wlanutilities/wlanutilities.pro
wlanutilities/wpswizard/inc/cwpsactiverunner.h
wlanutilities/wpswizard/inc/mwpsactiverunnercallback.h
wlanutilities/wpswizard/inc/wpswizard.h
wlanutilities/wpswizard/inc/wpswizard_p.h
wlanutilities/wpswizard/inc/wpswizardpage.h
wlanutilities/wpswizard/inc/wpswizardstepfive.h
wlanutilities/wpswizard/inc/wpswizardstepfour.h
wlanutilities/wpswizard/inc/wpswizardstepthreebutton.h
wlanutilities/wpswizard/inc/wpswizardstepthreenumber.h
wlanutilities/wpswizard/inc/wpswizardsteptwo.h
wlanutilities/wpswizard/resources/resource.qrc
wlanutilities/wpswizard/resources/wpswizardplugin.qm
wlanutilities/wpswizard/resources/wpswizardplugin.ts
wlanutilities/wpswizard/rom/wpswizard.iby
wlanutilities/wpswizard/src/cwpsactiverunner.cpp
wlanutilities/wpswizard/src/wpswizard.cpp
wlanutilities/wpswizard/src/wpswizardpage.cpp
wlanutilities/wpswizard/src/wpswizardprivate.cpp
wlanutilities/wpswizard/src/wpswizardstepfive.cpp
wlanutilities/wpswizard/src/wpswizardstepfour.cpp
wlanutilities/wpswizard/src/wpswizardstepthreebutton.cpp
wlanutilities/wpswizard/src/wpswizardstepthreenumber.cpp
wlanutilities/wpswizard/src/wpswizardsteptwo.cpp
wlanutilities/wpswizard/traces/OstTraceDefinitions.h
wlanutilities/wpswizard/wpswizard.pro
--- a/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ b/group/bld.inf	Fri Apr 16 16:07:56 2010 +0300
@@ -24,7 +24,6 @@
 PRJ_MMPFILES
 #include "../hotspotfw/group/bld.inf"
 #include "../hsfw_plat/group/bld.inf"
-#include "../wlanutilities/group/bld.inf"
 
 PRJ_TESTMMPFILES
 
--- a/hotspotfw/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/group/bld.inf	Fri Apr 16 16:07:56 2010 +0300
@@ -24,6 +24,8 @@
 PRJ_EXPORTS
 ../rom/hotspot.iby                      CORE_MW_LAYER_IBY_EXPORT_PATH(hotspot.iby)
 ../rom/hotspotResources.iby             LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(hotspotResources.iby)
+../rom/hotspotfwstub.sis               /epoc32/data/z/system/install/hotspotfwstub.sis
+../rom/ictsstub.sis                    /epoc32/data/z/system/install/ictsstub.sis
 
 // Localisation files of whole Hotspot localised here
 ../hsbrowser/loc/hsbrowser.loc          MW_LAYER_LOC_EXPORT_PATH(hsbrowser.loc)
--- a/hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsbrowser/inc/hsbrowserspecialloadobserver.h	Fri Apr 16 16:07:56 2010 +0300
@@ -22,7 +22,7 @@
 #define HSBROWSERSPECIALLOADOBSERVER_H
 
 //  INCLUDES
-#include <brctlspecialloadobserver.h>
+#include <BrCtlSpecialLoadObserver.h>
 #include <brctlinterface.h>
 
 // CLASS DECLARATION
--- a/hotspotfw/hsbrowser/src/hsbrowserloadeventobserver.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsbrowser/src/hsbrowserloadeventobserver.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -92,9 +92,6 @@
             // no break, fall through
         	}
 		case TBrCtlDefs::EEventNewContentDisplayed:
-        	{
-        	DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventNewContentDisplayed" );            
-            }        
         case TBrCtlDefs::EEventNewContentStart:
             {
             DEBUG( "CHsBrowserLoadEventObserver::HandleBrowserLoadEventL() EEventNewContentStart" );            
--- a/hotspotfw/hsclient/NetCfgExtnHotSpot/inc/NetCfgExtnHotSpot.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsclient/NetCfgExtnHotSpot/inc/NetCfgExtnHotSpot.h	Fri Apr 16 16:07:56 2010 +0300
@@ -11,13 +11,11 @@
 *
 * Contributors:
 *
-* Description:    NIFMAN configuration 
+* Description:    NIFMAN configuration daemon
 *
 */
 
 
-
-
 #ifndef __NET_CFG_EXTN_HOTSPOT_H__
 #define __NET_CFG_EXTN_HOTSPOT_H__
 
@@ -35,68 +33,80 @@
 *  @since S60 5.0
 */
 class CNetworkConfigExtensionHotSpot : public CNetworkConfigExtensionBase
-	{
+    {
 
 public:
 
     /**
     * Two-phased constructor.
     */
-  	static CNetworkConfigExtensionHotSpot* NewL( TAny* aMNifIfNotify );
-   	
-   	/**
+    static CNetworkConfigExtensionHotSpot* NewL( TAny* aMNifIfNotify );
+       
+    /**
     * Destructor.
     */
-   	virtual ~CNetworkConfigExtensionHotSpot();
+    virtual ~CNetworkConfigExtensionHotSpot();
 
-	/**
+    /**
     * From CNetworkConfigExtensionBase
     * @since S60 5.0
     * @param aMessage the message
     * @return None
     */
-   	void SendIoctlMessageL( const ESock::RLegacyResponseMsg& aMessage );
+    void SendIoctlMessageL( const ESock::RLegacyResponseMsg& aMessage );
 
+    /**
+    * From CNetworkConfigExtensionBase
+    * @since S60 5.2
+    * @param aCause Specifies what caused the deregistration request 
+    * @return None
+    */
+    void Deregister( TInt aCause );
+       
 protected:
 
     /**
     * C++ default constructor.
     */
-   	CNetworkConfigExtensionHotSpot( MNifIfNotify& aNifIfNotify );
-  	
-  	/**
+       CNetworkConfigExtensionHotSpot( MNifIfNotify& aNifIfNotify );
+      
+    /**
     * By default Symbian 2nd phase constructor is private.
     */
-  	void ConstructL();
-   	
+    void ConstructL();
+       
     /**
-    * From CTimer. Waits for StartLogin() completion from Hotspot Server 
+    * From CNetworkConfigExtensionBase. HotspotFW handling add ons. 
+    * @since S60 5.0
+    * @return None
+    */
+    virtual void RunL();
+       
+    /**
+    * From CNetworkConfigExtensionBase. HotspotFW handling add ons. 
     * @since S60 5.0
     * @return None
     */
-   	virtual void RunL();
-   	
-   	/**
-    * From CTimer. Implements cancel routines.
-    * @since S60 5.0
-    * @return None
-    */
-   	virtual void DoCancel();
-
-    // Authentication flag  	  		
-	TBool iNotAuthenticated;
-	
-	// Authentication flag  	  		
-	TBool iNotDeregistered;
-	
-	// Flagging if Connect() to Hotspot done successfully
-	TInt iHotspotConnect;
- 	
+    virtual void DoCancel();
+    
 private:
     
-    // Hotspot client interface 
+    // Flag for Authentication              
+    TBool iNotAuthenticated;
+    
+    // Flag for Deregistering              
+    TBool iNotDeregistered;
+    
+    // Defines if StartLogin() is ongoing              
+    TBool iIsStartLoginActive;
+    
+    // Defines if HotspotFW session is created
+    TInt iHotspotConnect;
+    
+    // Handle to HotspotFW client interface 
     RHssInterface iClient;
- 	};
+    
+    };
 
     /**
     * CNetworkConfigExtensionBase - constructor
@@ -104,8 +114,8 @@
     */
     inline CNetworkConfigExtensionHotSpot::CNetworkConfigExtensionHotSpot( MNifIfNotify& aNifIfNotify ) :
     CNetworkConfigExtensionBase( aNifIfNotify )
-	{
-	}
+    {
+    }
 
 #endif
 
--- a/hotspotfw/hsclient/NetCfgExtnHotSpot/src/NetCfgExtnHotSpot.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsclient/NetCfgExtnHotSpot/src/NetCfgExtnHotSpot.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -11,10 +11,11 @@
 *
 * Contributors:
 *
-* Description:   Implements Network Config Extension for HotSpot
+* Description:   Implements Network Config Extension for HotspotFW
 *
 */
 
+
 // INCLUDE FILES
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 #include <nifman_internal.h>
@@ -24,11 +25,11 @@
 #include "am_debug.h"
 
 
-// ============================ MEMBER FUNCTIONS ===============================
+// ============================ MEMBER FUNCTIONS ==============================
 
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // NewL
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
 CNetworkConfigExtensionHotSpot* CNetworkConfigExtensionHotSpot::NewL( 
                                                             TAny* aMNifIfNotify )
@@ -42,9 +43,9 @@
 	return pDaemon;
 	}
 	
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // ConstructL
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //    
 void CNetworkConfigExtensionHotSpot::ConstructL()
 	{
@@ -52,17 +53,17 @@
 	CNetworkConfigExtensionBase::ConstructL();
 	iNotAuthenticated = ETrue;
 	iNotDeregistered = ETrue;
+	iIsStartLoginActive = EFalse;
 	iHotspotConnect = KErrNotFound;
-	DEBUG( "CNetworkConfigExtensionHotSpot::ConstructL() Done" );
 	}
 
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // SendIoctlMessageL 
-// Forwards Ioctl request to the daemon and activates the AO to wait for response
-// -----------------------------------------------------------------------------
+// Forwards Ioctl request to the daemon. Activates the AO to wait for response.
+// ----------------------------------------------------------------------------
 //
-void CNetworkConfigExtensionHotSpot::SendIoctlMessageL( const ESock::RLegacyResponseMsg& aMessage )
-
+void CNetworkConfigExtensionHotSpot::SendIoctlMessageL( 
+                                    const ESock::RLegacyResponseMsg& aMessage )
 	{
   	TInt name = aMessage.Int1();
   	if ( aMessage.Int0() != KCOLConfiguration )
@@ -85,109 +86,128 @@
 	CNetworkConfigExtensionBase::SendIoctlMessageL( aMessage );
 	}
 	
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // ~CNetworkConfigExtensionHotSpot
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
 CNetworkConfigExtensionHotSpot::~CNetworkConfigExtensionHotSpot()
+	{
+	DEBUG( "CNetworkConfigExtensionHotSpot::~CNetworkConfigExtensionHotSpot" );
+	iClient.Close();
+	}    
 
-	{
-	DEBUG( "CNetworkConfigExtensionHotSpot::~CNetworkConfigExtensionHotSpot()" );
-	}	
-
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // ImplementationTable
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
 const TImplementationProxy ImplementationTable[] = 
     {
-    IMPLEMENTATION_PROXY_ENTRY(0x10282ECA, CNetworkConfigExtensionHotSpot::NewL)
+    IMPLEMENTATION_PROXY_ENTRY( 0x10282ECA, 
+                                CNetworkConfigExtensionHotSpot::NewL )
     };
 
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // ImplementationGroupProxy
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
+                                                            TInt& aTableCount )
     {
-    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    aTableCount = sizeof( ImplementationTable ) / 
+                    sizeof( TImplementationProxy );
 
     return ImplementationTable;
     }
 
+// ----------------------------------------------------------------------------
+// Deregister
+// ----------------------------------------------------------------------------
+//
+void CNetworkConfigExtensionHotSpot::Deregister( TInt aCause )
+    {
+    DEBUG1( "CNetworkConfigExtensionHotSpot::Deregister() aCause: %d", aCause );
+    CNetworkConfigExtensionBase::Deregister( aCause ); // to parent
+    
+    if ( iIsStartLoginActive )
+        {
+        DEBUG( "CNetworkConfigExtensionHotSpot::Deregister() LoginComplete" );
+        iClient.LoginComplete( iConnectionInfoBuf().iIapId, KErrNone );
+        }
+    iIsStartLoginActive = EFalse;
+    }
 
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 // RunL
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
 void CNetworkConfigExtensionHotSpot::RunL()
-	{
-	DEBUG( "CNetworkConfigExtensionHotSpot::RunL()" );
-	if (iLastGenericProgressStage == KConfigDaemonStartingRegistration)
-		{
-	
-		if(iNotAuthenticated)
-		    {	
-		    DEBUG( "CNetworkConfigExtensionHotSpot::RunL() not auth" );
-            TUint iapId = iConnectionInfoBuf().iIapId;
-	    	TUint networkId = iConnectionInfoBuf().iNetId;
-	    	
-	    	iHotspotConnect = iClient.Connect();
-	    	
-	    	if ( KErrNone == iHotspotConnect )
-	    		{
-	    		iClient.StartLogin( iapId, networkId, iStatus);
-	    		SetActive();
-	    		}
-	    	else
-	    		{
-	    		CNetworkConfigExtensionBase::RunL();
-	    		}
-			iNotAuthenticated = EFalse;
+    {
+    DEBUG( "CNetworkConfigExtensionHotSpot::RunL()" );
+    if ( iLastGenericProgressStage == KConfigDaemonStartingRegistration )
+        {
+        if( iNotAuthenticated )
+            {    
+            DEBUG( "CNetworkConfigExtensionHotSpot::RunL() StartLogin" );
+            iHotspotConnect = iClient.Connect();
+            
+            if ( KErrNone == iHotspotConnect )
+                {
+                iIsStartLoginActive = ETrue;
+                iClient.StartLogin( iConnectionInfoBuf().iIapId, 
+                                    iConnectionInfoBuf().iNetId, 
+                                    iStatus );
+                SetActive();
+                }
+            else // to parent
+                {
+                CNetworkConfigExtensionBase::RunL();
+                }
+            iNotAuthenticated = EFalse;
             }
-		else
-		    {
-		    DEBUG( "CNetworkConfigExtensionHotSpot::RunL() close" );
-			CNetworkConfigExtensionBase::RunL();
-		    }
-		
-		}
-    else if (iLastGenericProgressStage == KConfigDaemonStartingDeregistration)
+        else // to parent
+            {
+            DEBUG( "CNetworkConfigExtensionHotSpot::RunL() authenticated" );
+            iIsStartLoginActive = EFalse;
+            CNetworkConfigExtensionBase::RunL();
+            }
+        
+        }
+    else if ( iLastGenericProgressStage == 
+              KConfigDaemonStartingDeregistration )
         {
-        if(iNotDeregistered)
-		    {
-		    DEBUG( "CNetworkConfigExtensionHotSpot::RunL() dereg" );
+        if( iNotDeregistered )
+            {
+            DEBUG( "CNetworkConfigExtensionHotSpot::RunL() CloseConnection" );
             TUint iapId = iConnectionInfoBuf().iIapId;
-	    	TUint networkId = iConnectionInfoBuf().iNetId;
-	    	
-	    	if ( KErrNone == iHotspotConnect )
-	    		{
-	    		iClient.CloseConnection( iapId, iStatus);
-	    		SetActive();
-	    		}
-	    	else
-	    		{
-	    		CNetworkConfigExtensionBase::RunL();
-	    		}
-			iNotDeregistered = EFalse;
-		    }
-        else
-		    {
-		    DEBUG( "CNetworkConfigExtensionHotSpot::RunL() dereg close" );
-		    iClient.Close();
-		    CNetworkConfigExtensionBase::RunL();
-		    }
+            TUint networkId = iConnectionInfoBuf().iNetId;
+            
+            if ( KErrNone == iHotspotConnect )
+                {
+                iClient.CloseConnection( iapId, iStatus );
+                SetActive();
+                }
+            else // to parent
+                {
+                CNetworkConfigExtensionBase::RunL();
+                }
+            iNotDeregistered = EFalse;
+            }
+        else // to parent
+            {
+            DEBUG( "CNetworkConfigExtensionHotSpot::RunL() deregistered" );
+            CNetworkConfigExtensionBase::RunL();
+            }
         }
-	else // original =========================================================
-	    {
-	    DEBUG( "CNetworkConfigExtensionHotSpot::RunL() original" );
-		CNetworkConfigExtensionBase::RunL();
-	    }
-	}
-	
-// -----------------------------------------------------------------------------
+    else // to parent
+        {
+        DEBUG( "CNetworkConfigExtensionHotSpot::RunL() original" );
+        CNetworkConfigExtensionBase::RunL();
+        }
+    }
+    
+// ----------------------------------------------------------------------------
 // DoCancel
-// -----------------------------------------------------------------------------
+// ----------------------------------------------------------------------------
 //
 void CNetworkConfigExtensionHotSpot::DoCancel()
     {
--- a/hotspotfw/hsclient/inc/hssinterface.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsclient/inc/hssinterface.h	Fri Apr 16 16:07:56 2010 +0300
@@ -279,13 +279,7 @@
         * @return KErrNone if successful otherwise another of the system wide error codes.
         */
         TInt StartServer();
-        
-        /**
-        * Server startup continues.
-        * @return KErrNone if successful otherwise another of the system wide error codes.
-        */
-        TInt CreateServerProcess();
-        
+               
     private: // Methods
     
         /**
--- a/hotspotfw/hsclient/src/hssinterface.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsclient/src/hssinterface.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -108,7 +108,7 @@
         error = CreateSession( KHotSpotDataServerName,
                                Version(),
                                KDefaultMsgSlots );
-         DEBUG1( "RHssInterface::Connect() CreateSession: %d", error );  
+        DEBUG1( "RHssInterface::Connect() CreateSession: %d", error );  
         }
     return error;
     }
@@ -412,75 +412,50 @@
 //
 TInt RHssInterface::StartServer()
     {
-    DEBUG( "RHssInterface::StartServer" );
-    TInt result;
-
-    TFindServer findHotSpotServer( KHotSpotDataServerName );
+    TInt res( KErrNone );
+    // create server - if one of this name does not already exist
+    TFindServer findServer( KHotSpotDataServerName );
     TFullName name;
 
-    result = findHotSpotServer.Next( name );
-    if ( result == KErrNone )
-        {
-        // Server already running
-        return KErrNone;
-        }
-
-    RSemaphore semaphore;
-    result = semaphore.CreateGlobal( KHotSpotServerSemaphore, 0 );
-    DEBUG1( "RHssInterface::StartServer semaphore: %d", result );
-    if ( result != KErrNone )
+    if ( findServer.Next( name ) != KErrNone ) // we don't exist already
         {
-        return  result;
-        }
+        RProcess server;
+        // Create the server process
+        res = server.Create( KHotSpotServerExe, KNullDesC );
 
-    result = CreateServerProcess();
-    DEBUG1( "RHssInterface::StartServer CreateServerProcess: %d", result );
-    if ( result != KErrNone )
-        {
-        // Should the semaphore be closed if process creating fails?
-        return  result;
-        }
-
-    semaphore.Wait();
-    semaphore.Close();
-
-    return KErrNone;
-    }
+        if ( res != KErrNone ) // thread created ok - now start it going
+            {
+            return res;
+            }
 
-// -----------------------------------------------------------------------------
-// RHssInterface::CreateServerProcess()
-// Creates a server process
-// -----------------------------------------------------------------------------
-//
-TInt RHssInterface::CreateServerProcess()
-    {
-  	const TUidType serverUid( KNullUid,KNullUid, KHotspotServerUid3 );
-
-	RProcess server;
+        // Rendezvous is used to detect server start
+        TRequestStatus status;
+        server.Rendezvous( status );                                                 
+                                                                                   
+        if ( status != KRequestPending )                                             
+            {
+            DEBUG1( "StartServer Rendezvous ERROR: %d", status.Int() );
+            server.Kill( 0 );    // abort startup                                 
+            }                                                                      
+        else                                                                       
+            {                                                                      
+            server.Resume();    // logon OK - start the server                     
+            }                                                                      
+        
+        DEBUG( "StartServer wait for start" );
+        User::WaitForRequest( status ); // wait for start or death
 
-	TInt r = server.Create(KHotSpotServerExe,KNullDesC);
-	if ( r != KErrNone )
-		{
-	    DEBUG1( "**** RHssInterface: server start failed %d", r );
-		return r;
-		}
-	TRequestStatus stat;
-	server.Rendezvous( stat );
-	if ( stat!=KRequestPending )
-	    {
-	    server.Kill(0);		// abort startup
-	    }
-    else
-        {
-        server.Resume();	// logon OK - start the server
+        // We can't use the 'exit reason' if the server paniced as this                                                          
+        // is the panic 'reason' and may be '0' which cannot be distinguished                                        
+        // from KErrNone                                                                                             
+        res = ( server.ExitType() == EExitPanic ) ? KErrGeneral : status.Int();
+        
+        // we're no longer interested in the other process
+        server.Close(); 
         }
-		
-    DEBUG("**** RHssInterface: Started");
-	
-	User::WaitForRequest(stat);
-	r = ( server.ExitType()==EExitPanic ) ? KErrGeneral : stat.Int();
-	server.Close();
-	return r;
+        
+    return res;
+
     }
 
 // ---------------------------------------------------------
--- a/hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsclient/src/hssmgmtscaninfoimpl.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -124,9 +124,9 @@
 //
 void CHssMgmtScanInfoImpl::Bssid( THssBssid& aBssid ) const
     {
-    TMacAddress bssid;
-    iScanInfo->BSSID( bssid.iMacAddress );
-    aBssid.Copy( &bssid.iMacAddress[0], KMacAddressLength );
+    TUint8 bssid[KHssMacAddressLength];
+    iScanInfo->BSSID( bssid );
+    aBssid.Copy( &bssid[0], KHssMacAddressLength );
     }
 
 // ---------------------------------------------------------
--- a/hotspotfw/hsfw_sis/cenrep.pkg	Tue Jan 26 13:04:04 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
--- a/hotspotfw/hsfw_sis/hotspot.pkg	Tue Jan 26 13:04:04 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"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspotfw/hsfw_sis/hotspotfwupdater.pkg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,50 @@
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:    Hotspot FW updater
+;
+
+;Languages
+; - None (English only by default)
+
+;Header
+#{"Hotspot FW updater"},(0x10282ECB),1,0,1, TYPE=SP
+
+; Product / platform version compatibility - S60 5.2
+[0x20022e6d],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor Name
+%{"Nokia"}
+
+;Unique Vendor Name
+:"Nokia"
+
+;Server
+"\epoc32\release\armv5\udeb\HotSpotServer.exe"-"c:\sys\bin\HotSpotServer.exe"
+
+; Client 
+"\epoc32\release\armv5\udeb\hotspotclient.dll"-"c:\sys\bin\hotspotclient.dll"
+
+; ECOM plugin for daemon
+"\epoc32\data\z\resource\plugins\NetCfgExtnHotSpot.rsc"-"c:\resource\plugins\NetCfgExtnHotSpot.rsc"
+"\epoc32\release\armv5\udeb\NetCfgExtnHotSpot.dll"-"c:\sys\bin\NetCfgExtnHotSpot.dll"
+
+; ECOM plugin for Mgmt API
+"\epoc32\data\z\resource\plugins\HssMgmtImpl.rsc"-"c:\resource\plugins\HssMgmtImpl.rsc"
+"\epoc32\release\armv5\udeb\hssmgmtimpl.dll"-"c:\sys\bin\hssmgmtimpl.dll"
+
+; ECOM plugin for Agent
+"\epoc32\data\z\resource\plugins\WlanAgtHotSpotImpl.rsc"-"c:\resource\plugins\WlanAgtHotSpotImpl.rsc"
+"\epoc32\release\armv5\udeb\wlanagthotspotimpl.dll"-"c:\sys\bin\wlanagthotspotimpl.dll"
+
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspotfw/hsfw_sis/ictsupdater.pkg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,33 @@
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:    Internet Connectivity Test Service updater
+;
+
+;Languages
+; - None (English only by default)
+
+;Header
+#{"ICTS updater"},(0x10282EC5),1,0,1, TYPE=SP
+
+; Product / platform version compatibility - S60 5.2
+[0x20022e6d],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor Name
+%{"Nokia"}
+
+;Unique Vendor Name
+:"Nokia"
+
+"\epoc32\release\armv5\udeb\ictsclientinterface.dll"-"c:\sys\bin\ictsclientinterface.dll"
+
+
--- a/hotspotfw/hsserver/inc/802dot11.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,3713 +0,0 @@
-/*
-* Copyright (c) 2005-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Header file mainly for 802.11 specific declarations and 
-*                definitions.
-*
-*/
-
-
-
-#ifndef WLAN802DOT11_H
-#define WLAN802DOT11_H
-
-// for copy, equal and operator != support
-#include "algorithm.h"
-#include "pack.h"
-
-// returns aDest
-extern 
-TAny* os_memcpy( TAny* aDest, const TAny* aSrc, TUint32 aLengthinBytes );
-// returns 0 if equal
-extern TInt 
-os_memcmp( const TAny* aSrc1, const TAny* aSrc2, TUint aLengthinBytes );
-
-/**
- * Returns a TUint16 host byte order value in WLAN MAC layer byte order 
- * (LSB first)
- *
- * @since S60 3.1
- * @param aNw value in network byte order
- * @return value in host byte order
- */
-extern TUint16 os_Hton( TUint16 aHost );
-
-/**
- * Returns a TUint16 WLAN MAC layer byte order (LSB first) value in host byte 
- * order
- *
- * @since S60 3.1
- * @param aNw value in network byte order
- * @return value in host byte order
- */
-extern TUint16 os_Ntoh( TUint16 aNw );
-
-/**
- * Allows also unaligned reading of a TUint16 WLAN MAC layer byte order 
- * (LSB first) value and returns the result in the byte order which
- * is in use in the host
- *
- * @since S60 3.1
- * @param aNwSource where to read the WLAN MAC layer byte order value from
- * @return the value which was read, in host byte order
- */
-inline TUint16 ReadUint16Toh( const TUint16* aNwSource )
-    {
-    return ( os_Ntoh( 
-        ( static_cast<const TUint16>( 
-            ( reinterpret_cast<const TUint8*>(aNwSource) )[0] ) | 
-         ( static_cast<const TUint16>(
-            ( reinterpret_cast<const TUint8*>(aNwSource) )[1] ) << 8 ) ) ) );
-    }
-
-/**
- * Allows also unaligned writing of a TUint16 host byte order value
- * into WLAN MAC layer byte order
- *
- * @since S60 3.1
- * @param aNwTarget where to write the WLAN MAC layer byte order value to
- * @param aHostValue the host byte order value to be written
- */
-inline void WriteHtoUint16( TUint16* aNwTarget, TUint16 aHostValue )
-    {
-    TUint16 nwValue = os_Hton( aHostValue );
-    reinterpret_cast<TUint8*>(aNwTarget)[0] = 
-        ( reinterpret_cast<TUint8*>(&nwValue) )[0];
-    reinterpret_cast<TUint8*>(aNwTarget)[1] = 
-        ( reinterpret_cast<TUint8*>(&nwValue) )[1];
-    }
-
-/**
- * Reverses the byte order of a TUint16 value
- *
- * @since S60 3.1
- * @param aOriginal value whose byte order is to be reversed
- * @return the input parameter in reversed byte order
- */
-inline TUint16 ReverseUint16( TUint16 aOriginal )
-    {
-    return ( ( aOriginal >> 8 ) | ( aOriginal << 8 ) );
-    }
-
-
-/**
-* A measurement of time equal to 1024 µs.
-*/
-const TUint16 KTU = 1024;
-
-/**
-* Length of the MAC address
-*/
-const TUint8 KMacAddressLength = 6;
-
-/**
-* Length of MAC header
-*/
-const TUint8 KMacHeaderLength = 24;
-
-/**
-* Maximum number of 802.11b supported rates 
-* 1, 2, 5.5, 11 MBit/s
-*/
-const TUint8 KMaxNumberOfDot11bRates = 4; 
-
-/**
-* Maximum number of actual supported rate elements in 
-* supported rates information element
-*/
-const TUint8 KMaxNumberOfRates = 8;
-
-/**
-* Maximum number of actual 802.11 supported rate elements in 
-* extended supported rates information element
-*/
-const TUint8 KMaxNumberOfExtendedRates = 255;
-
-/**
-* Maximum number of 802.11b plus 802.11g supported rates 
-*/
-const TUint8 KMaxNumberOfDot11bAndgRates = 14; 
-
-/**
-* Bit mask for checking is supported rate element 
-* part of BSS Basic Rate Set (MSB bit is set)
-*/
-const TUint8 KBasicRateMask = 0x80;
-
-/**
-* Maximum length for a WEP key in BYTES
-*/
-const TUint32 KMaxWEPKeyLength = 29;    // 232 bits
-
-/**
-* Length of TKIP key;
-*/
-const TUint8 KTKIPKeyLength = 16;
-
-/**
-* Length of WEP Init.Vector in BYTES
-*/
-const TUint8 KWepIVLength = 4;
-
-/**
-* Length of WEP ICV in BYTES
-*/
-const TUint8 KWEPICVLength = 4;
-
-/**
-* Length of Extended IV field in bytes.
-*/
-const TUint8 KWepExtendedIVLength = 4;
-
-/**
-* Mask to determine is Ext IV bit up in WEP IV
-*/
-const TUint32 KWepExtendedIvMask = 0x20000000;
-
-/**
-* Mask for Use Protection bit in ERP Information IE
-*/
-const TUint8 KUseProtectionMask = 0x02;
-
-/**
-* Length of MIC in BYTEs
-*/
-const TUint8 KMicLength = 8;
-
-/** 
-* Length of the MIC key in BYTEs
-*/ 
-const TUint8 KMicKeyLength = 8;
-
-/**
-* Maximum length of a SSID in BYTES
-*/
-const TUint8 KMaxSSIDLength = 32;
-
-/**
-* Maximum length of an outbound RSN IE length in BYTEs
-*/
-const TUint8 KMaxTxRsnIELength = 38;
-
-/**
-* Length of ID and Length fields of an information element.
-*/
-const TUint8 KInfoElementHeaderLength = 2;
-
-/**
-* Length of the challenge text in BYTES used in shared key authentication
-*/
-const TUint8 KChallengeTextLength = 128;
-
-/**
-* Ethernet header type field identifier for Bounce type packet
-*/
-const TUint16 KBounceType = 0x8013;
-
-/**
-* Ethernet header type field identifier for EAPOL type packet (IEEE 802.1X)
-*/
-const TUint16 KEapolType = 0x888E;
-
-/**
-* Ethernet header type field identifier for IP type packet
-*/
-const TUint16 KIpType = 0x0800;
-
-/**
-* Ethernet header type field identifier for IPv6 type packet
-*/
-const TUint16 KIpv6Type = 0x86DD;
-
-/**
-* Ethernet header type field identifier for ARP type packet
-*/
-const TUint16 KArpType = 0x0806;
-
-/**
-* Maks for determining does PLCP header service field have PBCC bit set
-*/
-const TUint8 KPlcpServicePbccMask = 0x08;
-
-/**
-* Length of OUI field in SNAP header
-*/
-const TUint8 KOIULength = 3;
-
-/**
-* Maximum length of 802.11 Frame Body field
-*/
-const TUint16 KMaxDot11FrameBodyLength = 2312;
-
-/**
-* Length of trailing FCS in bytes
-*/
-const TUint32 KFcsLength = 4;
-
-/**
-* Maximum length of 802.11 frame we will transmit or receive.
-* This excludes the tailing FCS ( HW strips it )
-* and Address4 field in the MPDU header 
-* ( AP-to-AP mode frames are filtered out )
-*/
-const TUint16 KMaxDot11FrameLength = KMacHeaderLength 
-    + KMaxDot11FrameBodyLength; // 24 + 2312 = 2336
-
-/**
-* Maximum length of 802.11 frame as stated in the standard
-*/
-const TUint16 KDot11MPDUMaxLength = 2346;
-
-/**
-* Maximum length of ethernet frame
-*/
-const TUint16 KMaxEthernetFrameLength = 1514;
-
-/**
-* Maximum value in ethernet length field
-*/
-const TUint16 KMaxEthernetLengthFieldvalue = 1500;
-
-/**
-* Length of the TKIP key in BYTEs
-*/
-const TUint8 KTkIpKeyLength = 16;
-
-/**
-* Length of IPv4 address field in BYTEs
-*/
-const TUint8 KIpv4AddrLength = 4;
-
-/**
-* Length of the priority filed used in WPA MIC calculation
-*/
-const TUint32 KWpaPriorityVecLen = 4;
-
-/**
-* WPA priority field used in MIC calculation
-*/
-const TUint8 KWpaPriorityVec[KWpaPriorityVecLen] = {0,0,0,0};
-
-/**
-* Mask for frame type for frame control field.
-*/
-const TUint32 K802Dot11FrameTypeMask = 0xFFFF;
-
-/**
-* Mask to determine if U-APSD bit is up in QoS info field of WMM IE
-*/
-const TUint8 KUapsdQosInfoMask = 0x80;
-
-/**
-* Mask for parameter set count in QoS info field of WMM IE
-*/
-const TUint8 KParamSetCountQosInfoMask = 0x0F;
-
-/**
-* Length of WMM Information Element
-*/
-const TUint8 KWmmInfoElemLen = 7;
-
-/**
-* Length of OUI field in Information Elements
-*/
-const TUint8 KIeOuiLength = 3;
-
-typedef TUint8 TIeOui[KIeOuiLength];
-
-/**
-* OUI value of WMM Information Element and
-* WMM Parameter Element
-*/
-const TIeOui KWmmElemOui = { 0x00, 0x50, 0xF2 };
-
-/**
-* OUI Type value of WMM Information Element and
-* WMM Parameter Element
-*/
-const TUint8 KWmmElemOuiType = 2;
-
-/**
-* OUI Subtype value of WMM Information Element
-*/
-const TUint8 KWmmInfoElemOuiSubType = 0;
-
-/**
-* OUI Subtype value of WMM Parameter Element
-*/
-const TUint8 KWmmParamElemOuiSubtype = 1;
-
-/**
-* Version of WMM Information Element
-*/
-const TUint8 KWmmInfoElemVersion = 1;
-
-/**
-* Version of WMM Parameter Element
-*/
-const TUint8 KWmmParamElemVersion = 1;
-
-/**
-* The TXOP Limit in the AC Parameters Record of WMM Parameter Element
-* needs to be multiplied by this value to get TXOP Limit in microseconds
-*/
-const TUint8 KWmmTxOpLimitMultiplier = 32;
-
-/**
-* AC flags in QoS info field of WMM IE
-* When a flag is set the corresponding AC is both trigger and delivery enabled
-*/
-enum TQosInfoUapsdFlag
-    {
-    EAcVoUapsdFlag = 0x01, // Voice 
-    EAcViUapsdFlag = 0x02, // Video 
-    EAcBkUapsdFlag = 0x04, // Background 
-    EAcBeUapsdFlag = 0x08  // Best Effort 
-    };
-
-
-/**
-* Maximum U-APSD Service Period length. Indicates the max number of MSDUs and 
-* MMPDUs the WMM AP may deliver to a WMM STA during any service period 
-* triggered by the WMM STA.
-*/
-enum TQosInfoUapsdMaxSpLen
-    {
-    EMaxSpLenAllFrames  = 0x00,
-    EMaxSpLenTwoFrames  = 0x20,
-    EMaxSpLenFourFrames = 0x40,
-    EMaxSpLenSixFrames  = 0x60
-    };
-
-const TUint8 K802Dot11AccessCategoryMask = 0x60;
-
-/**
-* WMM Access Categories
-*/
-enum TWmmAccessCategory
-    {
-    EAcBestEffort   = 0x00, 
-    EAcBackground   = 0x20,
-    EAcVideo        = 0x40,
-    EAcVoice        = 0x60
-    };
-
-/**
-* Number of WMM Access Categories
-*/
-const TUint8 KNumOfWmmACs = 4;
-
-/**
-* Mask for the Admission Control Mandatory flag
-* in ACI/AIFSN field
-* of AC parameter Record
-* of WMM Parameter Element
-*/
-const TUint8 KWmmAdmissionCtrlMandatoryMask = 0x10;
-
-/**
-* Mask for the AIFSN subfiled
-* in ACI/AIFSN field
-* of AC parameter Record
-* of WMM Parameter Element
-*/
-const TUint8 KWmmAifsnMask = 0x0F;
-
-/**
-* Mask for the ECWmin field
-* of AC parameter Record
-* of WMM Parameter Element
-*/
-const TUint8 KWmmEcwMinMask = 0x0F;
-
-/**
-* Mask for the ECWmax field
-* of AC parameter Record
-* of WMM Parameter Element
-*/
-const TUint8 KWmmEcwMaxMask = 0xF0;
-
-/**
-* 802.11 Authentication sequence numbers
-*/
-enum T802Dot11AuthenticationSeqNmbr
-    {
-    E802Dot11AuthenticationSeqNmbr1   = 1,
-    E802Dot11AuthenticationSeqNmbr2   = 2,
-    E802Dot11AuthenticationSeqNmbr3   = 3,
-    E802Dot11AuthenticationSeqNmbr4   = 4
-    };
-
-/**
-* 802.11 WEP key ID values
-*/
-enum T802Dot11WepKeyId
-    {
-    E802Dot11WepKeyId0 = 0,
-    E802Dot11WepKeyId1 = 1,
-    E802Dot11WepKeyId2 = 2,
-    E802Dot11WepKeyId3 = 3,
-    // defined as an upper bound
-    E802Dot11WepKeyIdMax = 4
-    };
-
-/**
-* 802.11 supported rate bytes. Used e.g. in Beacon frames.
-*/
-enum T802Dot11SupportedRate
-    {
-    E802Dot11Rate1MBit              = 2,
-    E802Dot11Rate2MBit              = 4,
-    E802Dot11Rate5p5MBit            = 11,
-    E802Dot11Rate6MBit              = 12,
-    E802Dot11Rate9MBit              = 18,
-    E802Dot11Rate11MBit             = 22,
-    E802Dot11Rate12MBit             = 24,
-    E802Dot11Rate18MBit             = 36,
-    E802Dot11Rate22MBit             = 44,
-    E802Dot11Rate24MBit             = 48,
-    E802Dot11Rate33MBit             = 66,
-    E802Dot11Rate36MBit             = 72,
-    E802Dot11Rate48MBit             = 96,
-    E802Dot11Rate54MBit             = 108
-    };
-
-/**
-* Management frame information element IDs.
-*/
-enum T802Dot11InformationElementID
-    {
-    E802Dot11SsidIE                 = 0,
-    E802Dot11SupportedRatesIE       = 1,
-    E802Doi11FhParameterSetIE       = 2,
-    E802Dot11DsParameterSetIE       = 3,
-    E802Dot11CfParameterSetIE       = 4,
-    E802Dot11TimIE                  = 5,
-    E802Dot11IbssParameterSetIE     = 6,
-    E802Dot11CountryIE              = 7,
-    E802Dot11HoppingPatternParamIE  = 8,
-    E802Dot11HoppingPatternTableIE  = 9,
-    E802Dot11RequestIE              = 10,
-
-    E802Dot11ChallengeTextIE        = 16,
-    // Reserved for challenge text extension 17 - 31
-    E802Dot11ErpInformationIE       = 42,
-    E802Dot11ExtendedRatesIE        = 50,
-    E802Dot11RsnIE                  = 221,
-    E802Dot11VendorSpecificIE       = 221    
-    };
-
-/**
-* Bit masks for bit fields ín Frame Control field.
-*/
-enum T802Dot11FrameControlBitMask
-    {
-    E802Dot11FrameControlProtVersionMask= 0x0003,
-    E802Dot11FrameControlTypeMask       = 0x000C,
-    E802Dot11FrameControlSubtypeMask    = 0x00F0,
-    E802Dot11FrameControlToDsMask       = 0x0100,
-    E802Dot11FrameControlFromDsMask     = 0x0200,
-    E802Dot11FrameControlMoreFragMask   = 0x0400,
-    E802Dot11FrameControlRetryMask      = 0x0800,
-    E802Dot11FrameControlPowerMgmtMask  = 0x1000,
-    E802Dot11FrameControlMoreDataMask   = 0x2000,
-    E802Dot11FrameControlWepMask        = 0x4000,
-    E802Dot11FrameControlOrderMask      = 0x8000
-    };
-
-/**
-* Frame Control field type masks.
-*/
-enum T802Dot11FrameControlBasicTypeMask
-{
-    E802Dot11FrameBasicTypeManagement       = 0x00,
-    E802Dot11FrameBasicTypeControl          = 0x04,
-    E802Dot11FrameBasicTypeData             = 0x08
-};
-
-/**
-* Frame Control field subtype masks.
-*/
-enum T802Dot11FrameControlTypeMask
-    {
-    E802Dot11FrameTypeAssociationReq        = 0x00,
-    E802Dot11FrameTypeAssociationResp       = 0x10,
-    E802Dot11FrameTypeReassociationReq      = 0x20,
-    E802Dot11FrameTypeReassociationResp     = 0x30,
-    E802Dot11FrameTypeProbeReq              = 0x40,
-    E802Dot11FrameTypeProbeResp             = 0x50,
-    E802Dot11FrameTypeBeacon                = 0x80,
-    E802Dot11FrameTypeAtim                  = 0x90,
-    E802Dot11FrameTypeDisassociation        = 0xA0,
-    E802Dot11FrameTypeAuthentication        = 0xB0,
-    E802Dot11FrameTypeDeauthentication      = 0xC0,
-    E802Dot11FrameTypePowerSavePoll         = 0xA4,
-    E802Dot11FrameTypeReqToSend             = 0xB4,
-    E802Dot11FrameTypeClearToSend           = 0xC4,
-    E802Dot11FrameTypeAcknowledgement       = 0xD4,
-    E802Dot11FrameTypeCfEnd                 = 0xE4,
-    E802Dot11FrameTypeCfEndCfAck            = 0xF4,
-    E802Dot11FrameTypeData                  = 0x08,
-    E802Dot11FrameTypeDataCfAck             = 0x18,
-    E802Dot11FrameTypeDataCfPoll            = 0x28,
-    E802Dot11FrameTypeDataCfAckCfPoll       = 0x38,
-    E802Dot11FrameTypeDataNull              = 0x48,
-    E802Dot11FrameTypeCfAckNoData           = 0x58,
-    E802Dot11FrameTypeCfPollNoData          = 0x68,
-    E802Dot11FrameTypeCfAckCfPollNoData     = 0x78,
-    E802Dot11FrameTypeQosData               = 0x88,
-    E802Dot11FrameTypeQosDataCfAck          = 0x98,
-    E802Dot11FrameTypeQosDataCfPoll         = 0xA8,
-    E802Dot11FrameTypeQosDataCfAckCfPoll    = 0xB8,
-    E802Dot11FrameTypeQosDataNull           = 0xC8,
-
-    // not valid 802.11 types. 
-    // just used in TxCompleted function to distinct separate cases
-    E802Dot11FrameTypeAuthSeqNmbr1          = 0xFD,
-    E802Dot11FrameTypeAuthSeqNmbr3          = 0xFE,
-    E802Dot11FrameTypeDataEapol             = 0xFF,
-
-    // not valid 802.11 types. 
-    // just for test purposes
-    E802Dot11FrameTypeTestFrame             = 0xFFFF
-    };
-
-/**
-* Bit masks for Capability Information field.
-*/
-enum T802Dot11CapabilityBitMask
-    {
-    E802Dot11CapabilityEssMask          = 0x0001,
-    E802Dot11CapabilityIbssMask         = 0x0002,
-    E802Dot11CapabilityCfPollableMask   = 0x0004,
-    E802Dot11CapabilityCfPollRequestMask= 0x0008,
-    E802Dot11CapabilityPrivacyMask      = 0x0010,
-    // these little critters are from 802.11b spec
-    E802Dot11ShortPreambleMask          = 0x0020,
-    E802Dot11PbccMask                   = 0x0040,      
-    E802Dot11ChannelAgilityMask         = 0x0080,
-    E802Dot11ShortSlotTimeMask          = 0x0400
-    };
-
-/**
-* Supported authentication modes
-*/
-const TUint16 K802Dot11AuthModeOpen   = 0;
-const TUint16 K802Dot11AuthModeShared = 1;
-
-/**
-* 802.11 status codes
-*/
-enum T802Dot11ManagementStatusCode
-    {
-    E802Dot11StatusSuccess                          = 0,
-    E802Dot11StatusUnspecifiedFailure               = 1,
-    // 2 -9 reserved    
-    E802Dot11StatusUnsupportedCapabilities          = 10,
-    E802Dot11StatusReAssociationDenied              = 11,
-    E802Dot11StatusAssocDenied                      = 12,
-    E802Dot11StatusAuthAlgorithmNotSupported        = 13,
-    E802Dot11StatusAuthFrameOutOfSequence           = 14,
-    E802Dot11StatusChallengeFailure                 = 15,
-    E802Dot11StatusAuthRejectedTimeout              = 16,
-    E802Dot11StatusAssocDeniedApFull                = 17,
-    E802Dot11StatusAssocDeniedBasicRatesUnSupp      = 18,
-    // following three little critters are from 802.11b spec
-    E802Dot11StatusAssocDeniedShortPreambleUnSupp   = 19,
-    E802Dot11StatusAssocDeniedPbccUnSupp            = 20,
-    E802Dot11StatusAssocDeniedChannelAgilityUnSupp  = 21    
-    // 22 - 65,535 reserved
-    };
-
-/**
-* 802.11 reason codes
-*/
-enum T802Dot11ManagementReasonCode
-    {
-    // 0 reserved
-    E802Dot11ReasonUnspecified                = 1,
-    E802Dot11ReasonAuthNoLongerValid          = 2,
-    E802Dot11ReasonDeauthStationLeft          = 3,
-    E802Dot11ReasonDisAssocInactivity         = 4,
-    E802Dot11ReasonDisAssocAPFull             = 5,
-    E802Dot11ReasonClass2FrameWhenNotAuth     = 6,
-    E802Dot11ReasonClass3FrameWhenNotAssoc    = 7,
-    E802Dot11ReasonDisAssocStationLeft        = 8,
-    E802Dot11ReasonAssocFailNotAuth           = 9,
-    // 10 - 12 reserved    
-    // WPA stuff
-    E802Dot11ReasonInvalidIe                  = 13,
-    E802Dot11ReasonMicFailure                 = 14,
-    E802Dot11ReasonHandshakeTimeout           = 15,
-    E802Dot11ReasonGroupKeyUpdateTimeout      = 16,
-    E802Dot11ReasonIeMismatch                 = 17,
-    E802Dot11ReasonMulticastChipherNotValid   = 18,
-    E802Dot11ReasonUnicastChipherNotValid     = 19,
-    E802Dot11ReasonAkmpNotValid               = 20,
-    E802Dot11ReasonUnsupportedRsneVersion     = 21,
-    E802Dot11ReasonInvalidRsneCapabilities    = 22,
-    E802Dot11Reason1xAuthenticationFailed     = 23,
-    // 24 - 65,535 reserved    
-    };
-
-/**
-* 802.11 management frame fixed field and IE lengths in BYTEs
-*/
-const TUint32 KTimeStampFixedFieldLength                = 8;
-const TUint32 KBeaconIntervalFixedFieldLength           = 2;
-const TUint32 KCapabilityInformationFixedFieldLength    = 2;
-const TUint32 KDsParameterSetIeLength                   = 3;
-const TUint32 KIbssParameterSetIeLength                 = 4;
-
-/**
-* The one and only MAC address struct
-*/
-#pragma pack( 1 )
-struct TMacAddress
-    {
-    /** the MAC address */
-    TUint8 iMacAddress[KMacAddressLength];
-    } __PACKED; // 6 bytes
-
-/**
-* Broadcast MAC Address.
-*/
-const TMacAddress KBroadcastMacAddr = {{ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF }};
-
-/**
-* MAC address that all zeros
-*/
-const TMacAddress KZeroMacAddr = {{ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }};
-
-/**
-* operator== for TMacAddress 
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== ( 
-    const TMacAddress& aLhs, const TMacAddress& aRhs )
-    {
-    return ( equal( (aLhs.iMacAddress),
-                    (aLhs.iMacAddress) + KMacAddressLength, 
-                    aRhs.iMacAddress) );
-    }
-
-/**
-* Sets or clears the group bit of the MAC address 
-* @param aMac the address
-* @param aSet set or clear the bit
-*/
-inline void GroupBit( TMacAddress& aMac, TBool aSet = ETrue )
-    {
-    if ( aSet )
-        {
-        aMac.iMacAddress[0] |= KBit0;
-        }
-    else
-        {
-        aMac.iMacAddress[0] &= ~KBit0;
-        }
-    }
-
-/**
-* Evaluates if the group bit of the MAC address is set
-* @param aMac the address
-* @return ETrue if group bit is set EFalse in other case
-*/
-inline TBool IsGroupBitSet( const TMacAddress& aMac )
-    {
-    return (aMac.iMacAddress[0] & KBit0);
-    }
-
-/**
-* Sets or clears the local bit of the MAC address 
-* @param aMac the address
-* @param aSet set or clear the bit
-*/
-inline void LocalBit( TMacAddress& aMac, TBool aSet = ETrue )
-    {
-    if ( aSet )
-        {
-        aMac.iMacAddress[0] |= KBit1;
-        }
-    else
-        {
-        aMac.iMacAddress[0] &= ~KBit1;
-        }
-    }
-
-/**
-* Evaluates if the local bit of the MAC address is set
-* @param aMac the address
-* @return ETrue if group bit is set EFalse in other case
-*/
-inline TBool IsLocalBitSet( const TMacAddress& aMac )
-    {
-    return (aMac.iMacAddress[0] & KBit1);
-    }
-
-/**
-* 802.11 information element header
-*/
-#pragma pack( 1 )
-struct SInformationElementHeader
-    {
-    /** the element ID */
-    const TUint8    iElementID;
-    /** length of the following IE */
-    TUint8          iLength;      
-
-    /**
-    * Ctor
-    * @param aElementID element ID used
-    */
-    explicit SInformationElementHeader( 
-        T802Dot11InformationElementID aElementID ) 
-        : iElementID( static_cast<TUint8>(aElementID) ), iLength( 0 ) {};
-    /**
-    * Ctor
-    * @param aElementID element ID used
-    * @param aLength length of the information element following this header
-    */
-    SInformationElementHeader( T802Dot11InformationElementID aElementID, 
-        const TUint8 aLength ) 
-        : iElementID( static_cast<TUint8>(aElementID) ), iLength( aLength ) {};
-
-private:
-
-    /** Prohibit assignment operator */
-    SInformationElementHeader& operator= ( const SInformationElementHeader& );
-    /** Prohibit copy constructor */
-    SInformationElementHeader( const SInformationElementHeader& );
-    } __PACKED; // 2 bytes
-
-/**
-* operator== for SInformationElementHeader
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== ( 
-    const SInformationElementHeader& aLhs, 
-    const SInformationElementHeader& aRhs )
-    {
-    return static_cast<TBool>(( aLhs.iElementID == aRhs.iElementID
-        && aLhs.iLength == aRhs.iLength ));
-    }
-
-/**
-* 802.11 SSID information element
-*/
-#pragma pack( 1 )
-struct  SSsIdIE
-    {
-    /** information element header */
-    SInformationElementHeader   iHeader;                    // 2 bytes
-    /** SSID information element */
-    TUint8                      iSsIdIe[KMaxSSIDLength];    // 32 bytes 
-
-    /**
-    * Ctor
-    */
-    inline SSsIdIE() : iHeader( E802Dot11SsidIE ) {};
-
-    /**
-    * Ctor
-    * @param aData pointer to SSID
-    * @param aLength length of aData
-    */
-    inline SSsIdIE( const TUint8* aData, TUint8 aLength );
-
-    /**
-    * Returns information elements length ( the element + its header )
-    * @return see above
-    */
-    TUint8 GetIeLength() const { return static_cast<TUint8>( 
-        (iHeader.iLength + sizeof( SInformationElementHeader ) ) ); }        
-
-private:
-
-    /** Prohibit assignment operator */
-    SSsIdIE& operator= ( const SSsIdIE& );
-    /** Prohibit copy constructor */
-    SSsIdIE( const SSsIdIE& );
-    } __PACKED; // 34 bytes
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline SSsIdIE::SSsIdIE( const TUint8* aData, TUint8 aLength ) 
-    : iHeader( E802Dot11SsidIE )
-    {
-    iHeader.iLength =  aLength;
-    os_memcpy( &(iSsIdIe[0]), aData, aLength );   
-    }       
-
-/**
-* operator== for SSsIdIE
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal EFalse not equal
-*/
-inline TBool operator== (
-    const SSsIdIE& aLhs,
-    const SSsIdIE& aRhs)
-    {
-    return static_cast<TBool>(( ( aLhs.iHeader == aRhs.iHeader )
-        && !(os_memcmp( aLhs.iSsIdIe, aRhs.iSsIdIe, aLhs.iHeader.iLength )) ));
-    }
-
-/**
-* 802.11 supported rates information element
-*/
-#pragma pack( 1 )
-struct SSupportedRatesIE
-    {
-    /** information element header */
-    SInformationElementHeader iHeader;                      // 2
-    /** 
-    * supported rates information element
-    * NOTE! The 802.11 standard specifies that the max length of the 
-    * information part of this IE is eight rates (eight bytes).
-    * However at least some APs seem to put all their supported rates
-    * into this element. In order to be able to associate with those
-    * APs we allocate enough space to incorporate all 802.11b/g rates
-    * in this IE. We ourselves will still always advertise max eight 
-    * rates using this IE (and the rest using the Extended Supported
-    * Rates IE).
-    */
-    TUint8 iSupportedRatesIE[KMaxNumberOfDot11bAndgRates];  // 14
-
-    /**
-    * Ctor
-    */
-    SSupportedRatesIE() 
-        : iHeader( E802Dot11SupportedRatesIE, KMaxNumberOfRates ) {};
-
-    /**
-    * operator[] to get supported rates element at given index
-    * @param aIdx index to be get
-    * @return value in given index
-    */
-    inline TUint8 operator[] ( TUint8 aIdx ) const;
-
-    /**
-    * sets IE data also sets the IE headers length field
-    * @param aIeData actual IE data
-    * @param aLength length of aIeData
-    */
-    inline void SetIeData( const TUint8* aIeData, const TUint8 aLength);
-
-    /**
-    * Returns information element's actual length 
-    * ( element's size + its header )
-    * @return see above
-    */
-    inline TUint8 GetIeLength() const; 
-
-    /**
-    * Returns only the information element's actual length ( header excluded )
-    * @return see above
-    */
-    inline TUint8 GetElementLength() const; 
-
-    /** Marks IE zero length size */
-    inline void Clear();
-
-    /**
-    * Appends a single rate element to IE
-    * @param aRate rate element to be appended
-    */
-    inline void Append( TUint8 aRate );
-
-private:
-
-    /** Prohibit assignment operator */
-    SSupportedRatesIE& operator= ( const SSupportedRatesIE& );
-    /** Prohibit copy constructor */
-    SSupportedRatesIE( const SSupportedRatesIE& );
-    } __PACKED; // 16 bytes
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SSupportedRatesIE::SetIeData( 
-    const TUint8* aIeData, 
-    const TUint8 aLength)
-    {
-    iHeader.iLength = aLength;
-    os_memcpy( iSupportedRatesIE, aIeData, aLength );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SSupportedRatesIE::operator[] ( TUint8 aIdx ) const
-    {
-    return iSupportedRatesIE[aIdx];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SSupportedRatesIE::GetIeLength() const 
-    { 
-    return static_cast<TUint8>( 
-        ( iHeader.iLength + sizeof( SInformationElementHeader ) ) ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SSupportedRatesIE::GetElementLength() const
-    {
-    return iHeader.iLength;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SSupportedRatesIE::Clear()
-    {
-    iHeader.iLength = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SSupportedRatesIE::Append( TUint8 aRate )
-    {
-    iSupportedRatesIE[iHeader.iLength] = aRate;
-    ++(iHeader.iLength);
-    }
-
-/**
-* operator== for SSupportedRatesIE
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SSupportedRatesIE& aLhs,
-    const SSupportedRatesIE& aRhs )
-    {
-    return static_cast<TBool>(( ( aLhs.iHeader == aRhs.iHeader )
-        && !(os_memcmp( aLhs.iSupportedRatesIE, 
-        aRhs.iSupportedRatesIE, aLhs.iHeader.iLength )) ));
-    }
-
-/**
-* 802.11 extended supported rates information element
-*/
-#pragma pack( 1 )
-struct SExtendedSupportedRatesIE
-    {
-	enum { KPad = 1 };
-    /** information element header */
-    SInformationElementHeader   iHeader;                                        // 2
-    /** supported rates information element */
-    TUint8                      iSupportedRatesIE[KMaxNumberOfExtendedRates];   // 255
-	/** padding */
-	TUint8						iPad[KPad];				                        // 1
-
-    /**
-    * Ctor
-    */
-    SExtendedSupportedRatesIE() 
-        : iHeader( E802Dot11ExtendedRatesIE, KMaxNumberOfExtendedRates ) {};
-
-    /**
-    * operator[] to get supported rates element at given index
-    * @param aIdx index to be get
-    * @return value in given index
-    */
-    inline TUint8 operator[] ( TUint8 aIdx ) const;
-
-    /**
-    * sets IE data also sets the IE headers length field
-    * @param aIeData actual IE data
-    * @param aLength length of aIeData
-    */
-    inline void SetIeData( const TUint8* aIeData, const TUint8 aLength);
-
-    /**
-    * Returns information element's actual length 
-    * ( element's size + its header )
-    * @return see above
-    */
-    inline TUint8 GetIeLength() const; 
-
-    /**
-    * Returns only the information element's actual length ( header excluded )
-    * @return see above
-    */
-    inline TUint8 GetElementLength() const; 
-
-    /** Marks IE zero length size */
-    inline void Clear();
-
-    /**
-    * Appends a single rate element to IE
-    * @param aRate rate element to be appended
-    */
-    inline void Append( TUint8 aRate );
-
-private:
-
-    /** Prohibit assignment operator */
-    SExtendedSupportedRatesIE& operator= ( const SExtendedSupportedRatesIE& );
-    /** Prohibit copy constructor */
-    SExtendedSupportedRatesIE( const SExtendedSupportedRatesIE& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SExtendedSupportedRatesIE::SetIeData( 
-    const TUint8* aIeData, 
-    const TUint8 aLength)
-    {
-    iHeader.iLength = aLength;
-    os_memcpy( iSupportedRatesIE, aIeData, aLength );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SExtendedSupportedRatesIE::operator[] ( TUint8 aIdx ) const
-    {
-    return iSupportedRatesIE[aIdx];
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SExtendedSupportedRatesIE::GetIeLength() const 
-    { 
-    return static_cast<TUint8>( 
-        ( iHeader.iLength + sizeof( SInformationElementHeader ) ) ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SExtendedSupportedRatesIE::GetElementLength() const
-    {
-    return iHeader.iLength;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SExtendedSupportedRatesIE::Clear()
-    {
-    iHeader.iLength = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SExtendedSupportedRatesIE::Append( TUint8 aRate )
-    {
-    iSupportedRatesIE[iHeader.iLength] = aRate;
-    ++(iHeader.iLength);
-    }
-
-/**
-* operator== for SExtendedSupportedRatesIE
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SExtendedSupportedRatesIE& aLhs,
-    const SExtendedSupportedRatesIE& aRhs )
-    {
-    return static_cast<TBool>(( ( aLhs.iHeader == aRhs.iHeader )
-        && !(os_memcmp( aLhs.iSupportedRatesIE, 
-        aRhs.iSupportedRatesIE, aLhs.iHeader.iLength )) ));
-    }
-
-#pragma pack( 1 )
-struct SDsParameterSetIE
-    {
-    SInformationElementHeader   iHeader;                // 2
-    TUint8                      iValue;                 // 1                         
-
-    inline SDsParameterSetIE( const TUint32 aValue );
-
-private:
-
-    /** Prohibit assignment operator */
-    SDsParameterSetIE& operator= ( const SDsParameterSetIE& aObj );
-    /** Prohibit copy constructor */
-    SDsParameterSetIE( const SDsParameterSetIE& );
-    } __PACKED;     // 3 bytes 
-
-inline SDsParameterSetIE::SDsParameterSetIE( 
-    const TUint32 aValue )         
-    : iHeader( E802Dot11DsParameterSetIE, sizeof(iValue) )
-    {
-    iValue = aValue;
-    }
-
-#pragma pack( 1 )
-struct SIbssParameterSetIE
-    {
-    SInformationElementHeader   iHeader;                // 2
-    TUint16                     iValue;                 // 2                         
-
-    inline SIbssParameterSetIE( const TUint16 aValue );
-    
-    inline TUint16 AtimWindow() const;
-
-private:
-
-    /** Prohibit assignment operator */
-    SIbssParameterSetIE& operator= ( const SIbssParameterSetIE& aObj );
-    /** Prohibit copy constructor */
-    SIbssParameterSetIE( const SIbssParameterSetIE& );
-    } __PACKED;     // 4 bytes 
-
-inline SIbssParameterSetIE::SIbssParameterSetIE( 
-    const TUint16 aValue )         
-    : iHeader( E802Dot11IbssParameterSetIE, sizeof(iValue) )
-    {
-    WriteHtoUint16( &iValue, aValue );
-    }
-
-inline TUint16 SIbssParameterSetIE::AtimWindow() const
-    {
-    return ( ReadUint16Toh( &iValue ) );
-    }
-
-/**
-* 802.11 WiFi WPA outbound information element
-*/
-#pragma pack( 1 )
-struct STxRsnIE
-    {
-    /** information element header */
-    SInformationElementHeader   iHeader;                       // 2
-    /** RSN information element */
-    TUint8                      iTxRsnIe[KMaxTxRsnIELength];   // 38
-
-    /** Ctor */
-    STxRsnIE() 
-        : iHeader( E802Dot11VendorSpecificIE , KMaxTxRsnIELength ) {};
-
-    /**
-    * Returns information element's actual length 
-    * ( element's size + its header )
-    * @return see above
-    */
-    inline TUint8 GetIeLength() const; 
-
-    /**
-    * Sets iTxRsnIe field and IE length field
-    * @param aData data to be set
-    * @param aLength length of the data
-    */
-    inline void SetRsn( const TUint8* aData, TUint32 aLength );
-
-private:
-
-    /** Prohibit assignment operator */
-    STxRsnIE& operator= ( const STxRsnIE& aObj );
-    /** Prohibit copy constructor */
-    STxRsnIE( const STxRsnIE& );
-    } __PACKED; // 40 bytes
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 STxRsnIE::GetIeLength() const
-    {
-    return static_cast<TUint8>( 
-        ( iHeader.iLength + sizeof( SInformationElementHeader ) ) ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void STxRsnIE::SetRsn( const TUint8* aData, TUint32 aLength )
-    {
-    iHeader.iLength = static_cast<TUint8>(aLength);
-    os_memcpy( iTxRsnIe, aData, aLength );
-    }
-
-/**
-* Inbound WMM information element without IE header
-*/
-#pragma pack( 1 )
-struct SRxWmmIeData
-    {
-    TIeOui                      iOui;           // 3
-    TUint8                      iOuiType;       // 1
-    TUint8                      iOuiSubType;    // 1
-    TUint8                      iVersion;       // 1
-    /** information element */
-    TUint8                      iQosInfo;       // 1
-
-    /**
-    * Evaluates if U-APSD bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsUapsdBitSet() const;
-
-    /**
-    * Gets the the parameter set count
-    * @return parameter set count
-    */
-    inline TUint8 ParameterSetCount() const;
-
-private:
-
-    /** Prohibit assignment operator */
-    SRxWmmIeData& operator= ( const SRxWmmIeData& aObj );
-    /** Prohibit copy constructor */
-    SRxWmmIeData( const SRxWmmIeData& );
-    } __PACKED;     // 7 bytes 
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SRxWmmIeData::IsUapsdBitSet() const
-    {
-    return ( (iQosInfo & KUapsdQosInfoMask )? ETrue : EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SRxWmmIeData::ParameterSetCount() const
-    {
-    return ( iQosInfo & KParamSetCountQosInfoMask );
-    }
-
-
-/**
-* Outbound WMM information element
-*/
-#pragma pack( 1 )
-struct STxWmmIE
-    {
-    /** information element header */
-    SInformationElementHeader   iHeader;        // 2
-    TIeOui                      iOui;           // 3
-    TUint8                      iOuiType;       // 1
-    TUint8                      iOuiSubType;    // 1
-    TUint8                      iVersion;       // 1
-    /** information element */
-    TUint8                      iQosInfo;       // 1
-
-
-    /**
-    * Ctor
-    */
-    inline STxWmmIE() : iHeader( E802Dot11VendorSpecificIE, KWmmInfoElemLen ),
-        iOuiType( KWmmElemOuiType ), 
-        iOuiSubType( KWmmInfoElemOuiSubType ), iVersion( KWmmInfoElemVersion ),
-        iQosInfo( 0 ) 
-        { 
-        os_memcpy( iOui, KWmmElemOui, KIeOuiLength );
-        }
-
-    /**
-    * Sets the U-APSD flags for different ACs
-    * @param aFlags flag(s) to be set
-    */
-    inline void SetUapsdFlags( TQosInfoUapsdFlag aFlags );
-
-    /**
-    * Sets the maximum service period length
-    * @param aMaxSpLen length of the service period 
-    */
-    inline void SetMaxSpLen( TQosInfoUapsdMaxSpLen aMaxSpLen );
-    
-    /**
-    * Returns information elements total length, i.e.
-    * element's length + header length
-    * @return see above
-    */
-    inline TUint8 GetIeLength() const; 
-
-    /** Clears the IE content, i.e. the iQosInfo field */
-    inline void Clear();    
-
-private:
-
-    /** Prohibit assignment operator */
-    STxWmmIE& operator= ( const STxWmmIE& aObj );
-    /** Prohibit copy constructor */
-    STxWmmIE( const STxWmmIE& );
-    } __PACKED;     // 9 bytes 
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void STxWmmIE::SetUapsdFlags( TQosInfoUapsdFlag aFlags )
-    {
-    iQosInfo |= aFlags;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void STxWmmIE::SetMaxSpLen( TQosInfoUapsdMaxSpLen aMaxSpLen )
-    {
-    iQosInfo |= aMaxSpLen;    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 STxWmmIE::GetIeLength() const
-    {
-    return static_cast<TUint8>( 
-        ( iHeader.iLength + sizeof( SInformationElementHeader ) ) ); 
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void STxWmmIE::Clear()
-    {
-    iQosInfo = 0;    
-    }
-
-/**
-* AC parameters record of WMM parameter element
-*/
-#pragma pack( 1 )
-struct SAcParamsRecord
-    {
-    
-    TUint8                      iAciAifsn;      // 1
-    TUint8                      iEcwMinMax;     // 1
-    TUint16                     iTxOpLimit;     // 2
-    
-    inline TWmmAccessCategory AccessCategory() const;
-
-    inline TBool AdmissionControlMandatory() const;
-    
-    inline TUint8 Aifsn() const;
-
-    inline TUint16 CwMin() const;
-    
-    inline TUint16 CwMax() const;
-
-    inline TUint16 TxOpLimit() const;        
-    
-private:
-
-    /** Prohibit assignment operator */
-    SAcParamsRecord& operator= ( const SAcParamsRecord& aObj );
-    /** Prohibit copy constructor */
-    SAcParamsRecord( const SAcParamsRecord& );
-    } __PACKED;     // 4 bytes 
-
-inline TWmmAccessCategory SAcParamsRecord::AccessCategory() const
-    {
-    return ( static_cast<TWmmAccessCategory>(iAciAifsn & K802Dot11AccessCategoryMask) );
-    }
-
-inline TBool SAcParamsRecord::AdmissionControlMandatory() const
-    {
-    return ( iAciAifsn & KWmmAdmissionCtrlMandatoryMask );
-    }
-
-inline TUint8 SAcParamsRecord::Aifsn() const
-    {
-    return ( iAciAifsn & KWmmAifsnMask );
-    }
-
-inline TUint16 SAcParamsRecord::CwMin() const
-    {
-    return ( ( static_cast<TUint16>( 1 ) << 
-             ( iEcwMinMax & KWmmEcwMinMask ) ) - 1 );
-    }
-
-inline TUint16 SAcParamsRecord::CwMax() const
-    {
-    return ( ( static_cast<TUint16>( 1 ) << 
-             ( ( iEcwMinMax & KWmmEcwMaxMask ) >> 4 ) ) - 1 );
-    }
-
-inline TUint16 SAcParamsRecord::TxOpLimit() const
-    {
-    return ( ReadUint16Toh( &iTxOpLimit ) );
-    }
-
-/**
-* WMM Parameter Element without element header
-*/
-#pragma pack( 1 )
-struct SWmmParamElemData
-    {
-    /** information element header */
-    TIeOui                      iOui;                    // 3
-    TUint8                      iOuiType;                // 1
-    TUint8                      iOuiSubType;             // 1
-    TUint8                      iVersion;                // 1
-    /** information element fields: */
-    TUint8                      iQosInfo;                // 1
-    TUint8                      iReserved;               // 1
-    SAcParamsRecord             iAcParams[KNumOfWmmACs]; // 16
-
-    /**
-    * Evaluates if U-APSD bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsUapsdBitSet() const;
-
-    /**
-    * Gets the the parameter set count
-    * @return parameter set count
-    */
-    inline TUint8 ParameterSetCount() const;
-
-private:
-
-    /** Prohibit assignment operator */
-    SWmmParamElemData& operator= ( const SWmmParamElemData& aObj );
-    /** Prohibit copy constructor */
-    SWmmParamElemData( const SWmmParamElemData& );
-    } __PACKED;     // 24
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SWmmParamElemData::IsUapsdBitSet() const
-    {
-    return ( (iQosInfo & KUapsdQosInfoMask )? ETrue : EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SWmmParamElemData::ParameterSetCount() const
-    {
-    return ( iQosInfo & KParamSetCountQosInfoMask );
-    }
-
-// capability information fixed-field 
-//
-// bit 14 - 15     13     11 - 12    10        8-9       7         6                         
-//   ----------+-------+-----------+-------+---------+----------+-------
-//    reserved | DSSS- | reserved  | short | reserved|  Channel |   PBCC   
-//             | OFDM  |           | slot  |         |  Agility |          
-//   ----------+-------+-----------+-------+---------+----------+--------
-// bit        5           4         3          2          1          0  
-//        ----------+----------+----------+----------+----------+----------+
-//           Short  |  Privacy |  CF-Poll |   CF     |   IBSS   |    ESS   |
-//          Preamble|   (WEP)  |  Request | Pollable |          |          |        
-//        ----------+----------+----------+----------+----------+----------+
-
-/**
-* 802.11 management frame body capability information fixed-field
-*/
-#pragma pack( 1 )
-struct SCapabilityInformationField
-    {
-    enum { KReservedFieldsMask = 0xEB00 };
-
-    /** capability information fixed field */
-    TUint16 iCapabilityInformationField;
-
-    /**
-    * Ctor
-    */
-    SCapabilityInformationField() 
-        : iCapabilityInformationField( 0 ) {};
-
-    /**
-    * Ctor
-    * @param aParam value used in iCapabilityInformationField field
-    */
-    explicit inline SCapabilityInformationField( const TUint16 aParam ); 
-
-    /**
-    * Assignment operator for TUint16 type
-    * @param aParam value used as iCapabilityInformationField
-    */
-    inline SCapabilityInformationField& operator= ( const TUint16 aParam );
-        
-    /**
-    * Returns the value of the Capability Information Field
-    * @return 
-    */
-    inline TUint16 CapabilityInformationField() const;
-    /**
-    * Evaluates if ESS bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsEssBitSet() const;
-    /**
-    * Evaluates if IBSS bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsIbssBitSet() const;
-    /**
-    * Evaluates if Privaecy bit bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsPrivacyBitSet() const;
-    /**
-    * Evaluates if Short Preamble bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsShortPreambleBitSet() const;
-    /**
-    * Evaluates if PBCC bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsPbccBitSet() const;
-    /**
-    * Evaluates if Channel Agility bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsChannelAgilityBitSet() const;
-    /**
-    * Evaluates if short slot time bit is up
-    * @return ETrue if bit is up, otherwise EFalse
-    */
-    inline TBool IsShortSlotTimeBitSet() const;
-    /**
-    * Clears both CF bits
-    */
-    inline void ClearCfFields();    
-    /**
-    * Clear CF pollable field
-    */
-    inline void ClearCfPollable();    
-    /**
-    * Clears both CF poll request field
-    */
-    inline void ClearCfPollRequest();    
-    /**
-    * Sets the short preamble bit
-    */
-    inline void SetShortPreamble();
-    /**
-    * Clears the short preamble bit
-    */
-    inline void ClearShortPreamble();
-    /**
-    * sets the pbcc bit
-    */
-    inline void SetPbcc();
-    /**
-    * sets the IBSS bit
-    */
-    inline void SetIbss();
-    /**
-    * Clear PBCC bit
-    */
-    inline void ClearPbcc();
-    /** Clear reserved fields */
-    inline void ClearReservedFields();
-    /** Set WEP bit */
-    inline void SetWepBit();
-    /** Clear WEP bit */
-    inline void ClearWepBit();
-
-private:
-
-    /** Prohibit copy constructor */
-    SCapabilityInformationField( const SCapabilityInformationField& );
-    } __PACKED; // 2 bytes
-
-
-inline SCapabilityInformationField::SCapabilityInformationField( const TUint16 aParam )
-    {
-    WriteHtoUint16( &iCapabilityInformationField, aParam );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline SCapabilityInformationField& SCapabilityInformationField::operator= (
-    const TUint16 aParam )
-    {
-    WriteHtoUint16( &iCapabilityInformationField, aParam );
-    return (*this);
-    }
-
-// ---------------------------------------------------------
-// 
-// ---------------------------------------------------------
-//
-inline TUint16 SCapabilityInformationField::CapabilityInformationField() const
-    {
-    return ( ReadUint16Toh( &iCapabilityInformationField ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SCapabilityInformationField::IsEssBitSet() const
-    {
-    return ( ( ReadUint16Toh( &iCapabilityInformationField ) & 
-        E802Dot11CapabilityEssMask )
-        ? ETrue : EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SCapabilityInformationField::IsIbssBitSet() const
-    {
-    return ( ( ReadUint16Toh( &iCapabilityInformationField ) & 
-        E802Dot11CapabilityIbssMask )
-        ? ETrue : EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SCapabilityInformationField::IsPrivacyBitSet() const
-    {
-    return ( ( ReadUint16Toh( &iCapabilityInformationField ) & 
-        E802Dot11CapabilityPrivacyMask )
-        ? ETrue : EFalse );    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SCapabilityInformationField::IsShortPreambleBitSet() const
-    {
-    return ( ( ReadUint16Toh( &iCapabilityInformationField ) & 
-        E802Dot11ShortPreambleMask )
-        ? ETrue : EFalse );    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SCapabilityInformationField::IsPbccBitSet() const
-    {
-    return ( ( ReadUint16Toh( &iCapabilityInformationField ) & 
-        E802Dot11PbccMask )
-        ? ETrue : EFalse );    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SCapabilityInformationField::IsChannelAgilityBitSet() const
-    {
-    return ( ( ReadUint16Toh( &iCapabilityInformationField ) & 
-        E802Dot11ChannelAgilityMask )
-        ? ETrue : EFalse );    
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SCapabilityInformationField::IsShortSlotTimeBitSet() const
-    {
-    return ( ( ReadUint16Toh( &iCapabilityInformationField ) & 
-        E802Dot11ShortSlotTimeMask )
-        ? ETrue : EFalse );    
-    }
-
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::ClearCfFields()
-    {
-    ClearCfPollable();
-    ClearCfPollRequest();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::ClearCfPollable()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) & 
-        ( ~E802Dot11CapabilityCfPollableMask ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::ClearCfPollRequest()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) & 
-        ( ~E802Dot11CapabilityCfPollRequestMask ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::SetShortPreamble()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) | 
-        E802Dot11ShortPreambleMask );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::SetPbcc()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) | 
-        E802Dot11PbccMask );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::SetIbss()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) | 
-        E802Dot11CapabilityIbssMask );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::ClearShortPreamble()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) & 
-        ( ~E802Dot11ShortPreambleMask ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::ClearPbcc()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) & 
-        ( ~E802Dot11PbccMask ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::ClearReservedFields()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) & 
-        ( ~KReservedFieldsMask ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::SetWepBit()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) | 
-        E802Dot11CapabilityPrivacyMask );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SCapabilityInformationField::ClearWepBit()
-    {
-    WriteHtoUint16( &iCapabilityInformationField, 
-        ReadUint16Toh( &iCapabilityInformationField ) & 
-        ( ~E802Dot11CapabilityPrivacyMask ) );
-    }
-
-/**
-* operator== for SCapabilityInformationField
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== ( 
-    const SCapabilityInformationField& aLhs,
-    const SCapabilityInformationField& aRhs)
-    {
-    return static_cast<TBool>( aLhs.CapabilityInformationField() 
-        == aRhs.CapabilityInformationField() );
-    }
-
-/**
-* 802.11 management frame body listen interval fixed-field
-*/
-#pragma pack( 1 )
-struct SListenIntervalField
-    {
-    /** listen interval fixed field */
-    TUint16 iListenInterval;
-    
-    /**
-    * Ctor
-    */
-    SListenIntervalField() : iListenInterval( 0 ) {};
-
-    /**
-    * Ctor
-    * @param aParam value used in iListenInterval
-    */
-    explicit inline SListenIntervalField( const TUint16 aParam );
-
-    /**
-    * Returns the value of the Listen Interval
-    * @return Listen Interval
-    */
-    inline TUint16 ListenInterval() const;
-
-    /**
-    * assignment operator for TUint16 type
-    * @param aInterval listen interval fixed field
-    */
-    inline SListenIntervalField& operator= ( const TUint16 aInterval );           
-    
-private:
-
-    /** Prohibit assignment operator */
-    SListenIntervalField& operator= ( const SListenIntervalField& );
-    /** Prohibit copy constructor */
-    SListenIntervalField( const SListenIntervalField& );
-    } __PACKED; // 2 bytes
-
-inline SListenIntervalField::SListenIntervalField( const TUint16 aParam )
-    {
-    WriteHtoUint16( &iListenInterval, aParam );
-    }
-
-inline TUint16 SListenIntervalField::ListenInterval() const
-    {
-    return ( ReadUint16Toh( &iListenInterval ) );
-    }
-
-inline SListenIntervalField& SListenIntervalField::operator= (
-    const TUint16 aInterval )
-    {
-    WriteHtoUint16( &iListenInterval, aInterval );
-    return (*this);
-    }
-
-/**
-* operator== for SListenIntervalField
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SListenIntervalField& aLhs,
-    const SListenIntervalField& aRhs)
-    {
-    return static_cast<TBool>( aLhs.ListenInterval() == aRhs.ListenInterval() );
-    }
-
-
-/*
-        802.11 DATA Frame
-       +----------------+
-       |                |
-       |  Frame Control |
-       |    2 bytes     | 
-       +----------------+
-       |                |
-       |  Duration ID   |
-       |    2 bytes     |        
-       +----------------+
-       |                |
-       |   Address 1    |
-       |    6 bytes     |
-       +----------------+
-       |                |
-       |   Address 2    |
-       |    6 bytes     |
-       +----------------+
-       |                |
-       |   Address 3    |
-       |    6 bytes     |
-       +----------------+
-       |                |
-       | Sequence Cntrl |
-       |    2 bytes     |
-       +----------------+
-       |                |
-       |   Address 4    |
-       |    6 bytes     |
-       +----------------+
-       |  DSAP - 1 byte | = 0xAA ( SNAP )
-       +----------------+
-       |  SSAP - 1 byte | = 0xAA ( SNAP )
-       +----------------+
-       |Control - 1 byte| = 0x03 
-       +----------------+ 
-       | OUI - 3 bytes  | = 0x0
-       |                | 
-       +----------------+
-       | Type - 2 bytes |  = Ethernet type (IP=0x0800)
-       +----------------+ 
-       |                | 
-       |      Data      |
-       |                |
-       ~                ~
-       ~                ~
-       |   46 to 1500   |
-       |     bytes      |
-       |                |
-       +----------------+
-       |      FCS       |
-       |    4 bytes     |
-       +----------------+
-
-*/
-
-// FrameControl field of the 802.11 header
-//
-// |--------------------- control -----------------------|
-//
-// bit 15    14     13     12     11     10      9     8  
-// +-------+-----+------+-----+-------+------+------+----+
-// | Order | WEP | More | Pwr | Retry | More | From | To |
-// |       |     | Data | Mgmt|       | Frag | DS   | DS |
-// +-------+-----+------+-----+-------+------+------+----+
-//    1      1      1     1      1       1      1     1   
-//--------- type ------------|
-//
-//   7-4     3-2      1-0
-//---------+------+----------+
-// Subtype | Type | Protocol |
-//         |      | Version  |
-//---------+------+----------+
-//    4       2        2
-
-/**
-* 802.11 Frame Control field 
-*/
-#pragma pack( 1 )
-struct SFrameControl
-    {
-    /** type field */
-    TUint8 iType;
-    /** control filed */
-    TUint8 iControl;
-
-    /**
-    * Ctor
-    * @param aType type field
-    * @param aControl control field
-    */
-    SFrameControl( 
-        T802Dot11FrameControlTypeMask aType, 
-        T802Dot11FrameControlBitMask aControl ) 
-        : iType( static_cast<TUint8>(aType) ), 
-        iControl( static_cast<TUint8>(aControl) ) {};
-
-    /**
-    * Returns type and control fields combined as a single TUint16 value
-    * @return see above
-    */
-    inline TUint16 operator()() const;
-
-private:
-
-    /** Prohibit assignment operator */
-    SFrameControl& operator= ( const SFrameControl& aObj );    
-    /** Prohibit copy constructor */
-    SFrameControl( const SFrameControl& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SFrameControl::operator()() const
-    {
-    TUint16 value( iType );
-    return ( static_cast<TUint16>(( value << 8 ) + iControl ));
-    }
-
-/**
-* operator== for SFrameControl
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SFrameControl& aLhs,
-    const SFrameControl& aRhs)
-    {
-    return static_cast<TBool>( aLhs.iType == aRhs.iType
-        && aLhs.iControl == aRhs.iControl );
-    }
-
-
-// SequenceControl field of the 802.11 header
-//
-// bit      15 - 4         3 - 0
-// +-------------------+-----------+
-// |  Sequence Number  | Fragment  |
-// |                   |  Number   |
-// +-------------------+-----------+
-//          12              4
-
-#pragma pack( 1 )
-struct SPsPoll
-    {
-    const SFrameControl   iFrameControl;  // 2 bytes
-    TUint16               iAid;           // 2 bytes
-    const TMacAddress     iBssId;         // 6 bytes
-    const TMacAddress     iTa;            // 6 bytes
-
-    inline SPsPoll( 
-        TUint16 aAid, 
-        const TMacAddress& aBssId, 
-        const TMacAddress& aTa );
-    } __PACKED; // 16 bytes
-
-
-inline SPsPoll::SPsPoll( 
-    TUint16 aAid, 
-    const TMacAddress& aBssId, 
-    const TMacAddress& aTa )
-    : iFrameControl( E802Dot11FrameTypePowerSavePoll, 
-    static_cast<T802Dot11FrameControlBitMask>(0) ),
-    iAid( 0 ),
-    iBssId( aBssId ), iTa( aTa )
-    {
-    // AID always has the 2 most significant bits set to 1
-    WriteHtoUint16( &iAid, ( aAid | 0xC000  ) );
-    }
-
-/**
-* 802.11 data frame MAC header
-*/
-#pragma pack( 1 )
-struct SDataFrameHeader
-    {
-    /** frame control field */
-    SFrameControl   iFrameControl;  // 2 bytes
-    /** duration field */
-    const TUint16   iDuration;      // 2 bytes
-    /** address1 field */
-    TMacAddress     iAddress1;      // 6 bytes    
-    /** address2 field */
-    TMacAddress     iAddress2;      // 6 bytes
-    /** address3 field */
-    TMacAddress     iAddress3;      // 6 bytes
-    /** sequence control field */
-    const TUint16   iSeqCtl;        // 2 bytes
-    // this littly piggy is only used in AP-AP mode 
-    // which we don't do so it is omitted
-    // const TMacAddress iAddress4;      // 6 bytes   
-    
-    /**
-    * Ctor
-    */ 
-    SDataFrameHeader() 
-        : iFrameControl( E802Dot11FrameTypeData, 
-        static_cast<T802Dot11FrameControlBitMask>(0) )
-        ,iDuration( 0 ), iSeqCtl( 0 ) {};
-
-    /**
-    * Sets WEP bit from Frame Control field
-    */
-    inline void SetWepBit();
-    /**
-    * Clears WEP bit from Frame Control field
-    */
-    inline void ClearWepBit();
-    /**
-    * Sets ToDS bit from Frame Control field
-    */
-    inline void SetToDsBit();
-    /**
-    * Clears ToDS bit from Frame Control field
-    */
-    inline void ClearToDsBit();
-    /**
-    * Clears FromDS bit from Frame Control field
-    */
-    inline void ClearFromDsBit();
-    /**
-    * Evaluates is FromDS bit set from Frame Control field
-    */
-    inline TBool IsFromDsBitSet() const;
-    inline TBool IsToDsBitSet() const;
-    /**
-    * Evaluates is WEP bit set from Frame Control field
-    */
-    inline TBool IsWepBitSet() const;
-    /**
-    * Gets Frame Control field
-    * @return reference to the frame control field
-    */
-    inline const SFrameControl& GetFrameControl() const;
-
-    /**
-    * Returns Sequence Number from iSeqCtl field
-    * @return Sequence Number
-    */
-    inline TUint16 SequenceNumber() const;
-
-private:
-
-    /** Prohibit assignment operator */
-    SDataFrameHeader& operator= ( const SDataFrameHeader& aObj );    
-    /** Prohibit copy constructor */
-    SDataFrameHeader( const SDataFrameHeader& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SDataFrameHeader::SetWepBit()
-    {
-    iFrameControl.iControl |= ( E802Dot11FrameControlWepMask >> 8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SDataFrameHeader::ClearWepBit()
-    {
-    iFrameControl.iControl &= ~( E802Dot11FrameControlWepMask >> 8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SDataFrameHeader::SetToDsBit()
-    {
-    iFrameControl.iControl |= ( E802Dot11FrameControlToDsMask >> 8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SDataFrameHeader::ClearToDsBit()
-    {
-    iFrameControl.iControl &= ~( E802Dot11FrameControlToDsMask >> 8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SDataFrameHeader::ClearFromDsBit()
-    {
-    iFrameControl.iControl &= ~( E802Dot11FrameControlFromDsMask >> 8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SDataFrameHeader::IsFromDsBitSet() const
-    {
-    return static_cast<TBool>( iFrameControl.iControl & ( 
-        E802Dot11FrameControlFromDsMask >> 8 ));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SDataFrameHeader::IsToDsBitSet() const
-    {
-    return static_cast<TBool>( iFrameControl.iControl & ( 
-        E802Dot11FrameControlToDsMask >> 8 ));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TBool SDataFrameHeader::IsWepBitSet() const
-    {
-    return static_cast<TBool>( iFrameControl.iControl & ( 
-        E802Dot11FrameControlWepMask >> 8 ));
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline const SFrameControl& SDataFrameHeader::GetFrameControl() const
-    {
-    return iFrameControl;
-    }
-
-// ---------------------------------------------------------
-//
-// ---------------------------------------------------------
-//
-inline TUint16 SDataFrameHeader::SequenceNumber() const
-    {
-    return ( ReadUint16Toh( &iSeqCtl ) >> 4 );    
-    }
-
-
-typedef SDataFrameHeader SNullDataFrame;
-typedef SDataFrameHeader Sdot11MacHeader;
-
-typedef TUint16 T802Dot11QosControl;
-
-/**
-* According to the WiFi-WMM Test Specification v1.2 bits 3-5 of
-* the DSCP bits 0-5 of the DS field determine the user priority
-* This is a mask for those bits for IPv4 header
-*/
-const T802Dot11QosControl KWmmUserPriorityMask = 0x0007;
-
-/**
-* 802.11 QoS data frame MAC header
-*/
-#pragma pack( 1 )
-struct SQosDataFrameHeader
-    {
-    /** frame control field */
-    SDataFrameHeader iHdr;              // 24 bytes
-    /** QoS control field */
-    T802Dot11QosControl iQosControl;    // 2 bytes
-    
-    /**
-    * Resets the QoS Control field to zero
-    */
-    inline void ResetQosControl();
-
-    /**
-    * Sets the WMM user priority (3 lowest bits) of the QoS Control field
-    */
-    inline void SetUserPriority( TUint8 aPriority );
-
-    /**
-    * Returns the WMM user priority (3 lowest bits) of the QoS Control field
-    */
-    inline TUint8 UserPriority() const;
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SQosDataFrameHeader::ResetQosControl()
-    {
-    iQosControl = 0;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SQosDataFrameHeader::SetUserPriority( TUint8 aPriority )
-    {
-    // clear old priority
-    WriteHtoUint16( &iQosControl, 
-        ReadUint16Toh( &iQosControl ) & 
-        ( ~KWmmUserPriorityMask ) );
-    // set new priority
-    WriteHtoUint16( &iQosControl, 
-        ReadUint16Toh( &iQosControl ) | 
-        aPriority );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SQosDataFrameHeader::UserPriority() const
-    {
-    return ( ReadUint16Toh( &iQosControl ) & KWmmUserPriorityMask );
-    }
-
-typedef SQosDataFrameHeader SQosNullDataFrame;
-
-/**
-* 802.11 management frame MAC header
-*/
-#pragma pack( 1 )
-struct SManagementFrameHeader
-    {
-    /** frame control field */
-    SFrameControl   iFrameControl;  // 2 bytes 
-    /** duration field */
-    const TUint16   iDuration;      // 2 bytes
-    /** DA address field */
-    TMacAddress     iDA;            // 6 bytes frames destination = AP   
-    /** SA address field */
-    TMacAddress     iSA;            // 6 bytes source address
-    /** BSSID address field */
-    TMacAddress     iBSSID;         // 6 bytes BSS identifier = iDA
-    /** sequence control field */
-    const TUint16   iSeqCtl;        // 2 bytes
-        
-    /**
-    * Ctor 
-    * @param aTypeMask frame control type mask
-    * @param aControlMask frame control control mask
-    */
-    SManagementFrameHeader( 
-        T802Dot11FrameControlTypeMask aTypeMask, 
-        T802Dot11FrameControlBitMask aControlMask 
-        = static_cast<T802Dot11FrameControlBitMask>( 0 ) ) 
-        : iFrameControl( aTypeMask, aControlMask ), 
-        iDuration( 0 ), iSeqCtl( 0 ) {};
-
-    /**
-    * Set WEP bit from Frame Control Field
-    */
-    void SetWepBit();
-    /**
-    * Clear WEP bit from Frame Control Field
-    */
-    void ClearWepBit();
-
-private:
-
-    /** Prohibit assignment operator */
-    SManagementFrameHeader& operator= ( SManagementFrameHeader& aObj );
-    /** Prohibit copy constructor */
-    SManagementFrameHeader( const SManagementFrameHeader& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SManagementFrameHeader::SetWepBit()
-    {
-    iFrameControl.iControl |= ( E802Dot11FrameControlWepMask >> 8 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SManagementFrameHeader::ClearWepBit()
-    {
-    iFrameControl.iControl &= ~( E802Dot11FrameControlWepMask >> 8 );
-    }
-
-/**
-* 802.11 fixed length components required in 
-* authentication request management frame
-*/
-#pragma pack( 1 )
-struct SAuthenticationFixedFields
-    {
-    /** algorithm number */
-    TUint16   iAlgorithmNumber;     // 2 bytes
-    /** sequence number */
-    TUint16   iSequenceNmbr;        // 2 bytes
-    /** status code */
-    TUint16   iStatusCode;          // 2 bytes
-    
-    /**
-    * Ctor
-    * @param aAlgorithm authentication mode used
-    * @param aSeqNmbr sequence number used
-    * @param aStatusCode status code used
-    */
-    inline SAuthenticationFixedFields( 
-        const  TUint16 aAlgorithm = K802Dot11AuthModeOpen, 
-        const TUint16 aSeqNmbr = E802Dot11AuthenticationSeqNmbr1, 
-        const T802Dot11ManagementStatusCode aStatusCode 
-        = E802Dot11StatusSuccess );
-    
-    /**
-    * Returns the authentication transaction algorithm number
-    * @return sequence number
-    */
-    inline TUint16 AlgorithmNumber() const;
-
-    /**
-    * Sets the authentication transaction algorithm number
-    * @param aSequenceNumber value to be set
-    */
-    inline void SetAlgorithmNumber( 
-        TUint16 aAlgorithmNumber );
-
-    /**
-    * Returns the authentication transaction sequence number
-    * @return sequence number
-    */
-    inline TUint16 SequenceNumber() const;
-
-    /**
-    * Sets the authentication transaction sequence number
-    * @param aSequenceNumber value to be set
-    */
-    inline void SetSequenceNumber( TUint16 aSequenceNumber );
-
-    /**
-    * Returns the authentication transaction status code
-    * @return status code
-    */
-    inline TUint16 StatusCode() const;
-
-    } __PACKED;
-    
-inline SAuthenticationFixedFields::SAuthenticationFixedFields( 
-    const  TUint16 aAlgorithm, 
-    const TUint16 aSeqNmbr, 
-    const T802Dot11ManagementStatusCode aStatusCode )
-    {
-    WriteHtoUint16( &iAlgorithmNumber, static_cast<TUint16>( aAlgorithm ) );
-    WriteHtoUint16( &iSequenceNmbr, static_cast<TUint16>( aSeqNmbr ) );
-    WriteHtoUint16( &iStatusCode, static_cast<TUint16>( aStatusCode ) );    
-    }
-    
-inline TUint16 SAuthenticationFixedFields::AlgorithmNumber() const
-    {
-    return ( ReadUint16Toh( &iAlgorithmNumber ) );    
-    }
-
-inline void SAuthenticationFixedFields::SetAlgorithmNumber( TUint16 aAlgorithmNumber )
-    {
-    WriteHtoUint16( &iAlgorithmNumber, aAlgorithmNumber );    
-    }
-
-inline TUint16 SAuthenticationFixedFields::SequenceNumber() const
-    {
-    return ( ReadUint16Toh( &iSequenceNmbr ) );
-    }
-    
-inline void SAuthenticationFixedFields::SetSequenceNumber( 
-    TUint16 aSequenceNumber )
-    {
-    WriteHtoUint16( &iSequenceNmbr, aSequenceNumber );
-    }
-
-inline TUint16 SAuthenticationFixedFields::StatusCode() const
-    {
-    return ( ReadUint16Toh( &iStatusCode ) );
-    }    
-    
-
-/**
-* 802.11 authentication management frame
-*/
-#pragma pack( 1 )
-struct SAuthenticationFrame
-    {
-    /** management frame header */
-    SManagementFrameHeader      iHeader;                // 24 bytes
-    /** authentication frame fixed fields */
-    SAuthenticationFixedFields  iAuthenticationFields;  // 6 bytes
-
-    /** Ctor */
-    SAuthenticationFrame() 
-        : iHeader( E802Dot11FrameTypeAuthentication ) {};
-    
-    /** Increments sequnece number to next number we shall send */
-    inline void IncrementSeqNmbr();
-
-    /** Resets sequnece number to initial value */
-    inline void ResetSeqNmbr();
-
-    /**
-    * Gets the frames sequence number
-    * @return frames sequence number
-    */
-    inline TUint16 GetSeqNmbr() const;
-
-    /**
-    * Gets the frames status code field
-    * @return frames status code field
-    */
-    inline TUint16 GetStatusCode() const;
-
-    /**
-    * Gets the algorithm number 
-    * @return algorithm number
-    */
-    inline TUint16 GetAlgorithmNumber() const;
-
-    /** Sets the WEP bit from frame control field */
-    inline void SetWepBit();
-
-    /** Clears the WEP bit from frame control field */
-    inline void ClearWepBit();
-
-    /**
-    * Sets the the algorithm number field
-    * @param aAlgorithm algorithm to be used
-    */
-    inline void SetAlgorithmNmbr( TUint16 aAlgorithm );
-
-private:
-
-    /** Prohibit assignment operator */
-    SAuthenticationFrame& operator= ( const SAuthenticationFrame& );
-    /** Prohibit copy constructor */
-    SAuthenticationFrame( const SAuthenticationFrame& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAuthenticationFrame::IncrementSeqNmbr()
-    {
-    iAuthenticationFields.SetSequenceNumber( 
-        iAuthenticationFields.SequenceNumber() + 2 );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAuthenticationFrame::ResetSeqNmbr()
-    {
-    iAuthenticationFields.SetSequenceNumber( E802Dot11AuthenticationSeqNmbr1 );        
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SAuthenticationFrame::GetSeqNmbr() const
-    {
-    return ( iAuthenticationFields.SequenceNumber() );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SAuthenticationFrame::GetStatusCode() const
-    {
-    return ( iAuthenticationFields.StatusCode() );    
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAuthenticationFrame::SetAlgorithmNmbr( 
-    TUint16 aAlgorithm )
-    {
-    iAuthenticationFields.SetAlgorithmNumber( aAlgorithm );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SAuthenticationFrame::GetAlgorithmNumber() const
-    {
-    return ( iAuthenticationFields.AlgorithmNumber() );        
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAuthenticationFrame::SetWepBit()
-    {
-    iHeader.SetWepBit();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAuthenticationFrame::ClearWepBit()
-    {
-    iHeader.ClearWepBit();
-    }
-
-/**
-* 802.11 fixed length components required 
-* in association request management frame
-*/
-#pragma pack( 1 )
-struct SAssociationRequestFixedFields
-    {
-    /** capability info fixed field */
-    SCapabilityInformationField iCapabilityInfo;    // 2 bytes
-    /** listeninterval fixed field */
-    SListenIntervalField iListenInterval;           // 2 bytes
-
-    /** Ctor */
-    SAssociationRequestFixedFields() {};
-
-private:
-
-    /** Prohibit assignment operator */
-    SAssociationRequestFixedFields& operator= ( 
-        const SAssociationRequestFixedFields& );
-    /** Prohibit copy constructor */
-    SAssociationRequestFixedFields( 
-        const SAssociationRequestFixedFields& );
-    } __PACKED;
-
-/**
-* operator== for SAssociationRequestFixedFields
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SAssociationRequestFixedFields& aLhs,
-    const SAssociationRequestFixedFields& aRhs)
-    {
-    return static_cast<TBool>( aLhs.iCapabilityInfo == aRhs.iCapabilityInfo
-        && aLhs.iListenInterval == aRhs.iListenInterval );
-    }
-
-
-/**
-* 802.11 association request management frame
-* excluding variable length information elements
-* - SSID
-* - supported rates
-*/
-#pragma pack( 1 )
-struct SAssociationRequestFrame
-    {
-    /** management frame header */
-    SManagementFrameHeader          iHeader;        // 24 bytes
-    /** association request fixed fields */
-    SAssociationRequestFixedFields  iFixedFields;   // 4 bytes
-
-    /** Ctor */
-    SAssociationRequestFrame() 
-        : iHeader( E802Dot11FrameTypeAssociationReq ),
-        iFixedFields() {}; 
-
-    /**
-    * Helper function to set short preamble bit in capability info
-    */
-    inline void SetCapabilityShortPreamble();
-
-    /**
-    * Helper function to clear short preamble bit in capability info
-    */
-    inline void ClearCapabilityShortPreamble();
-
-    /**
-    * Helper function to set PBCC bit in capability info
-    */
-    inline void SetCapabilityPbcc();
-
-    /**
-    * Helper function to clear PBCC bit in capability info
-    */
-    inline void ClearCapabilityPbcc();
-
-    /**
-    * Helper function to clear CF fields from capability info
-    */
-    inline void ClearCFfields();
-
-    /** Helper function to clear reserved fields */
-    inline void ClearReservedFields();
-
-    /** Helper function to set WEP bit from the capability info fixed field */
-    inline void SetWepBit();
-
-    /** 
-    * Helper function to clear WEP bit from 
-    * the capability info fixed field 
-    */
-    inline void ClearWepBit();
-
-private:
-
-    /** Prohibit assignment operator */
-    SAssociationRequestFrame& operator= ( 
-        const SAssociationRequestFrame& );
-    /** Prohibit copy constructor */
-    SAssociationRequestFrame( 
-        const SAssociationRequestFrame& );
-    } __PACKED; // 28 bytes
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::SetCapabilityShortPreamble()
-    {
-    iFixedFields.iCapabilityInfo.SetShortPreamble();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::ClearCapabilityShortPreamble()
-    {
-    iFixedFields.iCapabilityInfo.ClearShortPreamble();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::SetCapabilityPbcc()
-    {
-    iFixedFields.iCapabilityInfo.SetPbcc();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::ClearCapabilityPbcc()
-    {
-    iFixedFields.iCapabilityInfo.ClearPbcc();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::ClearCFfields()
-    {
-    iFixedFields.iCapabilityInfo.ClearCfFields();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::ClearReservedFields()
-    {
-    iFixedFields.iCapabilityInfo.ClearReservedFields();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::SetWepBit()
-    {
-    iFixedFields.iCapabilityInfo.SetWepBit();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SAssociationRequestFrame::ClearWepBit()
-    {
-    iFixedFields.iCapabilityInfo.ClearWepBit();
-    }
-
-/**
-* 802.11 association response frame fixed fields
-*/
-#pragma pack( 1 )
-struct SAssociationResponseFixedFields
-    {
-    /** capability info fixed field */
-    SCapabilityInformationField iCapabilityInfo;    // 2 bytes
-    /** status code fixed field */
-    TUint16                     iStatusCode;        // 2 bytes
-    /** AID fixed field */
-    TUint16                     iAID;               // 2 bytes
-    
-    /**
-    * Returns the association response status code
-    * @return status code
-    */
-    inline TUint16 StatusCode() const;
-
-    /**
-    * Returns the Association ID (AID)
-    * @return AID
-    */
-    inline TUint16 Aid() const;
-
-private:
-
-    /** Prohibit assignment operator */
-    SAssociationResponseFixedFields& operator= ( 
-        const SAssociationResponseFixedFields& );    
-    /** Prohibit copy constructor */
-    SAssociationResponseFixedFields( const SAssociationResponseFixedFields& );
-    } __PACKED;
-
-inline TUint16 SAssociationResponseFixedFields::StatusCode() const
-    {
-    return ( ReadUint16Toh( &iStatusCode ) );
-    }
-
-inline TUint16 SAssociationResponseFixedFields::Aid() const
-    {
-    return ( ReadUint16Toh( &iAID ) );
-    }
-
-
-/**
-* 802.11 fixed length components required in deauthenticate frame
-*/
-#pragma pack( 1 )
-struct SDeauthenticateFixedFields
-    {
-    /** reason code fixed field */
-    TUint16 iReasonCode;
-
-    /** Ctor */
-    SDeauthenticateFixedFields()
-        : iReasonCode( E802Dot11ReasonDeauthStationLeft ) {};
-
-    /*
-    * Returns the reason code 
-    * @return Reason code
-    */
-    inline TUint16 ReasonCode() const;
-
-    /** Setter for the reason code */
-    inline void SetReasonCode( TUint16 aReasonCode );
-    
-private:
-
-    /** Prohibit assignment operator */
-    SDeauthenticateFixedFields& operator= ( 
-        T802Dot11ManagementReasonCode aReason );
-    /** Prohibit copy constructor */
-    SDeauthenticateFixedFields( const SDeauthenticateFixedFields& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SDeauthenticateFixedFields::ReasonCode() const
-    {
-    return ( ReadUint16Toh( &iReasonCode ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SDeauthenticateFixedFields::SetReasonCode( TUint16 aReasonCode )
-    {
-    WriteHtoUint16( &iReasonCode, aReasonCode );
-    }
-
-/**
-* operator== for SDeauthenticateFixedFields
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SDeauthenticateFixedFields& aLhs,
-    const SDeauthenticateFixedFields& aRhs)
-    {
-    return static_cast<TBool>( 
-        aLhs.ReasonCode() == aRhs.ReasonCode() );
-    }
-
-/**
-* 802.11 deauthenticate management frame
-*/
-#pragma pack( 1 )
-struct SDeauthenticateFrame
-    {
-    /** management frame header */
-    SManagementFrameHeader      iHeader;        // 24 bytes     
-    /** reason code fixed field  */
-    SDeauthenticateFixedFields  iReasonCode;    // 2 bytes
-
-    /** Ctor */
-    SDeauthenticateFrame() 
-        : iHeader( E802Dot11FrameTypeDeauthentication ),
-        iReasonCode() {};
-
-private:
-
-    /** Prohibit assignment operator */
-    SDeauthenticateFrame& operator= ( const SDeauthenticateFrame& );
-    /** Prohibit copy constructor */
-    SDeauthenticateFrame( const SDeauthenticateFrame& );
-    } __PACKED;
-
-/**
-* operator== for SDeauthenticateFrame
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SDeauthenticateFrame& aLhs,
-    const SDeauthenticateFrame& aRhs)
-    {
-    return ( aLhs == aRhs );
-    }
-
-/**
-* 802.11 fixed length components required in disassociate frame
-*/
-#pragma pack( 1 )
-struct SDisAssociateFixedFields
-    {
-    /** reason code fixed field */
-    TUint16 iReasonCode;
-
-    /** Ctor */
-    inline SDisAssociateFixedFields();
-
-    /*
-    * Returns the reason code 
-    * @return Reason code
-    */
-    inline TUint16 ReasonCode() const;
-
-    /** Setter for the reason code */
-    inline void SetReasonCode( TUint16 aReasonCode );
-    
-private:
-    // Prohibit assignment operator
-    SDisAssociateFixedFields& operator= ( const SDisAssociateFixedFields& );
-    // Prohibit copy constructor    
-    SDisAssociateFixedFields( const SDisAssociateFixedFields& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline SDisAssociateFixedFields::SDisAssociateFixedFields()
-    {
-    WriteHtoUint16( &iReasonCode, E802Dot11ReasonClass3FrameWhenNotAssoc );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SDisAssociateFixedFields::ReasonCode() const
-    {
-    return ( ReadUint16Toh( &iReasonCode ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SDisAssociateFixedFields::SetReasonCode( TUint16 aReasonCode )
-    {
-    WriteHtoUint16( &iReasonCode, aReasonCode );
-    }
-
-/**
-* operator== for SDisAssociateFixedFields
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SDisAssociateFixedFields& aLhs,
-    const SDisAssociateFixedFields& aRhs)
-    {
-    return static_cast<TBool>( 
-        aLhs.ReasonCode() == aRhs.ReasonCode() );
-    }
-
-/**
-* 802.11 disassociate management frame
-*/
-#pragma pack( 1 )
-struct SDisassociateFrame
-    {
-    /** management frame header */
-    SManagementFrameHeader      iHeader;        // 24 bytes 
-    /** reason code fixed field  */
-    SDisAssociateFixedFields    iReasonCode;    // 2 bytes
-
-    /** Ctor */
-    SDisassociateFrame()
-        : iHeader( E802Dot11FrameTypeDisassociation ),
-        iReasonCode() {};
-
-private:
-
-    /** Prohibit assignment operator */
-    SDisassociateFrame& operator= ( const SDisassociateFrame& );
-    /** Prohibit copy constructor */
-    SDisassociateFrame( const SDisassociateFrame& );
-    } __PACKED; // 26 bytes
-
-/**
-* operator== for SDisassociateFrame
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SDisassociateFrame& aLhs,
-    const SDisassociateFrame& aRhs)
-    {
-    return ( aLhs == aRhs );
-    }
-
-/**
-* 802.11 fixed length components required 
-* in reassociation request management frame
-*/
-#pragma pack( 1 )
-struct SReassociationRequestFixedFields
-    {
-    /** capability info fixed field */
-    SCapabilityInformationField iCapabilityInfo;    // 2 bytes
-    /** listeninterval fixed field */
-    SListenIntervalField iListenInterval;           // 2 bytes
-    /** current AP address fixed field */
-    TMacAddress iCurrentApAddress;                  // 6 bytes
-
-    /** Ctor */
-    SReassociationRequestFixedFields() {};
-
-private:
-
-    /** Prohibit assignment operator */
-    SReassociationRequestFixedFields& operator= ( 
-        const SReassociationRequestFixedFields& );
-    /** Prohibit copy constructor */
-    SReassociationRequestFixedFields( 
-        const SReassociationRequestFixedFields& );
-    } __PACKED;
-
-/**
-* operator== for SReassociationRequestFixedFields
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SReassociationRequestFixedFields& aLhs,
-    const SReassociationRequestFixedFields& aRhs)
-    {
-    return static_cast<TBool>( aLhs.iCapabilityInfo == aRhs.iCapabilityInfo
-                               && aLhs.iListenInterval == aRhs.iListenInterval
-                               && aLhs.iCurrentApAddress == aRhs.iCurrentApAddress );
-    }
-
-/**
-* 802.11 reassociation request management frame
-* excluding variable length information elements
-*/
-#pragma pack( 1 )
-struct SReassociationRequestFrame
-    {
-    /** management frame header */
-    SManagementFrameHeader          iHeader;        // 24 bytes
-    /** association request fixed fields */
-    SReassociationRequestFixedFields  iFixedFields; // 10 bytes
-
-    /** Ctor */
-    SReassociationRequestFrame() 
-        : iHeader( E802Dot11FrameTypeReassociationReq ),
-        iFixedFields() {}; 
-
-    /**
-    * Helper function to set short preamble bit in capability info
-    */
-    inline void SetCapabilityShortPreamble();
-
-    /**
-    * Helper function to clear short preamble bit in capability info
-    */
-    inline void ClearCapabilityShortPreamble();
-
-    /**
-    * Helper function to set PBCC bit in capability info
-    */
-    inline void SetCapabilityPbcc();
-
-    /**
-    * Helper function to clear PBCC bit in capability info
-    */
-    inline void ClearCapabilityPbcc();
-
-    /**
-    * Helper function to clear CF fields from capability info
-    */
-    inline void ClearCFfields();
-
-    /** Helper function to clear reserved fields */
-    inline void ClearReservedFields();
-
-    /** Helper function to set WEP bit from the capability info fixed field */
-    inline void SetWepBit();
-
-    /** 
-    * Helper function to clear WEP bit from 
-    * the capability info fixed field 
-    */
-    inline void ClearWepBit();
-
-private:
-
-    /** Prohibit assignment operator */
-    SReassociationRequestFrame& operator= ( 
-        const SReassociationRequestFrame& );
-    /** Prohibit copy constructor */
-    SReassociationRequestFrame( 
-        const SReassociationRequestFrame& );
-    } __PACKED; // 34 bytes
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::SetCapabilityShortPreamble()
-    {
-    iFixedFields.iCapabilityInfo.SetShortPreamble();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::ClearCapabilityShortPreamble()
-    {
-    iFixedFields.iCapabilityInfo.ClearShortPreamble();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::SetCapabilityPbcc()
-    {
-    iFixedFields.iCapabilityInfo.SetPbcc();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::ClearCapabilityPbcc()
-    {
-    iFixedFields.iCapabilityInfo.ClearPbcc();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::ClearCFfields()
-    {
-    iFixedFields.iCapabilityInfo.ClearCfFields();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::ClearReservedFields()
-    {
-    iFixedFields.iCapabilityInfo.ClearReservedFields();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::SetWepBit()
-    {
-    iFixedFields.iCapabilityInfo.SetWepBit();
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline void SReassociationRequestFrame::ClearWepBit()
-    {
-    iFixedFields.iCapabilityInfo.ClearWepBit();
-    }
-
-/**
-* 802.11 reassociation response frame fixed fields
-*/
-#pragma pack( 1 )
-struct SReassociationResponseFixedFields
-    {
-    /** capability info fixed field */
-    SCapabilityInformationField iCapabilityInfo;    // 2 bytes
-    /** status code fixed field */
-    TUint16                     iStatusCode;        // 2 bytes
-    /** AID fixed field */
-    TUint16                     iAID;               // 2 bytes
-
-    /*
-    * Returns the reassociation response status code
-    * @return status code
-    */
-    inline TUint16 StatusCode() const;
-
-    /*
-    * Returns the Asociation ID (AID)
-    * @return AID
-    */
-    inline TUint16 Aid() const;
-
-private:
-
-    /** Prohibit assignment operator */
-    SReassociationResponseFixedFields& operator= ( 
-        const SReassociationResponseFixedFields& );    
-    /** Prohibit copy constructor */
-    SReassociationResponseFixedFields( const SReassociationResponseFixedFields& );
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SReassociationResponseFixedFields::StatusCode() const
-    {
-    return ( ReadUint16Toh( &iStatusCode ) );
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SReassociationResponseFixedFields::Aid() const
-    {
-    return ( ReadUint16Toh( &iAID ) );
-    }
-
-
-/**
-* SNAP header
-*/
-#pragma pack( 1 )
-struct SSnapHeader
-    {
-    /** destination service access point */
-    TUint8 iDSAP;
-    /** source service access point */
-    TUint8 iSSAP;
-    /** control field */
-    TUint8 iControl;
-    /** organizationally unique identifier */
-    TUint8 iOUI[KOIULength];    // 3
-    } __PACKED; // 6 bytes
-
-/**
-* operator== for SSnapHeader
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-inline TBool operator== (
-    const SSnapHeader& aLhs,
-    const SSnapHeader& aRhs)
-    {    
-    return ( equal( reinterpret_cast<const TUint8*>(&aLhs),
-                    reinterpret_cast<const TUint8*>(&aLhs) + sizeof(SSnapHeader), 
-                    reinterpret_cast<const TUint8*>(&aRhs) ));    
-    }
-
-/**
-* RFC 1042 encapsulation SNAP header
-*/
-const SSnapHeader KEncapsulatingRfc1042SnapHeader 
-    = { 0xAA, 0xAA, 0x03, { 0x00, 0x00, 0x00 } };
-
-/**
-* 802.1 h SNAP header
-*/
-const SSnapHeader KEncapsulating802_1hSnapHeader 
-    = { 0xAA, 0xAA, 0x03, { 0x00, 0x00, 0xF8 } };
-
-/**
-* 802.11 data frame encapsulation header
-*/ 
-#pragma pack( 1 )
-struct SDataFrameEncapsulationHeader
-    {
-    /** SNAP header */
-    SSnapHeader     iSnapHeader;    // 6    
-    } __PACKED;
-
-/**
-* 802.11 data frame and its encapsulation header combined
-*/ 
-#pragma pack( 1 )
-struct SDataMpduHeader
-    {
-    /** Ctor */
-    SDataMpduHeader()
-        {
-        iEncHdr.iSnapHeader = KEncapsulatingRfc1042SnapHeader;
-        }
-
-    /** 802.11 data frame header */
-    SDataFrameHeader iHdr;                  // 24 
-    /** 802.11 data frame encapsulation header */
-    SDataFrameEncapsulationHeader iEncHdr;  // 6
-    } __PACKED; // 30
-
-/*
-        802.2 SNAP DATA Frame 
-       +----------------+
-       |                |
-       |  Destination   |
-       |    6 bytes     |
-       +----------------+
-       |                |
-       |     Source     |
-       |    6 bytes     |
-       +----------------+
-       |  Frame Length  | Must be <= 1500 Dec.
-       |    2 bytes     |
-       +----------------+
-       |  DSAP - 1 byte | = 0xAA ( SNAP )
-       +----------------+
-       |  SSAP - 1 byte | = 0xAA ( SNAP )
-       +----------------+
-       |Control - 1 byte| = 0x03 
-       +----------------+ 
-       | OUI - 3 bytes  | = 0x0
-       |                | 
-       +----------------+
-       | Type - 2 bytes |  = Ethernet type (IP=0x0800)
-       +----------------+ 
-       |                | 
-       |      Data      |
-       |                |
-       ~                ~
-       ~                ~
-       |   46 to 1500   |
-       |     bytes      |
-       |                |
-       +----------------+
-       |      FCS       |
-       |    4 bytes     |
-       +----------------+
-*/
-
-/*
-This is an Ethernet Version 2 frame:
-
-       +--------------+
-       |              | The destination address is a six byte Media Access
-       | Destination  | Control (MAC) address, usually burned into the
-       |   6 bytes    | ROM of the Ethernet card.
-       +--------------+
-       |              | The source address is a six byte MAC address, and
-       |   Source     | can signify a physical station or a broadcast.
-       |   6 bytes    |
-       +--------------+
-       |     Type     | The Type field it must be grater then 1500 dec.
-       |    2 bytes   |
-       +--------------+
-       |              |  Any higher layer information is placed in the
-       |    Data      |  data field, which could contain protocol
-       |              |  information or user data.
-       ~              ~
-       ~              ~
-       |  46 to 1500  |
-       |    bytes     |
-       |              |
-       +--------------+
-       |     FCS      |  
-       |   4 bytes    |  
-       +--------------+  
-                         
-*/
-
-/**
-* 802.11 QoS data frame and its encapsulation header combined
-*/ 
-#pragma pack( 1 )
-struct SQosDataMpduHeader
-    {
-    /** Ctor */
-    SQosDataMpduHeader()
-        {
-        iEncHdr.iSnapHeader = KEncapsulatingRfc1042SnapHeader;
-        }
-
-    /** 802.11 QoS data frame header */
-    SQosDataFrameHeader iHdr;               // 26 
-    /** 802.11 data frame encapsulation header */
-    SDataFrameEncapsulationHeader iEncHdr;  // 6
-    } __PACKED; // 33
-
-const TUint16 KUint16HiByteMask = 0xFF00;
-
-/**
-* Ethernet 14-byte Header (RFC 894)
-*/
-#pragma pack( 1 )
-struct SEthernetHeader 
-    {
-    /** destination MAC address */
-    TMacAddress iDA;    // 6
-    /** source MAC address */
-    TMacAddress iSA;    // 6
-    /** ethernet type field */
-    TUint16     iType;  // 2
-
-    /**
-    * Returns the Ethernet Type
-    * @return ethernet type
-    */
-    inline TUint16 Type() const;
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// If the type is other than EAPOL (e.g. IP or ARP), we need to reverse the 
-// byte order as the IP world uses different byter order (MSB first) as WLAN 
-// MAC layer (LSB first)
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SEthernetHeader::Type() const
-    {
-    return ReverseUint16( ReadUint16Toh( &iType ) );
-    }
-
-/**
-* Ethernet 802.2/802.3 Header (RFC 1042)
-*/
-#pragma pack( 1 )
-struct SEthernet802_3Header
-    {
-    /** destination MAC address */
-    TMacAddress iDA;        // 6
-    /** source MAC address */
-    TMacAddress iSA;        // 6
-    /** length of frame */
-    TUint16     iLength;    // 2
-    /** SNAP header */
-    SSnapHeader iSnapHeader;// 6
-    /** type field */    
-    TUint16     iType;      // 2
-    } __PACKED;
-
-/**
-* Ethernet type field
-*/
-#pragma pack( 1 )
-struct SEthernetType
-    {
-    /** type field */    
-    TUint16     iType;      // 2
-
-    /**
-    * Returns the Ethernet Type
-    * @return ethernet type
-    */
-    inline TUint16 Type() const;    
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// We need to reverse the byte order as the IP world uses different byter 
-// order (MSB first) as WLAN MAC layer (LSB first)
-// ---------------------------------------------------------------------------
-//
-inline TUint16 SEthernetType::Type() const
-    {
-    return ReverseUint16( ReadUint16Toh( &iType ) );
-    }
-
-/**
-* IP version mask
-*/
-const TUint8 KIpVersionMask = 0xF0;
-
-/**
-* The DS (differentiated services) field according to RFC 2474
-* Bits 0-5: DSCP (differentiated services codepoint)
-* Bits 6-7: CU (currently unused)
-*/
-typedef TUint8 TDsField;
-
-/**
-* According to the WiFi-WMM Test Specification v1.2 the three highest 
-* bits of the DS field determine the user priority
-* This is a mask for those bits in IPv4 header
-*/
-const TUint8 KDscpIpv4Mask = 0xE0;
-
-/**
-* Version number for IPv4
-*/
-const TUint8 KIpv4 = 4;
-
-/**
-* Version number for IPv6
-*/
-const TUint8 KIpv6 = 6;
-
-/**
-* IPv4 header (RFC 791) prefix with the Type of Service field redefined
-* as the DS field according to RFC 2474
-*/
-#pragma pack( 1 )
-struct SIpv4HeaderPrefix
-    {
-    /** Version (4 highest bits) + IHL (Internet Header Length, 4 lowest 
-    bits) */
-    TUint8 iVersionIhl;    // 1
-    /** DS field */ 
-    TDsField iDs;          // 1
-
-    /**
-    * Returns the IP protocol version
-    */
-    inline TUint8 Version() const;
-
-    /**
-    * Returns the 802.1d priority value (range 0-7)
-    */
-    inline TUint8 The802Dot1dPriority() const;
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SIpv4HeaderPrefix::Version() const
-    {
-    return ( iVersionIhl & KIpVersionMask ) >> 4;
-    }
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SIpv4HeaderPrefix::The802Dot1dPriority() const
-    {
-    return ( ( iDs & KDscpIpv4Mask ) >> 5 );
-    }
-
-/**
-* According to the WiFi-WMM Test Specification v1.2 the three highest 
-* bits of the DS field determine the user priority
-* This is a mask for those bits in IPv6 header
-*/
-const TUint8 KDscpIpv6Mask = 0x0E;
-
-/**
-* IPv6 header (RFC 2460) prefix with the Traffic Class field redefined
-* as the DS field according to RFC 2474
-*/
-#pragma pack( 1 )
-struct SIpv6HeaderPrefix
-    {
-    /** 
-    * Version (highest 4 bits) + highest 4 bits of the DS (in lowest 4 bits
-    * of this byte)
-    */
-    TUint8 iVersionDs;    // 1
-
-    /**
-    * Returns the 802.1d priority value (range 0-7)
-    */
-    inline TUint8 The802Dot1dPriority() const;
-    } __PACKED;
-
-// ---------------------------------------------------------------------------
-// 
-// ---------------------------------------------------------------------------
-//
-inline TUint8 SIpv6HeaderPrefix::The802Dot1dPriority() const
-    {
-    return ( ( iVersionDs & KDscpIpv6Mask ) >> 1 );
-    }
-
-// pop the pragma pack stack to return to normal alignment of structures
-#pragma pack( ) 
-
-/**
-* typedef for WEP key
-*/
-typedef TUint8 TWepKey[KMaxWEPKeyLength];
-
-/**
-* Struct for mapped key: key + mac address
-*/
-struct SMappedWepKey
-    {
-    TMacAddress MacAddress;
-    TWepKey WepKey;
-    };
-
-/**
-* Struct for tkip key
-*/
-struct STkipKey
-    {
-    TMacAddress MacAddress;
-    TWepKey WepKey;
-    TUint8 KeyId;
-    TUint8 KeyIndicator;
-    TUint8 KeyIndex;
-    };
-
-#endif      // WLAN802DOT11_H   
--- a/hotspotfw/hsserver/inc/algorithm.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Algorithms for HotSpot FW   
-*
-*/
-
-
-
-
-
-
-#ifndef ALGORITHM_H
-#define ALGORITHM_H
-
-/**
-* global operator!= for type T
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue equal, EFalse not equal
-*/
-template< class T >
-inline TBool operator!= (
-    const T& aLhs,
-    const T& aRhs)
-    {
-    return !( aLhs == aRhs );
-    }
-
-/**
-* global operator > for type T
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue greater, EFalse else
-*/
-template< class T >
-inline TBool operator > (
-    const T& aLhs,
-    const T& aRhs)
-    {
-    return ( aRhs < aLhs );
-    }
-
-/**
-* global operator <= for type T
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue smaller or equal, EFalse else
-*/
-template< class T >
-inline TBool operator <= (
-    const T& aLhs,
-    const T& aRhs)
-    {
-    return !( aRhs < aLhs );
-    }
-
-/**
-* global operator >= for type T
-* @param aLhs left hand side
-* @param aRhs right hand side
-* @return ETrue greater or equal, EFalse else
-*/
-template< class T >
-inline TBool operator >= (
-    const T& aLhs,
-    const T& aRhs)
-    {
-    return !( aLhs < aRhs );
-    }
-
-/**
-* Just like equal in C++ STL for testing equality for T type
-* Checks weather elements in the range [aBeg, aEnd) are equal 
-* to the elements in the range starting with aCmpBeg
-* Complexity: linear
-* @param aBeg begin of the search range
-* @param aEnd end ( one past last element ) of the search range
-* @param aCmpBeg begin of the range to be compared with
-* @return ETrue equal, EFalse not equal
-*/
-template< class T >
-inline TBool equal( 
-    const T* aBeg, 
-    const T*const aEnd, 
-    const T* aCmpBeg)
-    {
-    while ( aBeg != aEnd )
-        {
-        if ( *aBeg != *aCmpBeg )
-            {
-            return EFalse;
-            }
-        ++aBeg;
-        ++aCmpBeg;
-        }
-
-    return ETrue;
-    }
-
-/**
-* Just like find in C++ STL
-* Returns the position of the first element in the range [aBeg, aEnd)
-* that has a value equal to aValue
-* Complexity: linear
-* @param aBeg begin of range
-* @param aEnd  end ( one past last element ) of the range
-* @param aValue value to be searched
-* @return the position of the first element in the range (aBeg, aEnd]
-* that has a value equal to aValue. aEnd is returned if no matching 
-* element is found
-*/
-template< class T, class J >
-inline T* find(
-    const T* aBeg,
-    const T* const aEnd,
-    const J& aValue)
-    {
-    while ( aBeg != aEnd )
-        {
-        if ( *aBeg == aValue )
-            {
-            break;
-            }
-
-        ++aBeg;
-        }
-
-    return const_cast<T*>(aBeg);
-    }
-
-/**
-* Just like find_if in C++ STL
-* Returns the position of the first element in the range [aBeg, aEnd)
-* for which the unary predicate op(elem) yields true
-* Complexity: linear
-* @param aBeg begin of range
-* @param aEnd  end ( one past last element ) of the range
-* @param aUnaryPredicate a unary predicate
-* @return the position of the first element in the range (aBeg, aEnd]
-* for which the unary predicate op(elem) yields true. 
-* aEnd is returned if no matching element is found
-* NOTE: aUnaryPredicate should not change its state during a function call
-*/
-template< class T, class J >
-inline T* find_if(
-    const T* aBeg,
-    const T* const aEnd,
-    const J& aUnaryPredicate)
-    {
-    while ( aBeg != aEnd )
-        {
-        if ( aUnaryPredicate( *aBeg ) )
-            {
-            break;
-            }
-
-        ++aBeg;
-        }
-
-    return const_cast<T*>(aBeg);
-    }
-
-/**
-* Just like fill in C++ STL for T type
-* Assigns aValue to each element in the range [aBeg, aEnd)
-* The caller must ensure that the destination range is big enough 
-* Complexity: linear
-* @param aBeg begin of range
-* @param aEnd  end ( one past last element ) of the range
-* @param aValue value to be assigned
-*/
-template< class T, class J>
-inline void fill(
-    T* aBeg,
-    const T* const aEnd,
-    const J& aValue)
-    {
-    while ( aBeg != aEnd )
-        {
-        *aBeg = aValue;
-        ++aBeg;
-        }
-    }
-
-/**
-* Just like fill_n in C++ STL for T type
-* Assigns aValue to the first aNum elements in the range starting with aBeg
-* The caller must ensure that the destination range is big enough 
-* Complexity: linear
-* @param aBeg begin of range
-* @param aNum number of elements to be processed
-* @param aValue value to be assigned
-*/
-template< class T, class J >
-inline void fill_n(
-    T* aBeg,
-    TUint32 aNum,
-    const J& aValue)
-    {
-    while ( aNum )
-        {
-        *aBeg = aValue;
-        ++aBeg;
-        --aNum;
-        }
-    }
-
-/**
-* Just like copy in C++ STL 
-* @param aSrc begin of copy
-* @param aSrcEnd end of copy
-* @param aDest target of copy
-* @return aDest
-*/
-template<class T>
-inline T* copy(
-    const T* aSrc,
-    const T* aSrcEnd,
-    T* aDest)
-    {
-    while ( aSrc != aSrcEnd )
-        {
-        *aDest = *aSrc;
-        ++aSrc;
-        ++aDest;
-        }
-
-    return aDest;
-    }
-
-template<class T>
-inline T* reverse_copy(
-    const T* aSrcBeg,
-    const T* aSrcEnd,
-    T* aDest)
-    {
-    --aSrcEnd;
-    while ( aSrcEnd >= aSrcBeg )
-        {        
-        *aDest = *aSrcEnd;
-        --aSrcEnd;
-        ++aDest;
-        }
-
-    return aDest;
-    }
-
-/**
-* Does a looped copy for T type
-* @param aSource source of the copy
-* @param aDest destination where to copy
-* @param aCount number of iterations
-* @return aDest
-*/
-template<class T>
-inline TAny* assign(
-    const T* aSource,
-    T* aDest,
-    const TInt aCount)
-    {
-    TAny* origdest = static_cast<TAny*>(aDest);
-    for ( TInt idx = 0 ; idx != aCount ; ++idx, ++aSource, ++aDest )
-        {
-        *aDest = *aSource;
-        }
-
-    return origdest;
-    }
-
-#endif      // ALGORITHM_H
-            
-// End of File
--- a/hotspotfw/hsserver/inc/hotspotclientserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/inc/hotspotclientserver.h	Fri Apr 16 16:07:56 2010 +0300
@@ -23,38 +23,18 @@
 #include "hssiapsettings.h"
 
 _LIT(KHotSpotServerExe,         "\\sys\\bin\\HotSpotServer.exe");
-_LIT(KHotSpotServerSemaphore,   "HotSpotServerSemaphore");
 _LIT(KHotSpotDataServerName,    "HotSpotServer");
 
-_LIT( KWlanBearerAgent, "wlanagt.agt" );
-_LIT( KWlanBearerAgent2, "wlanagt2.agt" );
-
 _LIT(KHotSpotServerName,"hotspotserver");
-_LIT(KHotSpotServerImg,"HotSpotServer");		// DLL/EXE name
-
-_LIT(KExePath, "\\sys\\bin\\");
-_LIT(KExe, ".exe");
+_LIT(KHotSpotServerImg,"HotSpotServer");		
 
 _LIT( KHotSpotPlugin, "NetCfgExtnHotSpot" );
 _LIT( KDhcpPlugin, "NetCfgExtnDhcp" );
 const TUint KEasyWlanServiceId = 1;
-
-const TUint KMaxSqlQueryLength = 2048;
-_LIT(KDatabaseName, "c:\\system\\data\\hotspot.dat");
-_LIT(KTableName, "hotspot");
-_LIT(KIapName, "IapName");
-_LIT(KTestStatus, "TestStatus");
-_LIT(KRedirectStatus, "RedirectStatus");
-
-const TInt KAppNameMaxLength = 64;
-const TInt KExePathLength = 14;
-const TInt KExeLength = 4;
 const TUid KHotspotServerUid3={0x10282ECB};
 
-const TInt KMaxHotspotMessage=512;
-const TInt KScanHotspotIapId=0;
-
 const TUint KHssShutdown  = 777;
+const TUint8 KHssMacAddressLength = 6;
 
 const TUid KInternetConnectivityUid={0x10282EC5};
 const TUid K3rdPartyEcomInterfaceUid={0x10282ED1};
@@ -77,10 +57,7 @@
 const TUint KHotSpotBuildVersionNumber = 1;
 
 const TInt KIapNameLength = 128;
-const TUint KConnectivityTestedId = 20;
-const TUint KConnectivityTestNeededId = 30;
-const TUint KNoRedirect = 40;
-const TUint KRedirect = 50;
+const TInt KUidLength = 10;
 
 /**
 * Commands from client to server.
--- a/hotspotfw/hsserver/inc/hotspotserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/inc/hotspotserver.h	Fri Apr 16 16:07:56 2010 +0300
@@ -86,20 +86,34 @@
 
 void PanicClient(const RMessagePtr2& aMessage,THotspotPanic aPanic);
 
+/**
+* Stores RMessage entries
+*/
 struct SRequestMapEntry
         {
         RMessagePtr2 iMessage;
         THotSpotCommands iFunction;
         TUint iIapId;
         };
-	
+/**
+* Stores timer values for each client
+*/	
 struct SLoginLogoutTimers
         {
-        TUid clientUid;
-        TUint loginTimeMicroSecs;
-        TUint logoutTimeMicroSecs;
+        TBuf<KUidLength> iClientUid;
+        TUint iLoginTimeMicroSecs;
+        TUint iLogoutTimeMicroSecs;
         };
-    
+
+/**
+* Stores all registered IAPs and their client UIDs
+*/
+struct SClientIaps
+        {
+        TUint iIapId;
+        TBuf<KUidLength> iClientUid;
+        };
+
 // CLASS DECLARATION
 
 /**
@@ -209,54 +223,79 @@
         * @return ETrue if can be sent. Otherwise EFalse.
         */
         TBool GetAssociationFlagValue();
-        
+   
         /**
-        * Set service id of IAP in use
-        * @since Series 60 3.0
-        * @param aServiceId service id
+        * Finds HotspotFW created client IAPs.
+        * @since Series 60 5.2
         * @return None
         */
-        void SetServiceId( TInt aServiceId );
+        void FindClientIapsL();
         
         /**
-        * Gets service id of IAP in use
-        * @since Series 60 3.0
-        * @return service ID
-        */
-        TInt GetServiceId();
-    
-        /**
         * Checks IAPs if there's any unused Hotspot IAPs.
-        * @since Series 60 3.0
+        * @since Series 60 3.2
         * @return None
         */
         void CheckIapsL();
         
         /**
         * Get login timer value for the specified client.
-        * @param aClientUid, client's user ID,
+        * @since Series 60 5.2
+        * @param aClientUid, clients user id
         * @return Login timer value.
         */        
-        TUint GetLoginTimeMicroSecs( TUid aClientUid );
+        TUint GetLoginTimeMicroSecs( TDes& aClientUid );
     
         /**
         * Get logout timer value for the specified client.
-        * @param aClientUid, client's user ID,
+        * @since Series 60 5.2
+        * @param aClientUid, clients user id
         * @return Logout timer value.
         */        
-        TUint GetLogoutTimeMicroSecs( TUid aClientUid );
+        TUint GetLogoutTimeMicroSecs( TDes& aClientUid );
 
         /**
         * Set both login and logout timer values for the specified client.
-        * @param aClientUid, client's user ID,
-        * @param aLoginTimerValue, set login timer value,
+        * @since Series 60 5.2
+        * @param aClientUid, clients user id
+        * @param aLoginTimerValue, set login timer value
         * @param aLogoutTimerValue, set logout timer value.
         */        
-        void CHotSpotServer::SetTimerValues(
-                TUid aClientUid,
+        void SetTimerValues(
+                TDes& aClientUid,
                 TUint aLoginTimerValue,
                 TUint aLogoutTimerValue );
         
+        /**
+        * Finds if given IAP id has an existing client.
+        * @since Series 60 5.2
+        * @param aClientUid, clients user id
+        * @return KErrNone if client is found, otherwise KErrNotFound
+        */        
+        TInt GetClientUid( TUint aIapId, TDes& aUid );
+
+        /**
+        * Adds client IAP to the array.
+        * @since Series 60 5.2
+        * @param aIapId, IAP id
+        * @param aUid, clients user id
+        */        
+        void SetClientIap( TUint aIapId, TDes& aUid );
+
+        /**
+        * Removes client IAP from the array.
+        * @since Series 60 5.2
+        * @param aIapId, IAP id
+        */        
+        void RemoveClientIap( TUint aIapId );
+
+        /**
+        * Returns Easy WLAN IAP id.
+        * @since Series 60 5.2
+        * @return Easy WLAN id
+        */        
+        TInt GetEasyWlanId();
+        
     private:
         
         /**
@@ -264,7 +303,7 @@
         * @param aClientUid, client UID to find.
         * @return matching index if UID was found, otherwise KErrNotFound.
         */        
-        TInt CHotSpotServer::FindClientUid( TUid aClientUid );
+        TInt FindClientUid( TDes& aClientUid );
         
     public: // Functions from base classes
 
@@ -331,24 +370,34 @@
         TBool iAssociationValue;
         
         /**
-        * Boolean flag whether the IAPs has been checked or not
+        * Flag for the IAP check
         */
         TBool iIapCheckValue;
+        
+        /**
+        * Flag for client IAP search
+        */
+        TInt iClientIapsChecked;
 
         /**
         * WLAN management API
         */
         CWlanMgmtClient* iMgtClient;
-        
-        /**
-        * Service id of IAP in use
-        */
-        TInt iCurrentServiceIdInUse;
-        
+       
         /**
         * Array for storing client dependent login and logout timer values.
         */
         RArray<SLoginLogoutTimers> iLoginLogoutTimerArray;
+        
+        /**
+        * Array for storing client IAPs and their UIDs.
+        */
+        RArray<SClientIaps> iClientIaps;
+        
+        /**
+        * Easy WLAN IAP Id
+        */
+        TInt iEasyWlanId;
 	};
 
 #endif
--- a/hotspotfw/hsserver/inc/hotspotsession.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/inc/hotspotsession.h	Fri Apr 16 16:07:56 2010 +0300
@@ -65,16 +65,20 @@
         */
         static CHotSpotSession* NewL( CHotSpotServer& aServer );
         
-         /**
+        /**
         * Destructor.
         */
         ~CHotSpotSession();
    
-       struct TNotification
-        {
-        TInt id;
-        TBuf8<KHssMaxNotificationLength> data;
-        };
+        /**
+        * Struct for notifications.
+        */
+        struct TNotification
+            {
+            TInt id;
+            TBuf8<KHssMaxNotificationLength> data;
+            };
+       
     public: // Functions from base classes
 
         /**
@@ -116,18 +120,18 @@
         void LogoutTimeout();
         
         /**
-                * From MWlanMgmtNotifications
-                * @since Series 60 3.0
-                * @param aNewState State of WLAN
-                * @return None
-                */
-                virtual void ConnectionStateChanged( TWlanConnectionMode aNewState );
+        * From MWlanMgmtNotifications
+        * @since Series 60 3.0
+        * @param aNewState State of WLAN
+        * @return None
+        */
+        virtual void ConnectionStateChanged( TWlanConnectionMode aNewState );
         
     public: // New functions
 
  
         /**
-        * Metods for handling passthrough notifications
+        * Methods for handling passthrough notifications
         */
         void HandleCancelNotifications( const RMessage2& aMessage );
         void AddNotification( TInt aNotification, TDes8& aData );
@@ -191,7 +195,7 @@
         * @param aIapId, IAP id
         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
         */
-       TInt ProcessStartAgain( const TUint aIapId );
+        TInt ProcessStartAgain( const TUint aIapId );
         
         /**
         * Sends WLAN association status to client
@@ -206,7 +210,7 @@
         * @param aIapId, IAP id
         * @return KErrNone, if successful, otherwice one of system wide errorcodes.
         */
-       TInt ProcessCloseL( const TUint aIapId );
+        TInt ProcessCloseL( const TUint aIapId );
         
         /**
         * Creates client instance through ECom
@@ -234,20 +238,32 @@
         void AuthenticateL( const TDesC& aString );
         
         /**
-        * Reads EasyWLAN IAP id
-        * @return None 
+        * Removes brackets from the UID
+        * @param aUid, UID of the client
         */
-        void EasyWlanIdL();
+        void ModifyClientUid( TDes& aUid );
+        
+        /**
+        * Convert descriptor to TUid and saves it to member variable
+        * @param aUid, UID of the client
+        */
+        void ConvertTBufToTUid( TDes& aUid );
     
     private:    // Data
     
-        /** List of pending (not sent) notifications. */
+        /** 
+        * List of pending (not sent) notifications. 
+        */
         RArray<TNotification> iPendingNotifications;
         
-        /** The request from the client pending for a notification. */
+        /** 
+        * The request from the client pending for a notification. 
+        */
         RMessagePtr2 iPendingNotificationRequest;
 
-        /** Is there a pending request from the client. */
+        /** 
+        * Is there a pending request from the client. 
+        */
         TBool iIsNotificationRequestPending;
 
 	    /**
@@ -262,11 +278,13 @@
         CHssClientPlugin* iClient;
 
         /**
-        * handle to MHssSrvNotifications
+        * Handle to MHssSrvNotifications
         */
 		MHssSrvNotifications *iSrvNotifications;
 
-        /** Handle to remove notification. */
+        /** 
+        * Handle to remove notification. 
+        */
         CSessionNotification* iNotificationHandle;
 
 	    /**
@@ -294,12 +312,6 @@
         */
  	    HssNotifications *iNotifications;
 
-
-        /**
-        * statusinformation of Async call
-        */
-		TRequestStatus iStatus;
-
         /**
         * Handler for changing IAP settings
         * Own
@@ -338,11 +350,7 @@
         * Flag for indicate if extended HSFW API is used
         */
         TBool iHotspotExtension;
-        
-        /**
-        * Easy WLAN IAP Id
-        */
-        TUint32 iEasyWlanId;
+
 	};
 	
 #endif
--- a/hotspotfw/hsserver/inc/hssiapsettingshandler.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/inc/hssiapsettingshandler.h	Fri Apr 16 16:07:56 2010 +0300
@@ -45,8 +45,8 @@
 _LIT8(KEapPlus,"+0");
 _LIT8(KDot,", ");
 
-_LIT8(KMark1, "[" );
-_LIT8(KMark2, "]" );
+_LIT(KMark1, "[" );
+_LIT(KMark2, "]" );
 
 _LIT8(KEapNone,"0");
 _LIT8(KEapGtc,"6");
@@ -130,7 +130,9 @@
         * @param aUid, UID of the client
         * @return Iap ID, Otherwise aIapId will be null
         */
-        void CreateClientIapL( const TDesC& aIapName, TUint32& aIapId, const TUid aUid );
+        void CreateClientIapL( const TDesC& aIapName, 
+                               TUint32& aIapId, 
+                               const TDesC& aUid );
         
         /**
         * Create new IAP to Internet SNAP.
@@ -142,16 +144,7 @@
         * @param aIapID, IAP id
         */
         void DeleteIapL( const TUint aIapId );
-        
-        /**
-        * Finds client if found return its UID
-        * @param aIapId, IAP id
-        * @param aUid, UID id
-        * @param aUidText, UID id as a descriptor. Without[].
-        * @return KErrNone, if successful, otherwise one of system wide errorcodes.
-        */
-        TInt FindClientL( const TUint aIapId, TUid& aUid, TDes8& aUidText );
-           
+                  
     protected:
     
         /**
--- a/hotspotfw/hsserver/inc/hssscanoffsets.h	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/inc/hssscanoffsets.h	Fri Apr 16 16:07:56 2010 +0300
@@ -20,44 +20,36 @@
 #ifndef HSSSCANOFFSETS_H
 #define HSSSCANOFFSETS_H
 
-#include "802dot11.h"
+
+/** Offset for RCPI value. */
+const TUint32 RX_LEVEL_OFFSET         = 0;   
 
-// Offsets for the static header.
-const TUint32 RX_LEVEL_OFFSET         = 0;                                                // 0
-const TUint32 RX_SNR_OFFSET           = RX_LEVEL_OFFSET + sizeof(TUint32);                // 4
+/** Offset for SNR value. Deprecated. */
+const TUint32 RX_SNR_OFFSET           = 4;                
 
-// Offsets for scan results.
-const TUint32 LENGTH_OFFSET           = RX_SNR_OFFSET + sizeof(TUint32);                  // 8
+/** Offset for beacon/probe response frame data length. */
+const TUint32 LENGTH_OFFSET           = 8;                  
 
-// length of the control information proceeding the DOT11 header (DOT11_BASE_OFFSET)
+/** Length of the control information header. */
 const TUint32 CNTRL_HEADER_LEN        = 12;
 
+/** Start of beacon/probe response frame data. */
 const TUint32 DOT11_BASE_OFFSET       = CNTRL_HEADER_LEN;
-// start of BSSID
+
+/** Start of BSSID field (6 octets ). */
 const TUint32 BSSID_OFFSET            = DOT11_BASE_OFFSET + 16;           
-// start of first IE in beacon of the probe response
-const TUint32 BODY_OFFSET             = DOT11_BASE_OFFSET + sizeof(SManagementFrameHeader)
-                                        + KTimeStampFixedFieldLength
-                                        + KBeaconIntervalFixedFieldLength
-                                        + KCapabilityInformationFixedFieldLength;
 
-const TUint32 BEACON_INTERVAL_OFFSET  = DOT11_BASE_OFFSET 
-                                        + sizeof(SManagementFrameHeader)
-                                        + KTimeStampFixedFieldLength;
-const TUint32 CAPABILITY_OFFSET       = BEACON_INTERVAL_OFFSET + KBeaconIntervalFixedFieldLength;
+/** Start of Timestamp field (8 octets). */
+const TUint32 TIMESTAMP_OFFSET        = DOT11_BASE_OFFSET + 24;
 
-// start of timestamp field
-const TUint32 TIMESTAMP_OFFSET        = DOT11_BASE_OFFSET + sizeof(SManagementFrameHeader);
+/** Start of Beacon Interval field (2 octets). */
+const TUint32 BEACON_INTERVAL_OFFSET  = DOT11_BASE_OFFSET + 32;
+
+/** Start of Capability field (2 octets). */
+const TUint32 CAPABILITY_OFFSET       = DOT11_BASE_OFFSET + 34;
 
-// Offsets for the static header.
-const TUint16 x30RX_LEVEL_OFFSET         = 13;
-const TUint16 x30RX_SNR_OFFSET           = 12;
-//const TUint16 FRAME_CNTRL_OFFSET      = 12;
-const TUint16 x30BSSID_OFFSET            = 0;
-const TUint16 x30BEACON_INTERVAL_OFFSET  = 52;
-const TUint16 x30CAPABILITY_OFFSET       = 54;
-const TUint16 x30STATUS_INFO_LENGTH      = 12;
-// Offsets for scan results.
-const TUint16 x30LENGTH_OFFSET           = 62;
-const TUint16 x30BODY_OFFSET             = 64 + x30STATUS_INFO_LENGTH;
+/** Start of first IE in beacon/probe response frame. */
+const TUint32 BODY_OFFSET             = DOT11_BASE_OFFSET + 36;
+
+
 #endif // HSSSCANOFFSETS_H
--- a/hotspotfw/hsserver/inc/pack.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2002-2006 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Pack macros for WLAN
-*
-*/
-
-
-
-
-#ifndef PACK_H
-#define PACK_H
-
-#ifdef __PACKED
-    #undef __PACKED
-#endif //__PACKED
-
-#define __PACKED
-
-#endif      // PACK_H
--- a/hotspotfw/hsserver/src/hotspotserver.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/src/hotspotserver.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -11,15 +11,12 @@
 *
 * Contributors:
 *
-* Description:       Implementation of HotSpot Plugin Server
+* Description:       Implementation of HotSpot Server
 *
 */
 
 
 
-
-
-
 // INCLUDE FILES
 #include <e32std.h>
 #include <f32file.h>
@@ -49,11 +46,8 @@
 // CONSTANTS
 // Panic codes for HotSpot server
 const TInt KHotSpotPanicCleanupStackCreationFailed  = 1;
-const TInt KHotSpotPanicOpenSemaforeFailed          = 2;
-const TInt KHotSpotPanicCreationOfSchedulerFailed   = 3;
 
 // Default timeout values
-
 const TUint KMillion = 1000000;
 const TUint KHssDefaultLoginTimeMicroSecs = 180 * KMillion;  // 180 seconds (3 mins)
 const TUint KHssMinLoginTime =      5;   // 5 seconds
@@ -73,39 +67,24 @@
 // 
 static void RunServerL()
     {
-    User::LeaveIfError( User::RenameThread( KHotSpotServerName ) );
-
-    CActiveScheduler* s=new(ELeave) CActiveScheduler;
-    if ( !s )
-        {
-        User::Panic( KHotSpotModuleName, KHotSpotPanicCreationOfSchedulerFailed );
-        }
-    CleanupStack::PushL(s);
-    CActiveScheduler::Install(s);
-
-    CHotSpotServer::NewLC(); // Is NewLC: Server was pushed into cleanup stack.
-
-    RSemaphore started;
-    TInt err = started.CreateGlobal( KHotSpotServerSemaphore, 0 );
-    if ( err != KErrNone )
-        {
-        err = started.OpenGlobal( KHotSpotServerSemaphore );
-        }
+    // Create and install the active scheduler
+    CActiveScheduler *scheduler = new (ELeave) CActiveScheduler;
+    CleanupStack::PushL( scheduler );
+    CActiveScheduler::Install( scheduler );
+     
+    // Create server
+    CHotSpotServer::NewLC(); 
+     
+    // Initialisation complete, now signal the client
+    User::LeaveIfError( RThread().RenameMe( KHotSpotServerName ) );
+    RProcess::Rendezvous( KErrNone );
     
-    __ASSERT_ALWAYS(
-        err == KErrNone, 
-        User::Panic( KHotSpotModuleName, KHotSpotPanicOpenSemaforeFailed )
-        );
-        
-    // lets everyone know that the thread is ready to deal with requests            
-    RProcess::Rendezvous(KErrNone);
-        
-    started.Signal();
-    started.Close();
-
+    // Ready to run
     DEBUG("**** HotspotServer: server fully running");
     CActiveScheduler::Start();
-    CleanupStack::PopAndDestroy( 2, s ); // Cleanup both server and scheduler
+     
+    // Cleanup the server and scheduler
+    CleanupStack::PopAndDestroy( 2, scheduler );
     REComSession::FinalClose();
     }
 
@@ -149,11 +128,12 @@
 //
 CHotSpotServer::~CHotSpotServer()
     {
-    DEBUG("**** HotSpotServer: CHotSpotServer::~CHotSpotServer");
+    DEBUG( "**** HotSpotServer: CHotSpotServer::~CHotSpotServer" );
     
     iMap.Close();
     iNotificationArray.Close();
     iLoginLogoutTimerArray.Close();
+    iClientIaps.Close();
     
      if ( iMgtClient != NULL )
         {
@@ -170,17 +150,20 @@
 //
 void CHotSpotServer::ConstructL()
     {
-    DEBUG("**** HotSpotServer: CHotSpotServer::ConstructL");
+    DEBUG( "**** HotSpotServer: CHotSpotServer::ConstructL" );
     StartL( KHotSpotServerName );
 
     iIapCheckValue = EFalse;
     iLogoutSent = EFalse;
     iLoginValue = ETrue;
     iAssociationValue = EFalse;
-    
+    iClientIapsChecked = KErrNone;
+    iEasyWlanId = KEasyWlanServiceId; // Set to default value just in case
+
+    TRAP( iClientIapsChecked, FindClientIapsL() );
+ 
     // Activate notifications for IAP check purposes. Done with every server startup.
-    // When EWlanConnectionModeNotConnected is received we can cancel this and 
-    // we know that it safe to go through IAPs.
+    // When EWlanConnectionModeNotConnected is received we can cancel this.
     iMgtClient = CWlanMgmtClient::NewL();
 #ifndef __WINS__
     iMgtClient->ActivateNotificationsL( *this );
@@ -202,94 +185,119 @@
             iMgtClient->CancelNotifications();
 #endif
             }
-        
-         TRAPD(err, CheckIapsL());
-         if ( err != KErrNone )
-             {
-             DEBUG1("CHotSpotServer::ConnectionStateChanged(): %d", err);
-             }
+        if ( iClientIapsChecked != KErrNone )
+            {
+            TRAP_IGNORE( FindClientIapsL() );
+            }
+        TRAPD(err, CheckIapsL());
+        if ( err != KErrNone )
+            {
+            DEBUG1("CHotSpotServer::ConnectionStateChanged(): %d", err);
+            }
         }
     }
 
 // -----------------------------------------------------------------------------
+// FindClientIapsL
+// -----------------------------------------------------------------------------
+//
+void CHotSpotServer::FindClientIapsL()
+    {
+    DEBUG("CHotSpotServer::FindClientIapsL()");
+    RCmManagerExt cmManager;
+    cmManager.OpenL();
+    CleanupClosePushL(cmManager);
+           
+    RArray<TUint32> cmArray;
+    CleanupClosePushL( cmArray );
+    TBool supportedBearersOnly = ETrue;
+    TBool legacyCmsOnly = EFalse;
+    
+    cmManager.ConnectionMethodL( cmArray, supportedBearersOnly, legacyCmsOnly );
+    DEBUG1("CHotSpotServer::FindClientIapsL count: %d", cmArray.Count());  
+    
+    for( TInt i = 0; i < cmArray.Count(); i++ )
+        {
+        RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( cmArray[i] );
+        CleanupClosePushL( cm );
+        HBufC* daemonName = cm.GetStringAttributeL( 
+                                                ECmConfigDaemonManagerName );
+        CleanupStack::PushL( daemonName );
+        if ( daemonName )
+            {
+            if ( daemonName->Compare( KHotSpotPlugin ) == 0 )
+                {
+                DEBUG("CHotSpotServer::FindClientIapsL() Client found");
+                TBuf<KIapNameLength> clientUid;
+                TUid uid(TUid::Null());
+                TUint iapId = cm.GetIntAttributeL( ECmIapId  );
+                HBufC* client = cm.GetStringAttributeL( 
+                                            EWlanServiceExtensionTableName );
+                clientUid.Copy( client->Des() );
+                delete client;
+                SetClientIap( iapId, clientUid );
+                DEBUG1("CHotSpotServer::FindClientIapsL() iapId: %d", iapId );
+                }
+            }
+        CleanupStack::PopAndDestroy( daemonName );
+        CleanupStack::PopAndDestroy( &cm );
+        }
+    CleanupStack::PopAndDestroy( &cmArray );
+    
+    // Read Easy WLAN IAP ID
+    iEasyWlanId = cmManager.EasyWlanIdL();
+    CleanupStack::PopAndDestroy( &cmManager );
+    DEBUG1("CHotSpotServer::FindClientIapsL() iEasyWlanId: % d", iEasyWlanId);
+    }
+
+// -----------------------------------------------------------------------------
 // CheckIapsL
 // -----------------------------------------------------------------------------
 //
 void CHotSpotServer::CheckIapsL()
     {
     DEBUG("CHotSpotServer::CheckIapsL");
-          
-     _LIT(KMarkFirst, "[" );
-     _LIT(KMarkLast, "]" );
-     // This is needed to be checked only once per boot
-    if ( iIapCheckValue == EFalse )
+    // This is needed to be checked only once per boot
+    iIapCheckValue = ETrue;
+    TInt count = iClientIaps.Count();
+
+    // Check the array. Not supposed to be many elements.
+    for( TInt i = 0; i < count; i++ )
         {
-        iIapCheckValue = ETrue;
+        TLex lex( iClientIaps[i].iClientUid );
+        TUint value( 0 );
+        lex.Val( value, EHex );
+        TUid client = TUid::Null();
+        client.iUid = value;
         
-        RCmManagerExt cmManager;
-        cmManager.OpenL();
-        CleanupClosePushL(cmManager);
+        // Try to find if plugin exists
+        CHssClientPlugin* plugin(NULL);
+        TBuf8<KExtensionAPILength> nullBuf;
+        TRAPD( error, plugin = CHssClientPlugin::NewL( client, nullBuf ) );
+        delete plugin;
 
-        TBool supportedBearersOnly = ETrue;
-        TBool legacyCmsOnly = EFalse;
-        
-        RArray<TUint32> cmArray;
-        CleanupClosePushL( cmArray );
-        
-        cmManager.ConnectionMethodL( cmArray, supportedBearersOnly, legacyCmsOnly );
-        DEBUG1("CHotSpotServer::CheckIapsL count: %d", cmArray.Count());  
-        for( TInt i = 0; i < cmArray.Count(); i++ )
+        DEBUG1("CHotSpotServer::CheckIapsL find client error: %d", error );
+        if ( error == KErrNotFound )
             {
+            // Remove from database
+            RCmManagerExt cmManager;
+            cmManager.OpenL();
+            CleanupClosePushL(cmManager);
+            
             RCmConnectionMethodExt cm;
-            TRAPD( err, cm = cmManager.ConnectionMethodL( cmArray[i] ) );
-            DEBUG1("CHotSpotServer::CheckIapsL: err %d", err ); 
-            if ( KErrNone == err )
-                {
-                HBufC* client( NULL );
-                TRAPD( errr, client = cm.GetStringAttributeL( EWlanServiceExtensionTableName ));
-                DEBUG1("CHotSpotServer::CheckIapsL: errr %d", errr );  
-                if( KErrNone == errr )
-                    {
-                    TBuf<KIapNameLength> clientUid;
-                    TUid uid(TUid::Null());
-                    
-                    clientUid.Copy( client->Des() );
-                    delete client;
-                    TInt indx = clientUid.Find( KMarkFirst );
-                    if ( KErrNotFound != indx )
-                        {
-                        DEBUG("CHotSpotServer::CheckIapsL Client is found");
-                        clientUid.Delete( indx, 1 );
-                        indx = clientUid.Find( KMarkLast );
-                        if ( KErrNotFound != indx )
-                            {
-                            clientUid.Delete( indx, 1 );
-                            }
-                        // Convert TBuf to TUid
-                        TLex lex( clientUid );
-                        TUint value( 0 );
-                        User::LeaveIfError( lex.Val( value, EHex ) );
-                        uid.iUid = value; 
-                                        
-                        // Try to find if 3rd party client exists.
-                        // Delete IAP if no client.
-                        CHssClientPlugin* plugin(NULL);
-                        TBuf8<KExtensionAPILength> nullBuf;
-                        TRAPD( error, plugin = CHssClientPlugin::NewL( uid, nullBuf ) );
-                        delete plugin;
-
-                        DEBUG1("CHotSpotServer::CheckIapsL find client error: %d", error );
-                        if ( error == KErrNotFound )
-                            {
-                            cm.DeleteL();
-                            }
-                           }
-                    }
-                }
-            DEBUG("CHotSpotServer::CheckIapsLOK");
+            cm = cmManager.ConnectionMethodL( iClientIaps[i].iIapId );
+            CleanupClosePushL( cm );
+            cmManager.RemoveAllReferencesL( cm );
+            cm.DeleteL();
+            
+            CleanupStack::PopAndDestroy( &cm );
+            CleanupStack::PopAndDestroy( &cmManager );
+            
+            // Remove from array
+            RemoveClientIap( iClientIaps[i].iIapId );
+            count--;
+            i--;
             }
-        CleanupStack::PopAndDestroy( &cmArray );
-        CleanupStack::PopAndDestroy( &cmManager );
         }
     DEBUG("CHotSpotServer::CheckIapsL Done");
     }
@@ -472,33 +480,14 @@
     DEBUG("HotspotServer::GetAssociationFlagValue()");
     return iAssociationValue;
     }
-
-// -----------------------------------------------------------------------------
-// SetServiceId
-// -----------------------------------------------------------------------------
-//
-void CHotSpotServer::SetServiceId( TInt aServiceId )
-    {
-    DEBUG("HotspotServer::SetServiceId");
-    iCurrentServiceIdInUse = aServiceId;
-    }
-    
-// -----------------------------------------------------------------------------
-// GetServiceId
-// -----------------------------------------------------------------------------
-//
-TInt CHotSpotServer::GetServiceId()
-    {
-    DEBUG("HotspotServer::GetServiceId()");
-    return iCurrentServiceIdInUse;
-    }
-    
+  
 // -----------------------------------------------------------------------------
 // RunError
 // -----------------------------------------------------------------------------
 //
 TInt CHotSpotServer::RunError( TInt aError )
     {
+    DEBUG1( "HotspotServer::RunError = %d", aError );
     // error from CHotSpotSession::ServiceL
     Message().Complete( aError );
     // Continue  reading client requests
@@ -510,16 +499,17 @@
 // GetLoginTimerMicroSecs
 // -----------------------------------------------------------------------------
 //
-TUint CHotSpotServer::GetLoginTimeMicroSecs( TUid aClientUid )
+TUint CHotSpotServer::GetLoginTimeMicroSecs( TDes& aClientUid )
     {
+    DEBUG("HotspotServer::GetLoginTimeMicroSecs()");
     // Default timer value will be returned if matching client UID isn't found.
     TUint retval = KHssDefaultLoginTimeMicroSecs ;
     
-    TInt ret = CHotSpotServer::FindClientUid( aClientUid );
+    TInt ret = FindClientUid( aClientUid );
     if (ret != KErrNotFound)
         {
         // ret is the matching element's index.
-        retval = iLoginLogoutTimerArray[ret].loginTimeMicroSecs;
+        retval = iLoginLogoutTimerArray[ret].iLoginTimeMicroSecs;
         }
 
     return retval;
@@ -529,16 +519,17 @@
 // GetLogoutTimerMicroSecs
 // -----------------------------------------------------------------------------
 //
-TUint CHotSpotServer::GetLogoutTimeMicroSecs( TUid aClientUid )
+TUint CHotSpotServer::GetLogoutTimeMicroSecs( TDes& aClientUid )
     {
+    DEBUG("HotspotServer::GetLogoutTimeMicroSecs()");
     // Default timer value will be returned if matching client UID isn't found.
     TUint retval = KHssDefaultLogoutTimeMicroSecs ;
     
-    TInt ret = CHotSpotServer::FindClientUid( aClientUid );
+    TInt ret = FindClientUid( aClientUid );
     if (ret != KErrNotFound)
         {
         // ret is the matching element's index.
-        retval = iLoginLogoutTimerArray[ret].logoutTimeMicroSecs;
+        retval = iLoginLogoutTimerArray[ret].iLogoutTimeMicroSecs;
         }
 
     return retval;
@@ -549,11 +540,12 @@
 // -----------------------------------------------------------------------------
 //
 void CHotSpotServer::SetTimerValues(
-        TUid aClientUid,
+        TDes& aClientUid,
         TUint aLoginTimerValue,   // in seconds
         TUint aLogoutTimerValue ) // in seconds
     {    
-    TInt ret = CHotSpotServer::FindClientUid( aClientUid );
+    DEBUG("HotspotServer::SetTimerValues()");
+    TInt ret = FindClientUid( aClientUid );
     TUint loginTimeMicroSecs = KHssDefaultLoginTimeMicroSecs ;
     TUint logoutTimeMicroSecs = KHssDefaultLogoutTimeMicroSecs ;
     
@@ -574,8 +566,8 @@
         {
         DEBUG("CHotSpotServer::SetTimerValues(): Existing client modified.");
         // ret is the matching element's index.
-        iLoginLogoutTimerArray[ret].loginTimeMicroSecs = loginTimeMicroSecs;
-        iLoginLogoutTimerArray[ret].logoutTimeMicroSecs = logoutTimeMicroSecs;
+        iLoginLogoutTimerArray[ret].iLoginTimeMicroSecs = loginTimeMicroSecs;
+        iLoginLogoutTimerArray[ret].iLogoutTimeMicroSecs = logoutTimeMicroSecs;
         }
     else
         {
@@ -593,16 +585,18 @@
 // FindClientUid
 // -----------------------------------------------------------------------------
 //
-TInt CHotSpotServer::FindClientUid( TUid aClientUid )
+TInt CHotSpotServer::FindClientUid( TDes& aClientUid )
     {
+    DEBUG("CHotspotServer::FindClientUid()");
     TInt count = iLoginLogoutTimerArray.Count();
     TInt i = 0;
     TInt ret = KErrNotFound;
     
-    while (i < count)
+    while ( i < count )
         {
-        if (aClientUid == iLoginLogoutTimerArray[i].clientUid)
+        if ( aClientUid.Compare( iLoginLogoutTimerArray[i].iClientUid ) == 0 )
             {
+            DEBUG("CHotspotServer::FindClientUid() FOUND");
             ret = i;
             break;
             }
@@ -612,6 +606,75 @@
     return ret;    
     }
 
+// -----------------------------------------------------------------------------
+// GetClientUid
+// -----------------------------------------------------------------------------
+//
+TInt CHotSpotServer::GetClientUid( TUint aIapId,  TDes& aUid )
+    {
+    DEBUG("CHotspotServer::GetClientUid()");
+    TInt ret( KErrNotFound );
+    TInt count = iClientIaps.Count();
+    TInt i = 0;
+    
+    while ( i < count )
+        {
+        if ( aIapId == iClientIaps[i].iIapId )
+            {
+            DEBUG("CHotspotServer::GetClientUid() FOUND");
+            aUid = iClientIaps[i].iClientUid;
+            ret = KErrNone;
+            break;
+            }
+        i++;
+        }   
+      
+    return ret;
+    }
+
+// -----------------------------------------------------------------------------
+// SetClientIap
+// -----------------------------------------------------------------------------
+//
+void CHotSpotServer::SetClientIap( TUint aIapId, TDes& aUid )
+    {
+    DEBUG("CHotspotServer::SetClientIap()");
+    SClientIaps clientElement = { aIapId, aUid };
+    iClientIaps.Append( clientElement );
+    }
+
+// -----------------------------------------------------------------------------
+// RemoveClientIap
+// -----------------------------------------------------------------------------
+//
+void CHotSpotServer::RemoveClientIap( TUint aIapId )
+    {
+    DEBUG("CHotspotServer::RemoveClientIap()");
+    TInt count = iClientIaps.Count();
+    TInt i = 0;
+    
+    while ( i < count )
+        {
+        if ( aIapId == iClientIaps[i].iIapId )
+            {
+            DEBUG("CHotspotServer:::RemoveClientIap() FOUND");
+            iClientIaps.Remove( i );
+            break;
+            }
+        i++;
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// GetEasyWlanId
+// -----------------------------------------------------------------------------
+//
+TInt CHotSpotServer::GetEasyWlanId()
+    {
+    DEBUG("CHotspotServer::GetEasyWlanId()");
+    return iEasyWlanId;
+    }
+
 // ========================== OTHER EXPORTED FUNCTIONS =========================
 
 // -----------------------------------------------------------------------------
--- a/hotspotfw/hsserver/src/hotspotsession.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/src/hotspotsession.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -148,29 +148,29 @@
 void CHotSpotSession::DispatchMessageL( const RMessage2& aMessage )
     {
     DEBUG( "CHotSpotSession::DispatchMessageL()" );
-    TUint value1(NULL);
-    TInt value2(NULL);
-    TInt err(KErrNone);
-    TInt indx(KErrNone);
+    TInt value( NULL );
+    TInt err( KErrNone );
+    TInt indx( KErrNone );
     TPckgBuf<TInt> iapPackage( iIapId );
     
     switch ( aMessage.Function() )
         {
         case EHssActivateNotifications :
+            DEBUG( "CHotSpotSession::ActivateNotificationsL" );
             iAllowNotifications = EFalse;
-            DEBUG( "CHotSpotSession::ActivateNotificationsL" );
+            
             if ( iNotifications == NULL )
                 {
-                DEBUG( "CHotSpotSession::DispatchMessageL activated !!!" );
-                iNotifications = new (ELeave) HssNotifications(*this);
+                iNotifications = new ( ELeave ) HssNotifications( *this );
                 iMgtClient->ActivateNotificationsL( *iNotifications );
                 }
             HandleOrderNotifications( aMessage );
             break;
         case EHssCancelNotifications :
+            DEBUG( "CHotSpotSession::CancelNotifications" );
             iAllowNotifications = EFalse;
-            DEBUG( "CHotSpotSession::CancelNotifications" );
             iMgtClient->CancelNotifications( );
+        
             if ( iNotifications != NULL )
                 {
                 delete iNotifications;
@@ -178,9 +178,6 @@
             iNotifications = NULL;
             HandleCancelNotifications( aMessage );
             break;
-        case EHssGetScanResults :
-            // Handled now in client side. Left here for future use.
-            break;
         case EHssRegister :
             ProcessRegisterL( aMessage );
             break;
@@ -189,17 +186,16 @@
             break;
         case EHssJoin :
             iAllowNotifications = EFalse;
-            // IAP id
-            value1 = ( TInt )aMessage.Int0();
-            iIapId = value1;
-            indx = iServer.FindMessage(value1, EHssStart );
+            iIapId = ( TInt )aMessage.Int0();
+     
+            indx = iServer.FindMessage( iIapId, EHssStart );
             if ( indx >= 0 )
                 {
                 iServer.CompleteMessage( indx , KErrNone );
                 }
             else
                 {
-                indx = iServer.FindMessage(value1, EHssStartAgain );
+                indx = iServer.FindMessage( iIapId, EHssStartAgain );
                 if ( indx >= 0 )
                     {
                     iServer.CompleteMessage( indx , KErrNone );
@@ -211,8 +207,8 @@
             iServer.SetLogoutFlag( ETrue );
             // Do not send association status to client
             iServer.SetAssociationFlag( EFalse ); 
-             // IAP id
             iIapId = ( TInt )aMessage.Int0();
+    
             indx = iServer.FindMessage(iIapId, EHssStart );
             if ( indx >= 0 )
                 {
@@ -226,42 +222,38 @@
                     iServer.CompleteMessage( indx , KErrAbort );
                     }
                 }
-            
             aMessage.Complete( KErrNone );
             break;
         case EHssStop :
             iAllowNotifications = EFalse;
             iServer.SetLogoutFlag( ETrue );
-                   
             iLoginTimer->Cancel();
             iLogoutTimer->Cancel();
-            // IAP id
-            value1 = ( TInt )aMessage.Int0();
-            for (TInt counter = EHssGetScanResults; counter <EHssServerShutdown ;counter++)
+            iIapId = ( TInt )aMessage.Int0();
+    
+            for ( TInt counter = EHssGetScanResults; 
+                  counter <EHssServerShutdown ;counter++ )
                 {
-                indx = iServer.FindMessage(value1, THotSpotCommands(counter ));
+                indx = iServer.FindMessage( iIapId, 
+                                            THotSpotCommands( counter ) );
                 if ( indx >= 0 )
                     {
-                    iServer.CompleteMessage( indx , KErrCancel);
+                    iServer.CompleteMessage( indx , KErrCancel );
                     }
                 }
-                        
             aMessage.Complete( KErrNone );
             break;
         case EHssLoginComplete :
             iAllowNotifications = EFalse;
-            // IAP id
-            value1 = ( TInt )aMessage.Int0();
-            // ret value
-            value2 = ( TInt )aMessage.Int1();
+            iLoginTimer->Cancel();
+            iIapId = ( TInt )aMessage.Int0();
+            value = ( TInt )aMessage.Int1();
             
-            iLoginTimer->Cancel();
-            
-            DEBUG1( "EHssLoginComplete value2: %d", value2 );
-            indx = iServer.FindMessage( value1, EHssStartLogin );
+            DEBUG1( "EHssLoginComplete return value: %d", value );
+            indx = iServer.FindMessage( iIapId, EHssStartLogin );
             if ( KErrNotFound != indx )
                 {
-                if (value2 == KErrNone)
+                if ( value == KErrNone )
                     {
                     DEBUG( "EHssLoginComplete1" );
                     iServer.CompleteMessage( indx, KErrNone );
@@ -279,11 +271,9 @@
         case EHssLogoutComplete :
             iAllowNotifications = EFalse;
             iLogoutTimer->Cancel();
+            iIapId = ( TInt )aMessage.Int0();
             
-            // IAP id
-            value1 = ( TInt )aMessage.Int0();
-            
-            indx = iServer.FindMessage( value1, EHssCloseConnection );
+            indx = iServer.FindMessage( iIapId, EHssCloseConnection );
             if ( KErrNotFound != indx )
                 {
                 iServer.CompleteMessage( indx, KErrNone );    
@@ -294,10 +284,9 @@
         case EHssStartLogin :
             // Do not send association status, since it's already done.
             iServer.SetAssociationFlag( EFalse ); 
-            // IAP id
             iIapId = ( TInt )aMessage.Int0();
-            // Network id
             iNetId = ( TInt )aMessage.Int1();
+     
             err = iServer.SaveMessage( iIapId, aMessage, EHssStartLogin ); 
             if ( KErrNone != err )
                 {
@@ -339,18 +328,17 @@
             aMessage.Complete( KErrNone );
             break;
         case EHssStart:
-            // IAP id
             iServer.SetLoginFlag( ETrue );
             iIapId = ( TInt )aMessage.Int0();
             err = iServer.SaveMessage( iIapId, aMessage, EHssStart ); 
-           if ( err != KErrNone)
+    
+            if ( err != KErrNone)
                 {
                 aMessage.Complete( err );  
                 }
             else
                 {
                 TRAPD( startLeaved, err = ProcessStartL( iIapId ) );
-                
                 if ( startLeaved != KErrNone)
                     {
                     indx = iServer.FindMessage(iIapId, EHssStart );
@@ -363,7 +351,6 @@
                         aMessage.Complete( KErrNotSupported );
                         }
                     }
-                
                 else if ( err != KErrNone)
                     {
                     indx = iServer.FindMessage(iIapId, EHssStart );
@@ -376,16 +363,14 @@
                         aMessage.Complete( KErrNotSupported );
                         }
                     }
-                // else -> client is created and called 
-                // WLAN agent waits for 30 seconds before continuing connection setup.
                 }
             break;
         case EHssStartAgain:
-            // IAP id
             iServer.SetLoginFlag( ETrue );
             iIapId = ( TInt )aMessage.Int0();
             err = iServer.SaveMessage( iIapId, aMessage, EHssStartAgain ); 
-           if ( err != KErrNone)
+            
+            if ( err != KErrNone)
                 {
                 aMessage.Complete( err );  
                 }
@@ -406,12 +391,11 @@
                     }
                 }
             break;
+        case EHssCancel:
+            iLoginTimer->Cancel();
+            iLogoutTimer->Cancel();
+            iIapId = ( TInt )aMessage.Int0();
             
-        case EHssCancel:
-               iLoginTimer->Cancel();
-            iLogoutTimer->Cancel();
-            // IAP id
-            iIapId = ( TInt )aMessage.Int0();
             if ( iServer.GetAssociationFlagValue() )
                 {
                 // We are in association phase and Agent failed it for some reason
@@ -433,17 +417,11 @@
                 {
                 iServer.CompleteMessage( indx , KErrCancel );
                 }
-            //Not needed to send Logout()
-            //iServer.SetLogoutFlag( ETrue )
-            //ProcessCloseL( iIapId )
             aMessage.Complete( KErrNone );
-        break;
-        
+            break;
         case EHssCloseConnection:
             iLoginTimer->Cancel();
             iLogoutTimer->Cancel();           
-        
-            // IAP id
             iIapId = ( TInt )aMessage.Int0();
 
             if ( iServer.GetAssociationFlagValue() )
@@ -476,21 +454,18 @@
                     }
                 }
             break;
-
         case EHssServerShutdown:
             ProcessServerShutdown( aMessage );
             break;
-            
         case EHssGetIAP:
             aMessage.WriteL( 0, iapPackage );
             aMessage.Complete( KErrNone );
             break;
-            
         case EHssUiState:
             ProcessUiState( aMessage );
             break;
         case EHssStartBrowser:
-            {   
+            {
             TInt len = aMessage.GetDesLength( 0 );
             iIapId = ( TInt )aMessage.Int1();
             iNetId = ( TInt )aMessage.Int2();
@@ -502,26 +477,25 @@
             AuthenticateL( ptr );
             
             CleanupStack::PopAndDestroy(buf);
+            break;
             }
-            break;
-            
         case EHssSetTimerValues:
             {
             TUid clientUid( TUid::Uid( aMessage.Int0() ) );
+            TBuf<KUidLength> uid;
+            uid.Copy( clientUid.Name() );
+            ModifyClientUid( uid );
             TUint loginTimerValue = aMessage.Int1();
             TUint logoutTimerValue = aMessage.Int2();
-            iServer.SetTimerValues( clientUid, loginTimerValue, logoutTimerValue );
+            iServer.SetTimerValues( uid, loginTimerValue, logoutTimerValue );
             aMessage.Complete( KErrNone );
+            break;
             }
-            break;
-
         default:
             aMessage.Complete( KErrNotSupported );  
-            //PanicClient( aMessage, EBadRequest )
             break;
         }
        iAllowNotifications = TRUE;
-
     }
 
 // ---------------------------------------------------------
@@ -698,16 +672,17 @@
         iServer.CompleteMessage( indx, KErrCancel );    
         }
         
-    TUid clientUid;
     TBuf8<KExtensionAPILength> extAPI;
-    TRAP_IGNORE( iIapSettingsHandler->FindClientL( iIapId, clientUid, extAPI ) );
-    
-    // 3rd party client was found
-    if ( clientUid != TUid::Null() )
+    TBuf<KUidLength> clientUid;
+    TInt err = iServer.GetClientUid( iIapId, clientUid );
+        
+    if ( err != KErrNotFound )
         {
         DEBUG("CHotSpotSession::LoginTimeout clientUid = CLIENT");
+        ConvertTBufToTUid( clientUid ); 
         TBuf8<KExtensionAPILength> nullBuf;
-        TInt ret = CreateClient( clientUid, nullBuf );
+        
+        TInt ret = CreateClient( iClientUid, nullBuf );
         DEBUG1("CHotSpotSession::LoginTimeout CreateClient ret: %d", ret);
         if ( KErrNone == ret )
             {
@@ -754,21 +729,24 @@
     aMessage.ReadL( 1, iapPckg );
     iapName = iapPckg().IapName();
     
+    TBuf<KIapNameLength> bufUid;
+    bufUid.Copy( clientUid.Name() );
+    ModifyClientUid( bufUid );
+        
     TUint32 iapId( 0 );
-    // TRAPD needed here so that 0 can be returned if DeleteIapL leaves
+    
     TInt ret( KErrNone );
-    TRAP( ret, iIapSettingsHandler->CreateClientIapL( iapName, iapId, clientUid ));
+    TRAP( ret, iIapSettingsHandler->CreateClientIapL( iapName, iapId, bufUid ));
     DEBUG1( "CHotSpotSession::EHssRegister iapId: %d", iapId );
     DEBUG1( "CHotSpotSession::EHssRegister ret: %d", ret );
     if ( KErrNone == ret )
         {
+        iServer.SetClientIap( iapId, bufUid );
         aMessage.Complete( iapId );
         }
 
     else 
         {
-        // TRAP needed here so that 0 can be returned if DeleteIapL leaves
-        //TRAP(err, iIapSettingsHandler->DeleteIapL( iapId ))
         // Error, we are returning 0 to client
         // and no IAP is created
         aMessage.Complete( KErrNone );
@@ -787,10 +765,10 @@
 
     // Read message
     TInt iapId = ( TInt )aMessage.Int0();
-    
+    iServer.RemoveClientIap( iapId );
     // Check that this is not Easy WLAN
-    TRAP_IGNORE( EasyWlanIdL() );
-    if ( iEasyWlanId != iapId  )
+    TInt easyWlan = iServer.GetEasyWlanId();
+    if ( easyWlan != iapId  )
         {
         TRAPD( err, iIapSettingsHandler->DeleteIapL( iapId ) );
         // return KErrGeneral if IAP removal is not successful
@@ -802,9 +780,9 @@
     else
         {
         ret = KErrPermissionDenied;
-        }
-        
+        }    
     aMessage.Complete( ret ); 
+    DEBUG("CHotSpotSession::ProcessUnRegisterL DONE");
     }
 
 // -----------------------------------------------------------------------------
@@ -815,13 +793,12 @@
     {
     DEBUG("CHotSpotSession::ProcessStartLogin");
     TInt ret( KErrNotFound );
-    TUid clientUid;
     TBuf8<KExtensionAPILength> extAPI;
     iIapId = aIapId;
     
     // Check if Easy WLAN.
-    TRAP_IGNORE( EasyWlanIdL() );
-    if ( iEasyWlanId == aIapId )
+    TInt easyWlan = iServer.GetEasyWlanId();
+    if ( easyWlan == aIapId )
         {
          DEBUG("CHotSpotSession::ProcessStartLogin Easy WLAN detected");
         // Just test internet connectivity and complete message later
@@ -830,14 +807,16 @@
         return ret;
         }
     
-    iIapSettingsHandler->FindClientL( aIapId, clientUid, extAPI );
+    TBuf<KUidLength> clientUid;
+    TInt err = iServer.GetClientUid( aIapId, clientUid );
     
-    // 3rd party client was found
-    if ( clientUid != TUid::Null() )
+    if ( err != KErrNotFound )
         {
         DEBUG("CHotSpotSession::ProcessStartLogin clientUid = CLIENT");
+        ConvertTBufToTUid( clientUid ); 
         TBuf8<KExtensionAPILength> nullBuf;
-        ret = CreateClient( clientUid, nullBuf );
+        
+        ret = CreateClient( iClientUid, nullBuf );
         
         if ( KErrNone == ret && iServer.GetLoginFlagValue() )
             {
@@ -865,9 +844,10 @@
     
     TInt ret( KErrNone );
     TBuf8<KExtensionAPILength> extAPI;
+    TBuf<KUidLength> clientUid;
     
-    iIapSettingsHandler->FindClientL( aIapId, iClientUid, extAPI );
-    if ( iClientUid == TUid::Null() )
+    TInt err = iServer.GetClientUid( aIapId, clientUid );
+    if ( err != KErrNone )
         {
         DEBUG("CHotSpotSession::ProcessStartL clientUid = EMPTY");
         
@@ -876,6 +856,8 @@
     else
         {
         DEBUG("CHotSpotSession::ProcessStartL clientUid = CLIENT");
+        ConvertTBufToTUid( clientUid ); 
+        TBuf8<KExtensionAPILength> nullBuf;
         
         // Try first with API extension defined
         ret = CreateClient( iClientUid, extAPI );
@@ -911,7 +893,7 @@
     // Client exists if StartAgain is called.
     if ( iClient == NULL )
         {    
-           TBuf8<KExtensionAPILength> nullBuf;
+        TBuf8<KExtensionAPILength> nullBuf;
         ret = CreateClient( iClientUid, nullBuf );
         }
     
@@ -978,11 +960,11 @@
     {
     DEBUG("CHotSpotSession::ProcessCloseL");
     TInt ret( KErrNone );
-    TUid clientUid;
     TBuf8<KExtensionAPILength> extAPI;
-  
-    iIapSettingsHandler->FindClientL( aIapId, clientUid, extAPI );
-    if ( clientUid == TUid::Null() )
+    TBuf<KUidLength> clientUid;
+    
+    TInt err = iServer.GetClientUid( aIapId, clientUid );
+    if ( err != KErrNone )
         {
         DEBUG("CHotSpotSession::ProcessCloseL clientUid = EMPTY");
         // do nothing
@@ -993,8 +975,15 @@
         DEBUG("CHotSpotSession::ProcessCloseL clientUid = CLIENT");
         if ( iClient == NULL )
             {
+            //Convert TBuf to TUid
+            TLex lex( clientUid );
+            TUint value( 0 );
+            lex.Val( value, EHex );
+            iClientUid = TUid::Null();
+            iClientUid.iUid = value;
             TBuf8<KExtensionAPILength> nullBuf;
-            ret = CreateClient( clientUid, nullBuf );
+
+            ret = CreateClient( iClientUid, nullBuf );
             }
         else
             {
@@ -1142,22 +1131,36 @@
     }
 
 // -----------------------------------------------------------------------------
-// EasyWlanIdL
+// ModifyClientUid
 // -----------------------------------------------------------------------------
 //
-void CHotSpotSession::EasyWlanIdL()
+void CHotSpotSession::ModifyClientUid( TDes& aUid )
     {
-    DEBUG("CHotSpotSession::EasyWlanIdL()");
-    // Set to default value just in case
-    iEasyWlanId = KEasyWlanServiceId; 
-    
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-    
-    iEasyWlanId = cmManager.EasyWlanIdL();
-    DEBUG1("CHotSpotSession::EasyWlanIdL() ret: % d", iEasyWlanId);
-    CleanupStack::PopAndDestroy( &cmManager );
+    DEBUG("CHotSpotSession::ModifyClientUid");
+    TInt indx = aUid.Find( KMark1 );
+    if ( KErrNotFound != indx )
+        {
+        aUid.Delete( indx, 1 );
+        indx = aUid.Find( KMark2 );
+        if ( KErrNotFound != indx )
+            {
+            aUid.Delete( indx, 1 );
+            }
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// ConvertTBufToTUid
+// -----------------------------------------------------------------------------
+//
+void CHotSpotSession::ConvertTBufToTUid( TDes& aUid )
+    {
+    DEBUG("CHotSpotSession::ConvertTBufToTUid");
+    TLex lex( aUid );
+    TUint value( 0 );
+    lex.Val( value, EHex );
+    iClientUid = TUid::Null();
+    iClientUid.iUid = value;
     }
 
 // -----------------------------------------------------------------------------
@@ -1168,32 +1171,32 @@
     {
     DEBUG1( "CHotSpotSession::ConnectionStateChanged() aNewState=%d", aNewState );
     switch ( aNewState )
+        {
+        case EWlanConnectionModeSearching:
             {
-            case EWlanConnectionModeSearching:
-                {
-                break;
-                }
-            case EWlanConnectionModeInfrastructure:
-            case EWlanConnectionModeSecureInfra:
-                {
-                iMgtClient->CancelNotifications();
-                ProcessAssociationStatus( iIapId, ETrue );
-                break;
-                }
-            case EWlanConnectionModeAdhoc:
-            case EWlanConnectionModeNotConnected:
-                {
-                iMgtClient->CancelNotifications();
-                iServer.SetAssociationFlag( EFalse );
-                break;
-                }
-            default:
-                {
-                iMgtClient->CancelNotifications();
-                iServer.SetAssociationFlag( EFalse );
-                }
+            break;
+            }
+        case EWlanConnectionModeInfrastructure:
+        case EWlanConnectionModeSecureInfra:
+            {
+            iMgtClient->CancelNotifications();
+            ProcessAssociationStatus( iIapId, ETrue );
+            break;
             }
-    
+        case EWlanConnectionModeAdhoc:
+        case EWlanConnectionModeNotConnected:
+            {
+            iMgtClient->CancelNotifications();
+            iServer.SetAssociationFlag( EFalse );
+            break;
+            }
+        default:
+            {
+            iMgtClient->CancelNotifications();
+            iServer.SetAssociationFlag( EFalse );
+            }
+        }
+
     }
 
 // end of file
--- a/hotspotfw/hsserver/src/hssiapsettingshandler.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/hsserver/src/hssiapsettingshandler.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -77,8 +77,8 @@
 // -----------------------------------------------------------------------------
 //    
 void CHssIapSettingsHandler::CreateClientIapL( const TDesC& aIapName, 
-                                         TUint32& aIapId, 
-                                         const TUid aUid )
+                                               TUint32& aIapId, 
+                                               const TDesC& aUid )
     {
     DEBUG("CHssIapSettingsHandler::CreateClientIapL");
 
@@ -106,7 +106,7 @@
                 
             plugin.SetStringAttributeL( ECmName, aIapName );
             plugin.SetStringAttributeL( EWlanSSID, aIapName );
-            plugin.SetStringAttributeL( EWlanServiceExtensionTableName, aUid.Name() );
+            plugin.SetStringAttributeL( EWlanServiceExtensionTableName, aUid );
             plugin.SetStringAttributeL( ECmConfigDaemonManagerName, KHotSpotPlugin );
             plugin.SetBoolAttributeL( ECmProtected, ETrue );
             
@@ -164,8 +164,7 @@
             HBufC* ssid( NULL );
             TWlanSsid ssidConn;
             
-            wlanMgmtClient->GetConnectionSsid( ssidConn );
-            
+            User::LeaveIfError( wlanMgmtClient->GetConnectionSsid( ssidConn ) );
             ssid = HBufC::NewLC( ssidConn.Length() );
             ssid->Des().Copy( ssidConn ); 
             
@@ -235,60 +234,11 @@
     CleanupClosePushL( plugin );
 
     cmManager.RemoveAllReferencesL( plugin );
-    CleanupStack::Pop( &plugin );
-
     TBool result = plugin.DeleteL();
-    DEBUG1("CHssIapSettingsHandler:::DeleteIapL result = %d ", result);
-
-    CleanupStack::PopAndDestroy( &cmManager );
-    }
    
-// -----------------------------------------------------------------------------
-// FindClientL
-// -----------------------------------------------------------------------------
-//
-TInt CHssIapSettingsHandler::FindClientL( const TUint aIapId, TUid& aUid, TDes8& aUidText )
-    {   
-    DEBUG("CHssIapSettingsHandler::FindClientL");
-    TInt ret( KErrNone );
-    aUid = TUid::Null();
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );
-    
-    RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( aIapId );
-    CleanupClosePushL( plugin );
-    
-    HBufC* uid = plugin.GetStringAttributeL( EWlanServiceExtensionTableName );
-    
-    TBuf8<KExtensionAPILength> buffer;
-    buffer.Copy( *uid );
-    delete uid;
-    // Find and remove [ and ]. 
-    // If found [ it's known that buffer contains UID
-    TInt indx = buffer.Find( KMark1 );
-         if ( KErrNotFound != indx )
-         {
-         DEBUG("CHssIapSettingsHandler::FindClientL Client is found");
-         buffer.Delete( indx, 1 );
-         indx = buffer.Find( KMark2 );
-         if ( KErrNotFound != indx )
-             {
-             buffer.Delete( indx, 1 );
-             }
-         // Convert TBuf to TUid
-         TLex8 lex( buffer );
-         TUint value( 0 );
-         User::LeaveIfError( lex.Val( value, EHex ) );
-         aUid.iUid = value;
-         aUidText = buffer;
-         }
-    
-    CleanupStack::PopAndDestroy( &plugin ); // Close() called on "plugin"
+    DEBUG1("CHssIapSettingsHandler:::DeleteIapL result = %d ", result);
+    CleanupStack::PopAndDestroy( &plugin );
     CleanupStack::PopAndDestroy( &cmManager );
-    DEBUG("CHssIapSettingsHandler::FindClientL");
-
-    return ret;
     }
 
 // ---------------------------------------------------------
--- a/hotspotfw/internetconnectivitytestservice/src/ictshttphandler.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/internetconnectivitytestservice/src/ictshttphandler.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -90,6 +90,11 @@
 CIctsHttpHandler::~CIctsHttpHandler()
     {
     DEBUG("CIctsHttpHandler::~CIctsHttpHandler()");
+    RHTTPTransaction notActive;
+    if ( iHttpTransaction != notActive )
+        {
+        iHttpTransaction.Close();
+        }
     iHttpSession.Close();
     CTimer::Cancel();
     iConnection.Close();
@@ -243,7 +248,11 @@
     {
     DEBUG("CIctsHttpHandler::CancelHttpRequestL()");
     CTimer::Cancel();
-    iHttpTransaction.Cancel();
+    RHTTPTransaction notActive;
+    if ( iHttpTransaction != notActive )
+        {
+        iHttpTransaction.Close();
+        }
     }
 
 // ---------------------------------------------------------------------------
@@ -253,7 +262,11 @@
 void CIctsHttpHandler::RunL()
     {
     DEBUG("CIctsHttpHandler::RunL()");
-    iHttpSession.Close();
+    RHTTPTransaction notActive;
+    if ( iHttpTransaction != notActive )
+        {
+        iHttpTransaction.Close();
+        }
     iString = KNullDesC;
     iOwner.HttpEventL( ETimeout, iString );
     }
@@ -296,10 +309,6 @@
             {
             DEBUG("CIctsHttpHandler::THTTPEvent::ESucceeded");
             CTimer::Cancel();
-            // Indicates that transaction succeeded. 
-            // Transaction can be closed now. It's not needed anymore.
-            aTransaction.Close();
-            iHttpSession.Close();
             iOwner.HttpEventL( EConnectionOk, iString );
             iString = KNullDesC;
             }
@@ -332,23 +341,17 @@
                     RStringF fieldValStr = strP.StringF(hVal.StrF());
                     const TDesC8& fieldValDesC = fieldValStr.DesC();
                     iString.Copy(fieldValDesC);
-                    aTransaction.Close();
-                    iHttpSession.Close();
                     iOwner.HttpEventL( EHttpAuthenticationNeeded, iString );
                     }
                 else
                     {
                     // No location header. Can't use authentication -> redirect.
-                    aTransaction.Close();
-                    iHttpSession.Close();
                     iOwner.HttpEventL( EConnectionNotOk, iString );    
                     }
                 }
              else
                 {
                 // Failed for other reason than redirect
-                aTransaction.Close();
-                iHttpSession.Close();
                 iOwner.HttpEventL( EConnectionNotOk, iString );
                 }
               
@@ -371,24 +374,21 @@
             break;
     
         default:
-           {
-           DEBUG1( "CIctsHttpHandler::MHFRunL::default iStatus: %d", aEvent.iStatus ); 
-           CTimer::Cancel();
-           aTransaction.Close();
-           iHttpSession.Close();
-           // close the transaction if it's an error
-           if ( aEvent.iStatus < 0 )
-               {
-               _LIT(string, "Unknown error");
-               iString = string;
-               iOwner.HttpEventL( EConnectionNotOk, iString );
-               }
-           else
-               {
-               _LIT(string, "Default");
-               iString = string;
-               iOwner.HttpEventL( EConnectionNotOk, iString );
-               }
+            {
+            DEBUG1( "CIctsHttpHandler::MHFRunL::default iStatus: %d", aEvent.iStatus ); 
+            CTimer::Cancel();
+            if ( aEvent.iStatus < 0 )
+                {
+                _LIT(string, "Unknown error");
+                iString = string;
+                iOwner.HttpEventL( EConnectionNotOk, iString );
+                }
+            else
+                {
+                _LIT(string, "Default");
+                iString = string;
+                iOwner.HttpEventL( EConnectionNotOk, iString );
+                }
             } 
             break;
         }
--- a/hotspotfw/rom/hotspot.iby	Tue Jan 26 13:04:04 2010 +0200
+++ b/hotspotfw/rom/hotspot.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -44,6 +44,8 @@
 S60_APP_AIF_ICONS( hsbrowsericon )
 
 data=ZPRIVATE\10282EC5\backup_registration.xml	private\10282EC5\backup_registration.xml
+data=DATAZ_\system\install\hotspotfwstub.sis  system\install\hotspotfwstub.sis
+data=DATAZ_\system\install\ictsstub.sis  system\install\ictsstub.sis
 
 #endif // __PROTOCOL_WLAN
 #endif // HOTSPOTS_IBY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspotfw/rom/hotspotfwstub.pkg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,50 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:  This is the stub package file for Hotspot Framework
+;
+
+;Languages
+; - None (English only by default)
+
+;Header
+#{"Hotspot Framework"},(0x10282ECB),1,0,0,TYPE=SA
+
+; Product / platform version compatibility - S60 5.2
+[0x20022e6d],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor Name
+%{"Nokia"}
+
+;Unique Vendor Name
+:"Nokia"
+
+; Server stub
+""-"z:\sys\bin\HotSpotServer.exe"
+
+; Client stub
+""-"z:\sys\bin\hotspotclient.dll"
+
+; Hotspot daemon plugin stub
+""-"z:\sys\bin\NetCfgExtnHotSpot.dll"
+""-"z:\resource\plugins\NetCfgExtnHotSpot.RSC"
+
+; Hotspot Management API stub
+""-"z:\sys\bin\hssmgmtimpl.dll"
+""-"z:\resource\plugins\HssMgmtImpl.rsc"
+
+; Plugin interface for WLAN Agent stub
+""-"z:\sys\bin\wlanagthotspotimpl.dll"
+""-"z:\resource\plugins\WlanAgtHotSpotImpl.RSC"
+
+
Binary file hotspotfw/rom/hotspotfwstub.sis has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspotfw/rom/ictsstub.pkg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,35 @@
+;
+; Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+; All rights reserved.
+; This component and the accompanying materials are made available
+; under the terms of "Eclipse Public License v1.0"
+; which accompanies this distribution, and is available
+; at the URL "http://www.eclipse.org/legal/epl-v10.html".
+;
+; Initial Contributors:
+; Nokia Corporation - initial contribution.
+;
+; Contributors:
+;
+; Description:  This is the stub package file for 
+;               Internet Connectivity Test Service
+;
+
+;Languages
+; - None (English only by default)
+
+;Header
+#{"Internet Connectivity Test"},(0x10282EC5),1,0,0,TYPE=SA
+
+; Product / platform version compatibility - S60 5.2
+[0x20022e6d],0,0,0,{"Series60ProductID"}
+
+; Localised Vendor Name
+%{"Nokia"}
+
+;Unique Vendor Name
+:"Nokia"
+
+; Internet Connectivity Test stub
+""-"z:\sys\bin\ictsclientinterface.dll"
+
Binary file hotspotfw/rom/ictsstub.sis has changed
--- a/layers.sysdef.xml	Tue Jan 26 13:04:04 2010 +0200
+++ b/layers.sysdef.xml	Fri Apr 16 16:07:56 2010 +0300
@@ -1,13 +1,14 @@
 <?xml version="1.0"?>
-<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_4_0.dtd" [
+<!DOCTYPE SystemDefinition SYSTEM "sysdef_1_5_1.dtd" [
   <!ENTITY layer_real_source_path "sf/mw/wirelessacc" >
 ]>
 
-<SystemDefinition name="wirelessacc" schema="1.4.0">
+<SystemDefinition name="wirelessacc" schema="1.5.1">
   <systemModel>
     <layer name="mw_layer">
       <module name="wirelessacc">
-        <unit unitID="netdo.wirelessacc" mrp="" bldFile="&layer_real_source_path;/group" name="wirelessacc" />
+        <unit unitID="netdo.wirelessacc" mrp="" bldFile="&layer_real_source_path;/group" name="wirelessacc"/>
+        <unit unitID="netdo.wirelessaccqt" mrp="" bldFile="&layer_real_source_path;" name="wirelessaccqt" proFile="wirelessacc.pro" qmakeArgs="-r"/>
       </module>
     </layer>
   </systemModel>
--- a/package_definition.xml	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<SystemDefinition schema="3.0.0">
-  <package id="wirelessacc" name="Wireless Access" levels="framework generic ui">
-    <collection id="hotspotfw" name="HotSpot Framework" level="framework">
-      <component id="hsserver" filter="s60" name="HotSpot Server">
-      	<!-- needs bld.inf extracted from the hotspotfw/group one, or this component should be removed-->
-      </component>
-      <component id="hsclient" filter="s60" name="HotSpot Client">
-      	<!-- needs bld.inf extracted from the hotspotfw/group one, or this component should be removed-->
-      </component>
-      <component id="internetconnectivitytestservice" filter="s60" name="Internet Connectivity Test Service">
-      	<!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
-        <!-- <unit bldFile="hotspotfw/internetconnectivitytestservice/group"/> -->
-      </component>
-      <component id="ictsdialogs" filter="s60" name="Internet Connectivity Test Service Dialogs" deprecated="^3">
-      	<!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
-        <!-- <unit bldFile="hotspotfw/ictsdialogs/group"/> -->
-      </component>
-      <component id="hspluginforagent" filter="s60" name="HotSpot Plugin for Agent" class="plugin">
-      	<!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
-        <!-- <unit bldFile="hotspotfw/hspluginforagent/group"/> -->
-      </component>
-      <component id="hsbrowser" filter="s60" name="HotSpot Browser">
-      	<!-- needs bld.inf un-#included from hotspotfw/group/bld.inf, or this component should be removed-->
-        <!-- <unit bldFile="hotspotfw/hsbrowser/group"/> -->
-      </component>
-      <component id="hotspotfw_build" filter="s60" name="Hotspot Framework Build">
-      	<!--  should break up this bld.inf into the above components, or collapse them all into a single component -->
-        <unit bldFile="hotspotfw/group"/>
-      </component>
-    </collection>
-    <collection id="wlanutilities" name="WLAN Utilities" level="generic">
-      <component id="wlanplugin" filter="s60" name="WLAN Plugin" class="plugin">
-        <unit bldFile="wlanutilities/wlanplugin/group"/>
-      </component>
-      <component id="wlansettingsui" filter="s60" name="WLAN Settings UI">
-        <unit bldFile="wlanutilities/wlansettingsui/group"/>
-      </component>
-      <component id="wlansniffer" filter="s60" name="WLAN Sniffer">
-        <unit bldFile="wlanutilities/wlansniffer/group"/>
-      </component>
-      <component id="wlanindicatorplugin" filter="s60" name="WLAN Indicator Plugin" class="plugin">
-        <unit bldFile="wlanutilities/wlanindicatorplugin/group"/>
-      </component>
-    </collection>
-    <collection id="wirelessacc_info" name="Wireless Access Info" level="ui">
-      <component id="hsfw_plat" name="HotSpot Framework Platform Interfaces" filter="s60" class="api">
-        <unit bldFile="hsfw_plat/group"/>
-      </component>
-    </collection>
-  </package>
-</SystemDefinition>
--- a/sysdef_1_4_0.dtd	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
- <!ELEMENT SystemDefinition (systemModel?, build?)>
- <!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED>
- <!ELEMENT systemModel (layer+)>
- <!ELEMENT layer (logicalset* | module*)*>
- <!ATTLIST layer
-  name CDATA #REQUIRED
-  levels CDATA #IMPLIED
-  span CDATA #IMPLIED>
- <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalset name CDATA #REQUIRED>
- <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
- <!ATTLIST logicalsubset name CDATA #REQUIRED>
- <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
- <!ATTLIST module
-  name CDATA #REQUIRED
-  level CDATA #IMPLIED>
- <!ELEMENT component (unit* | package* | prebuilt*)*>
- <!ATTLIST component name CDATA #REQUIRED>
- <!ELEMENT unit EMPTY>
- <!ATTLIST unit
-  unitID ID #REQUIRED
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  bldFile CDATA #REQUIRED
-  priority CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT package EMPTY>
- <!ATTLIST package
-  name CDATA #REQUIRED
-  mrp CDATA #REQUIRED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT prebuilt EMPTY>
- <!ATTLIST prebuilt
-  name CDATA #REQUIRED
-  version CDATA #REQUIRED
-  late (Y|N) #IMPLIED
-  filter CDATA #IMPLIED
-  contract CDATA #IMPLIED>
- <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
- <!ELEMENT unitList (unitRef+)>
- <!ATTLIST unitList
-  name ID #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT unitRef EMPTY>
- <!ATTLIST unitRef unit IDREF #REQUIRED>
- <!ELEMENT targetList EMPTY>
- <!ATTLIST targetList
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  target IDREFS #REQUIRED>
- <!ELEMENT target EMPTY>
- <!ATTLIST target
-  name ID #REQUIRED
-  abldTarget CDATA #REQUIRED
-  description CDATA #REQUIRED>
- <!ELEMENT option EMPTY>
- <!ATTLIST option
-  name ID #REQUIRED
-  abldOption CDATA #REQUIRED
-  description CDATA #REQUIRED
-  enable (Y | N | y | n) #REQUIRED>
- <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
- <!ATTLIST configuration
-  name ID #REQUIRED
-  description CDATA #REQUIRED
-  filter CDATA #REQUIRED>
- <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
- <!ELEMENT unitListRef EMPTY>
- <!ATTLIST unitListRef unitList IDREF #REQUIRED>
- <!ELEMENT layerRef EMPTY>
- <!ATTLIST layerRef layerName CDATA #REQUIRED>
- <!ELEMENT buildLayer EMPTY>
- <!ATTLIST buildLayer
-  command CDATA #REQUIRED
-  targetList IDREFS #IMPLIED
-  unitParallel (Y | N | y | n) #REQUIRED
-  targetParallel (Y | N | y | n) #IMPLIED>
- <!ELEMENT specialInstructions EMPTY>
- <!ATTLIST specialInstructions
-  name CDATA #REQUIRED
-  cwd CDATA #REQUIRED
-  command CDATA #REQUIRED>  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/sysdef_1_5_1.dtd	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,88 @@
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset name CDATA #REQUIRED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  proFile CDATA #IMPLIED
+  qmakeArgs CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>  
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wirelessacc.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  += wlanutilities
+
+CONFIG += ordered
+
+symbian*: {
+    SYMBIAN_PLATFORMS = WINSCW ARMV5
+} 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/cpwlansettingsplugin.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = cpwlansettingsplugin
+CONFIG += hb plugin
+
+INCLUDEPATH += traces
+
+HEADERS += inc/cpwlansettingsplugin.h \
+		inc/cpwlansettingsgroupitemdata.h \
+		inc/wlansettings.h \
+		inc/wlansettings_s60_p.h \
+		traces/OstTraceDefinitions.h
+		
+SOURCES += src/cpwlansettingsplugin.cpp \
+		src/cpwlansettingsgroupitemdata.cpp \
+		src/wlansettings.cpp \
+		src/wlansettings_s60.cpp
+
+TRANSLATIONS = cpwlansettingsplugin.ts
+
+LIBS += -lcpframework \
+		-lcentralrepository \
+		-lCOMMSDAT \
+		-lcmmanagerdatabase \
+		-lcmmanager \
+		-lecom \
+		-lxqsettingsmanager
+				
+symbian: { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.UID3 = 0x2002DC79
+    SYMBIAN_PLATFORMS = WINSCW ARMV5
+    
+    BLD_INF_RULES.prj_exports += "rom/cpwlansettingsplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(cpwlansettingsplugin.iby)"
+    BLD_INF_RULES.prj_exports += "rom/cpwlansettingsplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(cpwlansettingsplugin_resources.iby)"
+}
+symbian { 
+    deploy.path = C:
+    qtplugins.path = /resource/qt/plugins/controlpanel
+    qtplugins.sources += qmakepluginstubs/cpwlansettingsplugin.qtplugin
+    
+    # This is for new exporting system coming in garden
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+TARGET.CAPABILITY = CAP_GENERAL_DLL
+plugin.sources = cpwlansettingsplugin.dll
+plugin.path = /resource/qt/plugins/controlpanel
+DEPLOYMENT += plugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/cpwlansettingsgroupitemdata.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef WLANSETTINGSGROUPITEMDATA_H_
+#define WLANSETTINGSGROUPITEMDATA_H_
+
+// System includes
+
+#include <QObject>
+#include <QScopedPointer>
+#include <cpsettingformitemdata.h>
+#include <cpitemdatahelper.h>
+
+// User includes
+
+// Forward declarations
+
+class WlanSettings;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanSettingsGroupItemData: public CpSettingFormItemData
+{
+    Q_OBJECT
+    
+public:
+    explicit CpWlanSettingsGroupItemData(CpItemDataHelper &itemDataHelper);
+
+    virtual ~CpWlanSettingsGroupItemData();
+    
+private slots:
+    void scanItemChanged(const QString &text);
+    
+    void powerSavingItemChanged(int index);
+    
+    void joinWlanItemChanged(int index);
+    
+    void scanSliderPressed();
+    
+    void scanValueChanged(int value);
+    
+    void scanSliderReleased();
+    
+private:
+    
+    Q_DISABLE_COPY(CpWlanSettingsGroupItemData)
+    
+    void createScanIntervalItem();
+    
+    void initialise();
+    
+    void createWlanSettingItems();
+    
+private:    // data
+    
+    CpSettingFormItemData *mJoinWlanItem;
+    CpSettingFormItemData *mScanNetworkItem;
+    CpSettingFormItemData *mPowerSavingItem;
+    CpSettingFormItemData *mUserDefinedItem;
+    
+    CpItemDataHelper &mItemDataHelper;
+    
+    int mScanInterval;
+    
+    //WlanSettings *mWlanSettings;
+    QScopedPointer<WlanSettings> mWlanSettings;
+};
+
+#endif /* WLANSETTINGSGROUPITEMDATA_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/cpwlansettingsplugin.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef WLANSETTINGSPLUGIN_H_
+#define WLANSETTINGSPLUGIN_H_
+
+// System includes
+
+#include <QObject>
+#include <QTranslator>
+#include <cpplugininterface.h>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanSettingsPlugin 
+        : public QObject,
+          public CpPluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginInterface)
+public:
+    CpWlanSettingsPlugin();
+    virtual ~CpWlanSettingsPlugin();
+    virtual QList<CpSettingFormItemData*> createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+
+private:
+    
+    Q_DISABLE_COPY(CpWlanSettingsPlugin)
+    
+private:    //data
+
+    QTranslator *translator;
+    
+};
+
+
+#endif /* WLANSETTINGSPLUGIN_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/wlansettings.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef WLANSETTINGS_H_
+#define WLANSETTINGS_H_
+
+// System includes
+
+#include <QObject>
+
+// User includes
+
+#include "wlansettings_s60_p.h"
+
+// Forward declarations
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanSettings : public QObject
+{
+     Q_OBJECT
+     
+public:
+     
+     enum ScanNetworkType {
+         EScanNetworkAuto = 0,
+         EScanNetworkUserDefined        
+     };
+     
+     WlanSettings();
+
+     ~WlanSettings();
+     
+     int init();
+     
+     int loadSettings();
+     
+     ScanNetworkType scanNetworkType();
+     
+     uint scanInterval();
+     
+     int joinWlanMode() const;
+     
+     int setJoinWlanMode(int mode);
+     
+     int isPowerSavingEnabled() const;
+     
+     int isPsmEnabled() const;
+     
+     int setWlanPowerSaving(int powerSavingOption);
+     
+     int setWlanScanInterval(uint scanInterval);
+
+private:
+     
+     void readPsmKey();
+     
+     Q_DISABLE_COPY(WlanSettings)
+     
+private:    //data
+     
+     CWlanSettingsPrivate *mImpl;
+     
+     int mPsmKeyValue;
+     
+};
+
+
+#endif /* WLANSETTINGS_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/inc/wlansettings_s60_p.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,120 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#ifndef WLANSETTINGS_S60_H_
+#define WLANSETTINGS_S60_H_
+
+// System includes
+
+#include <e32base.h>
+#include <wlancontainer.h>
+#include <centralrepository.h>
+#include <wlanmgmtclient.h>
+#include <cmgenconnsettings.h>
+
+// User includes
+
+// Forward declarations
+
+// External data types
+
+// Constants
+/**  Value for automatic scanning. */
+LOCAL_D const TUint KWlanSettingsScanNetworkAuto = 0xFFFFFFFF;
+
+/**  Default "Scan Networks" setting. */
+LOCAL_D const TUint KWlanSettingsDefaultScanNetwork =
+    KWlanSettingsScanNetworkAuto;
+
+/**  Default "Power saving" setting. */
+LOCAL_D const TBool KWlanSettingsDefaultPowerSaving = ETrue;
+
+// Class declaration
+
+class CWlanSettingsPrivate : public CBase
+{
+public:
+    
+    enum JoinWlanType {
+        EJoinWlanKnown = 0,
+        EJoinWlanManual        
+    };
+    
+    enum WlanOption {
+        EWlanPowerSaving = 0,
+        EWlanScanInterval        
+    };
+    
+    static CWlanSettingsPrivate* NewL(int psmKeyValue);
+    
+    ~CWlanSettingsPrivate();
+    
+    void LoadDBSettingsL();
+    
+    void SaveDBSettingsL(TInt option);
+    
+    TUint ScanInterval();
+    
+    TBool PowerSaving();
+    
+    TInt JoinWlanMode();
+    
+    void SaveJoinWlanSettingL(TInt mode);
+    
+    void SetScanInterval(TUint interval);
+    
+    void SetPowerSaving(TBool powerSavingOption);
+    
+    TBool IsPsmEnabled();
+    
+private:
+    
+    CWlanSettingsPrivate(int psmKeyValue);
+    
+    void ConstructL();
+    
+    void CheckPsmModeL();
+    
+    void LoadJoinWlanSettingL();
+    
+private:    //data
+    
+    CommsDat::CMDBSession *mSession;
+
+    //Wlan management
+    CWlanMgmtClient *mWlanMgmtClient;
+
+    // Full or partial PSM mode.
+    TBool mPsmMode;   
+
+    // Power saving.
+    TBool mPowerSaving;
+
+    // Scan networks interval in seconds. 0 for no scan, 0xFFFFFFFF for automatic. 
+    TUint mScanInterval;
+    
+    JoinWlanType mJoinWlanType;
+    
+    //Struct to hold current settings
+    TCmGenConnSettings mCmSettings;
+    
+    int mPsmKeyMode;
+
+};
+
+#endif /* WLANSETTINGS_S60_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/rom/cpwlansettingsplugin.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CPWLANSETTINGPLUGIN_IBY
+#define CPWLANSETTINGPLUGIN_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+#include <bldvariant.hrh>
+
+file=ABI_DIR/BUILD_DIR/cpwlansettingsplugin.dll SHARED_LIB_DIR/cpwlansettingsplugin.dll
+data=/epoc32/data/c/resource/qt/plugins/controlpanel/cpwlansettingsplugin.qtplugin resource/qt/plugins/controlpanel/cpwlansettingsplugin.qtplugin
+
+#endif // CPWLANSETTINGPLUGIN_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/rom/cpwlansettingsplugin_resources.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,27 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef CPWLANSETTINGPLUGIN_RESOURCES_IBY
+#define CPWLANSETTINGPLUGIN_RESOURCES_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+#include <bldvariant.hrh>
+
+//For localization resource
+data=DATAZ_/QT_TRANSLATIONS_DIR/cpwlansettingsplugin.qm QT_TRANSLATIONS_DIR/cpwlansettingsplugin.qm
+
+#endif // CPWLANSETTINGPLUGIN_RESOURCES_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/cpwlansettingsgroupitemdata.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,333 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+// System includes
+
+#include <HbGlobal>
+#include <HbDataFormModelItem>
+#include <HbLineEdit>
+#include <HbValidator>
+#include <HbMessageBox>
+#include <QStringList>
+#include <cpsettingformitemdata.h>
+
+// User includes
+
+#include "cpwlansettingsgroupitemdata.h"
+#include "wlansettings.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlansettingsgroupitemdataTraces.h"
+#endif
+
+/*!
+    \class CpWlanSettingsGroupItemData
+    \brief CpWlanSettingsGroupItemData class creates all widgets required for Manage 
+    WLAN Settings.
+*/
+
+// External function prototypes
+
+// Local constants
+/**  Maximum Value for Scan Interval. */
+const int KMaximumScanInterval = 30;
+/**  Minimum Value for Scan Interval. */
+const int KMinimumScanInterval = 0;
+/**  To Enable the setting of a widget propery. */
+const int KEnableOption = 1;
+/**  Maximum widgets allowed for this Item Data. */
+const int KMaxWidgets = 4;
+/**  Index of Slider widget for Scan Interval. */
+const int KSliderIndex = 2;
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+*/
+
+CpWlanSettingsGroupItemData::CpWlanSettingsGroupItemData(
+        CpItemDataHelper &itemDataHelper) :
+    CpSettingFormItemData(HbDataFormModelItem::GroupItem, hbTrId(
+            "txt_occ_subhead_wlan_settings")),
+            mItemDataHelper(itemDataHelper)
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_ENTRY, this);
+    
+    initialise();
+    
+    createWlanSettingItems();
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_EXIT, this);
+}
+
+/*!
+    Destructor.
+*/
+
+CpWlanSettingsGroupItemData::~CpWlanSettingsGroupItemData()
+{
+    OstTraceFunctionEntry1(DUP1_CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_ENTRY, this);
+    OstTraceFunctionExit1(DUP1_CPWLANSETTINGSGROUPITEMDATA_CPWLANSETTINGSGROUPITEMDATA_EXIT, this);
+}
+
+/*!
+    Initialises the member variables and reads the values of WLAN Settings.
+*/
+
+void CpWlanSettingsGroupItemData::initialise()
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_INITIALISE_ENTRY, this);
+    
+    mWlanSettings.reset(new WlanSettings);
+    
+    //Error needs to be handled.
+    int error = mWlanSettings->init();
+    
+    //Error needs to be handled.
+    error = mWlanSettings->loadSettings();
+    
+    mUserDefinedItem = NULL;
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_INITIALISE_EXIT, this);
+}
+
+/*!
+    Creates the Widgets for displaying WLAN Settings.
+*/
+
+void CpWlanSettingsGroupItemData::createWlanSettingItems()
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_CREATEWLANSETTINITEMS_ENTRY, this);
+    
+    mJoinWlanItem = new CpSettingFormItemData(
+            HbDataFormModelItem::ComboBoxItem, hbTrId(
+                    "txt_occ_setlabel_join_wlan_networks"), this);
+    
+    QStringList joinWlanItems;
+    
+    joinWlanItems.append(hbTrId(
+            "txt_occ_setlabel_join_wlan_networks_val_known"));
+    
+    joinWlanItems.append(hbTrId(
+            "txt_occ_setlabel_join_wlan_networks_val_manual"));
+
+    mJoinWlanItem->setContentWidgetData("items", joinWlanItems);
+
+    mItemDataHelper.addConnection(mJoinWlanItem,
+            SIGNAL(currentIndexChanged (int)), this,
+            SLOT(joinWlanItemChanged (int)));
+
+    mJoinWlanItem->setContentWidgetData("currentIndex",
+            mWlanSettings->joinWlanMode());
+
+    this->appendChild(mJoinWlanItem);
+
+    mScanNetworkItem = new CpSettingFormItemData(
+            HbDataFormModelItem::ComboBoxItem, hbTrId(
+                    "txt_occ_setlabel_scan_for_networks"), this);
+    
+    QStringList scanNetworkItems;
+    
+    scanNetworkItems.append(hbTrId(
+            "txt_occ_setlabel_scan_for_networks_val_automatic"));
+    
+    scanNetworkItems.append(hbTrId(
+            "txt_occ_setlabel_scan_for_networks_val_userdefine"));
+
+    mScanNetworkItem->setContentWidgetData("items", scanNetworkItems);
+
+    mItemDataHelper.addConnection(mScanNetworkItem,
+            SIGNAL(currentIndexChanged (const QString &)), this,
+            SLOT(scanItemChanged (const QString &)));
+
+    this->appendChild(mScanNetworkItem);
+
+    WlanSettings::ScanNetworkType scanType = mWlanSettings->scanNetworkType();
+
+    mScanNetworkItem->setContentWidgetData("currentIndex", scanType);
+
+    if (scanType == WlanSettings::EScanNetworkUserDefined) {
+        createScanIntervalItem();
+        this->appendChild(mUserDefinedItem);
+    }
+
+    mPowerSavingItem = new CpSettingFormItemData(
+            HbDataFormModelItem::ComboBoxItem, hbTrId(
+                    "txt_occ_setlabel_power_saving"), this);
+    
+    QStringList powerSavingItems;
+    
+    powerSavingItems.append(hbTrId(
+            "txt_occ_setlabel_power_saving_val_disabled"));
+    
+    powerSavingItems.append(hbTrId(
+            "txt_occ_setlabel_power_saving_val_enabled"));
+
+    mPowerSavingItem->setContentWidgetData("items", powerSavingItems);
+
+    mPowerSavingItem->setContentWidgetData("currentIndex",
+            mWlanSettings->isPowerSavingEnabled());
+
+    mItemDataHelper.addConnection(mPowerSavingItem,
+            SIGNAL(currentIndexChanged (int)), this,
+            SLOT(powerSavingItemChanged (int)));
+
+    this->appendChild(mPowerSavingItem);
+
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_CREATEWLANSETTINITEMS_EXIT, this);
+}
+
+/*!
+    Creates the slider widget for displaying scan interval value.
+*/
+
+void CpWlanSettingsGroupItemData::createScanIntervalItem()
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_CREATESCANINTERVALITEM_ENTRY, this);
+    
+    mUserDefinedItem = new CpSettingFormItemData(
+            HbDataFormModelItem::SliderItem, hbTrId(
+                    "txt_occ_setlabel_scan_interval_minutes"), this);
+
+    mUserDefinedItem->setContentWidgetData("maximum", KMaximumScanInterval);
+    mUserDefinedItem->setContentWidgetData("minimum", KMinimumScanInterval);
+    mUserDefinedItem->setContentWidgetData("toolTipVisible", KEnableOption);
+    mUserDefinedItem->setContentWidgetData("tracking", KEnableOption);
+
+    mItemDataHelper.addConnection(mUserDefinedItem,
+            SIGNAL(valueChanged (int)), this, SLOT(scanValueChanged (int)));
+    
+    mItemDataHelper.addConnection(mUserDefinedItem,
+            SIGNAL(sliderReleased ()), this, SLOT(scanSliderReleased ()));
+    
+    mItemDataHelper.addConnection(mUserDefinedItem, SIGNAL(sliderPressed ()),
+            this, SLOT(scanSliderPressed ()));
+
+    mScanInterval = mWlanSettings->scanInterval();
+
+    mUserDefinedItem->setContentWidgetData("value", mScanInterval);
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_CREATESCANINTERVALITEM_EXIT, this);
+}
+
+/*!
+    Slot for handling pressed singal of scan interval slider widget.
+*/
+
+void CpWlanSettingsGroupItemData::scanSliderPressed()
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERPRESSED_ENTRY, this);
+    
+    mUserDefinedItem->setContentWidgetData("text",QString("%1").arg(mScanInterval));
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERPRESSED_EXIT, this);
+}
+
+/*!
+    Slot for handling value changed singal of scan interval slider widget.
+*/
+
+void CpWlanSettingsGroupItemData::scanValueChanged(int value)
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_SCANVALUECHANGED_ENTRY, this);
+    
+    mUserDefinedItem->setContentWidgetData("text",QString("%1").arg(value));
+    mScanInterval = value;
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_SCANVALUECHANGED_EXIT, this);
+}
+
+/*!
+    Slot for handling Released singal of scan interval slider widget.
+    Current value will be commited to database.
+*/
+
+void CpWlanSettingsGroupItemData::scanSliderReleased()
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERRELEASED_ENTRY, this);
+    
+    mWlanSettings->setWlanScanInterval(mScanInterval);
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_SCANSLIDERRELEASED_EXIT, this);
+}
+
+/*!
+    Slot for handling item changed singal of Scan for network combo box widget.
+*/
+
+void CpWlanSettingsGroupItemData::scanItemChanged(const QString &text)
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_SCANITEMCHANGED_ENTRY, this);
+    
+    if (hbTrId("txt_occ_setlabel_scan_for_networks_val_userdefine") == text) {
+        //In case of PSM mode for device user-defined value is not 
+        //allowed,make it automatic forcefully.
+        if (mWlanSettings->isPsmEnabled()) {
+            //Need to check for dimming of the combobox option.
+            mScanNetworkItem->setContentWidgetData("currentIndex",
+                    WlanSettings::EScanNetworkAuto);
+        }
+        else {
+            //Add Scan Interval Slider, if it was not added.
+            if (this->childCount() < KMaxWidgets) {
+                createScanIntervalItem();
+                this->insertChild(KSliderIndex,mUserDefinedItem);
+                mWlanSettings->setWlanScanInterval(mWlanSettings->scanInterval());
+            }
+        }
+    }
+    else {
+        //Remove Scan Interval slider, if user selects automatic option
+        //for Scan network setting and if slider was added earlier.
+        if (KMaxWidgets == this->childCount()) {
+            this->removeChild(KSliderIndex);
+            mUserDefinedItem = NULL;    //removeChild() will delete the item.
+            mWlanSettings->setWlanScanInterval(KWlanSettingsScanNetworkAuto);
+        }
+    }
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_SCANITEMCHANGED_EXIT, this);
+}
+
+/*!
+    Slot for handling item changed singal of Power saving combo box widget.
+*/
+
+void CpWlanSettingsGroupItemData::powerSavingItemChanged(int index)
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_POWERSAVINGITEMCHANGED_ENTRY, this);
+    
+    mWlanSettings->setWlanPowerSaving(index);
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_POWERSAVINGITEMCHANGED_EXIT, this);
+}
+
+/*!
+    Slot for handling item changed singal of Join WLAN networks combo box widget.
+*/
+
+void CpWlanSettingsGroupItemData::joinWlanItemChanged(int index)
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSGROUPITEMDATA_JOINWLANITEMCHANGED_ENTRY, this);
+    
+    mWlanSettings->setJoinWlanMode(index);
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSGROUPITEMDATA_JOINWLANITEMCHANGED_EXIT, this);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/cpwlansettingsplugin.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+// System includes
+
+#include <QLocale>
+#include <QCoreApplication>
+#include <cpitemdatahelper.h>
+#include <cpsettingformitemdata.h>
+
+// User includes
+
+#include "cpwlansettingsplugin.h"
+#include "cpwlansettingsgroupitemdata.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlansettingspluginTraces.h"
+#endif
+
+/*!
+    \class CpWlanSettingsPlugin
+    \brief CpWlanSettingsPlugin implements the WLAN Settings Control Panel Plugin
+    which will allow viewing/editing of Manage WLAN Settings.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+*/
+
+CpWlanSettingsPlugin::CpWlanSettingsPlugin() :
+    QObject()
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_ENTRY, this);
+    
+    translator = new QTranslator(this);
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_EXIT, this);
+}
+
+/*!
+    Destructor.
+*/
+
+CpWlanSettingsPlugin::~CpWlanSettingsPlugin()
+{
+
+    OstTraceFunctionEntry1(DUP1_CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_ENTRY, this);
+    OstTraceFunctionExit1(DUP1_CPWLANSETTINGSPLUGIN_CPWLANSETTINGSPLUGIN_EXIT, this);
+}
+
+/*!
+    Plugin function for creating the WLAN Settings form item data.
+*/
+
+QList<CpSettingFormItemData*> CpWlanSettingsPlugin::createSettingFormItemData(
+        CpItemDataHelper &itemDataHelper) const
+{
+    OstTraceFunctionEntry1(CPWLANSETTINGSPLUGIN_CREATESETTINGFORMITEMDATA_ENTRY, this);
+    
+    // Locale
+    QString lang = QLocale::system().name(); 
+    QString path = "Z:/resource/qt/translations/"; 
+    translator->load("cpwlansettingsplugin_" + lang, path); 
+    qApp->installTranslator(translator);
+
+    QList<CpSettingFormItemData*> settingFormData;
+    settingFormData.append(new CpWlanSettingsGroupItemData(itemDataHelper));
+    
+    OstTraceFunctionExit1(CPWLANSETTINGSPLUGIN_CREATESETTINGFORMITEMDATA_EXIT, this);
+    return settingFormData;
+    
+}
+
+Q_EXPORT_PLUGIN2(cpwlansettingsplugin, CpWlanSettingsPlugin);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/wlansettings.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,241 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+// System includes
+
+#include <xqsettingsmanager.h>
+#include <xqsettingskey.h>
+#include <psmsrvdomaincrkeys.h>
+
+// User includes
+
+#include "wlansettings.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansettingsTraces.h"
+#endif
+
+/*!
+   \class WlanSettings
+   \brief WlanSettings is a wrapper class for CWlanSettingsImpl.
+*/
+
+// External function prototypes
+
+// Local constants
+/**  Default value for Scan Interval. */
+const int KDefaultScanInterval = 5;
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+*/
+
+WlanSettings::WlanSettings() :
+    QObject(), mPsmKeyValue(0)
+{
+
+    OstTraceFunctionEntry1(WLANSETTINGS_WLANSETTINGS_ENTRY, this);
+    OstTraceFunctionExit1(WLANSETTINGS_WLANSETTINGS_EXIT, this);
+}
+
+/*!
+    Destructor.
+*/
+
+WlanSettings::~WlanSettings()
+{
+    OstTraceFunctionEntry1(DUP1_WLANSETTINGS_WLANSETTINGS_ENTRY, this);
+
+    delete mImpl;
+    
+    OstTraceFunctionExit1(DUP1_WLANSETTINGS_WLANSETTINGS_EXIT, this);
+}
+
+/*!
+    Creates the CWlanSettingsImpl object for reading/writing settings.
+    \return Error code.
+*/
+
+int WlanSettings::init()
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_INIT_ENTRY, this);
+    
+    readPsmKey();
+    
+    TRAPD(error,(mImpl = CWlanSettingsPrivate::NewL(mPsmKeyValue)));
+    
+    OstTraceFunctionExit1(WLANSETTINGS_INIT_EXIT, this);
+    return error;
+}
+
+
+void WlanSettings::readPsmKey()
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_READPSMKEY_ENTRY, this);
+    
+    QScopedPointer<XQSettingsManager> settingsManager;
+    settingsManager.reset(new XQSettingsManager());
+
+    XQSettingsKey key(XQSettingsKey::TargetCentralRepository,
+            KCRUidPowerSaveMode.iUid, KPsmCurrentMode);
+
+    QVariant keyValue = settingsManager->readItemValue(key);
+
+    mPsmKeyValue = keyValue.toInt();
+    
+    OstTraceFunctionExit1(WLANSETTINGS_READPSMKEY_EXIT, this);
+}
+
+/*!
+    Reads the WLAN setting values.
+    \return Error code.
+*/
+
+int WlanSettings::loadSettings()
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_LOADSETTINGS_ENTRY, this);
+    
+    TRAPD(error, mImpl->LoadDBSettingsL());
+    
+    OstTraceFunctionExit1(WLANSETTINGS_LOADSETTINGS_EXIT, this);
+    return error;
+}
+
+/*!
+    Function to get the scan network type.
+    \return ScanNetworkType which is automatic or user-defined.
+*/
+
+WlanSettings::ScanNetworkType WlanSettings::scanNetworkType()
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_SCANNETWORKTYPE_ENTRY, this);
+    
+    ScanNetworkType scanType;
+    uint scanInterval = mImpl->ScanInterval();
+    
+    if (scanInterval == KWlanSettingsScanNetworkAuto) {
+        scanType = EScanNetworkAuto;
+    }
+    else {
+        scanType = EScanNetworkUserDefined;
+    }
+    
+    OstTraceFunctionExit1(WLANSETTINGS_SCANNETWORKTYPE_EXIT, this);
+    return scanType;
+}
+
+/*!
+    Function to get the scan interval.
+    \return Scan interval  in minutes.
+*/
+
+uint WlanSettings::scanInterval()
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_SCANINTERVAL_ENTRY, this);
+    
+    uint scanInterval = mImpl->ScanInterval();
+    
+    if (scanInterval == KWlanSettingsScanNetworkAuto) {
+        scanInterval = KDefaultScanInterval;
+    }
+    
+    OstTraceFunctionExit1(WLANSETTINGS_SCANINTERVAL_EXIT, this);
+    return scanInterval;
+}
+
+/*!
+    Function to get Power Saving Option.
+    \return True if Power Saving option is enabled, otherwise False.
+*/
+
+int WlanSettings::isPowerSavingEnabled() const
+{
+    return mImpl->PowerSaving();
+}
+
+/*!
+    Function to set Power Saving Option.
+    \param powerSavingOption True to enable or false to disable power saving option. 
+    \return Error code.
+*/
+
+int WlanSettings::setWlanPowerSaving(int powerSavingOption)
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_SETWLANPOWERSAVING_ENTRY, this);
+    
+    mImpl->SetPowerSaving(powerSavingOption);
+    TRAPD(error, mImpl->SaveDBSettingsL(CWlanSettingsPrivate::EWlanPowerSaving));
+
+    OstTraceFunctionExit1(WLANSETTINGS_SETWLANPOWERSAVING_EXIT, this);
+    return error;
+}
+
+/*!
+    Function to set Scan interval.
+    \param scanInterval Scan interval in minutes. 
+    \return Error code.
+*/
+
+int WlanSettings::setWlanScanInterval(uint scanInterval)
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_SETWLANSCANINTERVAL_ENTRY, this);
+    
+    mImpl->SetScanInterval(scanInterval);
+    TRAPD(error, mImpl->SaveDBSettingsL(CWlanSettingsPrivate::EWlanScanInterval));
+
+    OstTraceFunctionExit1(WLANSETTINGS_SETWLANSCANINTERVAL_EXIT, this);
+    return error;
+}
+
+/*!
+    Function to get Join WLAN networks option.
+    \return 0 for Known, 1 for Manual.
+*/
+
+int WlanSettings::joinWlanMode() const
+{
+    return mImpl->JoinWlanMode();
+}
+
+/*!
+    Function to set Join WLAN networks option.
+    \param mode 0 for Known, 1 for Manual. 
+    \return Error code.
+*/
+
+int WlanSettings::setJoinWlanMode(int mode)
+{
+    OstTraceFunctionEntry1(WLANSETTINGS_SETJOINWLANMODE_ENTRY, this);
+    
+    TRAPD(error, mImpl->SaveJoinWlanSettingL(mode));
+    
+    OstTraceFunctionExit1(WLANSETTINGS_SETJOINWLANMODE_EXIT, this);
+    return error;
+}
+
+/*!
+    Function to get Power Saving status of the device.
+    \return True if Power Saving is enabled.
+*/
+
+int WlanSettings::isPsmEnabled() const
+{
+    return mImpl->IsPsmEnabled();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/src/wlansettings_s60.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,398 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+// System includes
+
+#include <internetconnectivitycrkeys.h>
+#include <psmtypes.h>
+#include <cmmanager.h>
+
+// User includes
+
+#include "wlansettings_s60_p.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansettings_s60Traces.h"
+#endif
+
+/*!
+    \class CWlanSettingsPrivate
+    \brief CWlanSettingsPrivate is the actual implementation for 
+    reading/writing WLAN Settings from/to database.
+*/
+
+// External function prototypes
+
+// Local constants
+/**  Seconds per minute. */
+const TInt KWlanSettingsSecondsInMinute = 60;
+/**  Maximum value for scan interval in minutes. */
+const TInt KWlanSettingsScanNetworkMax = 30;
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Static NewL function for creating CWlanSettingsPrivate object.
+    \return Pointer to CWlanSettingsPrivate object.
+*/
+
+CWlanSettingsPrivate* CWlanSettingsPrivate::NewL(int psmKeyValue)
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_NEWL_ENTRY, this);
+    
+    CWlanSettingsPrivate* impl = new ( ELeave ) CWlanSettingsPrivate(psmKeyValue);
+    CleanupStack::PushL( impl );
+    impl->ConstructL();
+    CleanupStack::Pop( impl ); 
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_NEWL_EXIT, this);
+    return impl;    
+}
+
+/*!
+    Second phase Constructor.
+*/
+
+void CWlanSettingsPrivate::ConstructL()
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_CONSTRUCTL_ENTRY, this);
+    
+    mSession = CMDBSession::NewL( KCDLatestVersion );
+    
+#ifndef __WINS__
+    mWlanMgmtClient = CWlanMgmtClient::NewL();
+#endif
+    
+    CheckPsmModeL();
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_CONSTRUCTL_EXIT, this);
+}
+
+/*!
+    Constructor.
+*/
+
+CWlanSettingsPrivate::CWlanSettingsPrivate(int psmKeyValue) :
+    mPsmMode( EFalse ),
+    mPowerSaving(KWlanSettingsDefaultPowerSaving),
+    mScanInterval(KWlanSettingsDefaultScanNetwork),
+    mPsmKeyMode(psmKeyValue)
+{
+    
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_ENTRY, this);
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_EXIT, this);
+    
+}
+
+/*!
+    Destructor.
+*/
+
+CWlanSettingsPrivate::~CWlanSettingsPrivate()
+{
+    OstTraceFunctionEntry1(DUP1_CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_ENTRY, this);
+    
+    delete mSession;
+#ifndef __WINS__
+    delete mWlanMgmtClient;
+#endif
+    
+    OstTraceFunctionExit1(DUP1_CWLANSETINGPRIVATE_CWLANSETINGPRIVATE_EXIT, this);
+}
+
+/*!
+    Function to get the Power Saving mode of the device.
+*/
+
+void CWlanSettingsPrivate::CheckPsmModeL()
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_CHECKPSMMODEL_ENTRY, this);
+    
+    TPsmsrvMode mode( EPsmsrvModeNormal );
+    
+    mode = static_cast<TPsmsrvMode>( mPsmKeyMode );
+    if ( mode == EPsmsrvModePowerSave || mode == EPsmsrvPartialMode ) {
+        mPsmMode = ETrue;
+    }
+    else {
+        mPsmMode = EFalse;
+    }
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_CHECKPSMMODEL_EXIT, this);
+}
+
+/*!
+    Function to load the WLAN Settings from CommsDB.
+*/
+
+void CWlanSettingsPrivate::LoadDBSettingsL()
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_LOADDBSETTINGSL_ENTRY, this);
+    
+    TBool ownTransaction( EFalse );
+    if ( !mSession->IsInTransaction() ) {
+        ownTransaction = ETrue;
+        mSession->OpenTransactionL();
+    }
+    TMDBElementId tableId = 0;
+    
+    tableId = CCDWlanDeviceSettingsRecord::TableIdL( *mSession );
+        
+    CCDWlanDeviceSettingsRecord* record = new( ELeave )
+            CCDWlanDeviceSettingsRecord( tableId );         
+    CleanupStack::PushL( record );
+    
+    record->iWlanDeviceSettingsType = KWlanUserSettings; 
+    
+    if ( record->FindL( *mSession ) ) {
+        record->LoadL( *mSession );
+    }
+
+    // Read scan interval
+
+    mScanInterval = record->iBgScanInterval;
+    //In Case of PSM mode Scan Interval should be set to Auto
+    if (mPsmMode) {
+        mScanInterval = KWlanSettingsScanNetworkAuto;
+    }
+    else {
+        mScanInterval = record->iSavedBgScanInterval;
+        //Safe check for scan interval, control should not come here.
+        if (mScanInterval > (KWlanSettingsScanNetworkMax
+                * KWlanSettingsSecondsInMinute)) {
+            mScanInterval = KWlanSettingsScanNetworkAuto;
+        }
+    }
+    
+    mPowerSaving = record->iWlanPowerMode;
+    CleanupStack::PopAndDestroy( record ); 
+    
+    if ( ownTransaction ) {
+        mSession->CommitTransactionL();
+          // Rollback operation.
+    }
+    
+    //To Load CM Settings.
+    LoadJoinWlanSettingL();
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_LOADDBSETTINGSL_EXIT, this);
+}
+
+/*!
+    Function to load the Join WLAN networks Setting from CMManager.
+*/
+
+void CWlanSettingsPrivate::LoadJoinWlanSettingL()
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_LOADJOINWLANSETTINGL_ENTRY, this);
+    
+    RCmManager CmManager;
+    CmManager.CreateTablesAndOpenL();
+    CleanupClosePushL(CmManager); 
+    CmManager.ReadGenConnSettingsL( mCmSettings );
+    CleanupStack::PopAndDestroy( 1 );     //CmManager
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_LOADJOINWLANSETTINGL_EXIT, this);
+}
+
+/*!
+    Function to write the Join WLAN networks Setting using CMManager.
+*/
+
+void CWlanSettingsPrivate::SaveJoinWlanSettingL(TInt mode)
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_SAVEJOINWLANSETTINGL_ENTRY, this);
+    
+    switch ( mode ) {        
+        case EJoinWlanKnown:
+            mCmSettings.iUsageOfWlan = ECmUsageOfWlanKnown;
+            break;
+            
+        case EJoinWlanManual:
+            mCmSettings.iUsageOfWlan = ECmUsageOfWlanManual;
+            break;
+                        
+        default:
+            break;
+    }
+    
+    RCmManager CmManager;
+    CmManager.CreateTablesAndOpenL();
+    CleanupClosePushL(CmManager); 
+    CmManager.WriteGenConnSettingsL( mCmSettings );
+    CleanupStack::PopAndDestroy( 1 );
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_SAVEJOINWLANSETTINGL_EXIT, this);
+}
+
+/*!
+    Function to get the Join WLAN network setting.
+    \return 0 for Known, 1 for Manual.
+*/
+
+TInt CWlanSettingsPrivate::JoinWlanMode()
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_JOINWLANMODE_ENTRY, this);
+    
+    TInt mode = 0;
+    
+    switch ( mCmSettings.iUsageOfWlan ) {
+        case ECmUsageOfWlanKnown: 
+            mode = EJoinWlanKnown;
+            break;
+            
+        case ECmUsageOfWlanManual:
+            mode = EJoinWlanManual;
+            break;
+                        
+        default:
+            break;
+    }
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_JOINWLANMODE_EXIT, this);
+    return mode;
+}
+
+/*!
+    Function to write the WLAN Settings to CommsDb.
+*/
+
+void CWlanSettingsPrivate::SaveDBSettingsL(TInt option)
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_SAVEDBSETTINGSL_ENTRY, this);
+    
+    TBool ownTransaction( EFalse );
+    if ( !mSession->IsInTransaction() ) {
+        ownTransaction = ETrue;
+        mSession->OpenTransactionL();
+    }
+    TMDBElementId tableId = 0;
+    tableId = CCDWlanDeviceSettingsRecord::TableIdL( *mSession );
+        
+    CCDWlanDeviceSettingsRecord* record = new( ELeave )
+            CCDWlanDeviceSettingsRecord( tableId );         
+    
+    CleanupStack::PushL( record );
+    
+    record->iWlanDeviceSettingsType = KWlanUserSettings; 
+    
+    if ( record->FindL( *mSession ) ) {
+        record->LoadL( *mSession );
+    }
+    
+    switch (option) {
+        case EWlanScanInterval:
+            record->iBgScanInterval = mScanInterval;
+            if ( !mPsmMode ) {
+                record->iSavedBgScanInterval = mScanInterval;
+            }
+            break;
+        case EWlanPowerSaving:
+            record->iWlanPowerMode = mPowerSaving;
+            break;
+        default:
+            break;
+    }
+    
+    // Whenever settings are modified, iUseDefaultSettings must be set to false.
+    record->iUseDefaultSettings = EFalse;
+
+    record->ModifyL( *mSession );
+        
+    CleanupStack::PopAndDestroy( record );        
+    if ( ownTransaction ) {
+        mSession->CommitTransactionL();
+    }
+
+#ifndef __WINS__
+    // Notifying WLAN Engine about changes in settings
+    mWlanMgmtClient->NotifyChangedSettings();
+#endif
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_SAVEDBSETTINGSL_EXIT, this);
+}
+
+/*!
+    Function to get the scan interval.
+    \return Scan interval  in minutes.
+*/
+
+TUint CWlanSettingsPrivate::ScanInterval()
+{
+    if ( mScanInterval == KWlanSettingsScanNetworkAuto ) {
+        return mScanInterval;   
+    }
+    else {
+        // Return scan time in minutes
+        return ( mScanInterval / KWlanSettingsSecondsInMinute );
+    }
+}
+
+/*!
+    Function to get Power Saving Option.
+    \return True if Power Saving option is enabled, otherwise False.
+*/
+
+TBool CWlanSettingsPrivate::PowerSaving()
+{
+    return mPowerSaving;
+}
+
+/*!
+    Function to set Scan interval.
+    \param interval Scan interval in minutes. 
+*/
+
+void CWlanSettingsPrivate::SetScanInterval(TUint interval)
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_SETSCANINTERVAL_ENTRY, this);
+    
+    if ( interval == KWlanSettingsScanNetworkAuto ) {
+        mScanInterval = interval;
+    }
+    else {
+        // Scan time stored in seconds
+        mScanInterval = interval * KWlanSettingsSecondsInMinute;
+    }
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_SETSCANINTERVAL_EXIT, this);
+}
+
+/*!
+    Function to set Power Saving Option.
+    \param powerSavingOption True to enable or false to disable power saving option. 
+*/
+
+void CWlanSettingsPrivate::SetPowerSaving(TBool powerSavingOption)
+{
+    OstTraceFunctionEntry1(CWLANSETINGPRIVATE_SETPOWERSAVING_ENTRY, this);
+    
+    mPowerSaving = powerSavingOption;
+    
+    OstTraceFunctionExit1(CWLANSETINGPRIVATE_SETPOWERSAVING_EXIT, this);
+}
+
+/*!
+    Function to get Power Saving status of the device.
+    \return True if Power Saving is enabled.
+*/
+
+TBool CWlanSettingsPrivate::IsPsmEnabled()
+{
+    return mPsmMode;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/traces/OstTraceDefinitions.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/main.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,37 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#include "wlansettingstest.h"
+
+
+int main(int /*argc*/, char *argv[])
+{
+  WlanSettingsTest* test =  new WlanSettingsTest;
+ 
+  //Save test reults to a file
+ char *pass[3]; 
+ pass[0] = argv[0];
+ pass[1] = "-o";    
+ pass[2] = "c:\\data\\WlanSettingsTest.txt";
+ 
+ int res = QTest::qExec(test, 3, pass);
+ 
+ delete test;
+ return res;
+}
+
+#include "moc_wlansettingstest.cpp"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,170 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+
+#include "wlansettingstest.h"
+
+//constructor
+WlanSettingsTest::WlanSettingsTest()
+{
+    mSecuritySettings.reset(new WlanSettings);
+    
+    //Initialise the wlansettings
+    mSecuritySettings->init();
+}
+
+
+//Test Scenario : 1
+void WlanSettingsTest::test_setWlanPowerMode()
+{
+    int powerSavingOption(ETrue);
+    
+    int error  = mSecuritySettings->setWlanPowerSaving(powerSavingOption);
+    
+    QVERIFY(error == KErrNone);
+}
+
+/////////////////////////////////////////Manual WLan joining Mode//////////////////////////////////////////////////
+
+//Test Scenario : 2
+void WlanSettingsTest::test_CheckJoinWlanModeManual()
+{
+    mJoinWlanMode = WlanSettings::EScanNetworkUserDefined;
+    int error  = mSecuritySettings->setJoinWlanMode(mJoinWlanMode);
+    
+    QVERIFY(error == KErrNone);
+    
+    //Load the Settings
+    int loadError = mSecuritySettings->loadSettings();       
+    QVERIFY(loadError == KErrNone);
+    
+    //Verify Mode
+    int mode  = mSecuritySettings->joinWlanMode();        
+    QVERIFY(mode == mJoinWlanMode );
+}
+
+/////////////////////////////////////////User-defined Scan Interval/////////////////////////////////////
+//Test Scenario : 3
+void WlanSettingsTest::test_CheckWlanScanIntervalManual()
+{
+    
+    mScanIntervalManual = 16;
+    
+    //Set some user-defined Interval
+    int setError  = mSecuritySettings->setWlanScanInterval(mScanIntervalManual);
+    QVERIFY(setError == KErrNone);
+    
+    //Load the Settings
+    int loadError = mSecuritySettings->loadSettings();       
+    QVERIFY(loadError == KErrNone);
+    
+    //Check if the interval set is right
+    uint scanIntervalset  = mSecuritySettings->scanInterval();        
+    QVERIFY(scanIntervalset == mScanIntervalManual);
+    
+    //Verify the Network type, based on the scan interval set
+    int networkType = mSecuritySettings->scanNetworkType();
+    QVERIFY(networkType == WlanSettings::EScanNetworkUserDefined);
+    
+}
+
+
+//////////////////////////////////////////Automatic WLAN joining Mode///////////////////////////////////////////
+
+//Test Scenario : 4
+void WlanSettingsTest::test_CheckJoinWlanModeAuto()
+{
+    mJoinWlanMode = WlanSettings::EScanNetworkAuto;
+    int error  = mSecuritySettings->setJoinWlanMode(mJoinWlanMode);
+    
+    QVERIFY(error == KErrNone);
+    
+    
+    //Load the Settings
+    int loadError = mSecuritySettings->loadSettings();       
+    QVERIFY(loadError == KErrNone);
+    
+    
+    //Verify Mode
+    int mode  = mSecuritySettings->joinWlanMode();        
+    QVERIFY(mode == mJoinWlanMode );
+
+}
+
+///////////////////////////////////////Automatic Scan Interval/////////////////////////////////////////
+//Test Scenario : 5
+void WlanSettingsTest::test_CheckWlanScanIntervalAuto()
+{
+    uint KDefaultScanInterval(5);
+    
+    mScanIntervalAuto = KWlanSettingsScanNetworkAuto;
+    
+    //Set the Auto Interval
+    int setError  = mSecuritySettings->setWlanScanInterval(mScanIntervalAuto);    
+    QVERIFY(setError == KErrNone);
+    
+    //Load the Settings
+    int loadError = mSecuritySettings->loadSettings();       
+    QVERIFY(loadError == KErrNone);
+    
+    //Check the Auto Interval
+    uint scanIntervalset  = mSecuritySettings->scanInterval();        
+    QVERIFY(scanIntervalset == KDefaultScanInterval );
+    
+    //Verify the Network type, based on the scan interval set
+    int networkType = mSecuritySettings->scanNetworkType();
+    QVERIFY(networkType == WlanSettings::EScanNetworkAuto);
+}
+
+//Test Scenario : 6
+void WlanSettingsTest::test_CheckManualIntervalValidity()
+{
+    uint KDefaultScanInterval(5);
+    //Invalid User defined Interval
+    mScanIntervalManual = 45;
+       
+    int setError  = mSecuritySettings->setWlanScanInterval(mScanIntervalManual);
+    QVERIFY(setError == KErrNone);
+    
+    //Load the Settings
+    int loadError = mSecuritySettings->loadSettings();       
+    QVERIFY(loadError == KErrNone);
+    
+    //Validate ;When User-defined Interval is invalid,Auto Interval should have been set
+    uint scanIntervalset  = mSecuritySettings->scanInterval();        
+    QVERIFY(scanIntervalset == KDefaultScanInterval);
+
+}
+
+//Test Scenario : 7
+void WlanSettingsTest::test_CheckWlanPowerSavingMode()
+{
+    int wlanPowerSavingMode(ETrue);
+    
+    int setError  = mSecuritySettings->setWlanPowerSaving(wlanPowerSavingMode);
+    QVERIFY(setError == KErrNone);
+    
+    //Verify Power saving mode parameter
+    int powerSavingMode  = mSecuritySettings->isPowerSavingEnabled();
+    QVERIFY(powerSavingMode == wlanPowerSavingMode);
+}
+
+//Delete data members
+WlanSettingsTest::~WlanSettingsTest()
+{
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,59 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef WLANSETTINGSTEST_H_
+#define WLANSETTINGSTEST_H_
+
+
+#include <QtTest/QtTest>
+#include <QScopedPointer>
+#include "WlanSettings.h"
+
+class WlanSettingsTest: public QObject
+{
+    Q_OBJECT
+    
+public:
+    WlanSettingsTest();    
+    ~WlanSettingsTest();
+    
+private slots:  
+    void test_setWlanPowerMode();
+    
+    void test_CheckJoinWlanModeManual();
+    
+    void test_CheckWlanScanIntervalManual();
+    
+    void test_CheckJoinWlanModeAuto();
+    
+    void test_CheckWlanScanIntervalAuto();
+
+    void test_CheckManualIntervalValidity();
+    
+    void test_CheckWlanPowerSavingMode();
+    
+private:    //data
+    
+    QScopedPointer<WlanSettings> mSecuritySettings;
+    uint mScanIntervalAuto;
+    uint mScanIntervalManual;
+    int mJoinWlanMode;
+    
+};
+
+
+#endif /* WLANSETTINGSTEST_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.loc	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,13 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-03-03T16:18:22
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#ifdef LANGUAGE_SC
+#define STRING_r_short_caption "wlansettingstest"
+#define STRING_r_caption "wlansettingstest"
+#else
+#define STRING_r_short_caption "wlansettingstest"
+#define STRING_r_caption "wlansettingstest"
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,48 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = app
+TARGET = wlansettingstest
+QT += core \
+    gui
+HEADERS += wlansettingstest.loc \
+    ../inc/wlansettings.h \
+    ../inc/wlansettings_s60_p.h \
+    ../traces/OstTraceDefinitions.h \
+				wlansettingstest.h
+	
+SOURCES +=  wlansettingstest.cpp \
+				wlansettingstest.rss \
+			 wlansettingstest_reg.rss \
+				main.cpp \
+			../src/wlansettings.cpp \
+			../src/wlansettings_s60.cpp
+			
+FORMS += 
+RESOURCES += 
+symbian:TARGET.UID3 = 0xE05A6280
+
+TARGET.CAPABILITY = All -TCB
+
+CONFIG += qtestlib
+LIBS += -lCOMMSDAT \
+    -lcommdb \
+    -lcpframework \
+    -lCOMMSDAT \
+    -lcmmanagerdatabase \
+    -lcmmanager \
+    -lecom \
+    -lxqsettingsmanager
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest.rss	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,21 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-03-03T16:18:22
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <appinfo.rh>
+#include <wlansettingstest.loc>
+
+RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
+	{
+	short_caption = STRING_r_short_caption;
+	caption_and_icon =
+	CAPTION_AND_ICON_INFO
+		{
+		caption = STRING_r_caption;
+		number_of_icons = 0;
+		icon_file = "";
+		};
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/cpwlansettingsplugin/tsrc/wlansettingstest_reg.rss	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,18 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-03-03T16:18:22
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <wlansettingstest.rsg>
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xE05A6280
+
+RESOURCE APP_REGISTRATION_INFO
+	{
+	app_file="wlansettingstest";
+	localisable_resource_file="\\resource\\apps\\wlansettingstest";
+
+	}
--- a/wlanutilities/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information for wlanutilities
-*
-*/
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-#include "../wlanplugin/group/bld.inf"
-#include "../wlansettingsui/group/bld.inf"
-#include "../wlansniffer/group/bld.inf"
-#include "../wlanindicatorplugin/group/bld.inf"
-
-
-PRJ_TESTMMPFILES
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/inc/cpwlanentryitemdata.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,75 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef CPWLANENTRYITEMDATA_H
+#define CPWLANENTRYITEMDATA_H
+
+// System includes
+
+#include "cpsettingformentryitemdata.h"
+
+// User includes
+
+// Forward declarations
+
+class WlanStatusInfo;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanEntryItemData : public CpSettingFormEntryItemData
+{
+    Q_OBJECT
+
+public:
+
+    // Data types
+
+    explicit CpWlanEntryItemData(CpItemDataHelper &itemDataHelper);
+    
+    virtual ~CpWlanEntryItemData();
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+    Q_DISABLE_COPY(CpWlanEntryItemData)
+
+    virtual CpBaseSettingView *createSettingView() const;
+
+private slots:
+
+    void statusUpdate();
+
+private: // data
+
+    WlanStatusInfo *mWlanStatusInfo;
+
+    // Friend classes
+
+};
+
+#endif // CPWLANENTRYITEMDATA_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/inc/cpwlanentryplugin.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *   
+ */
+ 
+#ifndef	CPWLANENTRYPLUGIN_H
+#define	CPWLANENTRYPLUGIN_H
+
+
+// System includes
+
+#include <QObject>
+#include <cppluginplatinterface.h>
+
+// User includes
+
+// Forward declarations
+
+class QTranslator;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class CpWlanEntryPlugin : public QObject, public CpPluginPlatInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(CpPluginPlatInterface)
+    
+public:
+
+    // Data types
+
+    CpWlanEntryPlugin();
+    
+    virtual ~CpWlanEntryPlugin();
+    
+    virtual CpSettingFormItemData *createSettingFormItemData(CpItemDataHelper &itemDataHelper) const;
+
+signals:
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+    Q_DISABLE_COPY(CpWlanEntryPlugin)
+
+private slots:
+
+private: // data
+
+    bool mWlanSupported;            // WLAN dynamic ON/OFF configuration
+    QTranslator *mTranslator;       // Translator for text ID's used in this plugin
+
+    // Friend classes
+
+};
+
+#endif	// CPWLANENTRYPLUGIN_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/inc/wlanstatusinfo.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,96 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANSTATUSINFO_H
+#define WLANSTATUSINFO_H
+
+// System includes
+
+#include <QObject>
+
+// User includes
+
+// Forward declarations
+
+class WlanQtUtils;
+
+// External data types
+
+// Constants
+
+// Class declaration
+
+class WlanStatusInfo : public QObject
+{
+    Q_OBJECT
+    
+public:
+
+    // Data types
+
+    /**
+     * WLAN Status value.
+     */
+    enum {
+        /** WLAN is configured OFF. */
+        WlanStatusOff = 0,
+        /** No WLAN connections. */
+        WlanStatusIdle,
+        /** WLAN IAP is connected. */
+        WlanStatusConnected,
+    };
+
+    explicit WlanStatusInfo(QObject *parent = 0);
+    
+    ~WlanStatusInfo();
+
+    int status();
+
+    QString statusText();
+
+signals:
+
+    /**
+     * Signal that informs that the WLAN status has changed.
+     */
+    void statusUpdated();
+
+public slots:
+
+protected:
+
+protected slots:
+
+private:
+
+    Q_DISABLE_COPY(WlanStatusInfo)
+
+private slots:
+
+    void updateStatus();
+
+private: // data
+
+    WlanQtUtils *mWlanQtUtils;      // WlanQtUtils instance.
+    QString mStatusText;            // WLAN status text.
+    int mStatus;                    // WLAN status value WlanStatus*.
+
+    // Friend classes
+
+};
+
+#endif // WLANSTATUSINFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/rom/wlanentryplugin.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,31 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANENTRYPLUGIN_IBY
+#define WLANENTRYPLUGIN_IBY
+
+#include <data_caging_paths_for_iby.hrh>
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR/BUILD_DIR/cpwlanentryplugin.dll SHARED_LIB_DIR/cpwlanentryplugin.dll
+data=/epoc32/data/c/resource/qt/plugins/controlpanel/cpwlanentryplugin.qtplugin resource/qt/plugins/controlpanel/cpwlanentryplugin.qtplugin
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANENTRYPLUGIN_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/rom/wlanentryplugin_resources.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANENTRYPLUGIN_RESOURCES_IBY
+#define WLANENTRYPLUGIN_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh> 
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlanentryplugin.qm QT_TRANSLATIONS_DIR/wlanentryplugin.qm 
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANENTRYPLUGIN_RESOURCES_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/src/cpwlanentryitemdata.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+// System includes
+
+#ifdef WLANENTRYPLUGIN_SERVICETRACES    
+#include <xqservicelog.h>
+#endif
+#include <xqservicerequest.h>
+
+#include <HbLabel>
+#include <HbDataForm>
+
+#include <cpitemdatahelper.h>
+#include <cpbasesettingview.h>
+
+// User includes
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlanentryitemdataTraces.h"
+#endif
+
+#include "wlanstatusinfo.h"
+
+#include "cpwlanentryitemdata.h"
+
+/*!
+    \class CpWlanEntryItemData
+    \brief Implementation of WLAN Status Plugin entry item data.
+
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+*/
+
+CpWlanEntryItemData::CpWlanEntryItemData(CpItemDataHelper &itemDataHelper) :
+    CpSettingFormEntryItemData(itemDataHelper, hbTrId("txt_occ_dblist_wireless_lan")),
+    mWlanStatusInfo(new WlanStatusInfo(this))
+{
+    OstTraceFunctionEntry1(CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY, this);
+    
+    // Listen for WLAN status updates
+    bool connectStatus = connect(
+        mWlanStatusInfo,
+        SIGNAL(statusUpdated()),
+        this,
+        SLOT(statusUpdate()));
+    Q_ASSERT(connectStatus == true);
+    
+    // Update to show initial WLAN status.
+    statusUpdate();
+    
+    OstTraceFunctionExit1(CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_EXIT, this);
+}
+
+/*!
+    Destructor.
+*/
+
+CpWlanEntryItemData::~CpWlanEntryItemData()
+{
+    OstTraceFunctionEntry1(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_ENTRY, this);
+    OstTraceFunctionExit1(DUP1_CPWLANENTRYITEMDATA_CPWLANENTRYITEMDATA_EXIT, this);
+}
+
+/*!
+    Function for handling the entry item click.
+*/
+
+CpBaseSettingView *CpWlanEntryItemData::createSettingView() const
+{
+    OstTraceFunctionEntry1(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_ENTRY, this);
+    
+#ifdef WLANENTRYPLUGIN_SERVICETRACES    
+    qInstallMsgHandler(XQSERVICEMESSAGEHANDLER);
+    XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView requesting listView()");
+#endif
+
+    // Execute synchronous WLAN Sniffer list view
+    XQServiceRequest* snd = new XQServiceRequest("com.nokia.services.wlansniffer.list","listView()",true);
+    bool status = snd->send();
+#ifdef WLANENTRYPLUGIN_SERVICETRACES    
+    XQSERVICE_DEBUG_PRINT("CpWlanEntryItemData::createSettingView listView() service request completed");
+#endif    
+    Q_ASSERT(status);
+    delete snd;
+
+    OstTraceFunctionExit1(CPWLANENTRYITEMDATA_CREATESETTINGVIEW_EXIT, this);
+    return 0;
+}
+
+/*!
+    Slot for updating the status shown by the plugin.
+    Updates both the text and icon. 
+ */
+void CpWlanEntryItemData::statusUpdate()
+{
+    OstTraceFunctionEntry1(CPWLANENTRYITEMDATA_STATUSUPDATE_ENTRY, this);
+    
+    // Build icon with (possible) badge
+    HbIcon wlanIcon("qtg_large_wlan");
+    switch (mWlanStatusInfo->status()) {
+    case WlanStatusInfo::WlanStatusOff:
+#ifdef WLANSTATUSICONBADGING                                // TODO: Remove flagging when icon badging is supported       
+        wlanIcon.addBadge(
+            Qt::AlignTop | Qt::AlignRight,
+            HbIcon("pri_small_super_off"));
+#endif        
+        break;
+        
+    case WlanStatusInfo::WlanStatusConnected:
+#ifdef WLANSTATUSICONBADGING                                // TODO: Remove flagging when icon badging is supported       
+        wlanIcon.addBadge(
+            Qt::AlignTop | Qt::AlignRight,
+            HbIcon("qtg_small_online"));
+#endif        
+        break;
+    }
+    
+    // Set the updated WLAN status
+    this->setEntryItemIcon(wlanIcon);
+    this->setDescription(mWlanStatusInfo->statusText());
+    
+    OstTraceFunctionExit1(CPWLANENTRYITEMDATA_STATUSUPDATE_EXIT, this);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/src/cpwlanentryplugin.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,104 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0""
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:  
+ *
+ */
+
+// System includes
+
+#include <QApplication>
+#include <QTranslator>
+#include <QLocale>
+#include "qsysteminfo.h"
+
+// User includes
+
+#include "cpwlanentryitemdata.h"
+#include "cpwlanentryplugin.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "cpwlanentrypluginTraces.h"
+#endif
+
+using namespace QtMobility;
+
+/*!
+    \class CpWlanEntryPlugin
+    \brief CpWlanEntryPlugin implements the WLAN Status Control Panel Plugin
+    that shows the current WLAN status.
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+*/
+
+CpWlanEntryPlugin::CpWlanEntryPlugin() : QObject()
+{
+    OstTraceFunctionEntry1(CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_ENTRY, this);
+    
+    // Check & store WLAN dynamic configuration
+    QtMobility::QSystemInfo sysinfo;
+    mWlanSupported = sysinfo.hasFeatureSupported(QSystemInfo::WlanFeature);
+    
+    if (mWlanSupported) {
+        // Install localization
+        mTranslator = new QTranslator(this);
+        QString lang = QLocale::system().name(); 
+        QString path = "Z:/resource/qt/translations/"; 
+        mTranslator->load("wlanentryplugin_" + lang, path); 
+        qApp->installTranslator(mTranslator);
+    }
+    
+    OstTraceFunctionExit1(CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_EXIT, this);
+}
+
+/*!
+    Destructor.
+*/
+
+CpWlanEntryPlugin::~CpWlanEntryPlugin()
+{
+    OstTraceFunctionEntry1(DUP1_CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_ENTRY, this);
+    OstTraceFunctionExit1(DUP1_CPWLANENTRYPLUGIN_CPWLANENTRYPLUGIN_EXIT, this);
+}
+
+/*!
+    Plugin function for creating the entry plugin form item data.
+*/
+
+CpSettingFormItemData *CpWlanEntryPlugin::createSettingFormItemData(CpItemDataHelper &itemDataHelper) const
+{
+    OstTraceFunctionEntry1(CPWLANENTRYPLUGIN_CREATESETTINGFORMITEMDATA_ENTRY, this);
+    
+    CpWlanEntryItemData *entryItemData = 0;
+    
+    // The plugin is disabled if WLAN is not supported by the product.
+    if (mWlanSupported) {
+        entryItemData = new CpWlanEntryItemData(itemDataHelper);
+    }
+
+    OstTraceFunctionExit1(CPWLANENTRYPLUGIN_CREATESETTINGFORMITEMDATA_EXIT, this);
+    return entryItemData;
+}
+
+Q_EXPORT_PLUGIN2(cpwlanentryplugin, CpWlanEntryPlugin);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/src/wlanstatusinfo.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,155 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*/
+
+// System includes
+
+#include <HbGlobal>
+
+// User includes
+
+#include "wlanqtutils.h"
+#include "wlanqtutilswlaniap.h"
+
+#include "wlanstatusinfo.h"
+
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanstatusinfoTraces.h"
+#endif
+
+/*!
+    \class WlanStatusInfo
+    \brief Class for maintaining and updating the WLAN status for the WLAN 
+    Status Control Panel Plugin.
+
+*/
+
+// External function prototypes
+
+// Local constants
+
+// ======== LOCAL FUNCTIONS ========
+
+// ======== MEMBER FUNCTIONS ========
+
+/*!
+    Constructor.
+*/
+
+WlanStatusInfo::WlanStatusInfo(QObject *parent) :
+    QObject(parent),
+    mWlanQtUtils(new WlanQtUtils()),
+    mStatusText(""),
+    mStatus(WlanStatusOff)
+{
+    OstTraceFunctionEntry1(WLANSTATUSINFO_WLANSTATUSINFO_ENTRY, this);
+    
+    // Listen for WLAN ON/OFF switching
+    bool connectStatus = connect(
+        mWlanQtUtils,
+        SIGNAL(masterWlanStatus(bool)),
+        this,
+        SLOT(updateStatus()));
+    Q_ASSERT(connectStatus == true);
+
+    // Listen for WLAN connection statuses
+    connectStatus = connect(
+        mWlanQtUtils,
+        SIGNAL(wlanNetworkOpened(int)),
+        this,
+        SLOT(updateStatus()));
+    Q_ASSERT(connectStatus == true);
+    connectStatus = connect(
+        mWlanQtUtils,
+        SIGNAL(wlanNetworkClosed(int)),
+        this,
+        SLOT(updateStatus()));
+    Q_ASSERT(connectStatus == true);
+    
+    // Set initial status
+    updateStatus();
+    
+    OstTraceFunctionExit1(WLANSTATUSINFO_WLANSTATUSINFO_EXIT, this);
+}
+
+/*!
+    Destructor.
+*/
+
+WlanStatusInfo::~WlanStatusInfo()
+{
+    OstTraceFunctionEntry1(DUP1_WLANSTATUSINFO_WLANSTATUSINFO_ENTRY, this);
+    
+    delete mWlanQtUtils;
+    
+    OstTraceFunctionExit1(DUP1_WLANSTATUSINFO_WLANSTATUSINFO_EXIT, this);
+}
+
+/*!
+    Function for getting current WLAN status value (WlanStatusInfo::WlanStatus*).
+*/
+
+int WlanStatusInfo::status()
+{
+    OstTraceFunctionEntry1(WLANSTATUSINFO_STATUS_ENTRY, this);    
+    OstTraceFunctionExit1(WLANSTATUSINFO_STATUS_EXIT, this);
+    return mStatus;
+}
+
+/*!
+    Returns the current WLAN status text.
+*/
+
+QString WlanStatusInfo::statusText()
+{
+    OstTraceFunctionEntry1(WLANSTATUSINFO_STATUSTEXT_ENTRY, this);
+    OstTraceFunctionExit1(WLANSTATUSINFO_STATUSTEXT_EXIT, this);
+    return mStatusText;
+}
+
+/*!
+    Slot used for updating the WLAN status.
+*/
+
+void WlanStatusInfo::updateStatus()
+{
+    OstTraceFunctionEntry1(WLANSTATUSINFO_UPDATESTATUS_ENTRY, this);
+
+    // Backup old status to detect changes
+    QString oldStatusText = mStatusText;
+    int connectedIapId = mWlanQtUtils->connectedWlanId();
+    
+    // Figure out current WLAN status
+    if (mWlanQtUtils->masterWlan() == false) {
+        // WLAN is switched OFF.
+        mStatus = WlanStatusOff;
+        mStatusText = hbTrId("txt_occ_dblist_wireless_lan_val_off");
+    } else if (connectedIapId != WlanQtUtilsInvalidIapId) {
+        mStatus = WlanStatusConnected;
+        mStatusText = hbTrId("txt_occ_dblist_wireless_lan_val_connected_to_1")
+            .arg(mWlanQtUtils->iap(connectedIapId)->name());
+    } else {
+        mStatus = WlanStatusIdle;
+        mStatusText = hbTrId("txt_occ_dblist_wireless_lan_val_wlan_is_on");
+    }
+
+    // Inform about update if the status really changed.
+    if (oldStatusText != mStatusText) {
+        emit statusUpdated();
+    }
+    
+    OstTraceFunctionExit1(WLANSTATUSINFO_UPDATESTATUS_EXIT, this);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/traces/OstTraceDefinitions.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanentryplugin/wlanentryplugin.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,64 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = cpwlanentryplugin
+DEPENDPATH += .
+INCLUDEPATH += .
+INCLUDEPATH += traces
+# wlanutilities Private API
+INCLUDEPATH += ../inc
+CONFIG += hb plugin
+MOC_DIR = moc
+OBJECTS_DIR = obj
+RCC_DIR = rcc
+LIBS += -lwlanqtutilities -lcpframework -lxqservice -lqtsysteminfo
+
+# Sources
+HEADERS += \
+    inc/cpwlanentryplugin.h \
+    inc/cpwlanentryitemdata.h \
+    inc/wlanstatusinfo.h \
+    traces/OstTraceDefinitions.h
+SOURCES += \
+    src/cpwlanentryplugin.cpp \
+    src/cpwlanentryitemdata.cpp \
+    src/wlanstatusinfo.cpp
+
+TRANSLATIONS = wlanentryplugin.ts
+
+symbian: { 
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.UID3 = 0x2002BCE0
+    SYMBIAN_PLATFORMS = WINSCW ARMV5
+    BLD_INF_RULES.prj_exports += "rom/wlanentryplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanentryplugin.iby)"
+    BLD_INF_RULES.prj_exports += "rom/wlanentryplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlanentryplugin_resources.iby)"
+    
+    # Enable for QtHighway tracing
+    # DEFINES += WLANENTRYPLUGIN_SERVICETRACES
+}
+symbian { 
+    deploy.path = C:
+    qtplugins.path = /resource/qt/plugins/controlpanel
+    qtplugins.sources += qmakepluginstubs/cpwlanentryplugin.qtplugin
+    
+    # This is for new exporting system coming in garden
+    for(qtplugin, qtplugins.sources):BLD_INF_RULES.prj_exports += "./$$qtplugin $$deploy.path$$qtplugins.path/$$basename(qtplugin)"
+}
+TARGET.CAPABILITY = CAP_GENERAL_DLL
+plugin.sources = cpwlanentryplugin.dll xqservice.dll
+plugin.path = /resource/qt/plugins/controlpanel
+DEPLOYMENT += plugin
--- a/wlanutilities/wlanindicatorplugin/data/2001247E.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  This file contains all the resources to launch WLAN indicator plugin
-*
-*/
-
-
-#include <registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid = 0x2001247E;
-    interfaces =
-        {
-        INTERFACE_INFO
-            {
-            interface_uid = 0x10275092;
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid = 0x2001247E;
-                    version_no = 1;
-                    display_name = "";
-                    default_data = "Default";
-                    opaque_data = "";
-                    }
-                };
-            }
-        };
-    }
-
-// End of file
--- a/wlanutilities/wlanindicatorplugin/data/wlanindicator.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project wlanindicatorplugin
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME WLIN
-
-#include <eikon.rh>
-#include <wlanindicatorplugin.loc>
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE TBUF r_qtn_uni_ind_wlan_avail_unknown    
-    { 
-    buf = qtn_uni_ind_wlan_avail_unknown; 
-    }
-    
-RESOURCE TBUF r_qtn_uni_ind_wlan_avail_unknown_many    
-    { 
-    buf = qtn_uni_ind_wlan_avail_unknown_many; 
-    }
-    
-RESOURCE TBUF r_qtn_uni_ind_wlan_avail_known    
-    { 
-    buf = qtn_uni_ind_wlan_avail_known; 
-    }
-    
-RESOURCE TBUF r_qtn_uni_ind_wlan_conn    
-    { 
-    buf = qtn_uni_ind_wlan_conn; 
-    }            
-
--- a/wlanutilities/wlanindicatorplugin/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ b/wlanutilities/wlanindicatorplugin/group/bld.inf	Fri Apr 16 16:07:56 2010 +0300
@@ -22,9 +22,7 @@
 DEFAULT
 
 PRJ_EXPORTS
-../rom/wlanindicatorplugin.iby            CORE_MW_LAYER_IBY_EXPORT_PATH(wlanindicatorplugin.iby)
-../rom/wlanindicatorpluginresources.iby   LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wlanindicatorpluginresources.iby)
-../loc/wlanindicatorplugin.loc            MW_LAYER_LOC_EXPORT_PATH(wlanindicatorplugin.loc)
+
 
 PRJ_MMPFILES
-wlanindicatorplugin.mmp
+
--- a/wlanutilities/wlanindicatorplugin/group/wlanindicatorplugin.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,64 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project wlanindicatorplugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-// Build target
-TARGET                  wlanindicatorplugin.dll
-TARGETTYPE              PLUGIN
-UID                     0x10009D8D 0x2001247E
-CAPABILITY              CAP_ECOM_PLUGIN
-VENDORID                VID_DEFAULT
-
-// Source files location
-SOURCEPATH              ../src
-SOURCE                  dllmain.cpp
-SOURCE                  wlanindicatorpluginimplementation.cpp
-
-// Resources
-START RESOURCE  ../data/2001247E.rss
-TARGET          wlanindicatorplugin.rsc
-TARGETPATH      ECOM_RESOURCE_DIR
-END
-
-START RESOURCE          ../data/wlanindicator.rss
-HEADER
-TARGETPATH              RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-USERINCLUDE             ../inc
-
-MW_LAYER_SYSTEMINCLUDE
-SYSTEMINCLUDE           /epoc32/include/ecom
-
-LIBRARY                 ecom.lib
-LIBRARY                 avkon.lib
-LIBRARY                 euser.lib
-LIBRARY                 eikcore.lib
-LIBRARY                 apgrfx.lib
-LIBRARY                 cone.lib
-LIBRARY                 commonengine.lib
-LIBRARY                 commdb.lib
-LIBRARY                 charconv.lib
-LIBRARY                 connmon.lib
-LIBRARY                 cmmanager.lib
-LIBRARY                 cmmanagerdatabase.lib
-LIBRARY                 bafl.lib
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/inc/wlanindicatorplugin.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,66 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANINDICATORPLUGIN_H
+#define WLANINDICATORPLUGIN_H
+
+#include <QtCore/QVariant>
+#include <QtCore/QProcess>
+#include <hbindicatorplugininterface.h>
+#include <hbindicatorinterface.h>
+
+const int wlanNotConnected = 0;
+const int wlanConnected = 1;
+
+class WlanIndicatorPlugin : public HbIndicatorInterface, public HbIndicatorPluginInterface
+{
+    Q_OBJECT
+    Q_INTERFACES(HbIndicatorPluginInterface)
+    
+#ifdef WLANINDICATOR_UT    
+    friend class WlanIndicatorUtCases;
+#endif
+    
+public:
+    WlanIndicatorPlugin();
+    ~WlanIndicatorPlugin();
+
+public:
+    //from HbIndicatorPluginInterface
+    QStringList indicatorTypes() const;
+    bool accessAllowed(const QString &indicatorType,
+                       const HbSecurityInfo *securityInfo) const;
+    HbIndicatorInterface* createIndicator(const QString &indicatorType);
+    int error() const;
+public:
+    //from HbIndicatorInterface
+    bool handleClientRequest (RequestType type, const QVariant &parameter);
+    bool handleInteraction (InteractionType type); 
+    QVariant indicatorData(int role) const;
+
+private slots:
+    void processError(QProcess::ProcessError err); // handler for error codes
+    
+private:
+    
+    Q_DISABLE_COPY(WlanIndicatorPlugin)
+    QStringList mIndicatorTypes;  // Type of indicator
+    int mError;                   // Indicator error
+    QVariant mParameter;          // Used to contain the status of wlan    
+    QProcess process;             // Process to start external programs
+};
+#endif //WLANINDICATORPLUGIN_H
--- a/wlanutilities/wlanindicatorplugin/inc/wlanindicatorpluginimplementation.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Defines the CWlanIndicatorPluginImplementation class
-*
-*/
-
-
-
-#ifndef CWLANINDICATORPLUGINIMPLEMENTATION_H
-#define CWLANINDICATORPLUGINIMPLEMENTATION_H
-
-//  INCLUDES
-#include <AknIndicatorPlugin.h> // CAknIndicatorPlugin
-#include <wlanmgmtcommon.h>
-#include <wlanmgmtclient.h>
-#include <rconnmon.h>
-
-//  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<KWlanMaxAccessPointNameLength> iNetworkName;
-};
-
-
-/**
-*  WLAN Indicator Plug-in implementation
-*
-*  @since 5.0
-*/
-class CWlanIndicatorPluginImplementation : public CAknIndicatorPlugin
-                                         
-    {
-        
-    public:  // Constructors and destructor
-
-        /**
-        * Two-phased constructor.
-        */
-        static CWlanIndicatorPluginImplementation* NewL();
-
-        /**
-        * Destructor.
-        */
-        ~CWlanIndicatorPluginImplementation();
-        
-
-    private: // From CAknIndicatorPlugin
-        
-        /**
-         * @see CAknIndicatorPlugin
-         */
-        void HandleIndicatorTapL( const TInt aUid );
-
-        /**
-         * @see CAknIndicatorPlugin
-         */
-        HBufC* TextL( const TInt aUid, TInt& aTextType );        
-    
-    
-    private:
-
-        /**
-        * C++ default constructor.
-        */
-        CWlanIndicatorPluginImplementation();
-
-        /**
-        * By default Symbian 2nd phase constructor is private.
-        */
-        void ConstructL();
-        
-
-    private: // new functions
-
-        /**
-        * Creates text for the cases
-        * - "WLAN network found"
-        * - "WLAN networks found"
-        * - "'myNetwork' found"
-        * @return Descriptor for the current "wlan available" case
-        */
-        HBufC* CreateWlanNetworksFoundTextL();
-        
-        /**
-        * Creates text for the "connected" case (open or secure).
-        * @return Descriptor containing the "'myNetwork' connected" text
-        */
-        HBufC* CreateWlanConnectedTextL();
-        
-        /**
-         * Finds the 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.
-         */
-        HBufC* ConnectionNameL();
-        
-        /** Finds the WLAN connection id
-         * @return WLAN connection id
-         */
-        TUint FindWlanBearerConnectedL(); 
-        
-        /** Checks if the given connection is WLAN
-         * @param Id of the active connection
-         */
-        TBool CheckIfWlan( TUint aConnectionId ); 
-        
-        /**
-         * Launches WlanSniffer application.
-         */
-        void LaunchWlanSnifferL();        
-        
-
-    private: // data
-    
-        /**
-         * Ref
-         */
-        CCoeEnv* iCoeEnv;
-        
-        /**
-         * Resource file offset in CoeEnv's resource file list
-         */
-        TInt iResource;
-        
-        /**
-         * Owned. Used for getting connection info
-         */
-        RConnectionMonitor iConnMonitor;
-        
-        /**
-         * Owned. Used for getting WLAN available networks info
-         */
-        CWlanMgmtClient* iWlanMgmtClient;
-        
-
-    };
-
-#endif      // CWLANINDICATORPLUGINIMPLEMENTATION_H
-
-// End of File
--- a/wlanutilities/wlanindicatorplugin/loc/wlanindicatorplugin.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project wlanindicatorplugin
-*
-*/
-
-
-
-// d:One unknown network found.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_avail_unknown "WLAN network found"
-
-// d:Multiple unknown networks found.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_avail_unknown_many	 "WLAN networks found"
-
-// d:One or more known networks found.
-// d: %U is the IAP of the network, or in case more than one found,
-// d: %U is the first network in alphabetical order.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_avail_known "'%U' found"
-
-// d:WLAN connection exists.
-// d: %U is the name of the WLAN IAP, or the SSID of the WLAN network in case
-// d: connection was created using "Search for WLAN" functionality.
-// l:list_single_uniindi_pane_t1
-// r:5.0
-//
-#define qtn_uni_ind_wlan_conn "'%U' connected"
-
-
-
--- a/wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin.iby	Tue Jan 26 13:04:04 2010 +0200
+++ b/wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -1,27 +1,19 @@
 /*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for WlanIndicatorPlugin
-*
-*/
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
 
-#ifndef __WLANINDICATORPLUGIN_IBY__
-#define __WLANINDICATORPLUGIN_IBY__
-
-
-#include <data_caging_paths_for_iby.hrh>
-
-ECOM_PLUGIN( wlanindicatorplugin.dll, wlanindicatorplugin.rsc )
-
-#endif  // __WLANINDICATORPLUGIN_IBY__
-
+file=ABI_DIR\BUILD_DIR\wlanindicatorplugin.dll SHARED_LIB_DIR\wlanindicatorplugin.dll
+data=\epoc32\data\z\resource\plugins\indicators\WlanIndicatorPlugin.qtplugin RESOURCE_FILES_DIR\plugins\indicators\wlanindicatorplugin.qtplugin
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/rom/wlanindicatorplugin_resources.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,26 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANINDICATORPLUGIN_RESOURCES_IBY
+#define WLANINDICATORPLUGIN_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh> 
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlanindicatorplugin.qm QT_TRANSLATIONS_DIR/wlanindicatorplugin.qm
+
+#endif // WLANINDICATORPLUGIN_RESOURCES_IBY
--- a/wlanutilities/wlanindicatorplugin/rom/wlanindicatorpluginresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,22 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for WlanIndicatorPlugin
-*
-*/
-#ifndef __WLAN_INDICATORPLUGIN_RESOURCES_IBY__
-#define __WLAN_INDICATORPLUGIN_RESOURCES_IBY__
-
-data=DATAZ_\RESOURCE_FILES_DIR\wlanindicator.rsc   RESOURCE_FILES_DIR\wlanindicator.rsc
-
-#endif // __WLAN_INDICATORPLUGIN_RESOURCES_IBY__
--- a/wlanutilities/wlanindicatorplugin/src/dllmain.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation for DllMain.
-*
-*/
-
-
-#include "wlanindicatorpluginimplementation.h"
-
-#include <implementationproxy.h>
-
-// Define the interface UIDs
-// Map the interface implementation UIDs to implementation factory functions
-const TImplementationProxy ImplementationTable[] =
-    {
-    IMPLEMENTATION_PROXY_ENTRY( 0x2001247E, 
-                                CWlanIndicatorPluginImplementation::NewL )
-	};
-	
-// Exported proxy for instantiation method resolution.
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy
-        (TInt& aTableCount)
-    {
-    aTableCount = sizeof(ImplementationTable) / sizeof(ImplementationTable[0]);
-    return ImplementationTable;
-    }
-    
-// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/src/wlanindicatorplugin.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,248 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#include <QTranslator>
+#include <QLocale>
+#include <QtCore/qplugin.h>
+#include <QtCore/QString>
+#include <QtCore/QVariant> 
+#include <QtCore/QMetaType>
+
+#include <HbLabel>
+#include <hbglobal.h>
+#include <hbapplication.h>
+#include <hbindicatorplugininterface.h>
+#include <hbindicatorinterface.h>
+#include "wlanindicatorplugin.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanindicatorpluginTraces.h"
+#endif
+
+Q_EXPORT_PLUGIN(WlanIndicatorPlugin)
+
+const static char IndicatorType[] = "com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0";
+
+
+/*!
+    WlanIndicatorPlugin constructor.
+*/
+WlanIndicatorPlugin::WlanIndicatorPlugin() :
+    HbIndicatorInterface(IndicatorType, GroupPriorityAverage, InteractionActivated),
+    mError(0)
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_ENTRY, this);
+    mIndicatorTypes << "com.nokia.hb.indicator.connectivity.wlanindicatorplugin/1.0";
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_ENTRY_EXIT, this);
+}
+
+/*!
+    WlanIndicatorPlugin destructor.
+*/
+WlanIndicatorPlugin::~WlanIndicatorPlugin()
+{
+    OstTraceFunctionEntry1(DUP1_WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_ENTRY, this);
+    OstTraceFunctionExit1(DUP1_WLANINDICATORPLUGIN_WLANINDICATORPLUGIN_EXIT, this);
+}
+
+/*!
+    The indicatorTypes returns type of indicator. In this case it is wlanindicatorplugin.
+*/
+QStringList WlanIndicatorPlugin::indicatorTypes() const
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_INDICATORTYPES_ENTRY, this);
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_INDICATORTYPES_EXIT, this);
+
+    return mIndicatorTypes;
+}
+
+/*!
+    The handleClientRequest handles client request to change indicators parameters.
+*/
+bool WlanIndicatorPlugin::accessAllowed(const QString &indicatorType,
+    const HbSecurityInfo *securityInfo) const
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_ACCESSALLOWED_ENTRY, this);
+
+    Q_UNUSED(indicatorType)
+    Q_UNUSED(securityInfo)
+
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_ACCESSALLOWED_EXIT, this);
+
+    return true;
+}
+
+/*!
+    The createIndicator creates indicator plugin instance.
+*/
+HbIndicatorInterface* WlanIndicatorPlugin::createIndicator(
+    const QString &indicatorType)
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_CREATEINDICATOR_ENTRY, this);
+    Q_UNUSED(indicatorType)
+    
+    // Install localization
+    QTranslator *translator = new QTranslator(this);
+    QString lang = QLocale::system().name(); 
+    QString path = "Z:/resource/qt/translations/"; 
+    translator->load("wlanindicatorplugin_" + lang, path);
+    qApp->installTranslator(translator);
+    
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_CREATEINDICATOR_EXIT, this);
+    return this;
+}
+
+/*!
+    The error returns indicator error to HbIndicatorPluginInterface.
+*/
+int WlanIndicatorPlugin::error() const
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_ERROR_ENTRY, this);
+    OstTrace1( WLANINDICATORPLUGIN_ERR,ERROR,"WlanIndicatorPlugin error %u", mError);
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_ERROR_EXIT, this);
+    return mError;
+}
+
+/*!
+    The handleInteraction is used launch WLAN list view.
+*/
+bool WlanIndicatorPlugin::handleInteraction(InteractionType type)
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_HANDLEINTERACTION_ENTRY, this);
+
+    bool handled = false;
+    switch (type) {
+    case InteractionActivated: 
+        //connect error() to slot processError() to get error, 
+        QObject::connect( &process, SIGNAL(error(QProcess::ProcessError)),                       
+                          this, SLOT(processError(QProcess::ProcessError)));
+
+        // Show WLAN list view
+        process.start("WlanSniffer");
+        handled = true;
+        break;
+    default:
+        break;
+    }
+
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_HANDLEINTERACTION_EXIT, this);
+
+    return handled;
+}
+
+/*!
+    The handleClientRequest handles client request to change indicators paramters.
+*/
+bool WlanIndicatorPlugin::handleClientRequest(RequestType type, const QVariant &parameter)
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_CLIENTREQUEST_ENTRY, this);
+
+    Q_UNUSED(parameter)
+    bool handled(false);
+    switch (type) {
+    case RequestActivate:
+        if (mParameter != parameter) {
+            mParameter = parameter;
+            emit dataChanged();
+        }     
+        handled = true;
+        break;
+    default:
+        mParameter.clear();
+    }
+    
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_CLIENTREQUEST_EXIT, this);
+    return handled;
+}
+
+/*!
+    The indicatorData takes care of showing indicator's data.
+*/
+QVariant WlanIndicatorPlugin::indicatorData(int role) const
+{
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_INDICATORDATA_ENTRY, this);
+
+    QVariant qvariant("");
+    QList<QVariant> indicatorText;
+    bool validParameters = false;
+        
+    switch (role) {
+    case PrimaryTextRole:
+        qvariant = QString(hbTrId("txt_occ_dblist_indi_menu_wireless_lan"));
+        break;
+    case SecondaryTextRole:
+        if (mParameter.isValid() && mParameter.type() == QVariant::List) {
+        
+            indicatorText = mParameter.toList();
+            validParameters = true;
+            }            
+        if (validParameters && (indicatorText.size() > 0)) {
+        	        
+            if (indicatorText[0] == wlanNotConnected){
+                    qvariant = QString(hbTrId("txt_occ_dblist_wireless_lan_val_not_connected"));
+                    }
+
+            else if (indicatorText[0] == wlanConnected){
+                QString iapName = indicatorText[1].toString();                                        
+                QString str = QString(hbTrId("txt_occ_dblist_wireless_lan_val_1_connected"));
+                qvariant = str.arg(iapName);
+                }
+            }            
+        else 
+           {
+            OstTrace0( WLANINDICATORPLUGIN_ERR,INVALID_PARAMS,"Invalid indicator parameters");
+           }
+        break;
+    case IconNameRole:
+        if (mParameter.isValid()) {
+        OstTraceFunctionExit1(DUP1_WLANINDICATORPLUGIN_INDICATORDATA_EXIT, this);
+        qvariant = HbIcon("qtg_small_wlan");
+        break;
+        }
+    case DecorationNameRole:
+        OstTraceFunctionExit1(DUP2_WLANINDICATORPLUGIN_INDICATORDATA_EXIT, this);
+        qvariant = HbIcon("qtg_small_wlan");
+        break;
+    default:
+        OstTraceFunctionExit1(DUP3_WLANINDICATORPLUGIN_INDICATORDATA_EXIT, this);
+        break;
+    }
+    return qvariant;
+}
+
+/*!
+    The processError is a handler for error codes.
+*/
+void WlanIndicatorPlugin::processError(QProcess::ProcessError err)
+    {
+    OstTraceFunctionEntry1(WLANINDICATORPLUGIN_PROCESSERROR_ENTRY, this);
+  
+    switch (err) {   
+        case QProcess::FailedToStart: 
+        case QProcess::Crashed: 
+        case QProcess::Timedout: 
+        case QProcess::ReadError: 
+        case QProcess::WriteError: 
+        case QProcess::UnknownError:
+            OstTrace1( WLANINDICATORPLUGIN_ERR,PROCESSERROR_KNOWN,"Process Error %u", err);
+            break;  
+        default:
+        OstTrace1( WLANINDICATORPLUGIN_ERR,PROCESSERROR_UNKNOWN,"Unknown Process Error %u", err);
+            break;
+        }
+    OstTraceFunctionExit1(WLANINDICATORPLUGIN_PROCESSERROR_EXIT, this);
+    }
--- a/wlanutilities/wlanindicatorplugin/src/wlanindicatorpluginimplementation.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,478 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  wlanindicatorplugin implementation
-*
-*/
-
-
-
-// INCLUDE FILES
-#include <eikenv.h>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <apgcli.h>
-#include <apgtask.h>
-#include <coemain.h>
-#include <bautils.h>
-#include <data_caging_path_literals.hrh>
-#include <StringLoader.h>
-#include <rconnmon.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <wlanmgmtclient.h>
-#include <wlanscaninfo.h>
-#include <cdblen.h>
-#include <commdb.h>
-#include <WlanCdbCols.h>
-#include <utf.h>
-#include <wlanindicator.rsg>
-#include "wlanindicatorpluginimplementation.h"
-
-
-// CONSTANTS
-const TUid KSnifferAppUid = { 0x10281CAA };
-_LIT( KDriveZ, "z:" );
-_LIT( KWlanIndicatorResourceFile, "wlanindicator.rsc" );
-
-using namespace CMManager;
-
-// ======== MEMBER FUNCTIONS ========
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CWlanIndicatorPluginImplementation
-// C++ default constructor can NOT contain any code, that
-// might leave.
-// ---------------------------------------------------------------------------
-//
-CWlanIndicatorPluginImplementation::CWlanIndicatorPluginImplementation()
-    : iCoeEnv( CCoeEnv::Static() )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::ConstructL
-// Symbian 2nd phase constructor can leave.
-// ---------------------------------------------------------------------------
-//
-void CWlanIndicatorPluginImplementation::ConstructL()
-    {    
-    TFileName fileName;
-
-    fileName.Append( KDriveZ );
-    fileName.Append( KDC_RESOURCE_FILES_DIR );   
-    fileName.Append( KWlanIndicatorResourceFile );
-
-    BaflUtils::NearestLanguageFile( iCoeEnv->FsSession(), fileName );
-    iResource = iCoeEnv->AddResourceFileL( fileName );
-    
-    iConnMonitor.ConnectL();
-    
-    iWlanMgmtClient = CWlanMgmtClient::NewL();
-    
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::NewL
-// Two-phased constructor.
-// -----------------------------------------------------------------------------
-//
-CWlanIndicatorPluginImplementation* CWlanIndicatorPluginImplementation::NewL()
-    {
-    CWlanIndicatorPluginImplementation* self = 
-        new( ELeave ) CWlanIndicatorPluginImplementation;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// -----------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::~CWlanIndicatorPluginImplementation
-// Destructor.
-// -----------------------------------------------------------------------------
-//
-CWlanIndicatorPluginImplementation::~CWlanIndicatorPluginImplementation()
-    {
-    iCoeEnv->DeleteResourceFile( iResource );
- 
-    iConnMonitor.Close();
-               
-    delete iWlanMgmtClient;
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::HandleIndicatorTapL
-// ---------------------------------------------------------------------------
-//
-void CWlanIndicatorPluginImplementation::HandleIndicatorTapL( const TInt aUid )
-    {
-    
-    switch ( aUid )
-        {
-        case EAknIndicatorWlanAvailable:
-        case EAknIndicatorWlanActive:
-        case EAknIndicatorWlanActiveSecure:
-            {
-
-            LaunchWlanSnifferL();
-            
-            break;
-            }   
-
-        default:
-            
-            break;
-
-        }
-
-
-    }
-
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::TextL( const TInt aUid, TInt& aTextType )
-// ---------------------------------------------------------------------------
-//    
-HBufC* CWlanIndicatorPluginImplementation::TextL( const TInt aUid,
-                                                 TInt& aTextType )
-    {   
-    HBufC* textBuf = NULL;
-    
-    switch ( aUid )
-        {
-        case EAknIndicatorWlanAvailable:
-            {
-            textBuf = CreateWlanNetworksFoundTextL();           
-            aTextType = EAknIndicatorPluginLinkText;
-                        
-            break;
-            }
-            
-        case EAknIndicatorWlanActive:
-        case EAknIndicatorWlanActiveSecure:
-            {                        
-            textBuf = CreateWlanConnectedTextL();
-            aTextType = EAknIndicatorPluginLinkText;
-            
-            break;
-            }
-
-        default:
-            
-            break;
-
-        }
-    
-    
-    return textBuf;
-    
-    }
-    
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CreateWlanNetworksFoundTextL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::CreateWlanNetworksFoundTextL()
-    {
-    
-    HBufC* dynText = NULL;
-    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 );
-
-    return dynText;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CreateWlanConnectedTextL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::CreateWlanConnectedTextL()
-    {
-    
-    HBufC* dynText = NULL;
-    HBufC* connectedNetworkName = NULL;
-                  
-    connectedNetworkName = ConnectionNameL( );
-    
-    CleanupStack::PushL( connectedNetworkName );
-    
-    if ( connectedNetworkName )
-        {
-        // "qtn_uni_ind_wlan_conn            '%U' connected"
-        dynText = StringLoader::LoadL ( 
-                R_QTN_UNI_IND_WLAN_CONN, *connectedNetworkName, iCoeEnv );
-        }
-    
-    CleanupStack::PopAndDestroy( connectedNetworkName );
-            
-    return dynText;
-    }       
-
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::AvailableNetworksInfoL()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::AvailableNetworksInfoL(
-    TInt& aAvailableCount )
-    {
-    
-    HBufC* knownNetworkName = NULL; 
- 
-    // get available iaps
-    RArray<TUint> 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()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWlanIndicatorPluginImplementation::ConnectionNameL( )
-    {
-    HBufC* connName = NULL;
-    
-    // get the connection ID
-    TUint connectionId = FindWlanBearerConnectedL();
-    
-    TUint connectedIapId(0);
-    TRequestStatus status;
- 
-    // get the IAP ID
-    iConnMonitor.GetUintAttribute( connectionId, 0, KIAPId,
-        connectedIapId, status );
-    User::WaitForRequest( status );
- 
-    // get the connection method from cmmanager
-    RCmManager cmManager;
-    cmManager.OpenLC();
-    
-    RCmConnectionMethod connMethod = cmManager.ConnectionMethodL( connectedIapId );  
-    CleanupClosePushL( connMethod );
-    
-    connName = connMethod.GetStringAttributeL( ECmName );
-        
-    CleanupStack::PopAndDestroy( 2, &cmManager ); //cmManager and connMethod
-    
-    return connName;
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::FindWlanBearerConnectedL()
-// ---------------------------------------------------------------------------
-//
-TUint CWlanIndicatorPluginImplementation::FindWlanBearerConnectedL( )
-    {
-    TUint connectionId( 0 );
-    
-    TUint connCount( 0 );
-    TUint subConnectionCount( 0 );
-    TRequestStatus status;
-    
-    iConnMonitor.GetConnectionCount( connCount, status );
-    User::WaitForRequest( status );
-    
-    if ( status.Int() == KErrNone )
-        {    
-        for ( TUint i = 1; i <= connCount; ++i )
-            {
-            User::LeaveIfError( iConnMonitor.GetConnectionInfo( i, connectionId, 
-                                                        subConnectionCount ) );
-            if ( CheckIfWlan( connectionId ) )
-                {
-                break;
-                }
-            }
-        }
-    
-    return connectionId;
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::CheckIfWlan()
-// ---------------------------------------------------------------------------
-//
-TBool CWlanIndicatorPluginImplementation::CheckIfWlan( TUint aConnectionId )
-    {
-    TConnMonBearerType bearerType( EBearerUnknown );
-
-    TBool foundWlanBearer( EFalse );
-    
-    TRequestStatus status;
-
-    // Add only connections with valid id
-    if ( aConnectionId > 0 )
-        {
-        iConnMonitor.GetIntAttribute( aConnectionId, 0, KBearer, (TInt&)bearerType, 
-            status );
-        User::WaitForRequest( status );        
-
-        if ( status.Int() == KErrNone )
-            {
-            if ( bearerType == EBearerWLAN )
-                {
-                foundWlanBearer = ETrue;
-                }
-            }
-
-        }
-
-    return foundWlanBearer;
-    
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanIndicatorPluginImplementation::LaunchWlanSnifferL()
-// ---------------------------------------------------------------------------
-//
-void CWlanIndicatorPluginImplementation::LaunchWlanSnifferL()
-    {
-
-    RApaLsSession appArcSession;
-
-    User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
-    CleanupClosePushL( appArcSession );
-
-    // check if the app is already running
-    TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-    TApaTask task = taskList.FindApp( KSnifferAppUid );
-    
-    if ( task.Exists() )
-        {
-        task.BringToForeground();
-        }
-    else
-        {
-        TThreadId threadId;
-        User::LeaveIfError( appArcSession.StartDocument( KNullDesC, 
-                                KSnifferAppUid, threadId ) );
-                                
-        }
-        
-    CleanupStack::PopAndDestroy(); // appArcSession
-    
-    }
-
-//  End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/traces/OstTraceDefinitions.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanindicatorplugin/wlanindicatorplugin.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,45 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = lib
+CONFIG += plugin
+CONFIG += hb
+
+# directories
+DEPENDPATH += .
+INCLUDEPATH += .\inc
+
+HEADERS += inc\wlanindicatorplugin.h \
+           traces\OstTraceDefinitions.h
+
+SOURCES += src\wlanindicatorplugin.cpp
+
+TRANSLATIONS = wlanindicatorplugin.ts
+
+symbian*::LIBS += -HbCore  -HbWidgets 
+
+symbian*: {
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    TARGET.UID3 = 0x2002C39F
+    SYMBIAN_PLATFORMS = WINSCW ARMV5
+    BLD_INF_RULES.prj_exports += "rom/wlanindicatorplugin.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanindicatorplugin.iby)"
+    BLD_INF_RULES.prj_exports += "rom/wlanindicatorplugin_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlanindicatorplugin_resources.iby)"
+    pluginstub.sources = wlanIndicatorplugin.dll
+    pluginstub.path = /resource/plugins/indicators
+    DEPLOYMENT += pluginstub
+}
+
--- a/wlanutilities/wlanplugin/data/10281BCB.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        ECOM plugin resource file for WLAN Settings plugin.
-*
-*
-*/
-
-#include <ecom/registryinfo.rh>
-
-RESOURCE REGISTRY_INFO theInfo
-    {
-    dll_uid     = 0x10281BCB; // Plugin dll UID
-    interfaces  = 
-        {
-        INTERFACE_INFO
-            {
-            interface_uid   = 0x10207236; // UID for CGSPluginInterface - do not change.
-            implementations = 
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid  = 0x10281BCA; // Plugin UID
-                    version_no          = 1;
-                    display_name        = "WLAN Plugin"; // debug name
-                    default_data        = "0x10207250"; // Parent UID (Connection View)
-                    opaque_data         = "20"; // Order number
-                    }
-                };
-            }
-        };
-    }
-
--- a/wlanutilities/wlanplugin/data/wlanpluginrsc.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Resource file for WlanPlugin
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    PWLB // 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <avkon.hrh>
-
-#include <wlanplugin.loc>
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS 
-
-//----------------------------------------------------
-//   
-//    
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-    
-//----------------------------------------------------
-//   
-//    r_qtn_set_folder_conn_wlan 
-//    Caption for Plugin.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_set_folder_conn_wlan { buf = qtn_set_folder_conn_wlan; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_no_nw_available { buf = qtn_cp_detail_wlan_no_nw_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_scan_off { buf = qtn_cp_detail_wlan_scan_off; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_known_nw_available { buf = qtn_cp_detail_wlan_known_nw_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_network_available { buf = qtn_cp_detail_wlan_network_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_networks_available { buf = qtn_cp_detail_wlan_networks_available; }
-
-RESOURCE TBUF r_qtn_cp_detail_wlan_connected    { buf = qtn_cp_detail_wlan_connected; }
-
-RESOURCE TBUF r_qtn_err_os_general { buf = qtn_err_os_general ; } 
-
-//End of File
--- a/wlanutilities/wlanplugin/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2005 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information for the WLAN Settings Plug-in
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-// export iby files
-../rom/wlanplugin.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(wlanplugin.iby)
-../rom/wlanpluginresources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wlanpluginresources.iby)
-
-// export localised loc file
-../loc/wlanplugin.loc	MW_LAYER_LOC_EXPORT_PATH(wlanplugin.loc)
-
-PRJ_MMPFILES
-./wlanplugin.mmp
-
-// gnumakefile wlanpluginicons.mk
-
-PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wlanplugin.mif
-OPTION HEADERFILE wlanplugin.mbg
-OPTION SOURCES -c16,8 qgn_prop_set_conn_wlan \
-		-c16,8 qgn_prop_set_conn_wlan_conn \
-		-c16,8 qgn_prop_set_conn_wlan_off \
-		-c8,8 qgn_indi_wlan_signal_low_add \
-		-c8,8 qgn_indi_wlan_signal_med_add \
-		-c8,8 qgn_indi_wlan_signal_good_add 
-END
-
-// End of File
--- a/wlanutilities/wlanplugin/group/wlanplugin.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is project specification file for the wlanplugin.
-*
-*
-*/
-
-#include <data_caging_paths.hrh>    //this is needed for RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-CAPABILITY          CAP_ECOM_PLUGIN
-TARGET              wlanplugin.dll
-TARGETTYPE          PLUGIN
-UID                 0x10009D8D 0x10281BCB
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              wlanplugin.cpp
-SOURCE              wlanpluginimplementationtable.cpp
-SOURCE				wlanpluginwlanstate.cpp
-SOURCE              wlanplugindbobserver.cpp
-SOURCE              wlanplugintimeshifter.cpp
-
-USERINCLUDE         ../data
-
-// Component specific internal headers 
-USERINCLUDE			../inc
-SYSTEMINCLUDE       ../../inc
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-//ECOM resource definition
-START RESOURCE      10281BCB.rss
-TARGET              wlanplugin.rsc
-END // ECOM resource definition
-
-//WlanSettingsPlugin resources
-START RESOURCE      wlanpluginrsc.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END//WlanPlugin resources
-
-LIBRARY             euser.lib
-LIBRARY             efsrv.lib
-LIBRARY             avkon.lib
-LIBRARY             FeatMgr.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcore.lib 
-LIBRARY             commonengine.lib   // RConeResourceLoader
-LIBRARY             aknskins.lib       // AknsUtils.h
-LIBRARY             GSEcomPlugin.lib
-LIBRARY             apgrfx.lib
-LIBRARY             apparc.lib
-LIBRARY				ws32.lib
-LIBRARY				wsfwlaninfo.lib
-LIBRARY				wsfmodel.lib
-LIBRARY             wsfwlaninfosorting.lib
-LIBRARY             commonui.lib
-LIBRARY             aknnotify.lib 
-LIBRARY             eiksrv.lib
-LIBRARY     		COMMSDAT.lib
-LIBRARY     		cmmanagerdatabase.lib
-DEBUGLIBRARY        flogger.lib
-
--- a/wlanutilities/wlanplugin/group/wlanpluginicons.mk	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-#
-# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:  Makefile for icons of WlanSettingsPlugin
-#
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=\epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=\epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\resource\apps
-ICONTARGETFILENAME=$(TARGETDIR)\wlanplugin.mif
-
-HEADERDIR=\epoc32\include
-HEADERFILENAME=$(HEADERDIR)\wlanplugin.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-# ----------------------------------------------------------------------------
-# NOTE 1: DO NOT DEFINE MASK FILE NAMES! They are included automatically by
-# MifConv if the mask detph is defined.
-#
-# NOTE 2: Usually, source paths should not be included in the bitmap
-# definitions. MifConv searches for the icons in all icon directories in a
-# predefined order, which is currently \s60\icons, \s60\bitmaps2, \s60\bitmaps.
-# The directory \s60\icons is included in the search only if the feature flag
-# __SCALABLE_ICONS is defined.
-# ----------------------------------------------------------------------------
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-		/c16,8 qgn_prop_set_conn_wlan.svg \
-		/c16,8 qgn_prop_set_conn_wlan_conn.svg \
-		/c16,8 qgn_prop_set_conn_wlan_off.svg \
-		/c8,8 qgn_indi_wlan_signal_low_add.svg \
-		/c8,8 qgn_indi_wlan_signal_med_add.svg \
-		/c8,8 qgn_indi_wlan_signal_good_add.svg 
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/wlanutilities/wlanplugin/inc/wlanplugin.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,246 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Header file for CWlanPlugin class.
-*
-*/
-
-#ifndef __C_WLANPLUGIN_H__
-#define __C_WLANPLUGIN_H__
-
-// System includes
-#include <gsplugininterface.h>
-#include <ConeResLoader.h>
-#include <AknServerApp.h>
-
-//forward declarations
-class CAknNavigationDecorator;
-class CAknViewAppUi;
-class CAknNullService;
-class CGSParentPlugin;
-class CWlanPluginWlanState;
-
-/**
-* WLAN plugin's UID
-*/
-const TUid KWlanPluginUid = { 0x10281BCA };
-
-/**
-* WlanSniffer applicatoin's UID
-*/
-const TUid KSnifferAppUid = { 0x10281CAA };
-
-/**
-* WLAN plugin class.
-*/
-class CWlanPlugin : public CGSPluginInterface,
-                    public MAknServerAppExitObserver 
-    {
-    public://Constructors & destructors
-
-        /**
-        * First phase constructor
-        * Creates new instance of CWlanPlugin 
-        * @param aInitParams Initialising parameters
-        * @return a plugin instance
-        */ 
-        static CWlanPlugin* NewL( TAny* aInitParams );
-                        
-        /**
-        * Destructor
-        */
-        ~CWlanPlugin();
-        
-    public: // Functions from base class
-        
-        /**
-        * From CAknView
-        */
-        
-        /**
-        * Returns the Plugin's UID
-        * @return UID of the plugin
-        */
-        TUid Id() const;
-             
-        /*
-        * Funtion called when This is activated.
-        * @param aPrevViewId The previous View Id
-        * @param aCustomMessageId Id of a custom message
-        * @param aCustomMessage Content of the custom message
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId, 
-                          TUid aCustomMessageId, 
-                          const TDesC8& aCustomMessage );
-        
-        /*
-        * Funtion called when this is deactivated.
-        */
-        void DoDeactivate();
-
-    public:
-        
-        /**
-        * from CGSPluginInterface
-        */
-
-        /*
-        * Called by the CP framework. This returns the
-        * caption of the plugin, the first line of the listbox
-        * element of it, shown in the Control Panel UI.
-        * @param aCaption The caption is copied here
-        */
-        void GetCaptionL( TDes& aCaption ) const;
-
-        /*
-        * Returns if it has bitmap.
-        * @return The logical value of having birmap
-        */
-        TBool HasBitmap() const;
-        
-        /*
-        * Returns a bitmap.
-        * @param aBitmap the returned bitmap
-        * @param aMask the returned mask of the bitmap
-        */
-        void GetBitmapL( CFbsBitmap* aBitmap, CFbsBitmap* aMask ) const;
-        
-        
-        /*
-        * Returns a the plugin provider's cathegory
-        * @return The id of the cathegory
-        */
-        TInt PluginProviderCategory() const;
-        
-        /*
-        * This function is called, when the plugin is selected.
-        * In this case it starts sniffer application
-        * @param aSelectionType The type of the selection
-        */
-        void HandleSelection( const TGSSelectionTypes aSelectionType );
-          
-        /*
-        * Returns the type of the item.
-        * @return The type of the item
-        */
-        TGSListboxItemTypes ItemType();
-        
-        /*
-        * Creates the asked type icon (main icon or D column icon)
-        * and returns a pointer to it.
-        * @param aIconType Type of the icon
-        * @return the asked icon
-        */
-        CGulIcon* CreateIconL( const TUid aIconType );
-        
-        /**
-        * Method for checking, if plugin should be visible and used in GS FW.
-        * (for example shown in listbox of the parent view).
-        *
-        * On default plugin is visible. Overwrite this function to enable or
-        * disable your plugin dynamically.
-        *
-        * @return ETrue if plugin should be visible in GS.
-        * @return EFalse if plugin should not be visible in GS.
-        */
-        virtual TBool Visible() const;
-        
-        /*
-        * The aKey identified value is given back by it. Actually
-        * the the second line of the listbox element of this plugin
-        * is given by this function.
-        * @param aKey The id of the asked value.
-        * @param aValue The returned value.
-        */
-        void GetValue( const TGSPluginValueKeys aKey,
-                          TDes& aValue );  
-        
-        
-        void HandleServerAppExit(TInt aReason);
-        
-        
-    protected:
-    
-        /**
-        * Constructor
-        */
-        CWlanPlugin();
-
-    private:
-        
-        /**
-        * Second phase constructor
-        */
-        TAny ConstructL();
-               
-        /**
-        * Opens the localized resource file 
-        */
-        void OpenLocalizedResourceFileL();
-        
-        /**
-        * Launches Sniffer application 
-        */
-        void LaunchSnifferAppL();
-              
-        /**
-        * Queries if wlan is supported
-        * @return if the wlan is supported
-        */
-        TBool GetWlanSupported() const;
-        
-        /**
-        * Shows an error note in case of error. 
-        * @param aErrorCode The error code.
-        */
-        void ShowErrorNote(TInt aErrorCode);
-
-        /**
-        * Shows the error note and resolves the error.
-        * @param aErrorCode The error code.
-        */
-        TBool ShowErrorNoteL(TInt aErrorCode);
-    
-        /**
-        * Shows a general error note
-        */
-        void ShowGeneralErrorNoteL();
-         
-    private: //data
-        
-        /*
-        * @var resource loader
-        */
-        RConeResourceLoader iResources;
-        
-        /*
-        * @var null service
-        */
-        CAknNullService* iNullService;
-        
-        /*    
-        * @var stores the present status line    
-        */
-        HBufC* iStatusLine;
-
-        /*
-        * @var wlan state handler/observer
-        */
-        CWlanPluginWlanState* iWlanState;       
-        
-    };
-
-#endif //__C_WLANPLUGIN_H__
-
-//End of file
\ No newline at end of file
--- a/wlanutilities/wlanplugin/inc/wlanplugindbobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,105 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Header file for CWlanPluginDbObserver class.
-*
-*/
-
-
-#ifndef C_WLAN_PLUGIN_DB_OBSERVER
-#define C_WLAN_PLUGIN_DB_OBSERVER
-
-// System includes
-#include <e32base.h>
-#include <wlancontainer.h>
-#include <d32dbms.h> 
-#include <WlanCdbCols.h>
-#include <commsdat.h>
-
-//forward declaration
-class CWlanPluginWlanState;
-
-/**
-* Database observer class.
-*/
-NONSHARABLE_CLASS( CWlanPluginDbObserver ) : public CActive
-    {
-    public:
-        /**
-        * The Constructor.
-        * @param aState Pointer to the WLAN State object.
-        */
-        CWlanPluginDbObserver( CWlanPluginWlanState* aState );
-        
-        /**
-        * First phase of two phased construction.
-        * @param aState Pointer to the WLAN State object.
-        */
-        static CWlanPluginDbObserver* NewL( CWlanPluginWlanState* aState );
-        
-        /**
-        * This function activates this object as an active object.
-        */
-        void ActivateItL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CWlanPluginDbObserver();
-          
-    protected:
-        /**
-        * When the WLAN device settings table is accessed this function
-        * is called. Handle of the active object.
-        */
-        void RunL();
-        
-        /**
-        * Whan waiting for a database access is stopped this function
-        * is called.
-        */
-        void DoCancel();
- 
-    private:
-        /**
-        * Second phase of two phase construction.
-        */
-        void ConstructL();
-
-    private:  
-        /**
-        * @var Pointer to the WLAN state object to ask and set scanning
-        * state.
-        */ 
-        CWlanPluginWlanState * iWlanState;
-        
-        /**
-        * A CommsDat session fod database access.
-        */
-        CMDBSession* iSession;
-        
-        /**
-        * A class representing a recor of WLAN Devive Settings table.
-        */
-        CCDWlanDeviceSettingsRecord* iRecord;
-        
-        /**
-        * The value of it shows the scan state of the WLAN availablity
-        */
-        TBool iOuterScanState;
-    
-    };
-    
-    
-#endif //C_WLAN_PLUGIN_DB_OBSERVER
\ No newline at end of file
--- a/wlanutilities/wlanplugin/inc/wlanpluginlogger.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,101 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: Functions and macros for debugging
-*
-*
-*/
-
-
-#ifndef WLANPLUGINLOGGER_H_INCLUDED
-#define WLANPLUGINLOGGER_H_INCLUDED
-
-// ========== INCLUDE FILES ================================
-
-#include <eikenv.h>
-#include <flogger.h>
-
-#ifdef _DEBUG
-
-// Format string: enter function.
-_LIT( KCCDLGLogEnterFn,           "-> %S" );
-// Format string: leave function.
-_LIT( KCCDLGLogLeaveFn,           "<- %S" );
-// Format string: time.
-_LIT( KCCDLGLogTimeFormatString,  "%H:%T:%S:%*C2" );
-
-// Logging directory.
-_LIT( KCCDLGLogDir,               "wlanplugin" );
-// Log file name.
-_LIT( KCCDLGLogFile,              "wlanplugin.txt" );
-_LIT( KCCDLGLogBanner,            "****************\n\nWlanPlugin\n\n****************" );
-_LIT( KCCDLGLogExit,              "WlanPlugin : Exit" );
-
-#define CLOG_CREATE             {FCreate();}
-#define CLOG_DELETE             {RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogExit);}
-#define CLOG_ENTERFN(a)         {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogEnterFn, &temp);}
-#define CLOG_LEAVEFN(a)         {_LIT(temp, a); RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, KCCDLGLogLeaveFn, &temp);}
-#define CLOG_WRITE(a)           {_LIT(temp, a); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, temp);}
-#define CLOG_WRITE_TIMESTAMP(a) {_LIT(temp, a); TTime time; time.HomeTime(); TBuf<256> buffer; time.FormatL( buffer, KCCDLGLogTimeFormatString ); buffer.Insert(0, temp); RFileLogger::Write(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, buffer); }
-#define CLOG_WRITEF             FPrint
-
-
-inline void FPrint(const TRefByValue<const TDesC> aFmt, ...)
-    {
-    VA_LIST list;
-    VA_START(list,aFmt);
-    RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aFmt, list);
-    }
-
-inline void FPrint(const TDesC& aDes)
-    {
-    RFileLogger::WriteFormat(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, aDes);
-    }
-
-inline void FHex(const TUint8* aPtr, TInt aLen)
-    {
-    RFileLogger::HexDump(KCCDLGLogDir, KCCDLGLogFile, EFileLoggingModeAppend, 0, 0, aPtr, aLen);
-    }
-
-inline void FHex(const TDesC8& aDes)
-    {
-    FHex(aDes.Ptr(), aDes.Length());
-    }
-
-inline void FCreate()
-    {
-    TFileName path( _L( "c:\\logs\\" ) );
-    path.Append( KCCDLGLogDir );
-    path.Append( _L( "\\" ) );
-    RFs& fs = CEikonEnv::Static()->FsSession();
-    fs.MkDirAll( path );
-    RFileLogger::WriteFormat( KCCDLGLogDir, KCCDLGLogFile, 
-                              EFileLoggingModeAppend, KCCDLGLogBanner );
-    }
-
-#else // ! _DEBUG
-
-inline void FPrint(const TRefByValue<const TDesC> /*aFmt*/, ...) { };
-
-#define CLOG_CREATE
-#define CLOG_DELETE
-#define CLOG_ENTERFN(a)
-#define CLOG_LEAVEFN(a)
-#define CLOG_WRITE(a)
-#define CLOG_WRITEF   1 ? ((void)0) : FPrint
-#define CLOG_WRITE_TIMESTAMP(a)
-
-#endif // _DEBUG
-
-
-#endif // WLANPLUGINLOGGER_H_INCLUDED
--- a/wlanutilities/wlanplugin/inc/wlanplugintimeshifter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Header file for CWlanPluginTimeShifter class.
-*
-*/
-
-
-#ifndef C_WLAN_PLUGIN_TIME_SHIFTER
-#define C_WLAN_PLUGIN_TIME_SHIFTER
-
-#include <e32base.h>
-
-
-class CWlanPluginWlanState;
-
-
-NONSHARABLE_CLASS( CWlanPluginTimeShifter ) : public CActive
-    {
-    
-    public:
-        /*
-        * First phase of two phase construction
-        */
-        static CWlanPluginTimeShifter* NewLC(
-                                  CWlanPluginWlanState* aWlanState );
-        
-        /*
-        * First phase of two phase construction
-        */
-        static CWlanPluginTimeShifter* NewL( 
-                                  CWlanPluginWlanState* aState );
-        
-        /*
-        * Destructor
-        */
-        virtual ~CWlanPluginTimeShifter();
-        
-        /*
-        *
-        */
-        void ActivateIt();
-    
-    
-    protected:
-    
-        /**
-        * 
-        * 
-        */
-        void RunL();
-        
-        /**
-        * 
-        * 
-        */
-        void DoCancel();
-        
-        /**
-        * Constructor
-        */
-        CWlanPluginTimeShifter( CWlanPluginWlanState* aWlanState );
-        
-        
-    private:
-                
-        /*
-        * Second phase of 2 phase construction
-        */
-        void ConstructL();
-    
-    private:
-        
-        /**
-        * @var Pointer to the WLAN state object to ask and set scanning
-        * state.
-        */ 
-        CWlanPluginWlanState * iWlanState;
-    
-       
-    
-    
-    };
-
-#endif  //C_WLAN_PLUGIN_TIME_SHIFTER
\ No newline at end of file
--- a/wlanutilities/wlanplugin/inc/wlanpluginwlanstate.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,347 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Header file for WlanPluginWlanState class.
-*
-*/
-
-
-#ifndef __C_WLANPLUGINWLANSTATE_H__
-#define __C_WLANPLUGINWLANSTATE_H__
-
-// System includes
-#include <e32base.h>
-#include <wsfstatechangeobserver.h>
-#include <wsfwlaninfo.h>
-#include <AknsItemID.h>
-
-//forward declarations
-class CWsfModel;
-class CWsfWlanInfoArray;
-class CCoeEnv;
-class CGSParentPlugin;
-class CGulIcon;
-class CWlanPluginDbObserver;
-class CWsfWlanInfoArrayVisitor;
-class CWlanPluginTimeShifter;
-
-/**
-* WLAN state class.
-*/
-class CWlanPluginWlanState : public CBase,
-                                public MWsfStateChangeObserver
-    {
-        
-    public:
-    
-        /*
-        * Default constructor
-        * @param aParent The the parent plugin of it in.
-        * the Control Panel
-        */
-        CWlanPluginWlanState( CGSParentPlugin *aParent );
-        
-        /*
-        * Destructor
-        */
-        virtual ~CWlanPluginWlanState();
-        
-        /*
-        * First phase of 2 phase constructor.
-        * @param aParent pointer to parent plugin.
-        * @return An instance.
-        */
-        static CWlanPluginWlanState* NewLC( CGSParentPlugin *aParent );
-        
-        /*
-        * First phase of 2 phase constructor
-        * @param aParent Pointer to parent plugin.
-        * @return An instance.
-        */
-        static CWlanPluginWlanState* NewL( CGSParentPlugin *aParent );
-        
-        /*
-        *  Gives back the wlan state descriptor into aDes.
-        *  @param aDes Reference to the destination descriptor.
-        */
-        void GetStateStringL( TDes& aDes );
-        
-        /*
-        * Gives back the wlan state main icon. The result is
-        * ETrue if there is valid id. 
-        * @param aPic The id of the icon.
-        * @param aPicMask The id of the mask.
-        */
-        TBool GetMainIconL( TInt& aPic, 
-        		            TInt& aPicMask, 
-        		            TAknsItemID& aItemID );
-
-        /*
-        * Gives back the signal strength. The result is
-        * ETrue if there is valid strength, and the state
-        * is connected. 
-        * @param aPic The id of the icon.
-        * @param aPicMask The id of the mask.
-        * @return If D column icon is needed.
-        */
-        TBool GetStrengthIconL( TInt& aPic, 
-        		                TInt& aPicMask, 
-        		                TAknsItemID& aItemId );
-        
-        /**
-        * Returns if the observed scanning is on
-        * @return If the scanning is on.
-        */
-        TBool IsScanning();
-        
-        /**
-        * Sets the scanning value, and manage effects, caused
-        * by it. It is used by the dbobserver class to manage 
-        * setting scanning value caused by the "Wlan availability".
-        * @param aScanning The set value.
-        */
-        void SetScanningL( TBool aScanning );
-        
-        /**
-        *
-        */
-        void DirectlyScanL();
-        
-        /**
-        *
-        */
-        void DeleteTimeShifter();
-        
-    public: //from MWlanSnifferStateChangeObserver
-        /*
-        * The current wlan data has changed
-        * and it is ready to be retrieved.
-        */
-        virtual void WlanListChangedL();
-
-        /*
-        * Engine error occured
-        * @param aError System wide error to describe what has happened.
-        */
-        virtual void NotifyEngineError( TInt aError );
-
-        /*
-        *  The network scanning has been disabled.
-        */
-        virtual void ScanDisabledL();
-
-        /*
-        * The network scanning has been enabled.
-        */
-        virtual void ScanEnabledL();
-
-        /*
-        * Wlan bearer opened using accesspoint
-        * @param TDesC aAccesspointName.
-        */
-        virtual void WlanConnectionActivatedL( const 
-                                       TDesC& aAccessPointName );
-
-        /*
-        * wlan bearer has been closed
-        */
-        virtual void WlanConnectionClosedL();
-        
-        /**
-        * Connection creation process finished
-        * @param aError System wide error code
-        */
-        virtual void ConnectionCreationProcessFinishedL( TInt aError );
-        
-    protected:
-        /*
-        * Makes the wlan state descriptor according to
-        * the given info array.
-        * @param aArray the given info array.
-        * @param aDes the result is written here.
-        */
-        void MakeStateStringL( CWsfWlanInfoArray* aArray, HBufC*& aBuf );
-
-
-        /*
-        * Gives the connected wlan status string.
-        * @param aItem Ref to the result descriptor. 
-        */
-        void FormatConnectedL( HBufC*& aBuf );
-        
-        /*
-        * Gives the offline wlan status string.
-        * @param aItem Ref to the result descriptor. 
-        */
-        void FormatStatusOffL( HBufC*& aBuf );
-
-        /*
-        * Decides if there is one interesting wlan or
-        * more and writes out wlan state string.
-        * @param aArray input array of wlans.
-        * @param aItem ref to the result descriptor.
-        */
-        void CheckWlansL( CWsfWlanInfoArray* aArray, HBufC*& aBuf );
-
-        /*
-        * Decides if the wlan given is connected, or known 
-        * and writes out the suitable text to aItem according
-        * to it.
-        * @param aWlan Input wlan info.
-        * @param aItem Ref to the result descriptor. 
-        */
-        void FormatWlanSingleLineL( TWsfWlanInfo& aWlan, HBufC*& aBuf );
-
-        /*
-        * Decides if there is one unknown or more
-        * networks and writes solution according to it.
-        * @param aMultipleUnknownWlans If 
-        * there is more network available.
-        * @param aItem Ref to the result descriptor.
-        */
-        void FormatUnknownWlansSingleLineL( 
-                    const TBool aMultipleUnknownWlans, 
-                    HBufC*& aBuf );
-
-        /*
-        * Gives the descripto meaning there are no
-        * wlans found. 
-        * @param aItem Ref to output descriptor.
-        */
-        void FormatNoWlansAvailableL( HBufC*& aBuf );
-
-        /*
-        * Checks if the wlan state is different from
-        * the one iPresentString represent. The
-        * result is ETrue if the state changed.
-        * @return If the state is changed.
-        */
-        TBool IsStateChangedL();
-        
-        /*
-        * Gets the present signal strength. It is a normal
-        * strength if the wlan state is connected, otherwise it is
-        * ENoSignal.
-        * @return The signal strength
-        */
-        TWsfWlanSignalStrengthLevel GetSignalStrength();
-        
-        /**
-        * Updates the parent plugin in Control Panel
-        */
-        void UpdateParentViewL();
-                  
-    private:
-
-        /*
-        * Second phase of two phase construction
-        */
-        void ConstructL();
-        
-        /**
-        * Updates the wlan list
-        */
-        void UpdateWlanListL();
-        
-    protected:
-        
-        /*
-        * @var pointer to a sniffer model    
-        */
-        CWsfModel* iEngine;
-
-        /*
-        * @var present wlan info list    
-        */
-        CWsfWlanInfoArray* iInfoArray;
-        
-        /*
-        * @var if wlan is scanning    
-        */
-        TBool iScanning;
-        
-        /*
-        * @var if there is wlan connection    
-        */
-        TInt iConnected;
-        
-        /*
-        * @var true if the plugin explicitely started wlan scanning
-        */
-        TInt iExplicitScanning;
-        
-        /*
-        * @var pointer to coeEnv
-        */
-        CCoeEnv* iCoeEnv;
-
-        /*
-        * @var pointer to parent plugin
-        */
-        CGSParentPlugin* iParent;
-
-        /*
-        * @var the present written out status string
-        */
-        HBufC* iPresentString;
-        
-        /*
-        * @var the present signal strength
-        */ 
-        TWsfWlanSignalStrengthLevel iSignalStrength;
-        
-        /**
-        * @var The Database observer class
-        */
-        CWlanPluginDbObserver* iDbObserver;
-                
-        /**
-        * @var A bool representing if calling an update for parent
-        * plugin is enabled. True if the parent do not have be updated. 
-        */
-        TBool iSupressParentUpdate;
-        
-        /**
-        * @var A bool false, if wlan list update is valid to call
-        */
-        TBool iSupressUpdateWlan;
-        
-        /**
-        * @var object needed filtering out wlans
-        */
-        CWsfWlanInfoArrayVisitor* iWlanInfoBranding;
-        
-        /*
-        * @var the second line data reachable is valid
-        */
-        TBool iValidSecondLine;
-        
-        /*
-        * @var tThe wlan info of the connected network
-        */
-        TWsfWlanInfo iConnectedWlanInfo;
-        
-        /*
-        * @var Time shifter
-        */
-        CWlanPluginTimeShifter* iTimeShifter;
-        
-        /*
-        * @var Time shifter supressing
-        */
-        TBool iSupressTimeShifter;
-        
-    };
-
-#endif //__C_WLANPLUGINWLANSTATE_H__
--- a/wlanutilities/wlanplugin/loc/wlanplugin.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,69 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*		Localization strings for Plugin
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-//d:Text of a list item in Connection view's list
-//d:Item opens WLAN view
-//l:list_double_large_graphic_pane_t1
-//r:5.0
-#define qtn_set_folder_conn_wlan "WLAN"
-        
-// d:Text to indicate that the wlan scanning is off.
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_scan_off	"WLAN scanning off"
-
-// d:Text indicate that wlan scan did not find any wlan in the range 
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_no_nw_available	"No networks available"
-
-// d:Text used to tell that a preconfigured wlan accesspoint is found.
-// d:%U stands for wlan ssid( max 50 digits ) 
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_known_nw_available	"'%U' available"
-
-// d:Text use to indicate that a non-configured wlan is in the range 
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define	qtn_cp_detail_wlan_network_available	"Network available"
-
-// d:Text use to indicate that multiple non-configured wlans is in the range 
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_networks_available	"Networks available"
-
-// d:Text used the show connected wlan 
-// d: %U wlan ssid ( max 50 digits ) 
-// d:(one row)
-// l:list_double_large_graphic_pane_t2
-#define qtn_cp_detail_wlan_connected	"Connected to '%U'"
-
-//d: In case of error, the error code is passed to error resolver
-//d: and the error note is displayed accordingly. If error resolver
-//d: cannot resolve the error, an error note "System error" is displayed.
-//l: popup_note_window/opt2
-//w:
-//r:5.0
-//
-#define qtn_err_os_general "System error"
-
-// End of File
--- a/wlanutilities/wlanplugin/rom/wlanplugin.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanSettingsPlugin
-*
-*/
-
-
-#ifndef __WLANPLUGIN_IBY__
-#define __WLANPLUGIN_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-ECOM_PLUGIN(wlanplugin.DLL,10281BCB.rsc)
-
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,wlanplugin)
-
-#endif //__PROTOCOL_WLAN
-
-#endif __WLANPLUGIN_IBY__
\ No newline at end of file
--- a/wlanutilities/wlanplugin/rom/wlanpluginresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanSettingsPlugin
-*
-*/
-
-
-#ifndef __WLANPLUGIN_RESOURCES_IBY__
-#define __WLANPLUGIN_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-data=DATAZ_\RESOURCE_FILES_DIR\wlanpluginrsc.rsc RESOURCE_FILES_DIR\wlanpluginrsc.rsc
-
-#endif //__PROTOCOL_WLAN
-
-#endif __WLANPLUGIN_RESOURCES_IBY__
\ No newline at end of file
--- a/wlanutilities/wlanplugin/src/wlanplugin.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,482 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  WlanPlugin class.
-*
-*/
-
-
-// INCLUDE FILES
-
-// User includes
-#include "wlanplugin.h"
-#include "wlanpluginwlanstate.h"
-#include "wlanpluginlogger.h"
-
-// System includes
-#include <wlanpluginrsc.rsg>
-#include <gsparentplugin.h>
-#include <gsfwviewuids.h>
-#include <AknNullService.h>
-#include <bautils.h>
-#include <StringLoader.h>
-#include <featmgr.h>
-#include <AknGlobalNote.h>
-#include <ErrorUI.h>
-
-
-// Resource file location
-_LIT( KWlanPluginResourceFileName, "z:wlanpluginrsc.rsc" );
-
-// ROM folder
-_LIT( KDriveZ, "z:" );
-
-// Name of the MBM file containing icons
-_LIT( KFileIcons, "wlanplugin.mif");
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanPlugin::NewL
-// First phase constructor
-// ---------------------------------------------------------
-CWlanPlugin* CWlanPlugin::NewL( TAny* /*aInitParams*/ )
-    {
-    CWlanPlugin* self = new ( ELeave ) CWlanPlugin();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;     
-    }
-
-// ---------------------------------------------------------
-// Destructor
-// ---------------------------------------------------------
-CWlanPlugin::~CWlanPlugin()
-    {
-    CLOG_ENTERFN( "CWlanPlugin::~CWlanPlugin()" );  
-            
-    iResources.Close();
-    
-    if( iNullService )
-        {
-        delete iNullService;
-        }
-    if ( iWlanState )
-        {
-        delete iWlanState;
-        }
-        
-    CLOG_ENTERFN( "CWlanPlugin::~CWlanPlugin()" );    
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ConstructL
-// ---------------------------------------------------------
-TAny CWlanPlugin::ConstructL()
-    {
-    CLOG_CREATE;
-    
-    CLOG_ENTERFN( "CWlanPlugin::ConstructL()" );
-    
-    BaseConstructL(); 
-    
-    OpenLocalizedResourceFileL();    
-                                
-    // Check Wlan support in construction phase to
-    // avoid creating of plugin when it is not necessary. 
-    if( GetWlanSupported() ) 
-        {
-        // This is the parent plugin
-        CGSParentPlugin* parent = static_cast<CGSParentPlugin*>(
-                 AppUi()->View( KGSConPluginUid ) );
-            
-        iWlanState = CWlanPluginWlanState::NewL( parent );
-        }
-    else 
-        {
-        User::Leave( KErrNotSupported );
-        }
-    
-    CLOG_LEAVEFN( "CWlanPlugin::ConstructL()" );
-    }
-    
-// ---------------------------------------------------------
-// CWlanPlugin::Id
-// ---------------------------------------------------------
-TUid CWlanPlugin::Id() const
-    {
-    CLOG_ENTERFN( "CWlanPlugin::Id()" );
-    
-    CLOG_LEAVEFN( "CWlanPlugin::Id()" );
-    
-    return KWlanPluginUid;
-    
-    }
-        
-// ---------------------------------------------------------
-// CWlanPlugin::DoActivateL
-// ---------------------------------------------------------
-void CWlanPlugin::DoActivateL( const TVwsViewId& /*aPrevViewId*/, 
-                                       TUid /*aCustomMessageId*/, 
-                                       const TDesC8& /*aCustomMessage*/ )
-    {
-    CLOG_ENTERFN( "CWlanPlugin::DoActivateL()" );
-    //no implementation required
-    CLOG_LEAVEFN( "CWlanPlugin::DoActivateL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::DoDeactivate
-// ---------------------------------------------------------
-void CWlanPlugin::DoDeactivate()
-    {
-    CLOG_ENTERFN( "CWlanPlugin::DoDeactivate()" );
-    //no implementation required
-    CLOG_LEAVEFN( "CWlanPlugin::DoDeactivate()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::GetCaptionL
-// ---------------------------------------------------------
-void CWlanPlugin::GetCaptionL( TDes& aCaption ) const
-    {
-    CLOG_ENTERFN( "CWlanPlugin::GetCaptionL()" );
-    
-    StringLoader::Load( aCaption, R_QTN_SET_FOLDER_CONN_WLAN );
-    
-    CLOG_LEAVEFN( "CWlanPlugin::GetCaptionL()" );    
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::HasBitmap
-// ---------------------------------------------------------
-TBool CWlanPlugin::HasBitmap() const
-    {
-    CLOG_ENTERFN( "CWlanPlugin::HasBitmap()" );
-    
-    CLOG_LEAVEFN( "CWlanPlugin::HasBitmap()" ); 
-    
-    return EFalse;
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::GetBitmapL
-// ---------------------------------------------------------
-void CWlanPlugin::GetBitmapL( CFbsBitmap* /*aBitmap*/, 
-                                      CFbsBitmap* /*aMask*/ ) const
-    {
-    
-    CLOG_ENTERFN( "CWlanPlugin::GetBitmapL()" );
-    CLOG_LEAVEFN( "CWlanPlugin::GetBitmapL()" );    
-    //no bitmap
-    User::Leave( KErrNotFound );
-    }
-    
-// ---------------------------------------------------------
-// CWlanPlugin::PluginProviderCategory
-// ---------------------------------------------------------
-TInt CWlanPlugin::PluginProviderCategory() const
-    {
-    
-    CLOG_ENTERFN( "CWlanPlugin::PluginProviderCategory()" );
-    CLOG_LEAVEFN( "CWlanPlugin::PluginProviderCategory()" ); 
-       
-    return EGSPluginProviderOEM;
-    }
-    
-// ---------------------------------------------------------
-// CWlanPlugin::HandleSelection
-// ---------------------------------------------------------   
-void CWlanPlugin::HandleSelection(
-            const TGSSelectionTypes /*aSelectionType*/ )
-    {   
-    CLOG_ENTERFN( "CWlanPlugin::HandleSelection()" );    
-    
-    TRAPD( error, LaunchSnifferAppL() );
-    if( error != KErrNone && 
-    	error != KErrNotFound &&
-    	error != KErrServerTerminated )
-        {
-        ShowErrorNote( error );
-        }
-    
-    CLOG_LEAVEFN( "CWlanPlugin::HandleSelection()" );     
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ItemType
-// ---------------------------------------------------------
-TGSListboxItemTypes CWlanPlugin::ItemType()
-    {
-    
-    CLOG_ENTERFN( "CWlanPlugin::ItemType()" );    
-    CLOG_LEAVEFN( "CWlanPlugin::ItemType()" );     
-    
-    return EGSItemTypeSettingDialog;
-    }
-    
-// ---------------------------------------------------------
-// CWlanPlugin::CreateIconL
-// ---------------------------------------------------------    
-CGulIcon* CWlanPlugin::CreateIconL( const TUid aIconType )
-    {
-
-    CLOG_ENTERFN( "CWlanPlugin::CreateIconL()" );    
-
-    TFileName iconsFileName;
-
-    iconsFileName.Append( KDriveZ );
-    iconsFileName.Append( KDC_APP_BITMAP_DIR );
-    iconsFileName.Append( KFileIcons );
-    
-    CGulIcon* icon;
-       
-    TInt pic, picmask;
-    TAknsItemID itemid;
-    //if the main icon is asked   
-    if( aIconType == KGSIconTypeLbxItem )
-        {
-        if( iWlanState->GetMainIconL( pic, picmask, itemid ) )
-            {
-            icon = AknsUtils::CreateGulIconL(
-            AknsUtils::SkinInstance(), 
-            itemid, 
-            iconsFileName,
-            pic,
-            picmask );
-            }
-        else
-            {
-            icon = CGSPluginInterface::CreateIconL( aIconType );
-            }
-        }
-     //if the secondary icon is asked   
-     else if( aIconType == KGSIconTypeDColumn )
-        {
-         //if there should be icon
-         if( iWlanState->GetStrengthIconL( pic, picmask, itemid ) )
-            {
-            icon = AknsUtils::CreateGulIconL(
-            AknsUtils::SkinInstance(), 
-            itemid, 
-            iconsFileName,
-            pic,
-            picmask );
-
-            }
-         //if there should be no icons
-         else
-            {
-            icon = CGSPluginInterface::CreateIconL( aIconType );
-            }
-        }
-     //in other case of icons
-     else
-        {
-        icon = CGSPluginInterface::CreateIconL( aIconType );
-        }
-
-    CLOG_LEAVEFN( "CWlanPlugin::CreateIconL()" );     
-
-    return icon;
-    }
-
-// ---------------------------------------------------------
-// CVWlanPlugin::Visible
-// ---------------------------------------------------------
-TBool CWlanPlugin::Visible() const
-    {
-    
-    CLOG_ENTERFN( "CWlanPlugin::Visible()" );    
-    CLOG_LEAVEFN( "CWlanPlugin::Visible()" );     
-    
-    return GetWlanSupported();
-    }
-    
-// ---------------------------------------------------------
-// CWlanPlugin::CWlanPlugin
-// ---------------------------------------------------------
-CWlanPlugin::CWlanPlugin():
-    iResources( *CCoeEnv::Static() ),
-    iNullService( NULL )
-    {
-    // no implementation required
-    }
-    
-// ---------------------------------------------------------
-// CWlanPlugin::GetValue
-// ---------------------------------------------------------
-void CWlanPlugin::GetValue( const TGSPluginValueKeys aKey,
-                       TDes& aValue )
-    {    
-    CLOG_ENTERFN( "CWlanPlugin::GetValue()" );    
-    
-    //if the second line of the listbox is asked
-    if( aKey == EGSPluginKeySettingsItemValueString )
-        {     
-        TRAP_IGNORE( iWlanState->GetStateStringL( aValue ) );
-        }
-        
-    CLOG_LEAVEFN( "CWlanPlugin::GetValue()" );     
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::OpenLocalizedResourceFileL
-// ---------------------------------------------------------
-void CWlanPlugin::OpenLocalizedResourceFileL()
-    {
-    CLOG_ENTERFN( "CWlanPlugin::OpenLocalizedResourceFileL()" );    
-    
-    
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect() );
-
-    // Find the resource file:
-    TParse parse;
-    parse.Set( KWlanPluginResourceFileName, &KDC_RESOURCE_FILES_DIR, NULL );
-    TFileName fileName( parse.FullName() );
-
-    // Get language of resource file:
-    BaflUtils::NearestLanguageFile( fsSession, fileName );
-
-    // Open resource file:
-    iResources.OpenL( fileName );
-
-    // If leave occurs before this, close is called automatically when the
-    // thread exits.
-    fsSession.Close();
-    
-    CLOG_LEAVEFN( "CWlanPlugin::OpenLocalizedResourceFileL()" );     
-    }
-    
-// ---------------------------------------------------------
-// CWlanPlugin::LaunchSnifferAppL
-// ---------------------------------------------------------    
-void CWlanPlugin::LaunchSnifferAppL()
-    {
-    CLOG_ENTERFN( "CWlanPlugin::LaunchSnifferAppL()" );    
-    
-    // Launch app
-    if ( iNullService )
-        {
-        delete iNullService;
-        iNullService = NULL;
-        }         
-    iNullService = CAknNullService::NewL( KSnifferAppUid, this );
-       
-    CLOG_LEAVEFN( "CWlanPlugin::LaunchSnifferAppL()" );         
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::GetWlanSupported
-// ---------------------------------------------------------
-TBool CWlanPlugin::GetWlanSupported() const
-    {
-    CLOG_ENTERFN( "CWlanPlugin::GetWlanSupported()" );    
-     
-    TBool isWlanSupported = EFalse;
-    
-    TRAPD( error, FeatureManager::InitializeLibL() );
-    
-    if( !error )
-        {
-        isWlanSupported = 
-            FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
-        
-        FeatureManager::UnInitializeLib();
-        }
-    
-    CLOG_LEAVEFN( "CWlanPlugin::GetWlanSupported()" );         
-    
-    return isWlanSupported;
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowErrorNote
-// ---------------------------------------------------------
-//
-void CWlanPlugin::ShowErrorNote(TInt aErrorCode)
-    {
-    CLOG_ENTERFN( "CWlanPlugin::ShowErrorNote()" );    
-
-    
-    TBool errorNoteShowed = EFalse;
-        
-    TRAPD(error, errorNoteShowed = ShowErrorNoteL(aErrorCode));
-            
-    if(error || !errorNoteShowed) 
-        {
-        TRAP_IGNORE( ShowGeneralErrorNoteL() );
-        } 
-        
-    CLOG_LEAVEFN( "CWlanPlugin::ShowErrorNote()" );           
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowErrorNoteL
-// ---------------------------------------------------------
-//
-TBool CWlanPlugin::ShowErrorNoteL(TInt aErrorCode)
-    {
-    CLOG_ENTERFN( "CWlanPlugin::ShowErrorNoteL()" );    
-    
-    CErrorUI* errorUi = CErrorUI::NewLC();
-    
-    TBool errorNoteShowed = errorUi->ShowGlobalErrorNoteL( aErrorCode );
-    
-    CleanupStack::PopAndDestroy( errorUi );
-    
-    CLOG_LEAVEFN( "CWlanPlugin::ShowErrorNoteL()" );           
-        
-    return errorNoteShowed;
-    }    
-
-// ---------------------------------------------------------
-// CWlanPlugin::ShowGeneralErrorNoteL
-// ---------------------------------------------------------
-//
-void CWlanPlugin::ShowGeneralErrorNoteL()
-    {
-    CLOG_ENTERFN( "CWlanPlugin::ShowGeneralErrorNoteL()" );    
-    
-    HBufC *msg = StringLoader::LoadLC( R_QTN_ERR_OS_GENERAL );
-    
-    CAknGlobalNote *note = CAknGlobalNote::NewLC(); 
-    
-    note->ShowNoteL( EAknGlobalErrorNote, *msg );
-
-    CleanupStack::PopAndDestroy( note );
-    CleanupStack::PopAndDestroy( msg );
-    
-    CLOG_LEAVEFN( "CWlanPlugin::ShowGeneralErrorNoteL()" );           
-    }
-
-// ---------------------------------------------------------
-// CWlanPlugin::HandleServerAppExit
-// ---------------------------------------------------------
-//
-void CWlanPlugin::HandleServerAppExit(TInt aReason)
-	{
-	CLOG_ENTERFN( "CWlanPlugin::HandleServerAppExit()" );  
-	//MAknServerAppExitObserver::HandleServerAppExit( aReason );
-	if( aReason == EAknCmdExit )
-		{
-		iAvkonViewAppUi->Exit();
-		}
-		
-	CLOG_LEAVEFN( "CWlanPlugin::HandleServerAppExit()" ); 
-	}
-
-    
-//End of file
--- a/wlanutilities/wlanplugin/src/wlanplugindbobserver.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of utilities functions.   
-*      
-*
-*/
-
-
-//User includes
-#include "wlanplugindbobserver.h"
-#include "wlanpluginwlanstate.h"
-#include "wlanpluginlogger.h"
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::CWlanPluginDbObserver
-// Constructor
-// ---------------------------------------------------------
-CWlanPluginDbObserver::CWlanPluginDbObserver( CWlanPluginWlanState* aState ) 
-: CActive( EPriorityNormal ),
-  iWlanState( aState )
-    {
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::NewL
-// ---------------------------------------------------------    
-CWlanPluginDbObserver* CWlanPluginDbObserver::NewL( 
-                                              CWlanPluginWlanState* aState )
-    {
-    CWlanPluginDbObserver* self = new ( ELeave ) 
-                                             CWlanPluginDbObserver( aState );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-       
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::ConstructL
-// ---------------------------------------------------------   
-void CWlanPluginDbObserver::ConstructL()
-    {
-    CLOG_ENTERFN( "CWlanPluginDbObserver::ConstructL()" );
-     
-    CActiveScheduler::Add(this);
-    
-    CLOG_LEAVEFN( "CWlanPluginDbObserver::ConstructL()" );
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::~CWlanPluginDbObserver
-// Destructor
-// ---------------------------------------------------------       
-CWlanPluginDbObserver::~CWlanPluginDbObserver()
-    {
-    CLOG_ENTERFN( "CWlanPluginDbObserver::~CWlanPluginDbObserver()" );
-    
-    Cancel();
-    
-    delete iRecord;
-    
-    delete iSession;
-            
-    CLOG_LEAVEFN( "CWlanPluginDbObserver::~CWlanPluginDbObserver()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::RunL
-// ---------------------------------------------------------       
-void CWlanPluginDbObserver::RunL()
-    {
-    CLOG_ENTERFN( "CWlanPluginDbObserver::RunL()" );
-            
-    iRecord->RefreshL( *iSession );
-            
-    //if scanning state changed start or stop the server
-    if ( iRecord->iBgScanInterval == 0 && iOuterScanState )
-        {
-        CLOG_WRITE( "Scan disabled" );
-        iWlanState->SetScanningL( EFalse );
-        iOuterScanState = EFalse;
-        }
-    else if(iRecord->iBgScanInterval != 0 && !iOuterScanState )
-        {
-        CLOG_WRITE( "Scan enabled" );
-        iWlanState->SetScanningL( ETrue );
-        iOuterScanState = ETrue;
-        }
-    
-    SetActive();
-    
-    iRecord->RequestNotification(*iSession,iStatus);
-    
-    CLOG_LEAVEFN( "CWlanPluginDbObserver::RunL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::DoCancel
-// ---------------------------------------------------------       
-void CWlanPluginDbObserver::DoCancel()
-    {
-    CLOG_ENTERFN( "CWlanPluginDbObserver::DoCancel()" );
-    
-    iRecord->CancelNotification( *iSession, iStatus );       
-    
-    CLOG_LEAVEFN( "CWlanPluginDbObserver::DoCancel()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::ActivateIt
-// ---------------------------------------------------------       
-void CWlanPluginDbObserver::ActivateItL()
-    {
-    CLOG_ENTERFN( "CWlanPluginDbObserver::ActivateItL()" );
-    
-    iSession = CMDBSession::NewL( KCDLatestVersion );
-    
-    TMDBElementId tableId = 0;
-    
-    tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-        
-    iRecord = new( ELeave )
-            CCDWlanDeviceSettingsRecord( tableId );         
-    
-    iRecord->iWlanDeviceSettingsType = KWlanUserSettings;
-    
-    
-    if(iRecord->FindL( *iSession ))
-        {
-        iRecord->LoadL( *iSession );
-        }
-    
-    
-    iRecord->RequestNotification(*iSession,iStatus);
-    
-    SetActive();
-    
-    if ( iRecord->iBgScanInterval != 0 )
-        {
-        iWlanState->SetScanningL( ETrue );
-        iOuterScanState = ETrue;
-        }
-    
-    CLOG_LEAVEFN( "CWlanPluginDbObserver::ActivateItL()" );
-    }
--- a/wlanutilities/wlanplugin/src/wlanpluginimplementationtable.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        ECOM proxy table for this plugin
-*
-*/
-
-
-// System includes
-#include <ecom/implementationproxy.h>
-
-// User includes
-#include "wlanplugin.h"
-
-// Constants
-const TImplementationProxy KWlanSettingsPluginImplementationTable[] = 
-    {
-    IMPLEMENTATION_PROXY_ENTRY(0x10281BCA,    CWlanPlugin::NewL)
-    };
-
-
-// ---------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Gate/factory function
-//
-// ---------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy( 
-                                            TInt& aTableCount )
-    {
-    aTableCount = sizeof( KWlanSettingsPluginImplementationTable ) /
-         sizeof( TImplementationProxy );
-        
-    return KWlanSettingsPluginImplementationTable;
-    }
--- a/wlanutilities/wlanplugin/src/wlanplugintimeshifter.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of time shifting   
-*      
-*
-*/
-
-
-//User includes
-#include "wlanplugintimeshifter.h"
-#include "wlanpluginwlanstate.h"
-#include "wlanpluginlogger.h"
-
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::NewLC
-// ---------------------------------------------------------  
-CWlanPluginTimeShifter* CWlanPluginTimeShifter::NewLC( 
-                                      CWlanPluginWlanState* aWlanState )
-    {
-    CWlanPluginTimeShifter* self = new( ELeave )
-                                   CWlanPluginTimeShifter( 
-                                   aWlanState );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }       
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::NewL
-// --------------------------------------------------------- 
-CWlanPluginTimeShifter* CWlanPluginTimeShifter::NewL( 
-                                      CWlanPluginWlanState* aWlanState )
-    {
-    CWlanPluginTimeShifter* self = CWlanPluginTimeShifter::NewLC( 
-                                      aWlanState );
-    CleanupStack::Pop( self );
-    return self;
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::~CWlanPluginTimeShifter
-// --------------------------------------------------------- 
-CWlanPluginTimeShifter::~CWlanPluginTimeShifter()
-    {
-    Cancel();
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::CWlanPluginTimeShifter
-// --------------------------------------------------------- 
-CWlanPluginTimeShifter::CWlanPluginTimeShifter( 
-                                    CWlanPluginWlanState* aWlanState )
-    : CActive( EPriorityNormal ),
-    iWlanState( aWlanState )
-    {
-    
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// --------------------------------------------------------- 
-void CWlanPluginTimeShifter::ConstructL()
-    {
-    CLOG_ENTERFN( "CWlanPluginTimeShifter::ConstructL" ); 
-    
-    CActiveScheduler::Add(this);
-    CLOG_LEAVEFN( "CWlanPluginTimeShifter::ConstructL" ); 
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// --------------------------------------------------------- 
-void CWlanPluginTimeShifter::RunL()
-    {
-    CLOG_ENTERFN( "CWlanPluginTimeShifter::RunL" ); 
-    
-    iWlanState->DirectlyScanL();
-    iWlanState->DeleteTimeShifter();
-	
-	CLOG_LEAVEFN( "CWlanPluginTimeShifter::RunL" ); 
-    }
-        
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// --------------------------------------------------------- 
-void CWlanPluginTimeShifter::DoCancel()
-    {
-    CLOG_ENTERFN( "CWlanPluginTimeShifter::DoCancel" ); 
-    CLOG_LEAVEFN( "CWlanPluginTimeShifter::DoCancel" ); 
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginTimeShifter::ConstructL
-// ---------------------------------------------------------     
-void CWlanPluginTimeShifter::ActivateIt()
-    {
-    CLOG_ENTERFN( "CWlanPluginTimeShifter::ActivateIt" ); 
-    
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    SetActive();
-   
-    CLOG_LEAVEFN( "CWlanPluginTimeShifter::ActivateIt" );
-    }
--- a/wlanutilities/wlanplugin/src/wlanpluginwlanstate.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,783 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of utilities functions.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-//User includes
-#include "wlanpluginwlanstate.h"
-#include "wlanplugindbobserver.h"
-#include "wlanpluginlogger.h"
-#include "wlanplugintimeshifter.h"
-
-//System includes
-#include <wsfmodel.h>
-#include <wsfwlaninfoarray.h>
-#include <wlanpluginrsc.rsg>
-#include <StringLoader.h> 
-#include <gsparentplugin.h>
-#include <wlanplugin.mbg>
-#include <wsfwlaninfoarrayvisitor.h>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::CWlanPluginWlanState
-// Constructor
-// ---------------------------------------------------------
-CWlanPluginWlanState::CWlanPluginWlanState( CGSParentPlugin *aParent ) 
-: iScanning( EFalse ),
-  iConnected( EFalse ),
-  iExplicitScanning( 0 ),
-  iCoeEnv( CCoeEnv::Static() ),
-  iParent( aParent ),
-  iSignalStrength(ENoSignal),
-  iSupressParentUpdate( EFalse ),
-  iSupressUpdateWlan( EFalse ),
-  iValidSecondLine( ETrue ),   
-  iSupressTimeShifter( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::~CWlanPluginWlanState
-// Descructor
-// ---------------------------------------------------------
-CWlanPluginWlanState::~CWlanPluginWlanState()
-    {
-
-    CLOG_ENTERFN( "CWlanPluginWlanState::~CWlanPluginWlanState()" );  
-    
-    if ( iEngine )
-        {
-        iEngine->CancelNotifyEvents();
-        }
-    
-    if( iExplicitScanning )
-        {
-        TRAP_IGNORE( SetScanningL( EFalse ) );
-        }
-    if( iTimeShifter )
-        {
-        delete iTimeShifter;
-        }
-       
-    delete iDbObserver;
-    
-    delete iWlanInfoBranding;
-    
-    //remove self from further notifications from the
-    //sniffer server
-    delete iEngine;
-    delete iPresentString;
-        
-    CLOG_LEAVEFN( "CWlanPluginWlanState::~CWlanPluginWlanState()" );        
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::NewLC
-// ---------------------------------------------------------
-CWlanPluginWlanState* CWlanPluginWlanState::NewLC( CGSParentPlugin *aParent )
-    {
-    CWlanPluginWlanState* self= new ( ELeave ) 
-                                   CWlanPluginWlanState( aParent );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::NewL
-// ---------------------------------------------------------
-CWlanPluginWlanState* CWlanPluginWlanState::NewL( CGSParentPlugin *aParent )
-    {
-    CWlanPluginWlanState* self = CWlanPluginWlanState::NewLC( aParent );
-    CleanupStack::Pop( self );    
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::ConstructL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::ConstructL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::ConstructL()" );  
-              
-    iSupressParentUpdate = ETrue;
-        
-    iEngine = CWsfModel::NewL( *this, EFalse );
-    
-    iWlanInfoBranding = CWsfWlanInfoArrayVisitor::NewL( ETrue );
-    iWlanInfoBranding->LoadFilterDefinitionsL();
-    
-    if( iEngine->IsScanEnabledL() )
-        {
-        iScanning = ETrue;
-        UpdateWlanListL();
-        }
-    
-    if( iEngine->IsConnectedL() )
-        {
-        iConnected = ETrue;
-        iEngine->GetConnectedWlanDetailsL( iConnectedWlanInfo );
-        }
-            
-    iDbObserver = CWlanPluginDbObserver::NewL( this );
-    iDbObserver->ActivateItL();
-    
-    if( !iConnected && !iScanning && iExplicitScanning )
-        {
-        iValidSecondLine = EFalse;
-        }
-        
-    iSupressParentUpdate = EFalse;
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::ConstructL()" );            
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::WlanListChangedL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::WlanListChangedL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::WlanListChangedL()" );  
-	
-	iValidSecondLine = ETrue;
-    //if there is modification
-    UpdateWlanListL();
-    
-    UpdateParentViewL();
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::WlanListChangedL()" );    
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::NotifyEngineError
-// ---------------------------------------------------------
-void CWlanPluginWlanState::NotifyEngineError( TInt /*aError*/ )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::NotifyEngineError()" ); 
-    
-    iScanning = EFalse;
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::NotifyEngineError()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::ScanDisabledL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::ScanDisabledL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::ScanDisabledL()" ); 
-    
-    iScanning = EFalse;
-    //UpdateWlanListL();
-    UpdateParentViewL();
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::ScanDisabledL()" );    
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::ScanEnabledL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::ScanEnabledL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::ScanEnabledL()" ); 
-    
-    // plugin has enabled scanning - background scan is on
-    if ( iExplicitScanning )
-        {
-        CLOG_WRITE( "Refresh scan results" );
-        iEngine->RefreshScanL();
-        }
-    
-    iScanning = ETrue;
-    UpdateWlanListL();
-    UpdateParentViewL();
-        
-    CLOG_LEAVEFN( "CWlanPluginWlanState::ScanEnabledL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::WlanConnectionActivatedL
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::WlanConnectionActivatedL( 
-                                const TDesC& /*aAccessPointName*/ )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::WlanConnectionActivatedL()" );   
-    
-    iConnected = ETrue;
-    iEngine->GetConnectedWlanDetailsL( iConnectedWlanInfo );
-    UpdateParentViewL();
-                
-    CLOG_LEAVEFN( "CWlanPluginWlanState::WlanConnectionActivatedL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::WlanConnectionClosedL
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::WlanConnectionClosedL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::WlanConnectionClosedL()" );    
-    
-    iConnected = EFalse;
-    if( iScanning )
-        {
-        UpdateWlanListL();
-        }
-        
-    UpdateParentViewL();
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::WlanConnectionClosedL()" );
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanPluginWlanState::ConnectionCreationProcessFinishedL
-// ---------------------------------------------------------------------------
-//
-void CWlanPluginWlanState::ConnectionCreationProcessFinishedL( TInt /*aResult*/ )
-    {
-    // no implementation required
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetStateStringL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::GetStateStringL( TDes& aDes )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::GetStateStringL()" ); 
-    
-    if( !iValidSecondLine )
-    	{
-        return;
-    	}
-    
-    //make the string according to it
-    HBufC* statestring = NULL;
-    MakeStateStringL( iInfoArray, statestring );
-    aDes.Copy( statestring->Des() );
-    
-    //keep it to decide later if it changed
-    delete iPresentString; 
-    iPresentString = statestring;
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::GetStateStringL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::MakeStateStringL
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::MakeStateStringL(
-                            CWsfWlanInfoArray* aArray, HBufC*& aBuf )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::MakeStateStringL()" ); 
-    
-    if( iConnected )
-        {
-        CLOG_ENTERFN( "Connected format needed" );
-        FormatConnectedL( aBuf );	
-        }
-    else if ( !iScanning )
-        {
-        CLOG_ENTERFN( "Offline format needed" );
-        FormatStatusOffL( aBuf );        
-        }
-    // if there's wlans avail
-    else if ( aArray && aArray->Count() )
-        {
-        CLOG_ENTERFN( "wlans/wlan format needed" );
-        CheckWlansL( aArray, aBuf );            
-        }
-    else 
-        {
-        // no wlans available
-        CLOG_ENTERFN( "No wlan format needed" );
-        FormatNoWlansAvailableL( aBuf );
-        }
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::MakeStateStringL()" );
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatConnectedL
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::FormatConnectedL( HBufC*& aBuf )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::FormatConnectedL()" ); 
-    
-    //Ssid as primary text
-    HBufC* ssid( NULL );
-    
-    if ( iConnectedWlanInfo.iNetworkName.Length() ) // If there is IAP
-        {
-        ssid = iConnectedWlanInfo.GetIapNameAsUnicodeLC();
-        }
-    else // If there no IAP
-        {
-        ssid = iConnectedWlanInfo.GetSsidAsUnicodeLC();
-        }
-    
-    aBuf = StringLoader::LoadL( R_QTN_CP_DETAIL_WLAN_CONNECTED, 
-                       *ssid );
-                       
-    CleanupStack::PopAndDestroy( ssid );
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::FormatConnectedL()" );
-    }
-
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatStatusOffL
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::FormatStatusOffL( HBufC*& aBuf )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::FormatStatusOffL()" ); 
-    
-    aBuf = StringLoader::LoadL( R_QTN_CP_DETAIL_WLAN_SCAN_OFF );
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::FormatStatusOffL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatNoWlansAvailableL
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::FormatNoWlansAvailableL( HBufC*& aBuf )
-    { 
-    CLOG_ENTERFN( "CWlanPluginWlanState::FormatNoWlansAvailableL()" ); 
-      
-    aBuf = StringLoader::LoadL( R_QTN_CP_DETAIL_WLAN_NO_NW_AVAILABLE );
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::FormatNoWlansAvailableL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::CheckWlansL
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::CheckWlansL( CWsfWlanInfoArray* aArray, 
-                                    HBufC*& aBuf )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::CheckWlansL()" ); 
-
-    if ( aArray->At( 0 )->Known() )
-        {
-        FormatWlanSingleLineL( *aArray->At( 0 ), aBuf );
-        return;
-        }
-    TBool multipleUnknownWlans = ( aArray->Count() > 1 );
-    FormatUnknownWlansSingleLineL( multipleUnknownWlans, aBuf );    
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::CheckWlansL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatWlanSingleLineL
-// ---------------------------------------------------------     
-void CWlanPluginWlanState::FormatWlanSingleLineL( 
-                                     TWsfWlanInfo& aWlan, HBufC*& aBuf )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::FormatWlanSingleLineL()" ); 
-    
-        //Ssid as primary text
-    HBufC* ssid( NULL );
-    
-    if ( aWlan.iNetworkName.Length() ) // If there is IAP
-        {
-        ssid = aWlan.GetIapNameAsUnicodeLC();
-        }
-    else // If there no IAP
-        {
-        ssid = aWlan.GetSsidAsUnicodeLC();
-        }
-        
-    TInt formatResource = R_QTN_CP_DETAIL_WLAN_KNOWN_NW_AVAILABLE; 
-    
-    aBuf = StringLoader::LoadL ( formatResource, *ssid );
-   
-    CleanupStack::PopAndDestroy( ssid );            
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::FormatWlanSingleLineL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::FormatUnknownWlansSingleLineL
-// ---------------------------------------------------------
-void CWlanPluginWlanState::FormatUnknownWlansSingleLineL( 
-                        const TBool aMultipleUnknownWlans, HBufC*& aBuf )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::FormatUnknownWlansSingleLineL()" ); 
-    
-    TInt unknownItemResource = aMultipleUnknownWlans ? 
-                        R_QTN_CP_DETAIL_WLAN_NETWORKS_AVAILABLE :
-                        R_QTN_CP_DETAIL_WLAN_NETWORK_AVAILABLE;
-
-    aBuf = StringLoader::LoadL( unknownItemResource );
-                
-    CLOG_LEAVEFN( "CWlanPluginWlanState::FormatUnknownWlansSingleLineL()" );   
-    } 
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetMainIconL
-// ---------------------------------------------------------    
-TBool CWlanPluginWlanState::GetMainIconL( TInt& aPic, 
-		                                  TInt& aPicMask,
-		                                  TAknsItemID& aItemId )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::GetMainIconL()" ); 
-    
-    if( !iValidSecondLine )
-        {
-        aPic = EMbmWlanpluginQgn_prop_set_conn_wlan;
-        aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_mask;  
-        aItemId = KAknsIIDQgnPropSetConnWlanConn;
-        CLOG_LEAVEFN( "CWlanPluginWlanState::GetMainIconL()" );
-        return ETrue;
-        }
-    
-    if( !iSupressTimeShifter)
-        {
-        iSupressTimeShifter = EFalse;
-        CLOG_WRITE(" Time shifter start not supressed ");
-        if( !iTimeShifter )
-            {
-        	CLOG_WRITE(" Time shifter started ");
-            iSupressTimeShifter = ETrue;
-            iTimeShifter = CWlanPluginTimeShifter::NewL( this );
-            iTimeShifter->ActivateIt();
-            }
-        }
-    else
-        {
-        CLOG_WRITE(" Time shifter start supressed ");
-        iSupressTimeShifter = EFalse;
-        }
-    if( iConnected )
-        {
-        //CONNECTED
-        aPic = EMbmWlanpluginQgn_prop_set_conn_wlan_conn;
-        aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_conn_mask;
-        aItemId = KAknsIIDQgnPropSetConnWlanConn;
-        }
-    else if( iScanning )
-        {
-        //SCANNING BUT NOT CONNECTED
-        aPic = EMbmWlanpluginQgn_prop_set_conn_wlan;
-        aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_mask;  
-        aItemId = KAknsIIDQgnPropSetConnWlanConn;
-        }
-    else
-        {
-        //SCANNING DISABLED
-        aPic = EMbmWlanpluginQgn_prop_set_conn_wlan_off;
-        aPicMask = EMbmWlanpluginQgn_prop_set_conn_wlan_off_mask;
-        aItemId = KAknsIIDQgnPropSetConnWlanOff;
-        }
-              
-    CLOG_LEAVEFN( "CWlanPluginWlanState::GetMainIconL()" );
-    return ETrue;
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetStrengthIconL
-// ---------------------------------------------------------        
-TBool CWlanPluginWlanState::GetStrengthIconL( TInt& aPic, 
-		                                      TInt& aPicMask, 
-		                                      TAknsItemID& aItemId)
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::GetStrengthIconL()" ); 
-    
-    if( !iValidSecondLine )
-    	{
-        return EFalse;
-    	}
-    if ( iConnected )
-        {
-        switch( iConnectedWlanInfo.SignalStrength() )
-            {
-            case EPoor:
-                aPic = EMbmWlanpluginQgn_indi_wlan_signal_low_add;
-                aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_low_add_mask;
-                aItemId = KAknsIIDQgnIndiWlanSignalLowAdd;
-                break;    
-            case EAverage:
-                aPic = EMbmWlanpluginQgn_indi_wlan_signal_med_add;
-                aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_med_add_mask;
-                aItemId = KAknsIIDQgnIndiWlanSignalMedAdd;
-                break;
-            case EExcelent:
-                aPic = EMbmWlanpluginQgn_indi_wlan_signal_good_add;
-                aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_good_add_mask;
-                aItemId = KAknsIIDQgnIndiWlanSignalGoodAdd;
-                break;
-            default:
-                aPic = EMbmWlanpluginQgn_indi_wlan_signal_low_add;
-                aPicMask = EMbmWlanpluginQgn_indi_wlan_signal_low_add_mask;
-                aItemId = KAknsIIDQgnIndiWlanSignalLowAdd;
-            }
-        iSignalStrength = iConnectedWlanInfo.SignalStrength();
-        CLOG_LEAVEFN( "CWlanPluginWlanState::GetStrengthIconL()" );
-        return ETrue;
-        }
-    iSignalStrength = ENoSignal;            
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::GetStrengthIconL()" );
-    
-    return EFalse;    
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::IsStateChangedL
-// ---------------------------------------------------------    
-TBool CWlanPluginWlanState::IsStateChangedL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::IsStateChangedL()" ); 
-
-    if ( !iPresentString ) 
-        {
-        CLOG_LEAVEFN( "CWlanPluginWlanState::IsStateChangedL()" );
-        return ETrue;
-        }
-    //alloc a buf
-    CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - there is presentstring" );
-    HBufC* buf = NULL;
-       
-    CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - wlan list get" );
-    //make the string that would be written out
-    MakeStateStringL( iInfoArray, buf );
-    
-    CleanupStack::PushL( buf ); 
-    
-    CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - state string made" );
-    
-    //decide if the string is the same as it was written before
-    //and the connection state is the same
-    TBool ret = 
-            ( buf->Des().Compare( iPresentString->Des() ) ||
-            iSignalStrength != GetSignalStrength() )
-            ? ETrue : EFalse;  
-    
-    CLOG_WRITE( "CWlanPluginWlanState::IsStateChangedL - ret get" );
-    
-    CleanupStack::PopAndDestroy( buf );
-        
-    if( ret )
-        {
-        CLOG_WRITE( "State Changed" );   
-        }
-    else
-        {
-        CLOG_WRITE( "State NOT Changed" );
-        }        
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::IsStateChangedL()" );
-    
-    //just to have ETrue in all true cases
-    return ret;
-    }
-   
-// ---------------------------------------------------------
-// CWlanPluginWlanState::GetSignalStrength
-// ---------------------------------------------------------    
-TWsfWlanSignalStrengthLevel CWlanPluginWlanState::GetSignalStrength()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::GetSignalStrength()" ); 
-
-    if ( iConnected )
-        {
-        CLOG_LEAVEFN( "CWlanPluginWlanState::GetSignalStrength()" );
-        return iConnectedWlanInfo.SignalStrength();
-        }
-    else 
-        {
-        CLOG_LEAVEFN( "CWlanPluginWlanState::GetSignalStrength()" );
-        return ENoSignal;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::IsScanning
-// ---------------------------------------------------------    
-TBool CWlanPluginWlanState::IsScanning()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::IsScanning()" ); 
-    CLOG_LEAVEFN( "CWlanPluginWlanState::IsScanning()" );
-    return iScanning;
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::SetScanning
-// ---------------------------------------------------------    
-void CWlanPluginWlanState::SetScanningL( TBool aScanning )
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::SetScanningL()" ); 
-        
-    if( aScanning )
-        {
-        iExplicitScanning++;
-        if( iExplicitScanning == 1 && iEngine )
-            {
-            iEngine->EnableScanL(); 
-            }
-        }
-    else 
-        {
-        iExplicitScanning--;
-        if( iExplicitScanning == 0 && iEngine )
-            {
-            iEngine->DisableScanL(); 
-            }
-        }    
-                   
-    CLOG_LEAVEFN( "CWlanPluginWlanState::SetScanningL()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::UpdateParentViewL
-// ---------------------------------------------------------  
-void CWlanPluginWlanState::UpdateParentViewL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::UpdateParentViewL()" );
-    
-    
-    if( iSupressParentUpdate )
-        {
-        CLOG_WRITE( "Parent update suppressed" );  
-        CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateParentViewL()" );
-        return;
-        }
-        
-    iSupressParentUpdate = ETrue;
-    
-    if ( IsStateChangedL() )
-        {
-        iSupressTimeShifter = ETrue;
-        iParent->UpdateView();
-        }
-    else
-    	{
-    	iSupressTimeShifter = EFalse;
-    	}
-        
-    iSupressParentUpdate = EFalse;
-    
-    CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateParentViewL()" );
-    } 
-    
-// ---------------------------------------------------------
-// CWlanPluginWlanState::UpdateWlanListL
-// ---------------------------------------------------------  
-void CWlanPluginWlanState::UpdateWlanListL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::UpdateWlanListL()" );
-    if( iSupressUpdateWlan )
-        {
-        CLOG_WRITE( "Update WLAN List supressed" );
-        CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateWlanListL()" );
-        return;
-        }
-    
-    iSupressUpdateWlan = ETrue; 
-    
-    TRAPD( error,
-    iInfoArray = iEngine->GetWlanListL();
-    
-    if( iConnected )
-        {
-        iEngine->GetConnectedWlanDetailsL( iConnectedWlanInfo );
-        }
-    
-    iWlanInfoBranding->LoadFilterDefinitionsL();
-    
-    iInfoArray->SortArrayL( *iWlanInfoBranding );
-    );
-    
-    if ( error != KErrNone )
-        {
-        CLOG_WRITE( "Fetching wlan data leaved" );
-        // Reset the temporary flag so that wlan list 
-        // updates are not completely suppressed 
-        iSupressUpdateWlan = EFalse;
-        User::Leave( error );
-        }
-    
-#ifdef _DEBUG    
-    if( iInfoArray )
-        {
-        if( iInfoArray->Count() <=0 )
-            {
-            CLOG_WRITE( "EMPTY ARRAY" );
-            }
-        for(TInt i = 0; i< iInfoArray->Count(); i++)
-            {
-            
-            CLOG_WRITE( "----AP----" );
-            HBufC* buf = iInfoArray->At( i )->GetSsidAsUnicodeLC();
-            CLOG_WRITEF(_L("AP: %S"), ( buf ) );
-            CleanupStack::PopAndDestroy( buf );
-            if( iInfoArray->At( i )->Connected() )
-                {
-                CLOG_WRITE( "--Connected--" );
-                }
-            else
-                {
-                CLOG_WRITE( "--NOT Connected--" );
-                }
-            if( iInfoArray->At( i )->Known() )
-                {
-                CLOG_WRITE( "--Known--" );
-                }
-            else
-                {
-                CLOG_WRITE( "--NOT Known--" );
-                }    
-            }
-        }
-    else
-        {
-        CLOG_ENTERFN( "NO ARRAY" );
-        }
-#endif
-    
-    iSupressUpdateWlan = EFalse;
-    CLOG_LEAVEFN( "CWlanPluginWlanState::UpdateWlanListL()" );
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginWlanState::DirectlyScan
-// ---------------------------------------------------------      
-void CWlanPluginWlanState::DirectlyScanL()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::DirectlyScan()" );
-    if ( iExplicitScanning && iParent->IsForeground())
-        {
-        iEngine->RefreshScanL();
-        }
-    CLOG_LEAVEFN( "CWlanPluginWlanState::DirectlyScan()" );
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginWlanState::DeleteTimeShifter
-// ---------------------------------------------------------          
-void CWlanPluginWlanState::DeleteTimeShifter()
-    {
-    CLOG_ENTERFN( "CWlanPluginWlanState::DeleteTimeShifter()" );
-    delete iTimeShifter;
-    iTimeShifter = NULL;
-    CLOG_LEAVEFN( "CWlanPluginWlanState::DeleteTimeShifter()" );
-    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutils.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,169 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*/
+
+#ifndef WLANQTUTILS_H
+#define WLANQTUTILS_H
+
+#include <QObject>
+
+#include "wlanqtutilscommon.h"
+
+class WlanQtUtilsIap;
+class WlanQtUtilsWlanIap;
+class WlanQtUtilsWlanAp;
+class WlanQtUtilsPrivate;
+
+const int WlanQtUtilsInvalidIapId = -1;
+
+/**
+ * Wlan Qt Utilities.
+ * 
+ * This class provides a Qt API to UI components for retrieving different kind of information
+ * related to WLAN functionality.
+ */
+class WLANQTUTILITIESDLL_EXPORT WlanQtUtils : public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    /**
+     * Constructor.
+     */
+    WlanQtUtils();
+    
+    /**
+     * Destructor.
+     */
+    ~WlanQtUtils();
+
+    /**
+     * Function to request details of available WLAN networks. Can be called at any time, calling right
+     * after wlanScanReady() signal ensures you get the most recent results.
+     *
+     * @param[out] wlanIapList List of available WLAN IAPs.
+     * @param[out] wlanApList List of unknown WLAN APs.
+     */
+    void availableWlanAps(
+        QList<WlanQtUtilsWlanIap *> &wlanIapList,
+        QList<WlanQtUtilsWlanAp *> &wlanApList);
+    
+    /**
+     * Function to create an IAP from the given WLAN access point.
+     *
+     * @param[in] wlanAp Access point containing parameters to include in the new IAP.
+     * @return ID of the newly created IAP.
+     */
+    int createWlanIap(const WlanQtUtilsWlanAp *wlanAp);
+
+    /**
+     * Function to start connection creation for the given IAP. connectionStatus() signal will be emitted
+     * when connection creation succeeds or fails.
+     *
+     * @param[in] iapId ID of the IAP to be connected.
+     */
+    void connectIap(int iapId);
+
+    /**
+     * Function to disconnect the given IAP.
+     * 
+     * @param[in] iapId ID of the IAP to be disconnected.
+     */
+    void disconnectIap(int iapId);
+
+    /**
+     * Function to retrieve a pointer to the IAP with the given ID.
+     * 
+     * @param[in] iapId ID of the requested IAP.
+     * @return Pointer to the found IAP, NULL if not found.
+     */
+    WlanQtUtilsIap *iap(int iapId) const;
+    
+    /**
+     * Function for getting the master WLAN status.
+     * 
+     * @return Master WLAN status: true if enabled, otherwise false.
+     */
+    bool masterWlan() const;
+    
+    /**
+     * Function for switching the master WLAN status ON or OFF.
+     * 
+     * @param[in] enabled If set to true, WLAN is switched ON, and vice versa.
+     */
+    void setMasterWlan(bool enabled);
+    
+    /**
+     * Function for getting the ID of the (possibly) connected WLAN IAP.
+     * 
+     * @return ID of the connected IAP, WlanQtUtilsInvalidIapId if not valid.
+     */
+    int connectedWlanId() const;
+
+    /**
+     * Function for requesting a WLAN scan to be triggered. Currently triggers
+     * only a single scan, but can be extended to perform also periodic scans,
+     * if needed in the future.
+     * 
+     * Signal wlanScanReady() is emitted when new scan results are available.
+     */
+    void scanWlans();
+    
+signals:
+    
+    /**
+     * Signal indicating that WLAN scan results are available. 
+     */
+    void wlanScanReady();
+
+    /**
+     * Signal indicating that new WLAN network has been opened. 
+     * 
+     * @param[in] iapId ID of the opened IAP.
+     */
+    void wlanNetworkOpened(int iapId);
+
+    /**
+     * Signal indicating that a WLAN network has been closed. 
+     * 
+     * @param[in] iapId ID of the closed IAP.
+     */
+    void wlanNetworkClosed(int iapId);
+
+    /**
+     * Signal indicating that the WLAN master status has changed.
+     */
+    void masterWlanStatus(bool enabled);
+    
+private: // Data
+
+    /** Pointer to private implementation */
+    WlanQtUtilsPrivate *d_ptr;
+
+private: // Friend classes
+
+    // This is defined as a friend class in order to be able to emit public signals
+    // directly from private implementation code.
+    friend class WlanQtUtilsPrivate;
+
+    // This is defined as a friend class in order to be able to
+    // call event handlers of wrappers from test code.
+    friend class TestWlanQtUtils;
+};
+
+#endif /* WLANQTUTILS_H */
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutils_p.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,239 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*/
+
+#ifndef WLANQTUTILS_P_H
+#define WLANQTUTILS_P_H
+
+#include <QObject>
+#include <QMap>
+
+#include "wlanqtutilscommon.h"
+
+class WlanQtUtils;
+class WlanQtUtilsIap;
+class WlanQtUtilsWlanIap;
+class WlanQtUtilsWlanAp;
+class WlanQtUtilsActiveConn;
+class ConMonWrapper;
+class CmmWrapper;
+class EsockWrapper;
+class ConnTestWrapper;
+
+/**
+ * Private implementation of Wlan Qt Utilities.
+ */
+class WlanQtUtilsPrivate : public QObject
+{
+    Q_OBJECT
+
+public:
+    
+    /**
+     * Constructor.
+     */
+    WlanQtUtilsPrivate(WlanQtUtils *publicPtr);
+    
+    /**
+     * Destructor.
+     */
+    ~WlanQtUtilsPrivate();
+
+    // Functions duplicating WlanQtUtils public interface
+    
+    /**
+     * Function to request details of available WLAN networks. Can be called at any time, calling right
+     * after wlanScanReady() signal ensures you get the most recent results.
+     *
+     * @param[out] wlanIapList List of available WLAN IAPs.
+     * @param[out] wlanApList List of unknown WLAN APs.
+     */
+    void availableWlanAps(
+        QList<WlanQtUtilsWlanIap *> &wlanIapList,
+        QList<WlanQtUtilsWlanAp *> &wlanApList);
+
+    /**
+     * Function to create an IAP from the given WLAN access point.
+     *
+     * @param[in] wlanAp Access point containing parameters to include in the new IAP.
+     * @return ID of the newly created IAP.
+     */
+    int createWlanIap(const WlanQtUtilsWlanAp *wlanAp);
+
+    /**
+     * Function to start connection creation for the given IAP. connectionStatus() signal will be emitted
+     * when connection creation succeeds or fails.
+     *
+     * @param[in] iapId ID of the IAP to be connected.
+     */
+    void connectIap(int iapId);
+    
+    /**
+     * Function to disconnect the given IAP.
+     * 
+     * @param[in] iapId ID of the IAP to be disconnected.
+     */
+    void disconnectIap(int iapId);
+    
+    /**
+     * Function to retrieve a pointer to the IAP with the given ID.
+     * 
+     * @param[in] iapId ID of the requested IAP.
+     * @return Pointer to the found IAP, NULL if not found.
+     */
+    WlanQtUtilsIap *iap(int iapId) const;
+
+    /**
+     * Function for getting the master WLAN status.
+     * 
+     * @return Master WLAN status: true if enabled, otherwise false.
+     */
+    bool masterWlan() const;
+    
+    /**
+     * Function for switching the master WLAN status ON or OFF.
+     * 
+     * @param[in] enabled If set to true, WLAN is switched ON, and vice versa.
+     */
+    void setMasterWlan(bool enabled);
+
+    /**
+     * Function for getting the ID of the (possibly) connected WLAN IAP.
+     * 
+     * @return ID of the connected IAP, WlanQtUtilsInvalidIapId if not valid.
+     */
+    int connectedWlanId() const;
+    
+    /**
+     * Function for requesting a WLAN scan to be triggered. Currently triggers
+     * only a single scan, but can be extended to perform also periodic scans,
+     * if needed in the future.
+     * 
+     * Signal wlanScanReady() is emitted when new scan results are available.
+     */
+    void scanWlans();
+    
+private slots:
+
+    /**
+     * Slot for handling WLAN scan result event from wrapper. Results are stored in member variable
+     * (possible duplicates are removed).
+     * 
+     * @param[in] availableWlans WLAN networks found in scan.
+     */
+    void updateAvailableWlanAps(QList<WlanQtUtilsWlanAp *> &availableWlans);
+
+    /**
+     * Slot for handling connection setup status event from wrapper.
+     * 
+     * @param[in] isOpened Was connection setup successful?
+     */
+    void updateConnectionStatus(bool isOpened);
+
+    /**
+     * Slot for handling connectivity test result event from wrapper. Tested IAP is stored to
+     * Internet SNAP, if test was successful.
+     * 
+     * @param[in] result Was the test successful?
+     */
+    void updateConnectivityTestResult(bool result);
+    
+    /**
+     * Slot for updating active connection status from wrapper.
+     * 
+     * @param[in] connectionId ID of the new connection.
+     */
+    void addActiveConnection(uint connectionId);
+    
+    /**
+     * Slot for updating active connection status from wrapper.
+     * 
+     * @param[in] connectionId ID of the deleted connection.
+     */
+    void removeActiveConnection(uint connectionId);
+    
+    /**
+     * Slot for updating active connection status from wrapper.
+     * 
+     * @param[in] connectionId ID of the updated connection.
+     * @param[in] connectionStatus New status of the connection.
+     */
+    void updateActiveConnection(uint connectionId, WlanQtUtilsConnectionStatus connectionStatus);
+    
+private: 
+
+    int fetchIaps();
+    
+    /**
+     * This function searches for a WLAN IAP with the given WLAN parameters.
+     *  
+     * @param[in] ssid SSID to search for.
+     * @param[in] secMode Security mode to search for.
+     * @return True, if suitable WLAN IAP found, false otherwise.
+     */
+    bool wlanIapExists(QString ssid, WlanQtUtilsWlanSecMode secMode);
+
+    /**
+     * This function updates the connection status of:
+     * - IAP with the given ID
+     * - all other IAPs, which represent the same network (SSID & security mode match)
+     *  
+     * @param[in] iapId ID of the IAP whose status is to be updated.
+     * @param[in] status Updated connection status.
+     */
+    void updateIapConnectionStatuses(int iapId, WlanQtUtilsConnectionStatus status);
+
+private: // Data
+    
+    /** Pointer to public implementation */
+    WlanQtUtils *q_ptr;
+    
+    /** Wrapper object for Connection Method Manager. */
+    CmmWrapper *cmmWrapper_;
+    
+    /** Wrapper object for Connection Monitor and other parts of connmon library. */
+    ConMonWrapper *conMonWrapper_;
+    
+    /** Wrapper object for esock library. */
+    EsockWrapper *esockWrapper_;
+
+    /** Wrapper object for Internet Connectivity Test library. */
+    ConnTestWrapper *connTestWrapper_;
+
+    /** List of available WLAN APs according to the latest scan. */
+    QList<WlanQtUtilsWlanAp *> wlanScanList_;
+    
+    /** List of WLAN IAPs configured to the device. */
+    QMap<int, WlanQtUtilsWlanIap *> wlanIapList_;
+    
+    /** ID of IAP requiring ICT running, -1 if not valid. */
+    int toBeTestedIapId_;
+    
+    /** ID of IAP being connected by us (requested by UI), -1 if not valid. */
+    int connectingIapId_;
+    
+    /** Information of possible active connection. */
+    WlanQtUtilsActiveConn *activeConnection_;
+    
+private: // Friend classes
+
+    // This is defined as a friend class in order to be able to
+    // call event handlers of wrappers from test code.
+    friend class TestWlanQtUtils;
+};
+
+#endif /* WLANQTUTILS_P_H */
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilsactiveconn.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,113 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is the header file for WlanQtUtilsActiveConn class.
+*/
+
+#ifndef WLANQTUTILSACTIVECONN_H
+#define WLANQTUTILSACTIVECONN_H
+
+#include <QObject>
+#include "wlanqtutilscommon.h"
+
+
+/**
+ * This class represents an active connection.
+ * TODO: consider deriving own classes for WLAN and Cellular connections.
+ * Still, we can keep the same interface and avoid dynamic_casts.
+ */
+class WlanQtUtilsActiveConn : public QObject
+{
+public:
+
+    /**
+     * Constructor.
+     */
+    WlanQtUtilsActiveConn();
+
+    /**
+     * Destructor.
+     */
+    virtual ~WlanQtUtilsActiveConn();
+
+    /**
+     * Getter.
+     * 
+     * @return Connection ID specific for Connection Monitor Server.
+     */
+    uint connectionId() const;
+
+    /**
+     * Setter.
+     * 
+     * @param[in] connectionId Connection ID specific for Connection Monitor Server.
+     */
+    void setConnectionId(uint connectionId);
+
+    /**
+     * Getter.
+     * 
+     * @return IAP ID.
+     */
+    uint iapId() const;
+
+    /**
+     * Setter.
+     * 
+     * @param[in] iapId IAP ID.
+     */
+    void setIapId(uint iapId);
+
+    /**
+     * Getter.
+     * 
+     * @return Status of the connection.
+     */
+    WlanQtUtilsConnectionStatus connectionStatus() const;
+
+    /**
+     * Setter.
+     * 
+     * @param[in] connectionStatus Status of the connection.
+     */
+    void setConnectionStatus(WlanQtUtilsConnectionStatus connectionStatus);
+
+    /**
+     * Getter.
+     * 
+     * @return Bearer type.
+     */
+    WlanQtUtilsBearerType bearerType() const;
+
+    /**
+     * Setter.
+     * 
+     * @param[in] bearerType Bearer type.
+     */
+    void setBearerType(WlanQtUtilsBearerType bearerType);
+
+private: // Data
+
+    /** Connection Monitor Server specific connection ID. */
+    uint connectionId_;
+    /** IAP ID. */
+    uint iapId_;
+
+    /** Connection status. */
+    WlanQtUtilsConnectionStatus connectionStatus_;
+    /** Bearer type. */
+    WlanQtUtilsBearerType bearerType_;
+};
+
+#endif /* WLANQTUTILSACTIVECONN_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilscommon.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANQTUTILSCOMMON_H
+#define WLANQTUTILSCOMMON_H
+
+#ifdef BUILD_WLANQTUTILITIES_DLL
+#define WLANQTUTILITIESDLL_EXPORT Q_DECL_EXPORT
+#else
+#define WLANQTUTILITIESDLL_EXPORT Q_DECL_IMPORT
+#endif
+
+// Maximum length of WLAN SSID (limit also for number of characters for user input)
+static const int KMaxSsidLen = 32;
+// Maximum length of WEP key
+static const int KMaxWEPKeyLen = 64;
+// Maximum length of WPA key
+static const int KMaxWPAKeyLen = 256;
+
+/**
+ * Bearer type.
+ */
+enum WlanQtUtilsBearerType {
+    WlanQtUtilsBearerTypeNone = 0,     ///< None of the bearer types.
+    WlanQtUtilsBearerTypeCellular ,    ///< Cellular (2G, 3G, 3.5G) bearer type.
+    WlanQtUtilsBearerTypeWlan          ///< WLAN bearer type.
+};
+
+/**
+ * Connection status.
+ */
+enum WlanQtUtilsConnectionStatus {
+    WlanQtUtilsConnectionStatusNone = 0,      ///< None of the connection statuses.
+    WlanQtUtilsConnectionStatusConnecting,    ///< Connecting.
+    WlanQtUtilsConnectionStatusConnected,     ///< Connected.
+    WlanQtUtilsConnectionStatusDisconnected   ///< Disconnected.
+};
+
+/**
+ * Signal strength category boundaries in dB (absolute value).
+ * Smaller value means better signal.
+ */
+// TODO: WLAN signal level values valid are copied from 08wk41 Sniffer. OK?
+// (WINS emulator gives just 0 which is equal to "Absolute max"...)
+enum
+{
+    WlanQtUtilsWlanSignalStrengthAbsoluteMax = 0, ///< Absolute maximum signal strength.
+    WlanQtUtilsWlanSignalStrengthMax = 60,        ///< Maximum signal strength.
+    WlanQtUtilsWlanSignalStrengthGood = 74,       ///< Good signal strength.
+    WlanQtUtilsWlanSignalStrengthLow = 87,        ///< signal strength.
+    WlanQtUtilsWlanSignalStrengthMin = 100,       ///< Minimum signal strength.
+    WlanQtUtilsWlanSignalUnavailable = 9999,      ///< Signal is unavailable.
+};
+
+/** WLAN signal is unknown. */
+const int WlanQtUtilsWlanSignalUnknown = 1000000;
+
+/** WLAN transmit power is unknown. */
+const unsigned WlanQtUtilsWlanTransmitPowerUnknown = 0xFFFFFFFF;
+
+/**
+ * WLAN security modes.
+ * Mapping functions exist for reading and writing these values
+ * from / to ConnMon and CMM.
+ */
+enum WlanQtUtilsWlanSecMode
+{
+    WlanQtUtilsWlanSecModeNone    = 100,    ///< None of the security modes.
+    WlanQtUtilsWlanSecModeOpen    = 101,    ///< Open security mode.
+    WlanQtUtilsWlanSecModeWep     = 102,    ///< WEP security mode.
+    WlanQtUtilsWlanSecMode802_1x  = 103,    ///< 802.1x security mode.
+    WlanQtUtilsWlanSecModeWpa     = 104,    ///< WPA security mode.
+    WlanQtUtilsWlanSecModeWpa2    = 105     ///< WPA@ security mode.
+};
+
+/**
+ * WLAN connection modes.
+ */
+enum WlanQtUtilsWlanConnMode
+{
+    WlanQtUtilsWlanConnModeNone           = 200,    ///< None of the connection modes.
+    WlanQtUtilsWlanConnModeInfraStructure = 201,    ///< Infrastructure connection mode.
+    WlanQtUtilsWlanConnModeAdHoc          = 202,    ///< Adhoc connection mode.
+    WlanQtUtilsWlanConnModeSecureInfra    = 203,    ///< Secure infrastructure connection mode.´
+};
+
+#endif // WLANQTUTILSCOMMON_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilsiap.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a header file for WlanQtUtilsIap class.
+*/
+
+#ifndef WLANQTUTILSIAP_H
+#define WLANQTUTILSIAP_H
+
+#include <QObject>
+#include "wlanqtutilscommon.h"
+
+class QString;
+
+class WLANQTUTILITIESDLL_EXPORT WlanQtUtilsIap : public QObject
+{
+
+public:
+
+    WlanQtUtilsIap();
+    WlanQtUtilsIap(
+        int id,
+        int netId,
+        QString name,
+        WlanQtUtilsBearerType bearerType);
+    virtual ~WlanQtUtilsIap();
+
+    int id() const;
+    int networkId() const;
+    QString name() const;
+    WlanQtUtilsBearerType bearerType() const;
+    WlanQtUtilsConnectionStatus connectionStatus() const;
+    
+    void setId(int id);
+    void setNetworkId(int NetId);
+    void setName(QString name);
+    void setBearerType(WlanQtUtilsBearerType bearerType);
+    void setConnectionStatus(WlanQtUtilsConnectionStatus connectionStatus);
+
+private:
+    int id_;
+    int netId_;
+    QString name_;
+    WlanQtUtilsBearerType bearerType_;
+    WlanQtUtilsConnectionStatus connectionStatus_;
+    // TODO: SNAP ID list
+};
+
+#endif /* WLANQTUTILSIAP_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilswlanap.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,167 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is the header file for WlanQtUtilsWlanAp class.
+*/
+
+#ifndef WLANQTUTILSWLANAP_H
+#define WLANQTUTILSWLANAP_H
+
+#include <QObject>
+#include <QMetaType>
+#include "wlanqtutilscommon.h"
+
+class QString;
+
+/**
+ * This class represents WLAN access point (AP).
+ */
+class WLANQTUTILITIESDLL_EXPORT WlanQtUtilsWlanAp : public QObject
+{
+public:
+
+    /**
+     * Constructor.
+     */
+    WlanQtUtilsWlanAp();
+
+    /**
+     * Copy constructor.
+     */
+    WlanQtUtilsWlanAp(const WlanQtUtilsWlanAp &ref);
+
+    /**
+     * Constructor.
+     * 
+     * @param ssid SSID.
+     * @param bssid BSSID, that is, MAC address.
+     * @param signalStrength Signal strength.
+     * @param connectionMode Connection mode as TConnMonNetworkMode.
+     * @param securityMode WLAN Security mode.
+     */
+    WlanQtUtilsWlanAp(
+        QString ssid,
+        QString bssid,
+        int signalStrength,
+        int connectionMode,
+        WlanQtUtilsWlanSecMode securityMode);
+
+    /**
+     * Destructor.
+     */
+    virtual ~WlanQtUtilsWlanAp();
+
+    /**
+     * Returns SSID.
+     * 
+     * @return SSID.
+     */
+    QString ssid() const;
+
+    /**
+     * Getter.
+     * 
+     * @return BSSID.
+     */
+    QString bssid() const;
+
+    /**
+     * Getter.
+     * 
+     * @return Signal strength.
+     */
+    int signalStrength() const;
+
+    /**
+     * Getter.
+     * 
+     * @return Connection mode as TConnMonNetworkMode.
+     */
+    int connectionMode() const;
+
+    /**
+     * Getter.
+     * 
+     * @return Security mode as WlanQtUtilsWlanSecMode.
+     */
+    WlanQtUtilsWlanSecMode securityMode() const;
+
+    /**
+     * Getter.
+     * 
+     * @return Security key.
+     */
+    QString securityKey() const;
+
+    /**
+     * Setter.
+     * 
+     * @param SSID.
+     */
+    void setSsid(QString ssid);
+
+    /**
+     * Setter.
+     * 
+     * @param BSSID.
+     */
+    void setBssid(QString bssid);
+
+    /**
+     * Setter.
+     * 
+     * @param Signal strength.
+     */
+    void setSignalStrength(int signalStrength);
+
+    /**
+     * Setter.
+     * 
+     * @param connectionMode Connection mode as TConnMonNetworkMode.
+     */
+    void setConnectionMode(int connectionMode);
+
+    /**
+     * Setter.
+     * 
+     * @param securityMode WLAN Security mode.
+     */
+    void setSecurityMode(WlanQtUtilsWlanSecMode securityMode);
+
+    /**
+     * Setter.
+     * 
+     * @param securityKey WLAN Security key.
+     */
+    void setSecurityKey(QString securityKey);
+
+private: //data
+
+    /** SSID */
+    QString ssid_;
+    /** BSSID, that is, MAC address. */
+    QString bssid_; // TODO: Check if QString is suitable
+    /** Signal strength. */
+    int signalStrength_;
+    /** Connection mode as TConnMonNetworkMode. */
+    int connectionMode_;
+    /** WLAN security mode. */
+    WlanQtUtilsWlanSecMode securityMode_;
+    /** Security key, if available. */
+    QString securityKey_;
+};
+
+Q_DECLARE_METATYPE(WlanQtUtilsWlanAp)
+
+#endif /* WLANQTUTILSWLANIAP_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/inc/wlanqtutilswlaniap.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a header file for WlanQtUtilsWlanIap class.
+*/
+
+#ifndef WLANQTUTILSWLANIAP_H
+#define WLANQTUTILSWLANIAP_H
+
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilsiap.h"
+
+class WLANQTUTILITIESDLL_EXPORT WlanQtUtilsWlanIap : public WlanQtUtilsIap
+{
+    // Q_OBJECT macro needed for qobject_cast to work
+    Q_OBJECT
+    
+public:
+    WlanQtUtilsWlanIap();
+    WlanQtUtilsWlanIap(int id, int netId, QString name, WlanQtUtilsBearerType bearerType, QString ssid, WlanQtUtilsWlanSecMode securityMode);
+    virtual ~WlanQtUtilsWlanIap();
+
+    QString ssid() const;
+    int signalStrength() const;
+    WlanQtUtilsWlanSecMode securityMode() const;
+        
+    void setSsid(QString ssid);
+    void setSignalStrength(int signalStrength);
+    void setSecurityMode(WlanQtUtilsWlanSecMode securityMode);
+
+private:
+    QString ssid_;
+    int signalStrength_;
+    WlanQtUtilsWlanSecMode securityMode_;
+    // TODO: secKey_  (type unknown)
+};
+
+#endif /* WLANQTUTILSWLANIAP_H */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutils.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,80 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*/
+
+#include "wlanqtutilswlanap.h"
+#include "wlanqtutilswlaniap.h"
+
+#include "wlanqtutils_p.h"
+#include "wlanqtutils.h"
+
+WlanQtUtils::WlanQtUtils()
+{
+    d_ptr = new WlanQtUtilsPrivate(this);
+}
+
+WlanQtUtils::~WlanQtUtils()
+{
+    delete d_ptr;
+}
+
+void WlanQtUtils::availableWlanAps(
+    QList<WlanQtUtilsWlanIap *> &wlanIapList,
+    QList<WlanQtUtilsWlanAp *> &wlanApList)
+{
+    d_ptr->availableWlanAps(wlanIapList, wlanApList);
+}
+
+int WlanQtUtils::createWlanIap(const WlanQtUtilsWlanAp *wlanAp)
+{
+    return d_ptr->createWlanIap(wlanAp);
+}
+
+void WlanQtUtils::connectIap(int iapId)
+{
+    d_ptr->connectIap(iapId);
+}
+
+void WlanQtUtils::disconnectIap(int iapId)
+{
+    d_ptr->disconnectIap(iapId);
+}
+
+WlanQtUtilsIap *WlanQtUtils::iap(int iapId) const
+{
+    return d_ptr->iap(iapId);
+}
+
+bool WlanQtUtils::masterWlan() const
+{
+    return d_ptr->masterWlan();
+}
+
+void WlanQtUtils::setMasterWlan(bool enabled)
+{
+    d_ptr->setMasterWlan(enabled);
+}
+
+int WlanQtUtils::connectedWlanId() const
+{
+    return d_ptr->connectedWlanId();
+}
+
+void WlanQtUtils::scanWlans()
+{
+    d_ptr->scanWlans();
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutils_p.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,490 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*/
+
+#include "wlanqtutilswlanap.h"
+#include "wlanqtutilswlaniap.h"
+#include "wlanqtutilsactiveconn.h"
+#include "wlanqtutilscmmwrapper.h"
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsesockwrapper.h"
+#include "wlanqtutilsconntestwrapper.h"
+
+#include "wlanqtutils.h"
+#include "wlanqtutils_p.h"
+
+#ifdef WLANQTUTILS_NO_OST_TRACES_FLAG
+#include <opensystemtrace.h>
+#else
+#include "OstTraceDefinitions.h"
+#endif
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutils_pTraces.h"
+#endif
+
+
+WlanQtUtilsPrivate::WlanQtUtilsPrivate(WlanQtUtils *publicPtr) :
+    q_ptr(publicPtr),
+    wlanScanList_(),
+    wlanIapList_(),
+    toBeTestedIapId_(WlanQtUtilsInvalidIapId),
+    connectingIapId_(WlanQtUtilsInvalidIapId),
+    activeConnection_(NULL)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_ENTRY, this );
+    
+    // Let's allocate memory for wrapper objects.
+    // Engine is set as a parent for wrapper objects.
+    cmmWrapper_ = new CmmWrapper(this);
+    conMonWrapper_ = new ConMonWrapper(this);
+    esockWrapper_ = new EsockWrapper(this);
+    connTestWrapper_ = new ConnTestWrapper(this);
+    
+    // Make all connections.
+    // Todo: having these as signals from the wrappers doesn't bring much benefit
+    // -> could be optimized as normal callbacks
+    connect(
+        conMonWrapper_,
+        SIGNAL(availableWlanApsFromWrapper(QList<WlanQtUtilsWlanAp *>&)),
+        this,
+        SLOT(updateAvailableWlanAps(QList<WlanQtUtilsWlanAp *>&)));
+
+    connect(
+        esockWrapper_,
+        SIGNAL(connectionStatusFromWrapper(bool)),
+        this,
+        SLOT(updateConnectionStatus(bool)));
+
+    connect(
+        connTestWrapper_,
+        SIGNAL(connectivityTestResult(bool)),
+        this,
+        SLOT(updateConnectivityTestResult(bool)));
+
+    connect(
+        conMonWrapper_,
+        SIGNAL(connCreatedEventFromWrapper(uint)),
+        this,
+        SLOT(addActiveConnection(uint)));
+
+    connect(
+        conMonWrapper_,
+        SIGNAL(connDeletedEventFromWrapper(uint)),
+        this,
+        SLOT(removeActiveConnection(uint)));
+    
+    connect(
+        conMonWrapper_,
+        SIGNAL(connStatusEventFromWrapper(uint, WlanQtUtilsConnectionStatus)),
+        this,
+        SLOT(updateActiveConnection(uint, WlanQtUtilsConnectionStatus)));
+
+    // Fetch the initial IAP configuration
+    fetchIaps();
+
+    // Retrieve initial status of active connections and update IAPs, if needed.
+    activeConnection_ = conMonWrapper_->activeConnection();
+    if (activeConnection_ != NULL) {
+        updateIapConnectionStatuses(activeConnection_->iapId(), activeConnection_->connectionStatus());
+    }
+
+    // TODO: error handling
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_EXIT, this );
+}
+
+WlanQtUtilsPrivate::~WlanQtUtilsPrivate()
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_ENTRY, this );
+    
+    // Delete WLAN scan list
+    for (int i = 0; i < wlanScanList_.count(); i++) {
+        delete wlanScanList_[i];
+    }
+    wlanScanList_.clear();
+    
+    delete activeConnection_;
+    
+    delete cmmWrapper_;
+    delete conMonWrapper_;
+    delete esockWrapper_;
+    delete connTestWrapper_;
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::availableWlanAps(
+    QList<WlanQtUtilsWlanIap *> &wlanIapList,
+    QList<WlanQtUtilsWlanAp *> &wlanApList)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_ENTRY, this );
+    
+    wlanIapList.clear();
+    wlanApList.clear();
+    
+    // Add possible connected or connecting IAP as the first item in the list
+    int activeIapId = WlanQtUtilsInvalidIapId;
+    if (activeConnection_ != NULL) {
+        activeIapId = activeConnection_->iapId();
+    } else if (connectingIapId_ != WlanQtUtilsInvalidIapId) {
+        activeIapId = connectingIapId_;
+    }
+    if (wlanIapList_.contains(activeIapId)) {
+        wlanIapList_[activeIapId]->setSignalStrength(WlanQtUtilsWlanSignalStrengthMax);
+        wlanIapList_[activeIapId]->setConnectionStatus(WlanQtUtilsConnectionStatusConnected);
+        wlanIapList.append(wlanIapList_[activeIapId]);
+    }
+    
+    // Todo: IAPs with same SSID and security mode? probably we want to show only one of them?
+    
+    // Match IAPs against WLAN scan results
+    foreach (WlanQtUtilsWlanIap *iap, wlanIapList_) {
+        foreach (WlanQtUtilsWlanAp *scanAp, wlanScanList_) {
+            // Todo: security mode check
+            if (iap->ssid() == scanAp->ssid()) {
+                // IAP found, add it to caller's list of known IAPs (signal strength needs to be
+                // updated manually since the IAP in our list does not have that information yet)
+                iap->setSignalStrength(scanAp->signalStrength());
+                if (iap->id() != activeIapId) {
+                    wlanIapList.append(iap);
+                } // else: connected IAP, added as the first item in the list already
+                break;
+            }
+        }
+    }
+
+    // Go through the scan results to find unknown APs
+    for (int i = 0; i < wlanScanList_.count(); i++) {
+        // Skip networks with empty SSID (hidden networks are handled by UI currently)
+        if (wlanScanList_[i]->ssid().isEmpty() == FALSE) {
+            // Check whether an IAP with these parameters exists in any SNAP (in which case this
+            // network should not be shown as available in this SNAP)
+            if (wlanIapExists(wlanScanList_[i]->ssid(), wlanScanList_[i]->securityMode()) == false) {
+                // No IAP found in any SNAP, copy the AP to caller's list of unknown APs
+                wlanApList.append(wlanScanList_[i]);
+            }
+        }
+    }
+    
+    // Sort APs by their SSIDs.
+    QMap<QString, WlanQtUtilsWlanAp *> wlanApMap;
+    // Loop the AP list copying the keys (lower case SSID) and elements
+    // into the map.
+    for (int i = 0; i < wlanApList.count(); i++ ) {
+        wlanApMap.insertMulti(wlanApList[i]->ssid().toLower(), wlanApList[i]);
+    }
+    wlanApList = wlanApMap.values();
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_EXIT, this );
+}
+
+int WlanQtUtilsPrivate::createWlanIap(const WlanQtUtilsWlanAp *wlanAp)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_CREATEWLANIAP_ENTRY, this );
+    
+    // Create the new IAP. Store its ID, because we need to run ICT for it later
+    WlanQtUtilsWlanIap *newIap = cmmWrapper_->createWlanIap(wlanAp);
+    toBeTestedIapId_ = newIap->id();
+    wlanIapList_.insert(newIap->id(), newIap);
+    
+    OstTrace1(
+        TRACE_API,
+        WLANQTUTILSPRIVATE_CREATEWLANIAP,
+        "WlanQtUtilsPrivate::createWlanIap;New IAP ID=%d", toBeTestedIapId_ );
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_CREATEWLANIAP_EXIT, this );
+    return toBeTestedIapId_;
+}
+
+void WlanQtUtilsPrivate::connectIap(int iapId)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_CONNECTIAP_ENTRY, this );
+    OstTrace1( TRACE_API, WLANQTUTILSPRIVATE_CONNECTIAP, "WlanQtUtilsPrivate::connectIap;IAP ID=%d", iapId );
+    
+    Q_ASSERT(activeConnection_ == NULL);
+    connectingIapId_ = iapId;
+    esockWrapper_->connectIap(iapId);
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_CONNECTIAP_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::disconnectIap(int iapId)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_DISCONNECTIAP_ENTRY, this );
+    OstTrace1( TRACE_API, WLANQTUTILSPRIVATE_DISCONNECTIAP, "WlanQtUtilsPrivate::disconnectIap;IAP ID=%d", iapId );
+    
+    Q_ASSERT(activeConnection_ != NULL);
+    Q_ASSERT(activeConnection_->iapId() == iapId);
+    Q_ASSERT(wlanIapList_.contains(iapId));
+    
+    // Todo: IAP may have been opened by someone else... how to know when to disconnect RConnection?    
+    esockWrapper_->disconnectIap();
+    
+    // In order to close connection even if there are other users for the IAP, close also via ConMon
+    conMonWrapper_->disconnectIap(iapId);
+    // Change status of the IAP to non-connected
+    wlanIapList_[iapId]->setConnectionStatus(WlanQtUtilsConnectionStatusDisconnected);
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_DISCONNECTIAP_EXIT, this );
+}
+
+WlanQtUtilsIap *WlanQtUtilsPrivate::iap(int iapId) const
+{
+    if (wlanIapList_.contains(iapId)) {
+        return wlanIapList_.value(iapId);
+    }
+    // else: no match
+    return NULL;
+}
+
+bool WlanQtUtilsPrivate::masterWlan() const
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_MASTERWLAN_ENTRY, this );
+    
+    // TODO: Add actual implementation, this is just temporary dummy for testing wlanentryplugin!
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_MASTERWLAN_EXIT, this );
+    return true;
+}
+
+void WlanQtUtilsPrivate::setMasterWlan(bool enabled)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_SETMASTERWLAN_ENTRY, this );
+    
+    // TODO: Add actual implementation.
+    (void)enabled;
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_SETMASTERWLAN_EXIT, this );
+}
+
+int WlanQtUtilsPrivate::connectedWlanId() const
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_CONNECTEDWLANID_ENTRY, this );
+
+    int retVal = WlanQtUtilsInvalidIapId;
+    if (activeConnection_ != NULL) {
+        retVal = activeConnection_->iapId();
+    }
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_CONNECTEDWLANID_EXIT, this );
+    return retVal;
+}
+
+void WlanQtUtilsPrivate::scanWlans()
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_SCANWLANS_ENTRY, this );
+
+    // Just forward the request to wrapper, which triggers a single WLAN scan
+    conMonWrapper_->scanAvailableWlanAPs();
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_SCANWLANS_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::updateAvailableWlanAps(QList<WlanQtUtilsWlanAp *> &availableWlanList)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_ENTRY, this );
+    
+    // Old results are removed
+    wlanScanList_.clear();
+    // Copy available WLAN's to engine's scan result list (duplicates are removed)
+    for (int i = 0; i < availableWlanList.count(); i++) {
+        bool duplicate = false;
+        for (int j = 0; j < wlanScanList_.count(); j++) {
+            if (availableWlanList[i]->ssid() == wlanScanList_[j]->ssid()
+                && availableWlanList[i]->securityMode() == wlanScanList_[j]->securityMode()) {
+                duplicate = true;
+                break;
+            }
+        }
+        if (duplicate == false) {
+            wlanScanList_.append(availableWlanList[i]);
+        }
+        // Todo: else deallocate?
+    }
+
+    // the information is forwarded to the UI
+    emit q_ptr->wlanScanReady();
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::updateConnectionStatus(bool isOpened)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_ENTRY, this );    
+    OstTrace1(
+        TRACE_API,
+        WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS,
+        "WlanQtUtilsPrivate::updateConnectionStatus;isOpened=%d", isOpened );
+    
+    if (isOpened == false) {
+        // Opening failed, update connection statuses, but don't inform UI about
+        // connection closing here. It is done always in removeActiveConnection().
+        if (activeConnection_ != NULL) {
+            activeConnection_->setConnectionStatus(WlanQtUtilsConnectionStatusDisconnected);
+        }
+        updateIapConnectionStatuses(connectingIapId_, WlanQtUtilsConnectionStatusDisconnected);
+    } else {
+        // Opening succeeded, update connection statuses and inform UI
+        if (activeConnection_ != NULL) {
+            activeConnection_->setConnectionStatus(WlanQtUtilsConnectionStatusConnected);
+        }
+        updateIapConnectionStatuses(connectingIapId_, WlanQtUtilsConnectionStatusConnected);
+        emit q_ptr->wlanNetworkOpened(connectingIapId_);
+
+        // Start ICT, if needed
+        if (connectingIapId_ == toBeTestedIapId_) {
+            WlanQtUtilsIap *iap = WlanQtUtilsPrivate::iap(toBeTestedIapId_);
+            connTestWrapper_->startConnectivityTest(toBeTestedIapId_, iap->networkId());
+        }
+    }
+    // IAP is no more in connecting state
+    connectingIapId_ = WlanQtUtilsInvalidIapId;
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::updateConnectivityTestResult(bool result)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_UPDATECONNECTIVITYTESTRESULT_ENTRY, this );
+    OstTrace1(
+        TRACE_API,
+        WLANQTUTILSPRIVATE_UPDATECONNECTIVITYTESTRESULT,
+        "WlanQtUtilsPrivate::updateConnectivityTestResult;result=%d", result );
+    
+    if (result == true) {
+        // Move the tested IAP to Internet SNAP since the test passed
+        Q_ASSERT(toBeTestedIapId_ != WlanQtUtilsInvalidIapId);
+        cmmWrapper_->moveIapToInternetSnap(toBeTestedIapId_);
+    } // else: do nothing, IAP remains to be uncategorized
+    else
+    {
+        // TODO: Remove this. This is needed now since the connectivity test fails
+        // and thus the IAP is not shown correctly.
+        cmmWrapper_->moveIapToInternetSnap(toBeTestedIapId_);
+
+    }
+    // This IAP is now tested
+    toBeTestedIapId_ = WlanQtUtilsInvalidIapId;
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_UPDATECONNECTIVITYTESTRESULT_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::addActiveConnection(uint connectionId)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_ENTRY, this );
+    OstTrace1(
+        TRACE_API,
+        WLANQTUTILSPRIVATE_ADDACTIVECONNECTION,
+        "WlanQtUtilsPrivate::addActiveConnection;connectionId=%u", connectionId );
+
+    Q_ASSERT(activeConnection_ == NULL);
+    activeConnection_ = conMonWrapper_->connectionInfo(connectionId);
+    Q_ASSERT(wlanIapList_.contains(activeConnection_->iapId()));
+    updateIapConnectionStatuses(activeConnection_->iapId(), activeConnection_->connectionStatus());
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::removeActiveConnection(uint connectionId)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_ENTRY, this );
+    OstTrace1(
+        TRACE_API,
+        WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION,
+        "WlanQtUtilsPrivate::removeActiveConnection;connectionId=%u", connectionId );
+    
+    Q_ASSERT(activeConnection_ != NULL);
+    if (activeConnection_->connectionId() == connectionId) {
+        // Connection is closed, update connection statuses and inform UI.
+        // wlanNetworkClosed is sent from here (and only from here), because, in some cases,
+        // connection may be removed without any connection status updates.
+        int closedIapId = activeConnection_->iapId();
+        updateIapConnectionStatuses(activeConnection_->iapId(), WlanQtUtilsConnectionStatusDisconnected);
+        delete activeConnection_;
+        activeConnection_ = NULL;
+        emit q_ptr->wlanNetworkClosed(closedIapId);
+    }
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_EXIT, this );
+}
+
+void WlanQtUtilsPrivate::updateActiveConnection(uint connectionId, WlanQtUtilsConnectionStatus connectionStatus)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_ENTRY, this );
+    OstTraceExt2(
+        TRACE_API,
+        WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION,
+        "WlanQtUtilsPrivate::updateActiveConnection;connectionId=%u;connectionStatus=%u", connectionId, connectionStatus );
+    
+    Q_ASSERT(activeConnection_ != NULL);
+    if (activeConnection_->connectionId() == connectionId
+        && activeConnection_->connectionStatus() != connectionStatus) {
+        // Update connection statuses and inform UI, if necessary
+        activeConnection_->setConnectionStatus(connectionStatus);
+        updateIapConnectionStatuses(activeConnection_->iapId(), connectionStatus);
+        if (connectionStatus == WlanQtUtilsConnectionStatusConnected) {
+            emit q_ptr->wlanNetworkOpened(activeConnection_->iapId());
+        }
+        // Do not inform UI about connection closing here. It is done always in
+        // removeActiveConnection(), because that may occur without any connection status updates.
+    } // else: connection status did not change
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_EXIT, this );
+}
+
+int WlanQtUtilsPrivate::fetchIaps()
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_FETCHIAPS_ENTRY, this );
+    
+    QList<WlanQtUtilsIap *> list;
+    int error = 0; 
+    // Read the IAP list and store WLAN IAPs in our internal map data structure
+    error = cmmWrapper_->fetchIaps(list);    
+    foreach (WlanQtUtilsIap *iap, list) {
+        if (iap->bearerType() == WlanQtUtilsBearerTypeWlan) {
+            // Notice that insertMulti not used, because IAP IDs should be unique
+            wlanIapList_.insert(iap->id(), qobject_cast<WlanQtUtilsWlanIap *>(iap));            
+        }
+    }
+        
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_FETCHIAPS_EXIT, this );
+    return error;
+}
+
+bool WlanQtUtilsPrivate::wlanIapExists(QString ssid, WlanQtUtilsWlanSecMode secMode)
+{    
+    foreach (WlanQtUtilsWlanIap *iap, wlanIapList_) {
+        // todo: secmode
+        (void)secMode;
+        if (iap->ssid() == ssid) {
+            return true;
+        }
+    }
+    
+    return false;
+}
+
+void WlanQtUtilsPrivate::updateIapConnectionStatuses(int iapId, WlanQtUtilsConnectionStatus status)
+{
+    OstTraceFunctionEntry1( WLANQTUTILSPRIVATE_UPDATEIAPCONNECTIONSTATUSES_ENTRY, this );
+    
+    const WlanQtUtilsWlanIap *referenceIap = qobject_cast<WlanQtUtilsWlanIap *>(iap(iapId));
+    foreach (WlanQtUtilsWlanIap *iap, wlanIapList_) {
+        // todo: security mode checking
+        if (iap->id() == referenceIap->id() || iap->ssid() == referenceIap->ssid()) {
+            iap->setConnectionStatus(status);
+        }
+    }
+
+    OstTraceFunctionExit1( WLANQTUTILSPRIVATE_UPDATEIAPCONNECTIONSTATUSES_EXIT, this );
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilsactiveconn.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a source file for WlanQtUtilsActiveConn class.
+*/
+
+#include "wlanqtutilsactiveconn.h"
+
+WlanQtUtilsActiveConn::WlanQtUtilsActiveConn() :
+    connectionId_(0),
+    iapId_(0),
+    connectionStatus_(WlanQtUtilsConnectionStatusNone),
+    bearerType_(WlanQtUtilsBearerTypeNone)
+{
+}
+
+WlanQtUtilsActiveConn::~WlanQtUtilsActiveConn()
+{
+}
+
+uint WlanQtUtilsActiveConn::connectionId() const
+{
+    return connectionId_;
+}
+
+void WlanQtUtilsActiveConn::setConnectionId(uint connectionId)
+{
+    connectionId_ = connectionId;
+}
+
+uint WlanQtUtilsActiveConn::iapId() const
+{
+    return iapId_;
+}
+
+void WlanQtUtilsActiveConn::setIapId(uint iapId)
+{
+    iapId_ = iapId;
+}
+
+WlanQtUtilsConnectionStatus WlanQtUtilsActiveConn::connectionStatus() const
+{
+    return connectionStatus_;
+}
+
+void WlanQtUtilsActiveConn::setConnectionStatus(WlanQtUtilsConnectionStatus connectionStatus)
+{
+    connectionStatus_ = connectionStatus;
+}
+
+WlanQtUtilsBearerType WlanQtUtilsActiveConn::bearerType() const
+{
+    return bearerType_;
+}
+
+void WlanQtUtilsActiveConn::setBearerType(WlanQtUtilsBearerType bearerType)
+{
+    bearerType_ = bearerType;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilsiap.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,92 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#include <QString>
+#include "wlanqtutilsiap.h"
+
+WlanQtUtilsIap::WlanQtUtilsIap() : 
+    id_(0),
+    netId_(0),
+    name_(""),
+    bearerType_(WlanQtUtilsBearerTypeNone),
+    connectionStatus_(WlanQtUtilsConnectionStatusNone)
+{
+
+}
+
+WlanQtUtilsIap::WlanQtUtilsIap(
+    int id,
+    int netId,
+    QString name,
+    WlanQtUtilsBearerType bearerType) :
+    id_(id), netId_(netId), name_(name), bearerType_(bearerType), connectionStatus_(WlanQtUtilsConnectionStatusNone)
+{
+}
+
+WlanQtUtilsIap::~WlanQtUtilsIap()
+{
+}
+
+int WlanQtUtilsIap::id() const
+{
+    return id_;
+}
+
+int WlanQtUtilsIap::networkId() const
+{
+    return netId_;
+}
+
+QString WlanQtUtilsIap::name() const
+{
+    return name_;
+}
+
+WlanQtUtilsBearerType WlanQtUtilsIap::bearerType() const
+{
+    return bearerType_;
+}
+
+WlanQtUtilsConnectionStatus WlanQtUtilsIap::connectionStatus() const
+{
+    return connectionStatus_;
+}
+
+void WlanQtUtilsIap::setId(int id)
+{
+    id_ = id;
+}
+
+void WlanQtUtilsIap::setNetworkId(int netId)
+{
+    netId_ = netId;
+}
+
+void WlanQtUtilsIap::setName(QString name)
+{
+    name_ = name;
+}
+
+void WlanQtUtilsIap::setBearerType(WlanQtUtilsBearerType bearerType)
+{
+    bearerType_ = bearerType;
+}
+
+void WlanQtUtilsIap::setConnectionStatus(WlanQtUtilsConnectionStatus connectionStatus)
+{
+    connectionStatus_ = connectionStatus;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilswlanap.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,109 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is the source file for WlanQtUtilsWlanAp class.
+*/
+
+#include <QString>
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilswlanap.h"
+
+WlanQtUtilsWlanAp::WlanQtUtilsWlanAp() : ssid_(""), bssid_(""), signalStrength_(0), connectionMode_(0),
+    securityMode_(WlanQtUtilsWlanSecModeOpen), securityKey_("")
+{
+}
+
+WlanQtUtilsWlanAp::WlanQtUtilsWlanAp(const WlanQtUtilsWlanAp &ref) :
+    ssid_(ref.ssid()),
+    bssid_(ref.bssid()),
+    signalStrength_(ref.signalStrength()),
+    connectionMode_(ref.connectionMode()),
+    securityMode_(ref.securityMode()),
+    securityKey_(ref.securityKey())
+{
+}
+
+WlanQtUtilsWlanAp::WlanQtUtilsWlanAp(
+    QString ssid,
+    QString bssid,
+    int signalStrength,
+    int connectionMode,
+    WlanQtUtilsWlanSecMode securityMode) : ssid_(ssid), bssid_(bssid), signalStrength_(signalStrength),
+    connectionMode_(connectionMode), securityMode_(securityMode), securityKey_("")
+{
+}
+
+WlanQtUtilsWlanAp::~WlanQtUtilsWlanAp()
+{
+}
+
+QString WlanQtUtilsWlanAp::ssid() const
+{
+    return ssid_;
+}
+
+QString WlanQtUtilsWlanAp::bssid() const
+{
+    return bssid_;
+}
+
+int WlanQtUtilsWlanAp::signalStrength() const
+{
+    return signalStrength_;
+}
+
+int WlanQtUtilsWlanAp::connectionMode() const
+{
+    return connectionMode_;
+}
+
+WlanQtUtilsWlanSecMode WlanQtUtilsWlanAp::securityMode() const
+{
+    return securityMode_;
+}
+
+QString WlanQtUtilsWlanAp::securityKey() const
+{
+    return securityKey_;
+}
+
+void WlanQtUtilsWlanAp::setSsid(QString ssid)
+{
+    ssid_ = ssid;
+}
+
+void WlanQtUtilsWlanAp::setBssid(QString bssid)
+{
+    bssid_ = bssid;
+}
+
+void WlanQtUtilsWlanAp::setSignalStrength(int signalStrength)
+{
+    signalStrength_ = signalStrength;
+}
+
+void WlanQtUtilsWlanAp::setConnectionMode(int connectionMode)
+{
+    connectionMode_ = connectionMode;
+}
+
+void WlanQtUtilsWlanAp::setSecurityMode(WlanQtUtilsWlanSecMode securityMode)
+{
+    securityMode_ = securityMode;
+}
+
+void WlanQtUtilsWlanAp::setSecurityKey(QString securityKey)
+{
+    securityKey_ = securityKey;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/base/src/wlanqtutilswlaniap.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,70 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a source file for WlanQtUtilsWlanIap class.
+*/
+
+#include <QString>
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilswlaniap.h"
+
+WlanQtUtilsWlanIap::WlanQtUtilsWlanIap() : WlanQtUtilsIap(), ssid_(""), signalStrength_(WlanQtUtilsWlanSignalUnavailable), securityMode_(WlanQtUtilsWlanSecModeOpen) 
+{
+}
+
+WlanQtUtilsWlanIap::WlanQtUtilsWlanIap(int id, int netId, QString name, WlanQtUtilsBearerType bearerType, QString ssid, WlanQtUtilsWlanSecMode secMode) :
+    WlanQtUtilsIap(id, netId, name, bearerType), ssid_(ssid), signalStrength_(WlanQtUtilsWlanSignalUnavailable), securityMode_(secMode)
+{
+}
+
+WlanQtUtilsWlanIap::~WlanQtUtilsWlanIap()
+{
+}
+
+/** Returns IAP's SSID */
+QString WlanQtUtilsWlanIap::ssid() const
+{
+    return ssid_;
+}
+
+/** Returns IAP's signal strength */
+int WlanQtUtilsWlanIap::signalStrength() const
+{
+    return signalStrength_;
+}
+
+/** Returns IAP's security mode */
+WlanQtUtilsWlanSecMode WlanQtUtilsWlanIap::securityMode() const
+{
+    return securityMode_;
+}
+
+/** Sets IAP's SSID */
+void WlanQtUtilsWlanIap::setSsid(QString ssid)
+{
+    ssid_ = ssid;
+}
+
+/** Sets IAP's signal strength */
+void WlanQtUtilsWlanIap::setSignalStrength(int signalStrength)
+{
+    signalStrength_ = signalStrength;
+}
+
+/** Sets IAP's security mode */
+void WlanQtUtilsWlanIap::setSecurityMode(WlanQtUtilsWlanSecMode securityMode)
+{
+    securityMode_ = securityMode;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/bwins/wlanqtutilitiesu.def	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,80 @@
+EXPORTS
+	?getStaticMetaObject@WlanQtUtilsWlanIap@@SAABUQMetaObject@@XZ @ 1 NONAME ; struct QMetaObject const & WlanQtUtilsWlanIap::getStaticMetaObject(void)
+	?connectedWlanId@WlanQtUtils@@QBEHXZ @ 2 NONAME ; int WlanQtUtils::connectedWlanId(void) const
+	?masterWlanStatus@WlanQtUtils@@IAEX_N@Z @ 3 NONAME ; void WlanQtUtils::masterWlanStatus(bool)
+	?Start@RConnection@@QAEXAAVTConnPref@@AAVTRequestStatus@@@Z @ 4 NONAME ; void RConnection::Start(class TConnPref &, class TRequestStatus &)
+	?connectionMode@WlanQtUtilsWlanAp@@QBEHXZ @ 5 NONAME ; int WlanQtUtilsWlanAp::connectionMode(void) const
+	??1WlanQtUtilsIap@@UAE@XZ @ 6 NONAME ; WlanQtUtilsIap::~WlanQtUtilsIap(void)
+	??0WlanQtUtilsWlanAp@@QAE@VQString@@0HHW4WlanQtUtilsWlanSecMode@@@Z @ 7 NONAME ; WlanQtUtilsWlanAp::WlanQtUtilsWlanAp(class QString, class QString, int, int, enum WlanQtUtilsWlanSecMode)
+	?staticMetaObject@WlanQtUtilsWlanIap@@2UQMetaObject@@B @ 8 NONAME ; struct QMetaObject const WlanQtUtilsWlanIap::staticMetaObject
+	?qt_metacall@WlanQtUtils@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 9 NONAME ; int WlanQtUtils::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?metaObject@WlanQtUtilsWlanIap@@UBEPBUQMetaObject@@XZ @ 10 NONAME ; struct QMetaObject const * WlanQtUtilsWlanIap::metaObject(void) const
+	?tr@WlanQtUtilsWlanIap@@SA?AVQString@@PBD0H@Z @ 11 NONAME ; class QString WlanQtUtilsWlanIap::tr(char const *, char const *, int)
+	?networkId@WlanQtUtilsIap@@QBEHXZ @ 12 NONAME ; int WlanQtUtilsIap::networkId(void) const
+	?qt_metacall@WlanQtUtilsWlanIap@@UAEHW4Call@QMetaObject@@HPAPAX@Z @ 13 NONAME ; int WlanQtUtilsWlanIap::qt_metacall(enum QMetaObject::Call, int, void * *)
+	?staticMetaObject@WlanQtUtils@@2UQMetaObject@@B @ 14 NONAME ; struct QMetaObject const WlanQtUtils::staticMetaObject
+	?disconnectIap@WlanQtUtils@@QAEXH@Z @ 15 NONAME ; void WlanQtUtils::disconnectIap(int)
+	??0WlanQtUtilsIap@@QAE@HHVQString@@W4WlanQtUtilsBearerType@@@Z @ 16 NONAME ; WlanQtUtilsIap::WlanQtUtilsIap(int, int, class QString, enum WlanQtUtilsBearerType)
+	?ssid@WlanQtUtilsWlanAp@@QBE?AVQString@@XZ @ 17 NONAME ; class QString WlanQtUtilsWlanAp::ssid(void) const
+	??1WlanQtUtilsWlanAp@@UAE@XZ @ 18 NONAME ; WlanQtUtilsWlanAp::~WlanQtUtilsWlanAp(void)
+	?bearerType@WlanQtUtilsIap@@QBE?AW4WlanQtUtilsBearerType@@XZ @ 19 NONAME ; enum WlanQtUtilsBearerType WlanQtUtilsIap::bearerType(void) const
+	?GetPckgAttribute@RConnectionMonitor@@QBEXIIIAAVTDes16@@AAVTRequestStatus@@@Z @ 20 NONAME ; void RConnectionMonitor::GetPckgAttribute(unsigned int, unsigned int, unsigned int, class TDes16 &, class TRequestStatus &) const
+	?signalStrength@WlanQtUtilsWlanIap@@QBEHXZ @ 21 NONAME ; int WlanQtUtilsWlanIap::signalStrength(void) const
+	??_EWlanQtUtilsWlanIap@@UAE@I@Z @ 22 NONAME ; WlanQtUtilsWlanIap::~WlanQtUtilsWlanIap(unsigned int)
+	?wlanNetworkOpened@WlanQtUtils@@IAEXH@Z @ 23 NONAME ; void WlanQtUtils::wlanNetworkOpened(int)
+	?metaObject@WlanQtUtils@@UBEPBUQMetaObject@@XZ @ 24 NONAME ; struct QMetaObject const * WlanQtUtils::metaObject(void) const
+	?setId@WlanQtUtilsIap@@QAEXH@Z @ 25 NONAME ; void WlanQtUtilsIap::setId(int)
+	?setConnectionStatus@WlanQtUtilsIap@@QAEXW4WlanQtUtilsConnectionStatus@@@Z @ 26 NONAME ; void WlanQtUtilsIap::setConnectionStatus(enum WlanQtUtilsConnectionStatus)
+	?createWlanIap@WlanQtUtils@@QAEHPBVWlanQtUtilsWlanAp@@@Z @ 27 NONAME ; int WlanQtUtils::createWlanIap(class WlanQtUtilsWlanAp const *)
+	?setName@WlanQtUtilsIap@@QAEXVQString@@@Z @ 28 NONAME ; void WlanQtUtilsIap::setName(class QString)
+	?setSsid@WlanQtUtilsWlanIap@@QAEXVQString@@@Z @ 29 NONAME ; void WlanQtUtilsWlanIap::setSsid(class QString)
+	?setSecurityMode@WlanQtUtilsWlanIap@@QAEXW4WlanQtUtilsWlanSecMode@@@Z @ 30 NONAME ; void WlanQtUtilsWlanIap::setSecurityMode(enum WlanQtUtilsWlanSecMode)
+	?tr@WlanQtUtils@@SA?AVQString@@PBD0H@Z @ 31 NONAME ; class QString WlanQtUtils::tr(char const *, char const *, int)
+	?name@WlanQtUtilsIap@@QBE?AVQString@@XZ @ 32 NONAME ; class QString WlanQtUtilsIap::name(void) const
+	?masterWlan@WlanQtUtils@@QBE_NXZ @ 33 NONAME ; bool WlanQtUtils::masterWlan(void) const
+	?qt_metacast@WlanQtUtilsWlanIap@@UAEPAXPBD@Z @ 34 NONAME ; void * WlanQtUtilsWlanIap::qt_metacast(char const *)
+	?securityKey@WlanQtUtilsWlanAp@@QBE?AVQString@@XZ @ 35 NONAME ; class QString WlanQtUtilsWlanAp::securityKey(void) const
+	??0WlanQtUtilsIap@@QAE@XZ @ 36 NONAME ; WlanQtUtilsIap::WlanQtUtilsIap(void)
+	?iap@WlanQtUtils@@QBEPAVWlanQtUtilsIap@@H@Z @ 37 NONAME ; class WlanQtUtilsIap * WlanQtUtils::iap(int) const
+	??_EWlanQtUtilsWlanAp@@UAE@I@Z @ 38 NONAME ; WlanQtUtilsWlanAp::~WlanQtUtilsWlanAp(unsigned int)
+	?tr@WlanQtUtilsWlanIap@@SA?AVQString@@PBD0@Z @ 39 NONAME ; class QString WlanQtUtilsWlanIap::tr(char const *, char const *)
+	?setSecurityKey@WlanQtUtilsWlanAp@@QAEXVQString@@@Z @ 40 NONAME ; void WlanQtUtilsWlanAp::setSecurityKey(class QString)
+	??0WlanQtUtilsWlanAp@@QAE@XZ @ 41 NONAME ; WlanQtUtilsWlanAp::WlanQtUtilsWlanAp(void)
+	?qt_metacast@WlanQtUtils@@UAEPAXPBD@Z @ 42 NONAME ; void * WlanQtUtils::qt_metacast(char const *)
+	?ssid@WlanQtUtilsWlanIap@@QBE?AVQString@@XZ @ 43 NONAME ; class QString WlanQtUtilsWlanIap::ssid(void) const
+	?setNetworkId@WlanQtUtilsIap@@QAEXH@Z @ 44 NONAME ; void WlanQtUtilsIap::setNetworkId(int)
+	?availableWlanAps@WlanQtUtils@@QAEXAAV?$QList@PAVWlanQtUtilsWlanIap@@@@AAV?$QList@PAVWlanQtUtilsWlanAp@@@@@Z @ 45 NONAME ; void WlanQtUtils::availableWlanAps(class QList<class WlanQtUtilsWlanIap *> &, class QList<class WlanQtUtilsWlanAp *> &)
+	?trUtf8@WlanQtUtilsWlanIap@@SA?AVQString@@PBD0@Z @ 46 NONAME ; class QString WlanQtUtilsWlanIap::trUtf8(char const *, char const *)
+	??0WlanQtUtilsWlanIap@@QAE@HHVQString@@W4WlanQtUtilsBearerType@@0W4WlanQtUtilsWlanSecMode@@@Z @ 47 NONAME ; WlanQtUtilsWlanIap::WlanQtUtilsWlanIap(int, int, class QString, enum WlanQtUtilsBearerType, class QString, enum WlanQtUtilsWlanSecMode)
+	?tr@WlanQtUtils@@SA?AVQString@@PBD0@Z @ 48 NONAME ; class QString WlanQtUtils::tr(char const *, char const *)
+	??0WlanQtUtilsWlanIap@@QAE@XZ @ 49 NONAME ; WlanQtUtilsWlanIap::WlanQtUtilsWlanIap(void)
+	?setBssid@WlanQtUtilsWlanAp@@QAEXVQString@@@Z @ 50 NONAME ; void WlanQtUtilsWlanAp::setBssid(class QString)
+	?setSsid@WlanQtUtilsWlanAp@@QAEXVQString@@@Z @ 51 NONAME ; void WlanQtUtilsWlanAp::setSsid(class QString)
+	?signalStrength@WlanQtUtilsWlanAp@@QBEHXZ @ 52 NONAME ; int WlanQtUtilsWlanAp::signalStrength(void) const
+	?setBearerType@WlanQtUtilsIap@@QAEXW4WlanQtUtilsBearerType@@@Z @ 53 NONAME ; void WlanQtUtilsIap::setBearerType(enum WlanQtUtilsBearerType)
+	?setSignalStrength@WlanQtUtilsWlanAp@@QAEXH@Z @ 54 NONAME ; void WlanQtUtilsWlanAp::setSignalStrength(int)
+	??1WlanQtUtils@@UAE@XZ @ 55 NONAME ; WlanQtUtils::~WlanQtUtils(void)
+	?scanWlans@WlanQtUtils@@QAEXXZ @ 56 NONAME ; void WlanQtUtils::scanWlans(void)
+	?setSignalStrength@WlanQtUtilsWlanIap@@QAEXH@Z @ 57 NONAME ; void WlanQtUtilsWlanIap::setSignalStrength(int)
+	?EventType@CConnMonEventBase@@QBEHXZ @ 58 NONAME ; int CConnMonEventBase::EventType(void) const
+	?setSecurityMode@WlanQtUtilsWlanAp@@QAEXW4WlanQtUtilsWlanSecMode@@@Z @ 59 NONAME ; void WlanQtUtilsWlanAp::setSecurityMode(enum WlanQtUtilsWlanSecMode)
+	?trUtf8@WlanQtUtilsWlanIap@@SA?AVQString@@PBD0H@Z @ 60 NONAME ; class QString WlanQtUtilsWlanIap::trUtf8(char const *, char const *, int)
+	?id@WlanQtUtilsIap@@QBEHXZ @ 61 NONAME ; int WlanQtUtilsIap::id(void) const
+	??1WlanQtUtilsWlanIap@@UAE@XZ @ 62 NONAME ; WlanQtUtilsWlanIap::~WlanQtUtilsWlanIap(void)
+	?securityMode@WlanQtUtilsWlanIap@@QBE?AW4WlanQtUtilsWlanSecMode@@XZ @ 63 NONAME ; enum WlanQtUtilsWlanSecMode WlanQtUtilsWlanIap::securityMode(void) const
+	??_EWlanQtUtilsIap@@UAE@I@Z @ 64 NONAME ; WlanQtUtilsIap::~WlanQtUtilsIap(unsigned int)
+	??_EWlanQtUtils@@UAE@I@Z @ 65 NONAME ; WlanQtUtils::~WlanQtUtils(unsigned int)
+	?wlanScanReady@WlanQtUtils@@IAEXXZ @ 66 NONAME ; void WlanQtUtils::wlanScanReady(void)
+	?wlanNetworkClosed@WlanQtUtils@@IAEXH@Z @ 67 NONAME ; void WlanQtUtils::wlanNetworkClosed(int)
+	?bssid@WlanQtUtilsWlanAp@@QBE?AVQString@@XZ @ 68 NONAME ; class QString WlanQtUtilsWlanAp::bssid(void) const
+	??0WlanQtUtilsWlanAp@@QAE@ABV0@@Z @ 69 NONAME ; WlanQtUtilsWlanAp::WlanQtUtilsWlanAp(class WlanQtUtilsWlanAp const &)
+	??0WlanQtUtils@@QAE@XZ @ 70 NONAME ; WlanQtUtils::WlanQtUtils(void)
+	?getStaticMetaObject@WlanQtUtils@@SAABUQMetaObject@@XZ @ 71 NONAME ; struct QMetaObject const & WlanQtUtils::getStaticMetaObject(void)
+	?setConnectionMode@WlanQtUtilsWlanAp@@QAEXH@Z @ 72 NONAME ; void WlanQtUtilsWlanAp::setConnectionMode(int)
+	?trUtf8@WlanQtUtils@@SA?AVQString@@PBD0@Z @ 73 NONAME ; class QString WlanQtUtils::trUtf8(char const *, char const *)
+	?setMasterWlan@WlanQtUtils@@QAEX_N@Z @ 74 NONAME ; void WlanQtUtils::setMasterWlan(bool)
+	?connectionStatus@WlanQtUtilsIap@@QBE?AW4WlanQtUtilsConnectionStatus@@XZ @ 75 NONAME ; enum WlanQtUtilsConnectionStatus WlanQtUtilsIap::connectionStatus(void) const
+	?securityMode@WlanQtUtilsWlanAp@@QBE?AW4WlanQtUtilsWlanSecMode@@XZ @ 76 NONAME ; enum WlanQtUtilsWlanSecMode WlanQtUtilsWlanAp::securityMode(void) const
+	?connectIap@WlanQtUtils@@QAEXH@Z @ 77 NONAME ; void WlanQtUtils::connectIap(int)
+	?trUtf8@WlanQtUtils@@SA?AVQString@@PBD0H@Z @ 78 NONAME ; class QString WlanQtUtils::trUtf8(char const *, char const *, int)
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/eabi/wlanqtutilitiesu.def	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,89 @@
+EXPORTS
+	_ZN11WlanQtUtils10connectIapEi @ 1 NONAME
+	_ZN11WlanQtUtils11qt_metacallEN11QMetaObject4CallEiPPv @ 2 NONAME
+	_ZN11WlanQtUtils11qt_metacastEPKc @ 3 NONAME
+	_ZN11WlanQtUtils13createWlanIapEPK17WlanQtUtilsWlanAp @ 4 NONAME
+	_ZN11WlanQtUtils13disconnectIapEi @ 5 NONAME
+	_ZN11WlanQtUtils13setMasterWlanEb @ 6 NONAME
+	_ZN11WlanQtUtils13wlanScanReadyEv @ 7 NONAME
+	_ZN11WlanQtUtils16availableWlanApsER5QListIP18WlanQtUtilsWlanIapERS0_IP17WlanQtUtilsWlanApE @ 8 NONAME
+	_ZN11WlanQtUtils16masterWlanStatusEb @ 9 NONAME
+	_ZN11WlanQtUtils16staticMetaObjectE @ 10 NONAME DATA 16
+	_ZN11WlanQtUtils17wlanNetworkClosedEi @ 11 NONAME
+	_ZN11WlanQtUtils17wlanNetworkOpenedEi @ 12 NONAME
+	_ZN11WlanQtUtils19getStaticMetaObjectEv @ 13 NONAME
+	_ZN11WlanQtUtils9scanWlansEv @ 14 NONAME
+	_ZN11WlanQtUtilsC1Ev @ 15 NONAME
+	_ZN11WlanQtUtilsC2Ev @ 16 NONAME
+	_ZN11WlanQtUtilsD0Ev @ 17 NONAME
+	_ZN11WlanQtUtilsD1Ev @ 18 NONAME
+	_ZN11WlanQtUtilsD2Ev @ 19 NONAME
+	_ZN14WlanQtUtilsIap12setNetworkIdEi @ 20 NONAME
+	_ZN14WlanQtUtilsIap13setBearerTypeE21WlanQtUtilsBearerType @ 21 NONAME
+	_ZN14WlanQtUtilsIap19setConnectionStatusE27WlanQtUtilsConnectionStatus @ 22 NONAME
+	_ZN14WlanQtUtilsIap5setIdEi @ 23 NONAME
+	_ZN14WlanQtUtilsIap7setNameE7QString @ 24 NONAME
+	_ZN14WlanQtUtilsIapC1Eii7QString21WlanQtUtilsBearerType @ 25 NONAME
+	_ZN14WlanQtUtilsIapC1Ev @ 26 NONAME
+	_ZN14WlanQtUtilsIapC2Eii7QString21WlanQtUtilsBearerType @ 27 NONAME
+	_ZN14WlanQtUtilsIapC2Ev @ 28 NONAME
+	_ZN14WlanQtUtilsIapD0Ev @ 29 NONAME
+	_ZN14WlanQtUtilsIapD1Ev @ 30 NONAME
+	_ZN14WlanQtUtilsIapD2Ev @ 31 NONAME
+	_ZN17WlanQtUtilsWlanAp14setSecurityKeyE7QString @ 32 NONAME
+	_ZN17WlanQtUtilsWlanAp15setSecurityModeE22WlanQtUtilsWlanSecMode @ 33 NONAME
+	_ZN17WlanQtUtilsWlanAp17setConnectionModeEi @ 34 NONAME
+	_ZN17WlanQtUtilsWlanAp17setSignalStrengthEi @ 35 NONAME
+	_ZN17WlanQtUtilsWlanAp7setSsidE7QString @ 36 NONAME
+	_ZN17WlanQtUtilsWlanAp8setBssidE7QString @ 37 NONAME
+	_ZN17WlanQtUtilsWlanApC1E7QStringS0_ii22WlanQtUtilsWlanSecMode @ 38 NONAME
+	_ZN17WlanQtUtilsWlanApC1ERKS_ @ 39 NONAME
+	_ZN17WlanQtUtilsWlanApC1Ev @ 40 NONAME
+	_ZN17WlanQtUtilsWlanApC2E7QStringS0_ii22WlanQtUtilsWlanSecMode @ 41 NONAME
+	_ZN17WlanQtUtilsWlanApC2ERKS_ @ 42 NONAME
+	_ZN17WlanQtUtilsWlanApC2Ev @ 43 NONAME
+	_ZN17WlanQtUtilsWlanApD0Ev @ 44 NONAME
+	_ZN17WlanQtUtilsWlanApD1Ev @ 45 NONAME
+	_ZN17WlanQtUtilsWlanApD2Ev @ 46 NONAME
+	_ZN18WlanQtUtilsWlanIap11qt_metacallEN11QMetaObject4CallEiPPv @ 47 NONAME
+	_ZN18WlanQtUtilsWlanIap11qt_metacastEPKc @ 48 NONAME
+	_ZN18WlanQtUtilsWlanIap15setSecurityModeE22WlanQtUtilsWlanSecMode @ 49 NONAME
+	_ZN18WlanQtUtilsWlanIap16staticMetaObjectE @ 50 NONAME DATA 16
+	_ZN18WlanQtUtilsWlanIap17setSignalStrengthEi @ 51 NONAME
+	_ZN18WlanQtUtilsWlanIap19getStaticMetaObjectEv @ 52 NONAME
+	_ZN18WlanQtUtilsWlanIap7setSsidE7QString @ 53 NONAME
+	_ZN18WlanQtUtilsWlanIapC1Eii7QString21WlanQtUtilsBearerTypeS0_22WlanQtUtilsWlanSecMode @ 54 NONAME
+	_ZN18WlanQtUtilsWlanIapC1Ev @ 55 NONAME
+	_ZN18WlanQtUtilsWlanIapC2Eii7QString21WlanQtUtilsBearerTypeS0_22WlanQtUtilsWlanSecMode @ 56 NONAME
+	_ZN18WlanQtUtilsWlanIapC2Ev @ 57 NONAME
+	_ZN18WlanQtUtilsWlanIapD0Ev @ 58 NONAME
+	_ZN18WlanQtUtilsWlanIapD1Ev @ 59 NONAME
+	_ZN18WlanQtUtilsWlanIapD2Ev @ 60 NONAME
+	_ZNK11WlanQtUtils10masterWlanEv @ 61 NONAME
+	_ZNK11WlanQtUtils10metaObjectEv @ 62 NONAME
+	_ZNK11WlanQtUtils15connectedWlanIdEv @ 63 NONAME
+	_ZNK11WlanQtUtils3iapEi @ 64 NONAME
+	_ZNK14WlanQtUtilsIap10bearerTypeEv @ 65 NONAME
+	_ZNK14WlanQtUtilsIap16connectionStatusEv @ 66 NONAME
+	_ZNK14WlanQtUtilsIap2idEv @ 67 NONAME
+	_ZNK14WlanQtUtilsIap4nameEv @ 68 NONAME
+	_ZNK14WlanQtUtilsIap9networkIdEv @ 69 NONAME
+	_ZNK17WlanQtUtilsWlanAp11securityKeyEv @ 70 NONAME
+	_ZNK17WlanQtUtilsWlanAp12securityModeEv @ 71 NONAME
+	_ZNK17WlanQtUtilsWlanAp14connectionModeEv @ 72 NONAME
+	_ZNK17WlanQtUtilsWlanAp14signalStrengthEv @ 73 NONAME
+	_ZNK17WlanQtUtilsWlanAp4ssidEv @ 74 NONAME
+	_ZNK17WlanQtUtilsWlanAp5bssidEv @ 75 NONAME
+	_ZNK18WlanQtUtilsWlanIap10metaObjectEv @ 76 NONAME
+	_ZNK18WlanQtUtilsWlanIap12securityModeEv @ 77 NONAME
+	_ZNK18WlanQtUtilsWlanIap14signalStrengthEv @ 78 NONAME
+	_ZNK18WlanQtUtilsWlanIap4ssidEv @ 79 NONAME
+	_ZTI11WlanQtUtils @ 80 NONAME
+	_ZTI14WlanQtUtilsIap @ 81 NONAME
+	_ZTI17WlanQtUtilsWlanAp @ 82 NONAME
+	_ZTI18WlanQtUtilsWlanIap @ 83 NONAME
+	_ZTV11WlanQtUtils @ 84 NONAME
+	_ZTV14WlanQtUtilsIap @ 85 NONAME
+	_ZTV17WlanQtUtilsWlanAp @ 86 NONAME
+	_ZTV18WlanQtUtilsWlanIap @ 87 NONAME
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/rom/wlanqtutilities.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANQTUTILITIES_IBY
+#define WLANQTUTILITIES_IBY
+
+#include <bldvariant.hrh>
+
+#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR\BUILD_DIR\wlanqtutilities.dll SHARED_LIB_DIR\wlanqtutilities.dll
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANQTUTILITIES_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/traces/OstTraceDefinitions.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
Binary file wlanutilities/wlanqtutilities/ut/context/commsdat_files/50_default.cre has changed
Binary file wlanutilities/wlanqtutilities/ut/context/commsdat_files/default.cre has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/context/wlanqtutilstestcontext.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,237 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is the source file for Connection Utilities test context.
+*/
+
+#include <QObject>
+#include <QTest>
+#include <rconnmon.h>
+#include <nifvar.h>
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilstestcontext.h"
+#include "wlanqtutilswlanap.h"
+#include "wlanqtutilsactiveconn.h"
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxEsock
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxEsock::WlanQtUtilsCtxEsock() : startRetValue_(KErrNone)
+{
+}
+
+WlanQtUtilsCtxEsock::~WlanQtUtilsCtxEsock()
+{
+}
+
+void WlanQtUtilsCtxEsock::initialize()
+{
+    startRetValue_ = KErrNone;
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxActiveConn
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxActiveConn::WlanQtUtilsCtxActiveConn() :
+    WlanQtUtilsActiveConn(),
+    connMonBearerType_(EBearerUnknown),
+    connMonConnectionStatus_(KConnectionUninitialised),
+    connMonWlanConnectionMode_(-1),
+    connMonWlanSecurityMode_(-1),
+    applicationUids_()
+{
+}
+
+WlanQtUtilsCtxActiveConn::~WlanQtUtilsCtxActiveConn()
+{
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxActiveConnections
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxActiveConnections::WlanQtUtilsCtxActiveConnections() : activeConnList_()
+{
+}
+
+WlanQtUtilsCtxActiveConnections::~WlanQtUtilsCtxActiveConnections()
+{
+    clearActiveConnList();
+}
+
+void WlanQtUtilsCtxActiveConnections::initialize()
+{
+    clearActiveConnList();
+}
+
+void WlanQtUtilsCtxActiveConnections::createDefaultActiveConnList(int numberOfActiveConns, int firstIapId)
+{
+    clearActiveConnList();
+    for (int i = 0; i < numberOfActiveConns; i++) {
+        WlanQtUtilsCtxActiveConn *activeConn = new WlanQtUtilsCtxActiveConn();
+
+        activeConn->setConnectionId((i + 1) * 100);
+        activeConn->setIapId(firstIapId + i);
+        activeConn->connMonConnectionStatus_ = KConnectionOpen;
+        activeConn->setConnectionStatus(WlanQtUtilsConnectionStatusConnected);
+        
+        // WLAN connection.
+        activeConn->connMonBearerType_ = EBearerWLAN;
+        activeConn->setBearerType(WlanQtUtilsBearerTypeWlan);
+        activeConn->connMonWlanSecurityMode_ = EConnMonSecurityOpen;
+        activeConn->connMonWlanConnectionMode_ = EConnMonInfraStructure;
+        activeConnList_.append(activeConn);
+    }
+}
+
+void WlanQtUtilsCtxActiveConnections::clearActiveConnList()
+{
+    Q_FOREACH(WlanQtUtilsCtxActiveConn* activeConn, activeConnList_) {
+        delete activeConn;
+    }
+    activeConnList_.clear();
+}
+
+void WlanQtUtilsCtxActiveConnections::verifyActiveConnList(QList<WlanQtUtilsActiveConn*> activeConnList)
+{
+    QCOMPARE(activeConnList.count(), activeConnList_.count());
+
+    for (int i = 0; i < activeConnList_.count(); i++) {
+        QCOMPARE(activeConnList[i]->connectionId(), activeConnList_[i]->connectionId());
+        QCOMPARE(activeConnList[i]->iapId(), activeConnList_[i]->iapId());
+        QCOMPARE(activeConnList[i]->connectionStatus(), activeConnList_[i]->connectionStatus());
+        QCOMPARE(activeConnList[i]->bearerType(), activeConnList_[i]->bearerType());
+    }
+}
+
+WlanQtUtilsCtxActiveConn *WlanQtUtilsCtxActiveConnections::findActiveConn(uint connectionId) const
+{
+    WlanQtUtilsCtxActiveConn *activeConn = NULL;
+    for (int i = 0; i < activeConnList_.count(); i++) {
+        if (activeConnList_[i]->connectionId() == connectionId) {
+            activeConn = activeConnList_[i];
+        }
+    }
+    Q_ASSERT(activeConn != NULL);
+    return activeConn;
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsWlanScanResult
+// ---------------------------------------------------------
+
+WlanQtUtilsWlanScanResult::WlanQtUtilsWlanScanResult() : wlanScanResultList_()
+{
+}
+
+WlanQtUtilsWlanScanResult::~WlanQtUtilsWlanScanResult()
+{
+    clearWlanScanResultList();
+}
+
+void WlanQtUtilsWlanScanResult::initialize()
+{
+    clearWlanScanResultList();
+}
+
+void WlanQtUtilsWlanScanResult::createDefaultWlanScanResultList(int numberOfWlanAps)
+{
+    clearWlanScanResultList();
+    for (int i = 0; i < numberOfWlanAps; i++) {
+        WlanQtUtilsWlanAp *ap = new WlanQtUtilsWlanAp();
+        ap->setSsid("TestWlanAp" + QString::number(i+1));
+        ap->setBssid("addMAC"); // TODO: Generate something when bssid retrieval works.
+        ap->setSignalStrength(20);
+        ap->setConnectionMode(EConnMonInfraStructure);
+        ap->setSecurityMode(WlanQtUtilsWlanSecModeOpen);
+        // TODO: Create constructor to WlanQtUtilsWlanAp which takes all member variables as parameter.
+        wlanScanResultList_.append(ap);
+    }
+}
+
+void WlanQtUtilsWlanScanResult::clearWlanScanResultList()
+{
+    Q_FOREACH(WlanQtUtilsWlanAp* ap, wlanScanResultList_) {
+        delete ap;
+    }
+    wlanScanResultList_.clear();
+}
+
+void WlanQtUtilsWlanScanResult::verifyWlanScanResultList(QList<WlanQtUtilsWlanAp*> wlanApList)
+{
+    QCOMPARE(wlanApList.count(), wlanScanResultList_.count());
+
+    for (int i = 0; i < wlanScanResultList_.count(); i++) {
+        QCOMPARE(wlanApList[i]->ssid(), wlanScanResultList_[i]->ssid());
+        QCOMPARE(wlanApList[i]->bssid(), wlanScanResultList_[i]->bssid());
+        QCOMPARE(wlanApList[i]->signalStrength(), wlanScanResultList_[i]->signalStrength());
+        QCOMPARE(wlanApList[i]->connectionMode(), wlanScanResultList_[i]->connectionMode());
+        QCOMPARE(wlanApList[i]->securityMode(), wlanScanResultList_[i]->securityMode());
+    }
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxConnMon
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxConnMon::WlanQtUtilsCtxConnMon() : wlanScanResult_()
+{
+}
+
+WlanQtUtilsCtxConnMon::~WlanQtUtilsCtxConnMon()
+{
+}
+
+void WlanQtUtilsCtxConnMon::initialize()
+{
+    wlanScanResult_.initialize();
+    activeConnections_.initialize();
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsCtxIct
+// ---------------------------------------------------------
+
+WlanQtUtilsCtxIct::WlanQtUtilsCtxIct()
+{
+}
+
+WlanQtUtilsCtxIct::~WlanQtUtilsCtxIct()
+{
+}
+
+void WlanQtUtilsCtxIct::initialize()
+{
+}
+
+// ---------------------------------------------------------
+// class WlanQtUtilsTestContext
+// ---------------------------------------------------------
+
+WlanQtUtilsTestContext::WlanQtUtilsTestContext() : esock_(), connMon_(), ict_()
+{
+}
+
+WlanQtUtilsTestContext::~WlanQtUtilsTestContext()
+{
+}
+
+void WlanQtUtilsTestContext::initialize()
+{
+    esock_.initialize();
+    connMon_.initialize();
+    ict_.initialize();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/context/wlanqtutilstestcontext.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,250 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is the header file for Wlan Qt Utilities test context.
+*/
+ 
+#ifndef WLANQTUTILSTESTCONTEXT_H
+#define WLANQTUTILSTESTCONTEXT_H
+
+#include <QObject>
+
+#include "wlanqtutilsactiveconn.h"
+
+class WlanQtUtilsWlanAp;
+
+/**
+ * This is context for esock library.
+ */
+class WlanQtUtilsCtxEsock : public QObject
+{
+    Q_OBJECT
+
+public:
+    WlanQtUtilsCtxEsock();
+    ~WlanQtUtilsCtxEsock();
+
+    /**
+     * Initializes context.
+     */
+    void initialize();
+
+    /** Return value of RConnection::Start(). */
+    int startRetValue_;
+};
+
+/**
+ * This class is a helper class for testing purposes. It derives all properties of WlanQtUtilsActiveConn.
+ * In addition, this class contains member variables for setting some Connection Monitor specific
+ * values which cannot be easily generated from member variables of WlanQtUtilsActiveConn.
+ * E.g., connection status has different enum in Connection Monitor and Wlan Qt Utilities. This class
+ * enables setting both of those. Connmon version is set so that the stub can return it when
+ * requested, and Wlan Qt Utilities version is used for verifying that tested code returns right
+ * value.
+ */
+class WlanQtUtilsCtxActiveConn : public WlanQtUtilsActiveConn
+{
+public:
+    WlanQtUtilsCtxActiveConn();
+    ~WlanQtUtilsCtxActiveConn();
+
+    /** Bearer type in connmon format. */
+    int connMonBearerType_;
+    /** Connection status in connmon format. */
+    int connMonConnectionStatus_;
+    /** WLAN connection mode in connmon format. */
+    int connMonWlanConnectionMode_;
+    /** WLAN security mode in connmon format. */
+    int connMonWlanSecurityMode_;
+    /** Application UIDs that map to application strings. */
+    QList<int> applicationUids_;
+};
+
+/**
+ * This class represents active connections.
+ */
+class WlanQtUtilsCtxActiveConnections : public QObject
+{
+    Q_OBJECT
+
+public:
+    WlanQtUtilsCtxActiveConnections();
+    ~WlanQtUtilsCtxActiveConnections();
+
+    /**
+     * Initializes context.
+     */
+    void initialize();
+
+    /**
+     * Creates a list of active connections for scan results.
+     * 
+     * @param[in] numberOfActiveConns Number of active connections that are created.
+     * @param[in] firstIapId IAP ID of the first connection to be created.
+     */
+    void createDefaultActiveConnList(int numberOfActiveConns, int firstIapId);
+
+    /**
+     * Verifies that the given active connection list returned by the real application matches
+     * with the one in the context.
+     * 
+     * @param[in] activeConnList Active connections that are verified against the context.
+     */
+    void verifyActiveConnList(QList<WlanQtUtilsActiveConn *> activeConnList);
+
+    /**
+     * Finds an active connection matching with the given connection ID from the context.
+     * Asserts if connection with given connection ID is not found.
+     * 
+     * @param connectionId Connection ID.
+     * @return Active connection.
+     */
+    WlanQtUtilsCtxActiveConn *findActiveConn(uint connectionId) const;
+
+    /**
+     * List of active connections that RConnectionMonitor stub will return in response to
+     * RConnectionMonitor::Get*Attribute() functions.
+     */
+    QList<WlanQtUtilsCtxActiveConn *> activeConnList_;
+
+    // TODO: We need return values for all different RConnectionMonitor::Get*Attribute() functions
+    //       to test error cases.
+
+private:
+    
+    /**
+     * Destroys and clears the list of WLAN APs.
+     */
+    void clearActiveConnList();
+};
+
+/**
+ * This class represents WLAN APs that represent the results of WLAN scanning triggered by
+ * RConnectionMonitor::GetPckgAttribute()
+ */
+class WlanQtUtilsWlanScanResult : public QObject
+{
+    Q_OBJECT
+
+public:
+    WlanQtUtilsWlanScanResult();
+    ~WlanQtUtilsWlanScanResult();
+
+    /**
+     * Initializes context.
+     */
+    void initialize();
+
+    /**
+     * Creates a list of WLAN APs for scan results.
+     * 
+     * @param[in] numberOfWlanAps Number of WLAN APs that are created.
+     */
+    void createDefaultWlanScanResultList(int numberOfWlanAps);
+
+    /**
+     * Verifies that the given WLAN AP list returned by the real application matches
+     * with the one in the context.
+     * 
+     * @param[in] wlanApList WLAN APs that are verified against the context.
+     */
+    void verifyWlanScanResultList(QList<WlanQtUtilsWlanAp *> wlanApList); // TODO: Maybe boolean return value
+
+    /**
+     * List of WLAN access points that RConnectionMonitor stub will return in response to
+     * RConnectionMonitor::GetPckgAttribute().
+     */
+    QList<WlanQtUtilsWlanAp *> wlanScanResultList_;
+    
+private:
+    
+    /**
+     * Destroys and clears the list of WLAN APs.
+     */
+    void clearWlanScanResultList();
+};
+
+/**
+ * Test context for RConnectionMonitor.
+ */
+class WlanQtUtilsCtxConnMon : public QObject
+{
+    Q_OBJECT
+
+public:
+    WlanQtUtilsCtxConnMon();
+    ~WlanQtUtilsCtxConnMon();
+
+    /**
+     * Initializes context.
+     */
+    void initialize();
+
+    /** Results of WLAN scanning. */
+    WlanQtUtilsWlanScanResult wlanScanResult_;
+
+    /** List of active connections. */
+    WlanQtUtilsCtxActiveConnections activeConnections_;
+};
+
+/**
+ * Test context for Internet connectivity test library.
+ */
+class WlanQtUtilsCtxIct : public QObject
+{
+    Q_OBJECT
+
+public:
+    WlanQtUtilsCtxIct();
+    ~WlanQtUtilsCtxIct();
+
+    /**
+     * Initializes context.
+     */
+    void initialize();
+};
+
+/**
+ * Test context. The purpose of this context is to provide values that are used in stubs
+ * and in verification of outputs in test cases.
+ * 
+ * In stubs, context is used to verify the inputs of parameters and to set output
+ * parameters into a specific value.
+ * 
+ * In test cases, context is used to verify that the output parameters match with the once
+ * set in the stub.
+ */
+class WlanQtUtilsTestContext : public QObject
+{
+    Q_OBJECT
+
+public:
+    WlanQtUtilsTestContext();
+    ~WlanQtUtilsTestContext();
+    
+    /**
+     * Initializes context.
+     */
+    void initialize();
+
+    /** Context for esock library. */
+    WlanQtUtilsCtxEsock esock_;
+    /** Context for connmon library. */
+    WlanQtUtilsCtxConnMon connMon_;
+    /** Context for ICTS library. */
+    WlanQtUtilsCtxIct ict_;
+};
+
+#endif /* WLANQTUTILSTESTCONTEXT_H */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/stubs/wlanqtutilsconnmonstub.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,637 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a source file for connmon library stub functions
+*/
+
+#include <QString>
+#include <QObject>
+#include <rconnmon.h>
+#include <nifvar.h>
+#include "wlanqtutilswlanap.h"
+
+#ifdef __WINS__
+
+// TODO: This function is copied from ConnMonWLANNetworksArrayPckg_v2.cpp because this
+// function, although being in rconnmon.h, is not in the interface because IMPORT_C/EXPORT_C
+// declarations are not used for this particular constructor. The only change that was made to 
+// this version was to remove traces and some empty lines. This function is needed when
+// creating output in RConnectionMonitor::GetPckgAttribute() for WLAN scan results.
+// This is needed for both UT and emulator compilation.
+CConnMonWlanNetworksPtrArrayPckg::CConnMonWlanNetworksPtrArrayPckg(
+    const RPointerArray<CConnMonWlanNetwork>& aRef,
+    TUint aBufLen )
+    {
+    RPointerArray<HBufC> items;
+    TUint len( 0 );
+
+    for ( TUint i( 0 ); i < aRef.Count(); ++i )
+        {
+        const HBufC* item( aRef[i]->ToBuf() );
+        if ( item )
+            {
+            // Is there room in buffer
+            TUint countFields( 3 ); // aRef.Count(); items->Count(); item->Length()
+            if ( (countFields + len + item->Length()) > aBufLen )
+                {
+                delete item;
+                item = NULL;
+                break;
+                }
+            items.Append( item );
+            ++( len += item->Length() ); // ++ is for item's size
+            }
+        else
+            {
+            ; // There was a trace.
+            }
+        }
+    // Check that given buflen (aBufLen) is not smaller than one
+    // item (TConnMonWLANNetwork) + aRef count + items count
+    // + item length
+    if ( items.Count() == 0 && aRef.Count() > 0 )
+        {
+        aBufLen = 2; // aRef.Count(), items.Count()
+        }
+
+    iBuf = HBufC::New( aBufLen ); // Set size exactly to a buffer length
+    if ( !iBuf )
+        {
+        items.ResetAndDestroy();
+        items.Close();
+        return;
+        }
+    iBuf->Des().Append( aRef.Count() ); // Total amount of data
+    iBuf->Des().Append( items.Count() );  // Amount of transferring data
+    for ( TUint i(0); i<items.Count(); ++i )
+        {
+        iBuf->Des().Append( items[i]->Length() );
+        iBuf->Des().Append( *items[i] );
+        }
+    items.ResetAndDestroy();
+    items.Close();
+    }
+
+// -----------------------------------------------------------------------------
+// CConnMonEventBase::CConnMonEventBase
+// -----------------------------------------------------------------------------
+//
+CConnMonEventBase::CConnMonEventBase( const TInt aEventType, const TUint aConnectionId )
+    {
+    iEventType = aEventType;
+    iConnectionId = aConnectionId;
+    }
+
+// Destructor
+CConnMonEventBase::~CConnMonEventBase()
+    {
+    }
+
+// -----------------------------------------------------------------------------
+// CConnMonEventBase::EventType
+// -----------------------------------------------------------------------------
+//
+TInt CConnMonEventBase::EventType() const
+    {
+    return iEventType;
+    }
+
+// -----------------------------------------------------------------------------
+// CConnMonConnectionStatusChange::CConnMonConnectionStatusChange
+// -----------------------------------------------------------------------------
+//
+CConnMonConnectionStatusChange::CConnMonConnectionStatusChange(
+    const TUint aConnectionId,
+    const TUint aSubConnectionId,
+    const TInt aConnectionStatus ) :
+    CConnMonEventBase(EConnMonConnectionStatusChange, aConnectionId)
+    {
+    iSubConnectionId = aSubConnectionId;
+    iConnectionStatus = aConnectionStatus;
+    }
+
+// Destructor
+CConnMonConnectionStatusChange::~CConnMonConnectionStatusChange()
+    {
+    }
+
+#ifdef WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+
+// ----------------------------------------------
+// Stub functions for connmon library, used in UT
+// ----------------------------------------------
+
+#include "wlanqtutilstestcontext.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+EXPORT_C void RConnectionMonitor::GetConnectionCount(
+    TUint& aConnectionCount,
+    TRequestStatus& aStatus)
+{
+    aConnectionCount = testContext.connMon_.activeConnections_.activeConnList_.count();
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+EXPORT_C TInt RConnectionMonitor::GetConnectionInfo(
+        const TUint aIndex,
+        TUint& aConnectionId,
+        TUint& aSubConnectionCount ) const
+{
+    aConnectionId = testContext.connMon_.activeConnections_.activeConnList_[aIndex - 1]->connectionId();
+    aSubConnectionCount = 0;
+    return KErrNone; // TODO: put return value into context.
+}
+
+EXPORT_C void RConnectionMonitor::GetIntAttribute(
+        const TUint aConnectionId,
+        const TUint /* aSubConnectionId */,
+        const TUint aAttribute,
+        TInt& aValue,
+        TRequestStatus& aStatus )
+{
+    WlanQtUtilsCtxActiveConn *activeConn = testContext.connMon_.activeConnections_.findActiveConn(aConnectionId);
+    if (aAttribute == KBearer) {
+        aValue = activeConn->connMonBearerType_;
+    } else if (aAttribute == KConnectionStatus) {
+        aValue = activeConn->connMonConnectionStatus_;
+    } else {
+        Q_ASSERT(false);
+    }
+    User::RequestComplete(&aStatus, KErrNone); // TODO: Take return value from the context.
+}
+
+EXPORT_C void RConnectionMonitor::GetUintAttribute(
+        const TUint aConnectionId,
+        const TUint /* aSubConnectionId */,
+        const TUint aAttribute,
+        TUint& aValue,
+        TRequestStatus& aStatus )
+{
+    WlanQtUtilsCtxActiveConn *activeConn = testContext.connMon_.activeConnections_.findActiveConn(aConnectionId);
+    if (aAttribute == KIAPId) {
+        aValue = activeConn->iapId();
+    } else {
+        Q_ASSERT(false);
+    }
+
+    User::RequestComplete(&aStatus, KErrNone); // TODO: Take return value from the context.
+}
+
+EXPORT_C void RConnectionMonitor::GetPckgAttribute(
+    const TUint aConnectionId,
+    const TUint aSubConnectionId,
+    const TUint aAttribute,
+    TDes8& aValue,
+    TRequestStatus& aStatus ) const
+{
+    // This is copy-paste from real implementation and we'll use that for other requests.
+    TIpcArgs args(aConnectionId, aSubConnectionId, aAttribute, &aValue);
+    SendReceive(EReqGetPckgAttribute, args, aStatus);
+}
+
+// ---------------------------------------------------------
+// connUtils2ConnMonSecModeMap()
+// Local function to map WlanQtUtilsWlanSecMode into Connection
+// monitor's security mode. Currently for UT use only.
+// ---------------------------------------------------------
+//
+static TUint connUtils2ConnMonSecModeMap(WlanQtUtilsWlanSecMode connUtilsWlanSecMode)
+{
+    TUint ret;
+    switch (connUtilsWlanSecMode) {
+    case WlanQtUtilsWlanSecModeWep:
+        ret = EConnMonSecurityWep;
+        break;
+    case WlanQtUtilsWlanSecMode802_1x:
+        ret = EConnMonSecurity802d1x;        
+        break;
+    case WlanQtUtilsWlanSecModeWpa:
+        ret = EConnMonSecurityWpa;
+        break;
+    case WlanQtUtilsWlanSecModeWpa2:
+        ret = EConnMonSecurityWpaPsk;
+        break;
+    default:
+        ret = EConnMonSecurityOpen;
+        break;
+    }
+    return ret;
+}
+
+
+
+EXPORT_C void RConnectionMonitor::GetPckgAttribute(
+    const TUint /* aConnectionId */,
+    const TUint /* aSubConnectionId */,
+    const TUint /* aAttribute */,
+    TDes16& aValue,
+    TRequestStatus& aStatus ) const
+    {
+    // TODO: verify input parameters, i.e., first three params...
+    
+    RConnMonWlanNetworksPtrArray wlanPtrArray;
+    RBuf vendorData;
+
+    for (int i = 0; i < testContext.connMon_.wlanScanResult_.wlanScanResultList_.count(); i++) {
+        WlanQtUtilsWlanAp* ap = testContext.connMon_.wlanScanResult_.wlanScanResultList_[i];
+        TBufC<CConnMonWlanNetwork::KMaxNameLength> name(ap->ssid().utf16());
+
+        TBufC<CConnMonWlanNetwork::KWlanBssId> bssid16(QString("addMAC").utf16());
+        TBuf8<CConnMonWlanNetwork::KWlanBssId> bssid;
+        bssid.Copy(bssid16);
+        
+        CConnMonWlanNetwork* wlanAp = CConnMonWlanNetwork::NewL(
+            name,
+            ap->connectionMode(),
+            ap->signalStrength(),
+            connUtils2ConnMonSecModeMap(ap->securityMode()),
+            bssid,
+            vendorData );
+        wlanPtrArray.Append(wlanAp);
+    }
+
+    CConnMonWlanNetworksPtrArrayPckg wlanBuf(wlanPtrArray, 2560);
+    aValue.Copy(wlanBuf.Buf()->Des());
+    
+    User::RequestComplete(&aStatus, KErrNone); // TODO: enable return value modification.
+    }
+
+#else // WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+
+// ----------------------------------------------------
+// Stub functions for connmon library, used in emulator
+// ----------------------------------------------------
+
+#if 0
+// In emulator, there are always two active connections.
+// The following functions return different properties of these active connection
+// so that it's easy to test in emulator.
+
+EXPORT_C void RConnectionMonitor::GetConnectionCount(
+    TUint& aConnectionCount,
+    TRequestStatus& aStatus)
+{
+    aConnectionCount = 2;
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+EXPORT_C TInt RConnectionMonitor::GetConnectionInfo(
+        const TUint aIndex,
+        TUint& aConnectionId,
+        TUint& aSubConnectionCount ) const
+{
+    if (aIndex == 1) {
+        aConnectionId = 10;
+    } else if (aIndex == 2) {
+        aConnectionId = 20;
+    } else {
+        Q_ASSERT(false);
+    }
+
+    aSubConnectionCount = 0;
+    return KErrNone;
+}
+
+EXPORT_C void RConnectionMonitor::GetIntAttribute(
+        const TUint aConnectionId,
+        const TUint /* aSubConnectionId */,
+        const TUint aAttribute,
+        TInt& aValue,
+        TRequestStatus& aStatus )
+{
+    if (aAttribute == KBearer) {
+        if (aConnectionId == 10) {
+            aValue = EBearerGPRS;
+        } else if (aConnectionId == 20) {
+            aValue = EBearerWLAN;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KConnectionStatus) {
+        if (aConnectionId == 10) {
+            aValue = KConnectionOpen;
+        } else if (aConnectionId == 20) {
+            aValue = KStartingConnection;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KSignalStrength) {
+        if (aConnectionId == 10) {
+            Q_ASSERT(false);
+        } else if (aConnectionId == 20) {
+            aValue = 78;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KNetworkMode) {
+        if (aConnectionId == 10) {
+            Q_ASSERT(false);
+        } else if (aConnectionId == 20) {
+            aValue = EConnMonInfraStructure;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KSecurityMode) {
+        if (aConnectionId == 10) {
+            Q_ASSERT(false);
+        } else if (aConnectionId == 20) {
+            aValue = EConnMonSecurityWpaPsk;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else {
+        Q_ASSERT(false);
+    }
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+EXPORT_C void RConnectionMonitor::GetUintAttribute(
+        const TUint aConnectionId,
+        const TUint /* aSubConnectionId */,
+        const TUint aAttribute,
+        TUint& aValue,
+        TRequestStatus& aStatus )
+{
+    if (aAttribute == KIAPId) {
+        if (aConnectionId == 10) {
+            aValue = 1;
+        } else if (aConnectionId == 20) {
+            aValue = 10;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KDownlinkData) {
+        if (aConnectionId == 10) {
+            aValue = 123;
+        } else if (aConnectionId == 20) {
+            aValue = 12345;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KUplinkData) {
+        if (aConnectionId == 10) {
+            aValue = 987654321;
+        } else if (aConnectionId == 20) {
+            aValue = 1234567890;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KTransmitPower) {
+        if (aConnectionId == 10) {
+            Q_ASSERT(false);
+        } else if (aConnectionId == 20) {
+            aValue = 50;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else {
+        Q_ASSERT(false);
+    }
+
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+EXPORT_C void RConnectionMonitor::GetBoolAttribute(
+        const TUint aConnectionId,
+        const TUint /* aSubConnectionId */,
+        const TUint aAttribute,
+        TBool& aValue,
+        TRequestStatus& aStatus )
+{
+    if (aAttribute == KConnectionActive) {
+        if (aConnectionId == 10) {
+            aValue = EFalse;
+        } else if (aConnectionId == 20) {
+            aValue = ETrue;
+        } else {
+            Q_ASSERT(false);
+        }
+    } else {
+        Q_ASSERT(false);
+    }
+
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+EXPORT_C void RConnectionMonitor::GetStringAttribute(
+    const TUint aConnectionId,
+    const TUint /* aSubConnectionId */,
+    const TUint aAttribute,
+    TDes& aValue,
+    TRequestStatus& aStatus ) const
+{
+    if (aAttribute == KIAPName) {
+        if (aConnectionId == 10) {
+            _LIT(iapNameLit, "PACKET DATA 1");
+            TBufC<KConnMonMaxStringAttributeLength> iapName(iapNameLit);
+            aValue = iapName.Des();
+        } else if (aConnectionId == 20) {
+            _LIT(iapNameLit, "WLAN IAP 3");
+            TBufC<KConnMonMaxStringAttributeLength> iapName(iapNameLit);
+            aValue = iapName.Des();
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KNetworkName) {
+        if (aConnectionId == 10) {
+            Q_ASSERT(false);
+        } else if (aConnectionId == 20) {
+            _LIT(ssidLit, "WLAN SSID 3");
+            TBufC<KConnMonMaxStringAttributeLength> ssid(ssidLit);
+            aValue = ssid.Des();
+        } else {
+            Q_ASSERT(false);
+        }
+    } else if (aAttribute == KAccessPointName) {
+        if (aConnectionId == 10) {
+            _LIT(iapNameLit, "PACKET DATA 1");
+            TBufC<KConnMonMaxStringAttributeLength> iapName(iapNameLit);
+            aValue = iapName.Des();
+        } else if (aConnectionId == 20) {
+            Q_ASSERT(false);
+        } else {
+            Q_ASSERT(false);
+        }
+    } else {
+        Q_ASSERT(false);
+    }
+
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+EXPORT_C void RConnectionMonitor::GetPckgAttribute(
+    const TUint aConnectionId,
+    const TUint aSubConnectionId,
+    const TUint aAttribute,
+    TDes8& aValue,
+    TRequestStatus& aStatus ) const
+{
+    if (aAttribute == KStartTime) {
+        if (aConnectionId == 10) {
+            TDateTime dateTime(2009, EMarch, 31-1, 15, 15, 15, 0);
+            TTime time(dateTime);
+            TConnMonTimeBuf timePckg(time);
+            aValue.Copy(timePckg);
+        } else if (aConnectionId == 20) {
+            TTime time;
+            time.UniversalTime();
+            TConnMonTimeBuf timePckg(time);
+            aValue.Copy(timePckg);
+        } else {
+            Q_ASSERT(false);
+        }
+        User::RequestComplete(&aStatus, KErrNone);
+    } else if (aAttribute == KClientInfo) {
+        TConnMonClientEnum applications;
+        if (aConnectionId == 10) {
+            applications.iCount = 1;
+            applications.iUid[0].iUid = 0x10008D39; // Web
+            applications.iUid[1].iUid = 0;
+            applications.iUid[2].iUid = 0;
+            applications.iUid[3].iUid = 0;
+            applications.iUid[4].iUid = 0;
+            applications.iUid[5].iUid = 0;
+            applications.iUid[6].iUid = 0;
+            applications.iUid[7].iUid = 0;
+            applications.iUid[8].iUid = 0;
+            applications.iUid[9].iUid = 0;
+        } else if (aConnectionId == 20) {
+            applications.iCount = 7;
+            applications.iUid[0].iUid = 0x101fd9c5; // KBannedServerUID
+            applications.iUid[1].iUid = 0x1020728E; // KFeedsServerUid
+            applications.iUid[2].iUid = 0x10008D60; // KDownloadMgrServerUid
+            applications.iUid[3].iUid = 0x1000484b; // KMessagingServerUid
+            applications.iUid[4].iUid = 0x102033E6; // KJavaVMUid
+            applications.iUid[5].iUid = 0x102073CA; // KSUPLServerUid
+            applications.iUid[6].iUid = 0x200212F3; // Connect Screen
+            applications.iUid[7].iUid = 0;
+            applications.iUid[8].iUid = 0;
+            applications.iUid[9].iUid = 0;
+        } else {
+            Q_ASSERT(false);
+        }
+        TPckgBuf< TConnMonClientEnum > applicationsPckg( applications );
+        aValue.Copy(applicationsPckg);
+        User::RequestComplete(&aStatus, KErrNone);
+    } else {
+        // This is copy-paste from real implementation and we'll use that for other requests.
+        TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &aValue );
+        SendReceive( EReqGetPckgAttribute, args, aStatus );
+    }
+}
+#endif
+
+// This function returns WLAN scan results.
+// Six results in every second scan and the others have two.
+EXPORT_C void RConnectionMonitor::GetPckgAttribute(
+    const TUint /* aConnectionId */,
+    const TUint /* aSubConnectionId */,
+    const TUint aAttribute,
+    TDes16& aValue,
+    TRequestStatus& aStatus ) const {
+
+    if (aAttribute == KWlanNetworks) {
+        RConnMonWlanNetworksPtrArray wlanPtrArray;
+        RBuf vendorData;
+    
+        TBufC<CConnMonWlanNetwork::KWlanBssId> bssid16(QString("addMAC").utf16());
+        TBuf8<CConnMonWlanNetwork::KWlanBssId> bssid;
+        bssid.Copy(bssid16);
+    
+        _LIT(wlanAp1Name, "Test AP 1");
+        TBufC<CConnMonWlanNetwork::KMaxNameLength> name1(wlanAp1Name);
+        CConnMonWlanNetwork* wlanAp1 = CConnMonWlanNetwork::NewL(
+            name1,
+            EConnMonInfraStructure,
+            20,
+            EConnMonSecurityOpen,
+            bssid,
+            vendorData );
+        wlanPtrArray.Append(wlanAp1);
+    
+        _LIT(wlanAp2Name, "Test AP 2");
+        TBufC<CConnMonWlanNetwork::KMaxNameLength> name2(wlanAp2Name);
+        CConnMonWlanNetwork* wlanAp2 = CConnMonWlanNetwork::NewL(
+            name2,
+            EConnMonAdHoc,
+            20,
+            EConnMonSecurityOpen,
+            bssid,
+            vendorData );
+        wlanPtrArray.Append(wlanAp2);
+    
+        static bool refresh = true;
+    
+        if (refresh) {
+            _LIT(wlanAp3Name, "Test AP 3");
+            TBufC<CConnMonWlanNetwork::KMaxNameLength> name3(wlanAp3Name);
+            CConnMonWlanNetwork* wlanAp3 = CConnMonWlanNetwork::NewL(
+                name3,
+                EConnMonInfraStructure,
+                20,
+                EConnMonSecurityWep,
+                bssid,
+                vendorData );
+            wlanPtrArray.Append(wlanAp3);
+    
+            _LIT(wlanAp4Name, "Test AP 4");
+            TBufC<CConnMonWlanNetwork::KMaxNameLength> name4(wlanAp4Name);
+            CConnMonWlanNetwork* wlanAp4 = CConnMonWlanNetwork::NewL(
+                name4,
+                EConnMonInfraStructure,
+                20,
+                EConnMonSecurityOpen,
+                bssid,
+                vendorData );
+            wlanPtrArray.Append(wlanAp4);
+    
+            _LIT(wlanAp5Name, "Test AP 5");
+            TBufC<CConnMonWlanNetwork::KMaxNameLength> name5(wlanAp5Name);
+            CConnMonWlanNetwork* wlanAp5 = CConnMonWlanNetwork::NewL(
+                name5,
+                EConnMonInfraStructure,
+                20,
+                EConnMonSecurityWpa,
+                bssid,
+                vendorData );
+            wlanPtrArray.Append(wlanAp5);
+    
+            _LIT(wlanAp6Name, "Test AP 6");
+            TBufC<CConnMonWlanNetwork::KMaxNameLength> name6(wlanAp6Name);
+            CConnMonWlanNetwork* wlanAp6 = CConnMonWlanNetwork::NewL(
+                name6,
+                EConnMonInfraStructure,
+                20,
+                EConnMonSecurityWpaPsk,
+                bssid,
+                vendorData );
+            wlanPtrArray.Append(wlanAp6);
+    
+            refresh = false;
+        } else {
+            refresh = true;
+        }
+    
+        CConnMonWlanNetworksPtrArrayPckg wlanBuf(wlanPtrArray, 2560); // TODO: buffer size to more dynamic or use constant
+        aValue.Copy(wlanBuf.Buf()->Des());
+    } else {
+        Q_ASSERT(false);
+    }
+    
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+#endif // WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+#endif // __WINS__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/stubs/wlanqtutilsconnteststub.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,49 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a source file for connmon library stub functions
+*/
+
+#include <ictsclientinterface.h>
+
+#ifdef __WINS__
+
+#ifdef WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+
+// ----------------------------------------------
+// Stub functions for ICT library, used in UT
+// ----------------------------------------------
+
+#include "wlanqtutilstestcontext.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+// ----------------------------------------------------
+// NewL is not stubbed -> parameters are not checked at all
+// ----------------------------------------------------
+
+/**
+ * Empty implementation to prevent actual ICT from starting. Result callback is called directly
+ * in the test cases.
+ */
+EXPORT_C void CIctsClientInterface::StartL()
+    {
+    }
+
+#endif // WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+
+// ----------------------------------------------------
+// No stubs used in emulator
+// ----------------------------------------------------
+#endif // __WINS__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/stubs/wlanqtutilsesockstub.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,60 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a source file for esock library stub functions
+*/
+
+#include <es_sock.h>
+
+#ifdef __WINS__
+
+#ifdef WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+
+// ----------------------------------------------
+// Stub functions for esock library, used in UT
+// ----------------------------------------------
+
+#include "wlanqtutilstestcontext.h"
+
+extern WlanQtUtilsTestContext testContext;
+
+/**
+ * Returns value from test context.
+ * 
+ * TConnPref value cannot be verified easily because the real value passed to the function is
+ * TCommDbConnPref. Dynamic cast from TConnPref to TCommDbConnPref does not work because
+ * TConnPref does not have virtual functions which means that type information for the 
+ * class hierarchy is not created by the compiler.
+ */
+void RConnection::Start(class TConnPref &, class TRequestStatus &aStatus)
+{
+    User::RequestComplete(&aStatus, testContext.esock_.startRetValue_);
+}
+
+#else // WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+
+// ----------------------------------------------------
+// Stub functions for esock library, used in emulator
+// ----------------------------------------------------
+
+/**
+ * Return always success in emulator.
+ */
+void RConnection::Start(class TConnPref &, class TRequestStatus &aStatus)
+{
+    User::RequestComplete(&aStatus, KErrNone);
+}
+
+#endif // WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+#endif // __WINS__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/t_wlanqtutils/t_wlanqtutils.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,99 @@
+#
+# 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:
+#
+
+QT += testlib
+
+TEMPLATE = app
+TARGET = t_wlanqtutils
+
+TARGET.CAPABILITY = ALL -TCB
+
+DEPENDPATH += .
+
+#Store generated .moc files to their own directory
+MOC_DIR = moc
+
+#BUILD_DLL macro is used to define export macro
+DEFINES += BUILD_WLANQTUTILITIES_DLL
+
+#Following macros MW_LAYER_SYSTEMINCLUDE and OS_LAYER_SYSTEMINCLUDE are defined 
+#in X:\QT\mkspecs\features\symbian\platform_paths.prf that is always inluded in
+#QT compilation
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+               $$OS_LAYER_SYSTEMINCLUDE \
+               . \
+               ../../base/inc \
+               ../../wrapper/inc \
+               ../../traces \
+               /epoc32/include/domain/osextensions
+
+# Input
+HEADERS += testwlanqtutils.h \
+    ../context/wlanqtutilstestcontext.h \
+    ../../base/inc/wlanqtutils.h \
+    ../../base/inc/wlanqtutils_p.h \
+    ../../base/inc/wlanqtutilsiap.h \
+    ../../base/inc/wlanqtutilswlaniap.h \
+    ../../base/inc/wlanqtutilswlanap.h \
+    ../../base/inc/wlanqtutilsactiveconn.h \
+    ../../wrapper/inc/wlanqtutilscmmwrapper.h \
+    ../../wrapper/inc/wlanqtutilsconmonwrapper.h \
+    ../../wrapper/inc/wlanqtutilsconntestwrapper.h \
+    ../../wrapper/inc/wlanqtutilsesockwrapper.h \
+    ../../traces/OstTraceDefinitions.h
+
+SOURCES += testwlanqtutils.cpp \
+    ../context/wlanqtutilstestcontext.cpp \
+    ../../base/src/wlanqtutils.cpp \
+    ../../base/src/wlanqtutils_p.cpp \
+    ../../base/src/wlanqtutilsiap.cpp \
+    ../../base/src/wlanqtutilswlaniap.cpp \
+    ../../base/src/wlanqtutilswlanap.cpp \
+    ../../base/src/wlanqtutilsactiveconn.cpp \
+    ../../wrapper/src/wlanqtutilscmmwrapper.cpp \
+    ../../wrapper/src/wlanqtutilsconmonwrapper.cpp \
+    ../../wrapper/src/wlanqtutilsconntestwrapper.cpp \
+    ../../wrapper/src/wlanqtutilsesockwrapper.cpp
+    
+symbian: { 
+    HEADERS += ../../wrapper/inc/wlanqtutilscmmwrapper_s60_p.h \
+               ../../wrapper/inc/wlanqtutilsconmonwrapper_s60_p.h \
+               ../../wrapper/inc/wlanqtutilsconntestwrapper_s60_p.h \
+               ../../wrapper/inc/wlanqtutilsesockwrapper_s60_p.h
+
+    SOURCES += ../../wrapper/src/wlanqtutilscmmwrapper_s60.cpp \
+               ../../wrapper/src/wlanqtutilsconmonwrapper_s60.cpp \
+               ../../wrapper/src/wlanqtutilsconntestwrapper_s60.cpp \
+               ../../wrapper/src/wlanqtutilsesockwrapper_s60.cpp \
+               ../stubs/wlanqtutilsconnmonstub.cpp \
+               ../stubs/wlanqtutilsconnteststub.cpp \
+               ../stubs/wlanqtutilsesockstub.cpp
+}
+
+LIBS += -lcmmanager -lconnmon -lcommdb -lesock -lictsclientinterface
+
+#UT flag is set
+DEFINES += WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
+
+coverage_test: {
+message(*** Coverage test mode build - no OST traces.)
+#NO_OST_TRACES flag is set
+DEFINES += WLANQTUTILS_NO_OST_TRACES_FLAG 'Q_ASSERT(test)='
+}
+else {
+message(*** Normal Symbian-mode build.)
+}
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/t_wlanqtutils/testwlanqtutils.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,683 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is the source file for testing Wlan Qt Utilities library.
+*/
+
+#include <QtCore>
+#include <QTest>
+#include <QSignalSpy>
+#include <rconnmon.h>
+#include <nifvar.h>
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilswlanap.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilswlaniap.h"
+#include "wlanqtutils.h"
+#include "wlanqtutils_p.h"
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsconmonwrapper_s60_p.h"
+#include "wlanqtutilsconntestwrapper.h"
+#include "wlanqtutilsconntestwrapper_s60_p.h"
+#include "testwlanqtutils.h"
+#include "wlanqtutilstestcontext.h"
+
+WlanQtUtilsTestContext testContext;
+
+const QString TestWlanQtUtils::commsDatDefault_ = "default.cre";
+
+// ---------------------------------------------------------
+// FRAMEWORK FUNCTIONS
+// ---------------------------------------------------------
+
+/**
+ * This function will be called before the first test function is executed.
+ */
+void TestWlanQtUtils::initTestCase()
+{
+    wlanQtUtils_ = NULL;
+    signalScanReady_ = NULL;
+    signalWlanNetworkOpened_ = NULL;
+    signalWlanNetworkClosed_ = NULL;
+
+    //If Active scheduler exists then don't install a new one as it will cause panic
+    if (CActiveScheduler::Current() == NULL) {
+        CActiveScheduler *scheduler = new CActiveScheduler();
+        CActiveScheduler::Install(scheduler);
+    }
+}
+
+/**
+ * This function will be called after the last test function was executed.
+ */
+void TestWlanQtUtils::cleanupTestCase()
+{
+    // CommsDat file is initialized.
+    subTestLoadCommsDatFile(commsDatDefault_);
+
+    // TODO: Can we get rid of this delay?
+    QWARN(": \n *********** \n * PASSED! * \n *********** \n\n\n");
+    QWARN(": \n *** Window will be closed in 5s... \n\n\n");    
+    QTest::qSleep(5000);
+}
+
+/**
+ * This function will be called before each test function is executed.
+ */
+void TestWlanQtUtils::init()
+{
+    // CommsDat file is initialized.
+    subTestLoadCommsDatFile(commsDatDefault_);
+
+    testContext.initialize();
+
+    QVERIFY(wlanQtUtils_ == NULL);
+    QVERIFY(signalScanReady_ == NULL);
+    QVERIFY(signalWlanNetworkOpened_ == NULL);
+    QVERIFY(signalWlanNetworkClosed_ == NULL);
+    subTestNewWlanQtUtils();
+}
+
+/**
+ * This function will be called after each test function is executed.
+ */
+void TestWlanQtUtils::cleanup()
+{
+    delete wlanQtUtils_;
+    wlanQtUtils_ = NULL;
+
+    QCOMPARE(signalScanReady_->count(), 0);
+    delete signalScanReady_;
+    signalScanReady_ = NULL;
+
+    QCOMPARE(signalWlanNetworkOpened_->count(), 0);
+    delete signalWlanNetworkOpened_;
+    signalWlanNetworkOpened_ = NULL;
+
+    QCOMPARE(signalWlanNetworkClosed_->count(), 0);
+    delete signalWlanNetworkClosed_;
+    signalWlanNetworkClosed_ = NULL;
+}
+
+// ---------------------------------------------------------
+// TEST CASES
+// ---------------------------------------------------------
+
+/**
+ * Test available WLAN APs when scan is triggered by client.
+ * Two scan results have the same SSID and the latter one of those will be removed.
+ * Two scan results have the same SSID but different security mode
+ * and both are included in the results.
+ */
+void TestWlanQtUtils::testAvailableWlanAps()
+{
+    testContext.connMon_.wlanScanResult_.createDefaultWlanScanResultList(10);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[0]->setSsid("Same SSID");
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[2]->setSsid("Same SSID");
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[5]->setSsid("Same SSID, different SecMode");
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[5]->setSecurityMode(WlanQtUtilsWlanSecModeWpa);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[8]->setSsid("Same SSID, different SecMode");
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[8]->setSecurityMode(WlanQtUtilsWlanSecModeOpen);
+
+    // Request a scan to get result signal
+    wlanQtUtils_->scanWlans();
+    
+    // Let active object run and verify signal.
+    subTestSignalWaitAndTake(signalScanReady_, NULL);
+
+    // Get and verify the list of available WLAN APs.
+    QList<WlanQtUtilsWlanIap *> iaps;
+    QList<WlanQtUtilsWlanAp *> aps;
+    wlanQtUtils_->availableWlanAps(iaps, aps);
+
+    // First remove AP that has duplicate SSID.
+    // Then order APs alphabetically.
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_.removeAt(2);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_.move(4, 1);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_.move(7, 1);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_.move(8, 3);
+    testContext.connMon_.wlanScanResult_.verifyWlanScanResultList(aps);
+    QCOMPARE(iaps.count(), 0);
+    aps.clear(); // TODO: Free AP pointers too.
+}
+
+/**
+ * Test available WLAN APs when there are also WLAN IAPs available.
+ */
+void TestWlanQtUtils::testAvailableWlanApsWithIaps()
+{
+    testContext.connMon_.wlanScanResult_.createDefaultWlanScanResultList(7);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[1]->setSsid("WLAN IAP 3");
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[1]->setSecurityMode(WlanQtUtilsWlanSecModeWpa);    
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[3]->setSsid("");
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[5]->setSsid("WLAN IAP 1");
+    // Todo: security mode not compared yet due to an issue with CMM vs ConnMon WLAN security
+    // modes under investigation
+    // SSID is found in Internet Snap, but security mode does not match:
+    // testContext.connMon_.wlanScanResult_.wlanScanResultList_[6]->setSsid("WLAN IAP 2");
+    // testContext.connMon_.wlanScanResult_.wlanScanResultList_[6]->setSecurityMode(WlanQtUtilsWlanSecModeWpa);    
+    
+    // Request a scan to get result signal
+    wlanQtUtils_->scanWlans();
+    
+    // Let active object run and verify signal.
+    subTestSignalWaitAndTake(signalScanReady_, NULL);
+
+    // Get and verify the list of available WLAN APs.
+    QList<WlanQtUtilsWlanIap *> iaps;
+    QList<WlanQtUtilsWlanAp *> aps;
+    wlanQtUtils_->availableWlanAps(iaps, aps);
+
+    // Verify WLAN AP list. First, remove scan results that will not appear
+    // because they are hidden WLANs or WLAN IAPs.
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_.removeAt(5);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_.removeAt(3);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_.removeAt(1);
+    testContext.connMon_.wlanScanResult_.verifyWlanScanResultList(aps);
+
+    // Verify WLAN IAP list
+    QCOMPARE(iaps.count(), 2);
+    QCOMPARE(iaps[0]->id(), 5);
+    QCOMPARE(iaps[0]->name(), QString("WLAN IAP 1"));
+    QCOMPARE(iaps[0]->bearerType(), WlanQtUtilsBearerTypeWlan);
+    QCOMPARE(iaps[0]->ssid(), QString("WLAN IAP 1"));
+    QCOMPARE(iaps[1]->id(), 7);
+    QCOMPARE(iaps[1]->name(), QString("WLAN IAP 3"));
+    QCOMPARE(iaps[1]->bearerType(), WlanQtUtilsBearerTypeWlan);
+    QCOMPARE(iaps[1]->ssid(), QString("WLAN IAP 3"));
+    iaps.clear(); // TODO: Free IAP pointers too.
+    aps.clear(); // TODO: Free AP pointers too.
+}
+
+/**
+ * Test refereshing of WLAN APs when client requests sequential scans.
+ */
+void TestWlanQtUtils::testAvailableWlanApsSequence()
+{
+    // **************** Before 1st scan ********************
+    QList<WlanQtUtilsWlanIap *> iaps;
+    QList<WlanQtUtilsWlanAp *> aps;
+    wlanQtUtils_->availableWlanAps(iaps, aps);
+    // Verify we have no results
+    QCOMPARE(aps.count(), 0);
+    QCOMPARE(iaps.count(), 0);
+    
+    // **************** 1st scan ********************
+    // 6 APs are required for this scan
+    testContext.connMon_.wlanScanResult_.createDefaultWlanScanResultList(6);
+
+    wlanQtUtils_->scanWlans();
+    subTestSignalWaitAndTake(signalScanReady_, NULL);
+
+    // Get the results for the 1st scan
+    wlanQtUtils_->availableWlanAps(iaps, aps);
+    // Verify the results for the scan
+    testContext.connMon_.wlanScanResult_.verifyWlanScanResultList(aps);
+    QCOMPARE(iaps.count(), 0);
+    aps.clear(); // TODO: free memory of pointers too.
+
+    // **************** 2nd scan ********************
+    // 2 APs are required for this scan
+    testContext.connMon_.wlanScanResult_.createDefaultWlanScanResultList(2);
+
+    wlanQtUtils_->scanWlans();
+    subTestSignalWaitAndTake(signalScanReady_, NULL);
+
+    // Get the results for the 2nd scan
+    wlanQtUtils_->availableWlanAps(iaps, aps);
+    // Verify the results for the scan
+    testContext.connMon_.wlanScanResult_.verifyWlanScanResultList(aps);
+    QCOMPARE(iaps.count(), 0);
+    aps.clear(); // TODO: Free memory
+
+    // **************** 3rd scan ********************
+    // 4 APs are required for the 3rd scan
+    testContext.connMon_.wlanScanResult_.createDefaultWlanScanResultList(4);
+
+    wlanQtUtils_->scanWlans();
+    subTestSignalWaitAndTake(signalScanReady_, NULL);
+    
+    // Get the results for the 3rd scan
+    wlanQtUtils_->availableWlanAps(iaps, aps);
+    // Verify the results for the scan
+    testContext.connMon_.wlanScanResult_.verifyWlanScanResultList(aps);
+    QCOMPARE(iaps.count(), 0);
+    aps.clear(); // TODO: Free memory    
+}
+
+/**
+ * This function tests creation of WLAN IAP in a succesful manner.
+ * - WLAN scan is made because otherwise we cannot verify that IAP creation is successful.
+ * - Check that there are no available WLAN IAPs.
+ * - Fetch SNAP list.
+ * - Create WLAN IAP.
+ * - Check that WLAN IAP has been created and that this IAP is not in WLAN AP scan results.
+ */
+void TestWlanQtUtils::testCreateWlanIapOk()
+{
+    testContext.connMon_.wlanScanResult_.createDefaultWlanScanResultList(1);
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[0]->setSsid("New WLAN IAP");
+    testContext.connMon_.wlanScanResult_.wlanScanResultList_[0]->setSecurityMode(WlanQtUtilsWlanSecModeWpa2);
+
+    // Create a new instance in order to test functionality triggered in constructor.
+    WlanQtUtils *utils = new WlanQtUtils();
+    QSignalSpy spy(utils, SIGNAL(wlanScanReady()));
+    QVERIFY(spy.isValid() == true);
+    subTestSignalWaitAndTake(&spy, NULL);
+
+    // Ensure there are no WLAN IAPs but there is one scan result.
+    QList<WlanQtUtilsWlanIap *> iaps;
+    QList<WlanQtUtilsWlanAp *> aps;    
+    utils->availableWlanAps(iaps, aps);
+
+    QCOMPARE(iaps.count(), 0);
+    testContext.connMon_.wlanScanResult_.verifyWlanScanResultList(aps);
+
+    // Execute createWlanIap() function
+    WlanQtUtilsWlanAp wlanAp("New WLAN IAP", "abcdef", 90, EConnMonInfraStructure, WlanQtUtilsWlanSecModeWpa2);
+    int iapId = utils->createWlanIap(&wlanAp);
+
+    // Verify that created IAP is in the IAP list and AP list is empty.
+    utils->availableWlanAps(iaps, aps);
+    QCOMPARE(iaps.count(), 1);
+    QCOMPARE(iaps[0]->id(), iapId);
+    QCOMPARE(iaps[0]->name(), QString("New WLAN IAP"));
+    QCOMPARE(iaps[0]->bearerType(), WlanQtUtilsBearerTypeWlan);
+    QCOMPARE(iaps[0]->ssid(), QString("New WLAN IAP"));
+    // Todo: should be Wpa2, CMM vs ConnMon WLAN security modes under investigation
+    QCOMPARE(iaps[0]->securityMode(), WlanQtUtilsWlanSecModeWpa);
+    QCOMPARE(aps.count(), 0);
+    iaps.clear(); // TODO: memory leak.
+    delete utils;
+}
+
+/**
+ * This function tests connecting to IAP in a succesful manner.
+ */
+void TestWlanQtUtils::testConnectIapOk()
+{
+    testContext.esock_.startRetValue_ = KErrNone;
+
+    // Esock stub completes connection creation immediately
+    wlanQtUtils_->connectIap(5);
+
+    // Connection creation in ConnMon interface
+    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonEventBase(
+            EConnMonCreateConnection,
+            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+    // Connection status change in ConnMon interface
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KConnectionOpen));
+    
+    // Receive signal for connection opening (caused by connectIap, which completed immediately)
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
+    QCOMPARE(arguments.at(0).toInt(), 5); 
+
+    // Connection status change to opened in ConnMon interface. Sub test cases between test
+    // cases check that no extra signals are sent
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KLinkLayerOpen));
+}
+
+/**
+ * This function tests connecting to IAP in unsuccesful manner.
+ */
+void TestWlanQtUtils::testConnectIapErr()
+{
+    testContext.esock_.startRetValue_ = KErrGeneral;
+
+    wlanQtUtils_->connectIap(7);
+
+    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 7);
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonEventBase(
+            EConnMonCreateConnection,
+            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KConnectionOpen));
+    
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonEventBase(
+            EConnMonDeleteConnection,
+            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+    
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments); 
+    QCOMPARE(arguments.at(0).toInt(), 7);
+}
+
+// TODO: testDisconnectFail cases are needed when fail branches are
+// implemented into the connmon wrapper
+/**
+ * This function tests IAP disconnecting functionality.
+ */
+void TestWlanQtUtils::testDisconnectIapOk()
+{
+    // Create and connect an IAP we can then disconnect
+    WlanQtUtilsWlanAp wlanAp("Disconnect IAP", "abcdef", 90, EConnMonInfraStructure, WlanQtUtilsWlanSecModeWpa2);
+    int iapId = wlanQtUtils_->createWlanIap(&wlanAp);
+    testContext.esock_.startRetValue_ = KErrNone;
+    wlanQtUtils_->connectIap(iapId);
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
+    QCOMPARE(arguments.at(0).toInt(), iapId); 
+    
+    // The disconnect function does not have any return values or
+    // signals related to the disconnection, thus plain
+    // function call is done for the test.
+    wlanQtUtils_->disconnectIap(iapId);
+}
+
+/**
+ * This function tests IAP getter with existing IAP ID.
+ */
+void TestWlanQtUtils::testIapFound()
+{
+    // Create the IAP we want to find with the getter
+    WlanQtUtilsWlanAp wlanAp("testIapFound", "abcdef", 90, EConnMonInfraStructure, WlanQtUtilsWlanSecModeWpa2);
+    int iapId = wlanQtUtils_->createWlanIap(&wlanAp);
+    
+    // Execute the function under test and check that we got the correct IAP
+    WlanQtUtilsIap *iap = wlanQtUtils_->iap(iapId);
+    QVERIFY(iap != NULL);
+    QCOMPARE(iap->id(), iapId);
+    QCOMPARE(iap->name(), QString("testIapFound"));
+    QCOMPARE(iap->bearerType(), WlanQtUtilsBearerTypeWlan);
+}
+
+/**
+ * This function tests IAP getter with non-existing IAP ID.
+ */
+void TestWlanQtUtils::testIapNotFound()
+{
+    // Execute the function under test and check that we get no IAP as result
+    WlanQtUtilsIap *iap = wlanQtUtils_->iap(1000);
+    QVERIFY(iap == NULL);
+}
+
+/**
+ * This function tests connected WLAN IAP getter with existing connection.
+ */
+void TestWlanQtUtils::testConnectedWlanIdFound()
+{
+    // Create the IAP we want to find with the getter
+    WlanQtUtilsWlanAp wlanAp("testConnectedWlanIdFound", "abcdef", 90, EConnMonInfraStructure, WlanQtUtilsWlanSecModeWpa2);
+    int iapId = wlanQtUtils_->createWlanIap(&wlanAp);
+    
+    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, iapId);
+
+    // Send event for connection creation.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonEventBase(
+            EConnMonCreateConnection,
+            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+    // Send events for connection status change -> opened.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KStartingConnection));
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KLinkLayerOpen));
+
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+    QCOMPARE(arguments.at(0).toInt(), iapId);
+        
+    // Execute the function under test and check that we get valid ID as result
+    int id = wlanQtUtils_->connectedWlanId();
+    QCOMPARE(id, iapId);
+}
+
+/**
+ * This function tests connected WLAN IAP getter with connection existing already during dll construction.
+ */
+void TestWlanQtUtils::testConnectedWlanIdFoundConstructor()
+{
+    // IAP ID 5 exists in default commsdat file
+    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+
+    // Create a new instance in order to test functionality triggered in constructor.
+    WlanQtUtils *utils = new WlanQtUtils();
+
+    // Execute the function under test and check that we get valid ID as result
+    int id = utils->connectedWlanId();
+    QCOMPARE(id, 5);
+
+    delete utils;
+}
+
+/**
+ * This function tests connected WLAN IAP getter without existing connection.
+ */
+void TestWlanQtUtils::testConnectedWlanIdNotFound()
+{
+    // Execute the function under test and check that we get invalid ID as result
+    int id = wlanQtUtils_->connectedWlanId();
+    QCOMPARE(id, WlanQtUtilsInvalidIapId);
+}
+
+/**
+ * Test WLAN scan triggering interface.
+ */
+void TestWlanQtUtils::testScanWlans()
+{
+    // Execute function under test
+    wlanQtUtils_->scanWlans();
+
+    // No need to verify scan results here, testAvailableWlanAps* test cases
+    // are for that. Just make sure the result signal is received.
+    subTestSignalWaitAndTake(signalScanReady_, NULL);
+}
+
+/**
+ * This function tests Wlan network opening signal when network is not opened by the dll.
+ */
+void TestWlanQtUtils::testWlanNetworkOpened()
+{
+    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+
+    // Send event for connection creation.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonEventBase(
+            EConnMonCreateConnection,
+            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+    // Send events for connection status change -> opened.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KConnectionOpen));
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KLinkLayerOpen));
+
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+    QCOMPARE(arguments.at(0).toInt(), 5);
+}
+
+/**
+ * This function tests Wlan network closing signal when network is not closed by the dll.
+ */
+void TestWlanQtUtils::testWlanNetworkClosed()
+{
+    // First create a connection
+    testContext.connMon_.activeConnections_.createDefaultActiveConnList(1, 5);
+
+    // Send event for connection creation.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonEventBase(
+            EConnMonCreateConnection,
+            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+    // Send events for connection status change -> opened.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KConnectionOpen));
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KLinkLayerOpen));
+
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments);
+    QCOMPARE(arguments.at(0).toInt(), 5);
+
+    // Send event for connection status change -> closed.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonConnectionStatusChange(
+        testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId(),
+        0,
+        KLinkLayerClosed));
+
+    // Send event for connection deletion.
+    wlanQtUtils_->d_ptr->conMonWrapper_->d_ptrConnInfo->EventL(CConnMonEventBase(
+            EConnMonDeleteConnection,
+            testContext.connMon_.activeConnections_.activeConnList_[0]->connectionId()));
+
+    subTestSignalWaitAndTake(signalWlanNetworkClosed_, &arguments);
+    QCOMPARE(arguments.at(0).toInt(), 5);
+}
+
+/**
+ * This function tests ICT when connection test passes.
+ */
+void TestWlanQtUtils::testConnectionTestPass()
+{
+    // Create and connect an IAP we can then test
+    WlanQtUtilsWlanAp wlanAp("Connection test IAP", "abcdef", 90, EConnMonInfraStructure, WlanQtUtilsWlanSecModeWpa2);
+    int iapId = wlanQtUtils_->createWlanIap(&wlanAp);
+    testContext.esock_.startRetValue_ = KErrNone;
+    wlanQtUtils_->connectIap(iapId);
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
+    QCOMPARE(arguments.at(0).toInt(), iapId); 
+
+    // Connection test automatically started at this point. Call result function explicitly
+    // No interface exists that we could check that the IAP is moved to Internet SNAP correctly
+    TBuf<5> string;
+    wlanQtUtils_->d_ptr->connTestWrapper_->d_ptr_->ConnectivityObserver(EConnectionOk, string);
+}
+
+/**
+ * This function tests ICT when connection test fails.
+ */
+void TestWlanQtUtils::testConnectionTestFail()
+{
+    // Create and connect an IAP we can then test
+    WlanQtUtilsWlanAp wlanAp("Connection test IAP", "abcdef", 90, EConnMonInfraStructure, WlanQtUtilsWlanSecModeWpa2);
+    int iapId = wlanQtUtils_->createWlanIap(&wlanAp);
+    testContext.esock_.startRetValue_ = KErrNone;
+    wlanQtUtils_->connectIap(iapId);
+    QList<QVariant> arguments;
+    subTestSignalWaitAndTake(signalWlanNetworkOpened_, &arguments); 
+    QCOMPARE(arguments.at(0).toInt(), iapId); 
+
+    // Connection test automatically started at this point. Call result function explicitly
+    // No interface exists that we could check that IAP is not moved to another SNAP
+    // Todo: Repeat for all possible error codes to gain coverage
+    TBuf<5> string;
+    wlanQtUtils_->d_ptr->connTestWrapper_->d_ptr_->ConnectivityObserver(EHttpAuthenticationNeeded, string);
+}
+
+// ---------------------------------------------------------
+// SUB TEST CASES
+// ---------------------------------------------------------
+
+/**
+ * This function waits for active objects to get time to run, takes the arguments of the
+ * first signal and returns them from the given signal spy.
+ * This function also verifies that the number of signals is 1.
+ * 
+ * @param[in] spy Signal spy.
+ * @param[out] arguments Arguments of the first signal in the given signal spy. NULL if arguments not needed.
+ */
+void TestWlanQtUtils::subTestSignalWaitAndTake(QSignalSpy* spy, QList<QVariant>* arguments)
+{
+    QTest::qWait(1);
+    QCOMPARE(spy->count(), 1);
+    QList<QVariant> arguments_tmp = spy->takeFirst();
+    if (arguments != NULL) {
+        *arguments = arguments_tmp;
+    }
+}
+
+/**
+ * This function loads given CommsDat file, replacing current one.
+ * If CommsDat file doesn't exist, it can be re-created by commanding WST script.
+ * Using help switch is a quick way:
+ *     run_wst HELP
+ * 
+ * @param newCommsdatFilename Filename of the new CommsDat to be loaded. 
+ */
+void TestWlanQtUtils::subTestLoadCommsDatFile(QString newCommsdatFilename)
+{
+    // EPOC's CommsDat filename   
+    const QString epocCommsdatFilename("cccccc00.cre");
+    // EPOC's directory for CommsDat file
+    const QString commsdatDir("c:\\private\\10202be9\\persists\\");
+    // Created backup directory under EPOC for CommsDat files
+    const QString storeDir("c:\\private\\10202be9\\persists\\backup\\");
+    QString nameOld = commsdatDir + epocCommsdatFilename;
+    QString nameDefault = storeDir + newCommsdatFilename;
+
+    // First remove the old CommsDat file.
+    Q_ASSERT(QFile::remove(nameOld) == TRUE);
+    
+    // Copy the stored default CommsDat file.
+    Q_ASSERT(QFile::copy(nameDefault, nameOld) == TRUE);
+}
+
+/**
+ * 
+ */
+void TestWlanQtUtils::subTestNewWlanQtUtils()
+{
+    if (wlanQtUtils_ != NULL) {
+        delete wlanQtUtils_;
+    }
+    wlanQtUtils_ = new WlanQtUtils();
+
+    if (signalScanReady_ != NULL) {
+        delete signalScanReady_;
+    }
+    signalScanReady_ = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanScanReady()));
+    QVERIFY(signalScanReady_->isValid() == true);
+
+    if (signalWlanNetworkOpened_ != NULL) {
+        delete signalWlanNetworkOpened_;
+    }
+    signalWlanNetworkOpened_ = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanNetworkOpened(int)));
+    QVERIFY(signalWlanNetworkOpened_->isValid() == true);
+    
+    if (signalWlanNetworkClosed_ != NULL) {
+        delete signalWlanNetworkClosed_;
+    }
+    signalWlanNetworkClosed_ = new QSignalSpy(wlanQtUtils_, SIGNAL(wlanNetworkClosed(int)));
+    QVERIFY(signalWlanNetworkClosed_->isValid() == true);
+    
+    // Let first active objects to run. First WLAN scan is done in engine contructor.
+    subTestSignalWaitAndTake(signalScanReady_, NULL);
+}
+
+// Create main function using QTest marco.
+QTEST_MAIN(TestWlanQtUtils)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/ut/t_wlanqtutils/testwlanqtutils.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,97 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is the header file for testing Wlan Qt Utilities library.
+*/
+
+#ifndef TESTWLANQTUTILS_H_
+#define TESTWLANQTUTILS_H_
+
+#include <QObject>
+
+class QSignalSpy;
+class WlanQtUtils;
+
+class TestWlanQtUtils: public QObject
+{
+    Q_OBJECT
+    
+private slots:
+
+    // Functions from QTest framework.
+    void initTestCase();
+    void cleanupTestCase();
+    void init();
+    void cleanup();
+
+    // Test functions for public interface.
+    void testAvailableWlanAps();
+    void testAvailableWlanApsWithIaps();
+    void testAvailableWlanApsSequence();
+
+    void testCreateWlanIapOk();
+    
+    void testConnectIapOk();
+    void testConnectIapErr();
+    
+    void testDisconnectIapOk();
+
+    void testIapFound();
+    void testIapNotFound();
+    
+    void testConnectedWlanIdFound();
+    void testConnectedWlanIdFoundConstructor();
+    void testConnectedWlanIdNotFound();
+
+    void testScanWlans();
+    
+    void testWlanNetworkOpened();
+    void testWlanNetworkClosed();
+    
+    // Test functions for private implementation (tested via public interface)
+    void testConnectionTestPass();
+    void testConnectionTestFail();
+    
+private:
+    
+    // Helper functions, that is, sub test cases.
+    void subTestSignalWaitAndTake(QSignalSpy *spy, QList<QVariant> *arguments);
+    void subTestLoadCommsDatFile(QString newCommsdatFilename);
+    void subTestNewWlanQtUtils();
+
+    // Member variables.
+    WlanQtUtils *wlanQtUtils_;
+    QSignalSpy *signalScanReady_;
+    QSignalSpy *signalWlanNetworkOpened_;
+    QSignalSpy *signalWlanNetworkClosed_;
+    
+    /* Default CommsDat file name
+    SNAP ID=3: Internet:
+        IAP ID = 1: packet data 1
+        IAP ID = 3: packet data 2
+        IAP ID = 4: packet data 3
+        IAP ID = 5: WLAN IAP 1, EWlanSecModeOpen
+        IAP ID = 6: WLAN IAP 2, EWlanSecModeWep, w2key
+        IAP ID = 7: WLAN IAP 3, EWlanSecModeWpa, wlan3key
+    SNAP ID = 4: Multimedia msg.
+    SNAP ID = 5: WAP services
+    SNAP ID = 6: My Snap:
+        IAP ID = 8: Home WLAN, EWlanSecModeOpen
+        IAP ID = 9: Streaming
+     */
+    static const QString commsDatDefault_;
+};
+
+#endif /* TESTWLANQTUTILS_H_ */
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wlanqtutilities.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,92 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = lib
+TARGET = wlanqtutilities
+TARGET.CAPABILITY = ALL -TCB
+
+#BUILD_DLL macro is used to define export macro
+DEFINES += BUILD_WLANQTUTILITIES_DLL
+DEPENDPATH += .
+
+#Store generated .moc files to their own directory
+MOC_DIR = moc
+
+#Following macros MW_LAYER_SYSTEMINCLUDE and OS_LAYER_SYSTEMINCLUDE are defined 
+#in X:\QT\mkspecs\features\symbian\platform_paths.prf that is always inluded in
+#QT compilation
+
+INCLUDEPATH += $$MW_LAYER_SYSTEMINCLUDE \
+               $$OS_LAYER_SYSTEMINCLUDE \
+               base/inc \
+               wrapper/inc \
+               traces
+
+HEADERS += base/inc/wlanqtutils.h \
+           base/inc/wlanqtutils_p.h \
+           base/inc/wlanqtutilsactiveconn.h \
+           base/inc/wlanqtutilscommon.h \
+           base/inc/wlanqtutilswlanap.h \
+           base/inc/wlanqtutilswlaniap.h \
+           base/inc/wlanqtutilsiap.h \
+           wrapper/inc/wlanqtutilsconmonwrapper.h \
+           wrapper/inc/wlanqtutilscmmwrapper.h \
+           wrapper/inc/wlanqtutilsconntestwrapper.h \
+           wrapper/inc/wlanqtutilsesockwrapper.h \
+           traces/OstTraceDefinitions.h
+
+SOURCES += base/src/wlanqtutils.cpp \ 
+           base/src/wlanqtutils_p.cpp \
+           base/src/wlanqtutilsactiveconn.cpp \
+           base/src/wlanqtutilswlanap.cpp \
+           base/src/wlanqtutilswlaniap.cpp \
+           base/src/wlanqtutilsiap.cpp \
+           wrapper/src/wlanqtutilsconmonwrapper.cpp \
+           wrapper/src/wlanqtutilscmmwrapper.cpp \
+           wrapper/src/wlanqtutilsconntestwrapper.cpp \
+           wrapper/src/wlanqtutilsesockwrapper.cpp
+
+mmpRuleDeffile = \
+ "$${LITERAL_HASH}ifdef WINSCW" \
+ "DEFFILE ./bwins/wlanqtutilities.def" \
+ "$${LITERAL_HASH}else" \
+ "DEFFILE ./eabi/wlanqtutilities.def" \
+ "$${LITERAL_HASH}endif"
+
+symbian: { 
+    HEADERS += wrapper/inc/wlanqtutilsconmonwrapper_s60_p.h \
+               wrapper/inc/wlanqtutilscmmwrapper_s60_p.h \
+               wrapper/inc/wlanqtutilsconntestwrapper_s60_p.h \
+               wrapper/inc/wlanqtutilsesockwrapper_s60_p.h
+    SOURCES += wrapper/src/wlanqtutilsconmonwrapper_s60.cpp \
+               wrapper/src/wlanqtutilscmmwrapper_s60.cpp \
+               wrapper/src/wlanqtutilsconntestwrapper_s60.cpp \
+               wrapper/src/wlanqtutilsesockwrapper_s60.cpp \
+               ut/stubs/wlanqtutilsconnmonstub.cpp \
+               ut/stubs/wlanqtutilsesockstub.cpp
+    TARGET.EPOCALLOWDLLDATA = 1
+    TARGET.UID3 = 0x20029F52
+    SYMBIAN_PLATFORMS = WINSCW ARMV5
+    MMP_RULES += mmpRuleDeffile
+    BLD_INF_RULES.prj_exports += "rom/wlanqtutilities.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlanqtutilities.iby)"
+    BLD_INF_RULES.prj_exports += "base/inc/wlanqtutils.h |../inc/wlanqtutils.h" \
+                                 "base/inc/wlanqtutilscommon.h |../inc/wlanqtutilscommon.h" \
+                                 "base/inc/wlanqtutilswlanap.h |../inc/wlanqtutilswlanap.h" \
+                                 "base/inc/wlanqtutilsiap.h |../inc/wlanqtutilsiap.h" \
+                                 "base/inc/wlanqtutilswlaniap.h |../inc/wlanqtutilswlaniap.h"
+}
+
+symbian*::LIBS += -lconnmon -lcmmanager -lesock -lcommdb -lictsclientinterface
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilscmmwrapper.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,95 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*/
+
+#ifndef WLANQTUTILSCMMWRAPPER_H_
+#define WLANQTUTILSCMMWRAPPER_H_
+
+// INCLUDES
+#include <QObject>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+// FORWARD DECLARATIONS
+class CmmWrapperPrivate;
+class WlanQtUtilsIap;
+class WlanQtUtilsWlanIap;
+class WlanQtUtilsWlanAp;
+
+// CLASS DECLARATION
+
+/**
+ * CmmWrapper class.
+ */
+class CmmWrapper : public QObject
+{
+Q_OBJECT
+
+public: // Constructor and destructor
+
+    /**
+     * Default constructor
+     */
+    CmmWrapper( QObject *parent = 0 );
+
+    /**
+     * Destructor
+     */
+    ~CmmWrapper();
+
+public: 
+
+    /**
+     * Fetch all IAPs
+     * 
+     * @param[in/out] iapList List of IAPs
+     */
+    int fetchIaps( QList<WlanQtUtilsIap*>& iapList );
+
+    /**
+     * Create a new WLAN IAP as uncategorized
+     * 
+     * @param[in] wlanAp Information about the WLAN AP
+     * @return New IAP class
+     */
+    WlanQtUtilsWlanIap *createWlanIap(const WlanQtUtilsWlanAp *wlanAp);
+    
+    /**
+     * Move IAP to the Internet SNAP
+     * 
+     * @param[in] iapId Which IAP to move
+     * @param[in] snapId Where to move it
+     */
+    void moveIapToInternetSnap(int iapId);
+    
+private: // Data
+
+    /**
+     * d_ptr pointer to CmmWrapperPrivate
+     * Owned by CmmWrapper object, instantiated in
+     * constructor.
+     */
+    CmmWrapperPrivate *d_ptr;
+};
+
+QT_END_HEADER
+
+QT_END_NAMESPACE
+
+#endif /* WLANQTUTILSCMMWRAPPER_H_ */
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilscmmwrapper_s60_p.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,156 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ */
+
+#ifndef WLANQTUTILSCMMWRAPPER_S60_P_H_
+#define WLANQTUTILSCMMWRAPPER_S60_P_H_
+
+// INCLUDES
+#include <cmmanagerext.h>
+#include "wlanqtutilscommon.h"
+
+QT_BEGIN_NAMESPACE
+
+//definitions taken from cmpluginwlandef.h and cmpluginpacketdatadef.h
+const TUint KUidPacketDataBearerType = 0x10207378;
+
+class WlanQtUtilsIap;
+class WlanQtUtilsWlanIap;
+
+// CLASS DECLARATION
+
+/**
+ * CmmWrapperPrivate class.
+ */
+class CmmWrapperPrivate
+    {
+
+public:
+
+    /**
+     * Default constructor
+     */
+    CmmWrapperPrivate(CmmWrapper *wrapper);
+
+    /**
+     * Destructor
+     */
+    ~CmmWrapperPrivate();
+
+public:
+    // New functions    
+
+    /**
+     * Fetches IAPs from CMM
+     * 
+     * @iapList, list of IAPs
+     * @return error code
+     */
+    int fetchIaps(QList<WlanQtUtilsIap*> &iapList);
+
+    /**
+     * Creates a new WLAN IAP through CMM
+     * 
+     * @aWlanAp WLAN parameters to store in IAP
+     * @return Created IAP, NULL in error cases
+     */
+    WlanQtUtilsWlanIap *createWlanIap(const WlanQtUtilsWlanAp *aWlanAp);
+    
+    /**
+     * Move IAP to the Internet SNAP
+     * 
+     * @param[in] iapId Which IAP to move
+     */
+    void moveIapToInternetSnap(TInt32 aIapId);
+        
+private:
+
+    /**
+     * Fetches IAPs from CMM, leaves in error cases
+     * 
+     * @iapList, list of IAPs
+     */
+    void fetchIapsL(QList<WlanQtUtilsIap*> &iapList);
+    
+    /**
+     * Creates a new WLAN IAP through CMM, leaves in error cases
+     * 
+     * @aWlanAp WLAN parameters to store in IAP
+     * @return Created IAP
+     */
+    WlanQtUtilsWlanIap *createWlanIapL(const WlanQtUtilsWlanAp *aWlanAp);
+
+    /**
+     * Move IAP to the Internet SNAP, leaves in error cases
+     * 
+     * @param[in] iapId Which IAP to move
+     */
+    void moveIapToInternetSnapL(TInt32 aIapId);
+        
+    /**
+     * Fetches IAPs of the given SNAP from CMM
+     * 
+     * @param[in] aSnapId ID of the SNAP whose IAPS are requested
+     * @param[out] aSnapsIapList Where to store IAPs
+     * @return Error code
+     */    
+    int getIapListFromSnap(
+        TUint32 aSnapId,
+        QList<WlanQtUtilsIap*>& aSnapsIapList);
+    
+    /**
+     * Fetches IAP information of the given ConnectionMethod from CMM
+     * 
+     * @param[in] aConnectionMethod Where to read info
+     * @return Created IAP
+     */    
+    WlanQtUtilsIap *getIapInfoL(
+        RCmConnectionMethodExt aConnectionMethod);
+    
+    /**
+     * Maps CMManager's WLAN security mode into WlanQtUtilsWlanSecMode.
+     * 
+     * @aSecModeFromCmManager security mode read from CMManager
+     * @return: Mapped security mode to be used in Wlan Qt Utilities.
+     */
+    WlanQtUtilsWlanSecMode cmm2WlanQtUtilsSecModeMap(int aSecModeFromCmManager);
+
+    /**
+     * Maps WlanQtUtilsWlanSecMode into CMManager's WLAN security mode.
+     * 
+     * @aWlanQtUtilsSecMode: Wlan Qt Utilities' WLAN security mode 
+     * @return: Mapped CMManager's WLAN security mode.
+     */
+    int wlanQtUtils2CmmSecModeMap(WlanQtUtilsWlanSecMode aWlanQtUtilsSecMode);
+
+private:
+    // Data
+
+    /**
+     * q_ptr pointer to CmmWrapper
+     * Owned by CmmWrapperPrivate object, instantiated in
+     * constructor.
+     */
+    CmmWrapper *q_ptr;
+
+    RCmManagerExt iCmManagerExt;
+
+    };
+
+QT_END_NAMESPACE
+
+#endif /* WLANQTUTILSCMMWRAPPER_S60_P_H_ */
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconmonwrapper.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,184 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANQTUTILSCONMONWRAPPER_H
+#define WLANQTUTILSCONMONWRAPPER_H
+
+// INCLUDES
+#include <QObject>
+#include <QList>
+#include <QStringList>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+#include "wlanqtutilscommon.h"
+
+// FORWARD DECLARATIONS
+class WlanQtUtilsWlanAp;
+class WlanQtUtilsActiveConn;
+class ConnMonScanWlanAps;
+class ConnMonConnInfo;
+class ConnMonConnDisconnect;
+
+// CLASS DECLARATION
+
+/**
+* ConMonWrapper class.
+*/
+class ConMonWrapper : public QObject
+{
+    Q_OBJECT
+    
+public:
+        
+    /**
+     * Constructor.
+     */
+    ConMonWrapper(QObject *parent = 0);
+    
+    /**
+    * Destructor.
+    */
+    ~ConMonWrapper();
+
+    /**
+     * Requests wlan scanning
+     *
+     * @return ???.
+     */
+    int scanAvailableWlanAPs();
+    
+    /**
+     * Emits available WLANs to engine.
+     * 
+     * @param[in] availableWlanAPs Available WLAN access points found in scan.
+     */
+    void emitAvailableWlans(QList<WlanQtUtilsWlanAp *> &availableWlanAPs);
+
+    /**
+     * Emits signal indicating that a new connection has been created.
+     * 
+     * @param[in] connectionId Connection ID.
+     */
+    void emitConnCreatedEvent(uint connectionId);
+    
+    /**
+     * Emits signal indicating that a connection has been deleted.
+     * 
+     * @param[in] connectionId Connection ID.
+     */
+    void emitConnDeletedEvent(uint connectionId);
+    
+    /**
+     * Emits signal indicating that status of a connection has changed.
+     * 
+     * @param[in] connectionId Connection ID.
+     * @param[in] connectionStatus Connection status.
+     */
+    void emitConnStatusEvent(uint connectionId, WlanQtUtilsConnectionStatus connectionStatus);
+
+    /**
+     * Return active connection information.
+     * 
+     * @return Information of active connection, if one exists.
+     */ 
+    WlanQtUtilsActiveConn *activeConnection();
+
+    /**
+     * Returns information of a connection with the given connection ID.
+     * 
+     * @param[in] connectionId Connection ID.
+     * @return Information of the given connection, if one exists.
+     */ 
+    WlanQtUtilsActiveConn *connectionInfo(uint connectionId);
+
+    /**
+     * Stops given connection regardless of how many applications are using it.
+     * 
+     * @param[in] iapId IAP ID to disconnect.
+     */ 
+    void disconnectIap(int iapId);
+        
+signals:
+
+    /**
+     * Signal indicating available WLAN access points.
+     * 
+     * @param[in] availableWlans Available WLAN access points found in scan.
+     */
+    void availableWlanApsFromWrapper(QList<WlanQtUtilsWlanAp *> &availableWlans);
+    
+    /**
+     * Signal indicating that a new connection has been created.
+     * 
+     * @param[in] connectionId Connection ID.
+     */
+    void connCreatedEventFromWrapper(uint connectionId);
+
+    /**
+     * Signal indicating that a connection has been deleted.
+     * 
+     * @param[in] connectionId Connection ID.
+     */
+    void connDeletedEventFromWrapper(uint connectionId);
+
+    /**
+     * Signal indicating that status of a connection has changed.
+     * 
+     * @param[in] connectionId Connection ID.
+     * @param[in] connectionStatus Connection status.
+     */
+    void connStatusEventFromWrapper(uint connectionId, WlanQtUtilsConnectionStatus connectionStatus);
+
+private: // Data
+    
+    /**
+    * d_ptrScanWlans pointer to ConMonWrapperPrivate
+    * Owned by ConMonWrapper object, instantiated in
+    * constructor.
+    */
+    ConnMonScanWlanAps *d_ptrScanWlans;
+    
+    /**
+    * d_ptrConnInfo pointer to ConMonWrapperPrivate
+    * Owned by ConMonWrapper object, instantiated in
+    * constructor.
+    */
+    ConnMonConnInfo *d_ptrConnInfo;
+
+    /**
+    * d_ptrConnDisconnect pointer to ConMonWrapperPrivate
+    * Owned by ConMonWrapper object, instantiated in
+    * constructor.
+    */
+    ConnMonConnDisconnect *d_ptrConnDisconnect;
+
+private: // Friend classes
+    // TestWlanQtUtils is defined as a friend class in order to be able to
+    // call event handlers of wrappers.
+    friend class TestWlanQtUtils;
+};
+
+QT_END_HEADER
+
+QT_END_NAMESPACE
+
+#endif /* WLANQTUTILSCONMONWRAPPER_H */
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconmonwrapper_s60_p.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,291 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * This is a header file for following classes:
+ * ConnMonScanWlanAps.
+ */
+
+#ifndef WLANQTUTILSCONMONWRAPPER_S60_P_H_
+#define WLANQTUTILSCONMONWRAPPER_S60_P_H_
+
+// INCLUDES
+#include <e32base.h>
+#include <rconnmon.h>
+#include "wlanqtutilscommon.h"
+
+class ConMonWrapper;
+
+QT_BEGIN_NAMESPACE
+
+// CLASS DECLARATION
+
+/**
+ * ConnMonScanWlanAps class.
+ */
+class ConnMonScanWlanAps : public CActive
+    {
+
+public:
+    // Constructor and destructor
+
+    /**
+     * Default constructor
+     */
+    ConnMonScanWlanAps(ConMonWrapper *wrapper);
+
+    /**
+     * Destructor
+     */
+    ~ConnMonScanWlanAps();
+
+public:
+    // New functions    
+
+    /**
+     * scanAvailableWlanAPs
+     * scans all available WLAN APs
+     * @return error code
+     */
+    int scanAvailableWlanAPs();
+
+private:
+    // From CActive
+
+    /**
+     * Implements cancellation of an outstanding request.
+     */
+    void DoCancel();
+
+    /**
+     * Handles an active object's request completion event.
+     */
+    void RunL();
+
+    /**
+     * conMon2WlanQtUtilsSecModeMap
+     * Maps Connection monitor's WLAN security mode value into WlanQtUtilsWlanSecMode.
+     * @aSecMode: security mode, ConnMon style,
+     * @return: security mode, Wlan Qt Utilities style.
+     */
+    WlanQtUtilsWlanSecMode conMon2WlanQtUtilsSecModeMap(TUint aSecMode);
+
+private:
+    // Data
+
+    /**
+     * q_ptr pointer to ConMonWrapper
+     * Owned by ConnMonScanWlanAps object, instantiated in
+     * constructor.
+     */
+    ConMonWrapper *q_ptr;
+
+    /**
+     * Handle to Connection Monitor Server
+     */
+    RConnectionMonitor iMonitor;
+
+    /**
+     * Scan package used with Connection Monitor Server scan request
+     * Owned by ConnMonScanWlanAps object.
+     */
+    CConnMonWlanNetworksPtrArrayPckg* wlanBuf;
+
+    /**
+     * wlan pointer variable used with Connection Monitor Server scan request
+     */
+    TPtr wlanPtr;
+    };
+
+// CLASS DECLARATION
+
+/**
+ * ConnMonConnInfo class.
+ */
+class ConnMonConnInfo : public MConnectionMonitorObserver
+    {
+public:
+    // Constructor and destructor
+
+    /**
+     * Default constructor
+     */
+    ConnMonConnInfo(ConMonWrapper *wrapper);
+
+    /**
+     * Destructor
+     */
+    ~ConnMonConnInfo();
+
+public:
+    // New functions    
+
+    /**
+     * Return active connection information.
+     * 
+     * @return Information of active connection, if one exists.
+     */ 
+    WlanQtUtilsActiveConn *activeConnection();
+
+    /**
+     * Returns information of a connection with the given connection ID.
+     * 
+     * @param[in] connectionId Connection ID.
+     * @return Information of the given connection, if one exists.
+     */ 
+    WlanQtUtilsActiveConn *connectionInfo(uint connectionId);
+
+    /**
+     * Updates information of a given active connection. Missing information will be filled in
+     * and information that is dynamic in nature will be updated.
+     * 
+     * @param[in] activeConn Current data of an active connection which will be updated.
+     *                       Connection ID and bearer type have to be valid.
+     */
+    void activeConnInfoUpdate( WlanQtUtilsActiveConn *activeConn );
+
+private:
+    // New private functions
+
+    /** 
+     * Starts monitoring observer events
+     */
+    void StartMonitoringL();
+
+    /** 
+     * Stops monitoring observer events
+     */
+    void StopMonitoring();
+
+    /**
+     * Event method is called every time an event occures
+     */
+    void EventL(const CConnMonEventBase& aConnMonEvent);
+
+    /**
+     * Maps Connection Monitor's WLAN connection mode value into
+     * WlanQtUtilsWlanConnMode.
+     *
+     * @param aConnMode Connection mode in Connection Monitor's style.
+     * @return Connection mode in Wlan Qt Utilities style.
+     */
+    static WlanQtUtilsWlanConnMode connMon2WlanQtUtilsConnModeMap(TInt aConnMode);
+
+    /**
+     * Maps Connection Monitor's connection status value into WlanQtUtilsConnectionStatus.
+     *
+     * @param aConnectionStatus Connection status as used by Connection Monitor server.
+     *                          These status are defined in nifvar.h.
+     * @return Connection status in Wlan Qt Utilities style.
+     */
+    static WlanQtUtilsConnectionStatus connMon2WlanQtUtilsConnectionStatusMap(TInt aConnectionStatus);
+
+    /**
+     * Maps Connection Monitor's bearer type value into WlanQtUtilsBearerType.
+     *
+     * @param aBearerType Bearer type as used by Connection Monitor server.
+     * @return Bearer type in Wlan Qt Utilities style.
+     */
+    static WlanQtUtilsBearerType connMon2WlanQtUtilsBearerTypeMap(TInt aBearerType);
+
+private:
+    // Data
+
+    /**
+     * q_ptr pointer to ConMonWrapper
+     * Owned by ConMonWrapperPrivate object, instantiated in
+     * constructor.
+     */
+    ConMonWrapper *q_ptr;
+
+    /** Handle to Connection Monitor Server. */
+    RConnectionMonitor iMonitor;
+
+    /** Request status. */
+    TRequestStatus iStatus;
+
+    /** Indicates whether connection monitoring is ON. */
+    TBool iMonitoring;
+    
+private: // Friend classes
+
+    // TestWlanQtUtils is defined as a friend class in order to be able to
+    // call event handlers of wrappers.
+    friend class TestWlanQtUtils;
+    };
+
+// CLASS DECLARATION
+
+/**
+ * ConnMonConnDisconnect class.
+ */
+class ConnMonConnDisconnect : public CActive
+    {
+
+public:
+    // Constructor and destructor
+
+    /**
+     * Default constructor
+     */
+    ConnMonConnDisconnect(ConMonWrapper *wrapper);
+
+    /**
+     * Destructor
+     */
+    ~ConnMonConnDisconnect();
+
+public:
+    // New functions    
+
+    /**
+     * disconnectConnection
+     * Stop connection
+     */
+    void disconnectConnection(int iapId);
+
+private:
+    // From CActive
+
+    /**
+     * Implements cancellation of an outstanding request.
+     */
+    void DoCancel();
+
+    /**
+     * Handles an active object's request completion event.
+     */
+    void RunL();
+
+private:
+    // Data
+
+    /**
+     * q_ptr pointer to ConMonWrapper
+     * Owned by ConMonWrapperPrivate object, instantiated in
+     * constructor.
+     */
+    ConMonWrapper *q_ptr;
+
+    /**
+     * Handle to Connection Monitor Server
+     */
+    RConnectionMonitor iMonitor;
+    };
+
+QT_END_NAMESPACE
+
+#endif /* WLANQTUTILSCONMONWRAPPER_S60_P_H_ */
+
+// End of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconntestwrapper.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANQTUTILSCONNTESTWRAPPER_H_
+#define WLANQTUTILSCONNTESTWRAPPER_H_
+
+#include <QObject>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class ConnTestWrapperPrivate;
+
+/**
+* ConnTestWrapper class.
+*/
+class ConnTestWrapper: public QObject
+{
+    Q_OBJECT
+    
+    // TestWlanQtUtils is defined as a friend class in order to be able to
+    // call event handlers of wrappers.
+    friend class TestWlanQtUtils;
+
+public: // Constructor and destructor
+    
+    /**
+    * Default constructor
+    */
+    ConnTestWrapper(QObject *parent = 0);
+    
+    /**
+    * Destructor
+    */
+    ~ConnTestWrapper();
+    
+public: 
+    
+    /**
+    * Called by private wrapper when connectivity test is ready.
+    * 
+    * @param[in] result Result of internet connectivity test
+    */
+    void connectivityTestDone(bool result);
+
+public slots:
+
+    /**
+    * Starts internet connectivity test.
+    * 
+    * @param[in] iapId iap id
+    * @param[in] netId network id
+    */
+    void startConnectivityTest(int iapId, int netId);
+        
+signals:
+
+    /**
+    * Signal for emitting connectivity test result.
+    * 
+    * @param[in] result Result of internet connectivity test
+    */
+    void connectivityTestResult(bool result);
+
+private:
+    
+    /**
+    * d_ptr pointer to ConnTestWrapperPrivate
+    * Owned by ConnTestWrapper object, instantiated in constructor.
+    */
+    ConnTestWrapperPrivate *d_ptr_;
+};
+
+QT_END_HEADER
+
+QT_END_NAMESPACE
+
+#endif /* WLANQTUTILSCONNTESTWRAPPER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsconntestwrapper_s60_p.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,93 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WLANQTUTILSCONNTESTWRAPPER_S60_P_H_
+#define WLANQTUTILSCONNTESTWRAPPER_S60_P_H_
+
+#include <ictsclientinterface.h>
+
+QT_BEGIN_NAMESPACE
+
+/**
+* ConnTestWrapperPrivate class.
+*/
+class ConnTestWrapperPrivate: public MIctsObserver
+{
+
+    // TestWlanQtUtils is defined as a friend class in order to be able to
+    // call event handlers of wrappers.
+    friend class TestWlanQtUtils;
+
+public:
+    
+    /**
+    * Default constructor
+    */
+    ConnTestWrapperPrivate(ConnTestWrapper *aWrapper);
+    
+    /**
+    * Destructor
+    */
+    ~ConnTestWrapperPrivate();
+
+public: // From MICTSObserver
+    
+    /**
+    * Called when internet connectivity tests are being done.
+    * 
+    * @param[in] aResult Result of connectivity test
+    * @param[in] aString String containing possible HTML response
+    */
+    void ConnectivityObserver( TIctsTestResult aResult, const TDesC& aString );
+
+public: 
+    
+    /**
+    * Starts internet connectivity test wrapped.
+    * 
+    * @param[in] iapId iap id
+    * @param[in] netId network id
+    */
+    void startConnectivityTest( int aIapId, int aNetId );
+    
+    /**
+    * Starts the actual internet connectivity test.
+    * 
+    * @param[in] iapId iap id
+    * @param[in] netId network id
+    */
+    void startConnectivityTestL( TInt aIapId, TInt aNetId );
+
+private:
+    
+    /**
+    * Pointer to ConnTestWrapper
+    * Owned by ConnTestWrapperPrivate object, instantiated in constructor.
+    */
+    ConnTestWrapper *q_ptr;
+    
+    /**
+    * Pointer to Internet Connectivity Test Service
+    * Owned by ConnTestWrapperPrivate.
+    */
+    CIctsClientInterface* iIct;
+
+};
+
+QT_END_NAMESPACE
+
+#endif /* WLANQTUTILSCONNTESTWRAPPER_S60_P_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsesockwrapper.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a header file for EsockWrapper class.
+*/
+
+#ifndef ESOCKWRAPPER_H_
+#define ESOCKWRAPPER_H_
+
+#include <QObject>
+
+QT_BEGIN_HEADER
+
+QT_BEGIN_NAMESPACE
+
+class EsockWrapperPrivate;
+
+/**
+ * Wrapper for connection handling.
+ */
+class EsockWrapper: public QObject
+{
+    Q_OBJECT
+    
+public:
+    
+    /**
+     * Default constructor
+     */
+    EsockWrapper(QObject *parent = 0);
+    
+    /**
+     * Destructor.
+     */
+    ~EsockWrapper();
+    
+public:
+
+    /**
+     * 
+     */
+    void updateConnection(bool isOpened);
+
+public slots:
+    
+    /**
+     * Starts connection creation to given IAP.
+     * 
+     * @param[in] iapId IAP ID.
+     */
+    void connectIap(int iapId);
+    
+    /**
+     * Disconnects connection.
+     */
+    void disconnectIap();
+    
+signals:
+
+    void connectionStatusFromWrapper(bool isOpened);   
+
+private: // Data
+    
+    /** Private esock wrapper. */
+    EsockWrapperPrivate *d_ptr;
+};
+
+QT_END_HEADER
+
+QT_END_NAMESPACE
+
+#endif /*ESOCKWRAPPER_H_*/
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/inc/wlanqtutilsesockwrapper_s60_p.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,91 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef ESOCKWRAPPER_S60_P_H_
+#define ESOCKWRAPPER_S60_P_H_
+
+// INCLUDES
+#include <es_sock.h>
+
+QT_BEGIN_NAMESPACE
+
+// CLASS DECLARATION
+
+/**
+* EsockWrapperPrivate class.
+*/
+class EsockWrapperPrivate: public CActive
+{
+
+public:  // Constructor and destructor
+    
+    /**
+    * Default constructor
+    */
+    EsockWrapperPrivate(EsockWrapper *aWrapper);
+    
+    /**
+     * Destructor
+     */
+    ~EsockWrapperPrivate();
+
+public: // New functions
+    
+    /**
+    * connectIap
+    * Starts connection creation.
+    */
+    void connectIap(int aIapId);
+    
+    /**
+    * dsiconnectIap
+    * Stops connection.
+    */
+    void disconnectIap();
+
+private: // Functions from base class
+    
+    /**
+    * RunL
+    * Called when the scheduled function ends.
+    */
+    void RunL();
+    
+    /**
+    * DoCancel
+    * Cancels operations.
+    */
+    void DoCancel();
+        
+private: // Data
+    
+    /**
+    * q_ptr pointer to ConnectionWrapper
+    * Owned by ConnectionWrapperPrivate object, instantiated in
+    * constructor.
+    */
+    EsockWrapper *q_ptr;
+    
+    RSocketServ iSocketServer;
+    RConnection iConnection;
+};
+
+QT_END_NAMESPACE
+
+#endif /*ESOCKWRAPPER_S60_P_H_*/
+
+// End of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilscmmwrapper.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,55 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a source file for CmmWrapper class.
+*/
+
+// INCLUDE FILES
+#include "wlanqtutilscmmwrapper.h"
+#include "wlanqtutilscmmwrapper_s60_p.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilswlaniap.h"
+#include "wlanqtutilswlanap.h"
+
+// ================= MEMBER FUNCTIONS =======================
+//
+
+CmmWrapper::CmmWrapper( QObject *parent ) :
+    QObject( parent )
+{
+    d_ptr = new CmmWrapperPrivate( this );
+}
+
+CmmWrapper::~CmmWrapper()
+{
+    delete d_ptr;
+}
+
+int CmmWrapper::fetchIaps( QList<WlanQtUtilsIap*>& iapList )
+{
+    int error = d_ptr->fetchIaps( iapList );
+    return error;
+}
+
+WlanQtUtilsWlanIap *CmmWrapper::createWlanIap( const WlanQtUtilsWlanAp *wlanAp )
+{
+    return d_ptr->createWlanIap( wlanAp );
+}
+
+void CmmWrapper::moveIapToInternetSnap( int iapId )
+{
+    return d_ptr->moveIapToInternetSnap( iapId );
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilscmmwrapper_s60.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,388 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * This is a source file for CmmWrapperPrivate class.
+ */
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <cmmanagerdef.h>
+#include <cmconnectionmethodext.h>
+#include <cmdestinationext.h>
+#include <cmpluginwlandef.h>
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilsiap.h"
+#include "wlanqtutilswlanap.h"
+#include "wlanqtutilswlaniap.h"
+#include "wlanqtutilscmmwrapper.h"
+#include "wlanqtutilscmmwrapper_s60_p.h"
+
+#ifdef WLANQTUTILS_NO_OST_TRACES_FLAG
+#include <opensystemtrace.h>
+#else
+#include "OstTraceDefinitions.h"
+#endif
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilscmmwrapper_s60Traces.h"
+#endif
+
+
+// =========== PRIVATE CLASS MEMBER FUNCTIONS ===============
+//
+// ---------------------------------------------------------
+// CmmWrapperPrivate::CmmWrapperPrivate()
+// Constructor
+// ---------------------------------------------------------
+//
+CmmWrapperPrivate::CmmWrapperPrivate(CmmWrapper *wrapper) :
+    q_ptr(wrapper)
+    {
+    OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATE_ENTRY, this );
+    
+    TRAPD(err, iCmManagerExt.OpenL());
+    if (err != KErrNone) {
+        // todo
+    }
+    
+    OstTraceFunctionExit1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATE_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::CmmWrapperPrivate()
+// Destructor
+// ---------------------------------------------------------
+//
+CmmWrapperPrivate::~CmmWrapperPrivate()
+    {
+    OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATEDESTR_ENTRY, this );
+    
+    iCmManagerExt.Close();
+
+    OstTraceFunctionExit1( CMMWRAPPERPRIVATE_CMMWRAPPERPRIVATEDESTR_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::fetchIaps()
+// ---------------------------------------------------------
+//
+int CmmWrapperPrivate::fetchIaps(QList<WlanQtUtilsIap*>& iapList)
+    {    
+    TRAPD(err, fetchIapsL(iapList));
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::fetchIapsL()
+// ---------------------------------------------------------
+//
+void CmmWrapperPrivate::fetchIapsL(QList<WlanQtUtilsIap*>& iapList)
+    {
+    OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_FETCHIAPSL_ENTRY, this );
+    
+    // reset the list, just in case
+    iapList.clear();
+    
+    //Array granularity 10
+    RArray<TUint32> destinationIdArray = RArray<TUint32> (10);
+
+    destinationIdArray.Reset();
+    iCmManagerExt.AllDestinationsL(destinationIdArray);
+
+    // looping all the SNAPs through
+    QList<WlanQtUtilsIap*> snapsIapList;
+    for (TInt i = 0; i < destinationIdArray.Count(); i++)
+        {
+        snapsIapList.clear();
+        RCmDestinationExt dest;
+        dest = iCmManagerExt.DestinationL(destinationIdArray[i]);
+        TUint32 id = dest.Id();
+
+        if (getIapListFromSnap(id, snapsIapList) == KErrNone)
+            {
+            iapList.append(snapsIapList);
+            }
+        }
+
+    OstTraceFunctionExit1( CMMWRAPPERPRIVATE_FETCHIAPSL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::createWlanIap()
+// Creates a new WLAN IAP
+// ---------------------------------------------------------
+//
+WlanQtUtilsWlanIap *CmmWrapperPrivate::createWlanIap(const WlanQtUtilsWlanAp *aWlanAp)
+    {
+    WlanQtUtilsWlanIap *iap = NULL;
+
+    TRAPD(err, iap = createWlanIapL(aWlanAp));
+
+    if (err != KErrNone)
+        {
+        // Todo: trace
+        }
+    return iap;
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::createWlanIapL()
+// Creates a new WLAN IAP
+// ---------------------------------------------------------
+//
+WlanQtUtilsWlanIap *CmmWrapperPrivate::createWlanIapL(const WlanQtUtilsWlanAp *aWlanAp)
+    {
+    OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_CREATEWLANIAPL_ENTRY, this );
+    
+    // Create the new IAP
+    RCmConnectionMethodExt plugin = iCmManagerExt.CreateConnectionMethodL(
+            KUidWlanBearerType);
+    CleanupClosePushL(plugin);
+
+    // Convert QString to Symbian buffer
+    TBufC<KMaxSsidLen> buffer(aWlanAp->ssid().utf16());
+
+    WlanQtUtilsWlanSecMode secMode = aWlanAp->securityMode();
+    int cmManagersSecMode = wlanQtUtils2CmmSecModeMap(secMode);
+
+    plugin.SetStringAttributeL(CMManager::ECmName, buffer);
+    plugin.SetStringAttributeL(CMManager::EWlanSSID, buffer);
+    plugin.SetIntAttributeL(CMManager::EWlanSecurityMode, cmManagersSecMode);
+    // Todo: other parameters such as security keys
+#if 0
+    // TODO the security settings API plugin needs to be initialized here
+    // with the iap id.
+    // Check if the key value has been given
+    QString key = aWlanAp->securityKey();
+    if ( key.length() > 0 )
+        {
+        // Set the security key values here
+        if ( secMode == CMManager::EWlanSecModeWpa || 
+             secMode == CMManager::EWlanSecModeWpa2 )
+            {
+            // Store the WPA key to the database using the security settings API
+            TBufC<KMaxWEPKeyLen> bufKey(key.utf16());
+            plugin.SetStringAttributeL( CMManager::EWlanWpaPreSharedKey, bufKey );
+        
+            }
+        else if ( secMode == CMManager::EWlanSecModeWep )
+            {
+            // Store the WPA key to the database using the security settings API
+            TBufC<KMaxWPAKeyLen> bufKey(key.utf16());
+            plugin.SetStringAttributeL( CMManager::EWlanWepKey1, bufKey );
+            }
+        }
+#endif
+
+    plugin.UpdateL();
+
+    TInt iapId = plugin.GetIntAttributeL(CMManager::ECmIapId);
+    
+    CleanupStack::PopAndDestroy(&plugin); // Close() called on "plugin"
+
+    // Read details of the new IAP and create the WLAN IAP class
+    RCmConnectionMethodExt connectionMethod = iCmManagerExt.ConnectionMethodL( iapId );
+    WlanQtUtilsIap *newIap = getIapInfoL(connectionMethod);
+    
+    OstTraceFunctionExit1( CMMWRAPPERPRIVATE_CREATEWLANIAPL_EXIT, this );
+    return qobject_cast<WlanQtUtilsWlanIap *>(newIap);
+    }
+    
+// ---------------------------------------------------------
+// CmmWrapperPrivate::moveIapToInternetSnap()
+// ---------------------------------------------------------
+//
+void CmmWrapperPrivate::moveIapToInternetSnap( TInt32 aIapId )
+    {
+    TRAPD( err, moveIapToInternetSnapL( aIapId ) );
+    if (err != KErrNone)
+        {
+        // todo: add trace
+        }
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::moveIapToInternetSnapL()
+// ---------------------------------------------------------
+//
+void CmmWrapperPrivate::moveIapToInternetSnapL( TInt32 aIapId )
+    {
+    OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_MOVEIAPTOINTERNETSNAPL_ENTRY, this );
+    
+    // Read all destination(SNAP) settings into an array
+    RArray<TUint32> destinations;
+    CleanupClosePushL(destinations);
+    iCmManagerExt.AllDestinationsL(destinations);
+    RCmDestinationExt destination;
+    // Loop through each destination
+    for(TInt i = 0; i < destinations.Count(); i++)
+        {
+        destination = iCmManagerExt.DestinationL(destinations[i]);
+        CleanupClosePushL(destination); 
+        // Internet destination will always exist in the system.
+        // Internet destination will have ESnapPurposeInternet set in its metadata.
+        if (destination.MetadataL(CMManager::ESnapMetadataPurpose) == CMManager::ESnapPurposeInternet)
+            {
+            RCmConnectionMethodExt iap = iCmManagerExt.ConnectionMethodL( aIapId );
+            CleanupClosePushL( iap );        
+            destination.AddConnectionMethodL( iap );
+            destination.UpdateL();
+            CleanupStack::PopAndDestroy(); // iap
+            }
+        CleanupStack::PopAndDestroy(); // destination
+        }
+    CleanupStack::PopAndDestroy(); // destinations
+
+    OstTraceFunctionExit1( CMMWRAPPERPRIVATE_MOVEIAPTOINTERNETSNAPL_EXIT, this );
+    }
+    
+// ---------------------------------------------------------
+// CmmWrapperPrivate::getIapListFromSnap()
+// ---------------------------------------------------------
+//
+int CmmWrapperPrivate::getIapListFromSnap(TUint32 aDestId,
+        QList<WlanQtUtilsIap*>& iapList)
+    {
+    OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_GETIAPLISTFROMSNAP_ENTRY, this );
+    
+    RCmDestinationExt dest;
+    TRAPD(err, dest = iCmManagerExt.DestinationL(aDestId));
+    if (err != KErrNone)
+        {
+        OstTraceFunctionExit1( CMMWRAPPERPRIVATE_GETIAPLISTFROMSNAP_EXIT, this );
+        return err;
+        }
+
+    // Copy IAPs from the SNAP into iapList.
+    int destIapCount = dest.ConnectionMethodCount();
+    for (TInt i = 0; i < destIapCount; i++)
+        {
+        WlanQtUtilsIap* iap = NULL;
+        TRAP(err, iap = getIapInfoL(dest.ConnectionMethodL(i)));
+        
+        if (err == KErrNone)
+            {
+            iapList.append(iap);
+            }
+        }
+
+    OstTraceFunctionExit1( DUP1_CMMWRAPPERPRIVATE_GETIAPLISTFROMSNAP_EXIT, this );
+    return err;
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::getIapInfoL()
+// ---------------------------------------------------------
+//
+WlanQtUtilsIap *CmmWrapperPrivate::getIapInfoL(
+    RCmConnectionMethodExt aConnectionMethod)
+    {
+    OstTraceFunctionEntry1( CMMWRAPPERPRIVATE_GETIAPINFOL_ENTRY, this );
+    
+    TUint iapId = aConnectionMethod.GetIntAttributeL(CMManager::ECmIapId);
+    
+    TUint netId = aConnectionMethod.GetIntAttributeL(CMManager::ECmNetworkId);
+
+    HBufC* iapName = aConnectionMethod.GetStringAttributeL(CMManager::ECmName);
+
+    TUint iapBearerType = aConnectionMethod.GetIntAttributeL(CMManager::ECmBearerType);
+
+    QString name = QString::fromUtf16(iapName->Ptr(), iapName->Length());
+    WlanQtUtilsBearerType bearer;
+
+    WlanQtUtilsIap* newIap = NULL;
+    if (iapBearerType == KUidPacketDataBearerType)
+        {
+        bearer = WlanQtUtilsBearerTypeCellular;
+        newIap = new WlanQtUtilsIap(iapId, netId, name, bearer);
+        }
+    else
+        {
+        TInt secModeFromCmManager =
+                aConnectionMethod.GetIntAttributeL(CMManager::EWlanSecurityMode);
+        WlanQtUtilsWlanSecMode secMode = cmm2WlanQtUtilsSecModeMap(secModeFromCmManager);
+        bearer = WlanQtUtilsBearerTypeWlan;
+        //Note ssid is set same as iap name
+        WlanQtUtilsWlanIap* wlanIap = 
+            new WlanQtUtilsWlanIap(iapId, netId, name, bearer, name, secMode);
+        newIap = wlanIap;
+        }
+
+    OstTraceFunctionExit1( CMMWRAPPERPRIVATE_GETIAPINFOL_EXIT, this );
+    return newIap;
+    }
+
+// ---------------------------------------------------------
+// CmmWrapperPrivate::cmm2WlanQtUtilsSecModeMap()
+// Maps CMManager's WLAN security mode into WlanQtUtilsWlanSecMode.
+// CMManager uses sec mode type TConnMonSecurityMode defined
+// in rconnmon.h.
+// ---------------------------------------------------------
+//
+WlanQtUtilsWlanSecMode CmmWrapperPrivate::cmm2WlanQtUtilsSecModeMap(int aSecModeFromCmManager)
+    {
+    WlanQtUtilsWlanSecMode ret;
+    switch (aSecModeFromCmManager)
+        {
+        case CMManager::EWlanSecModeWep:
+            ret = WlanQtUtilsWlanSecModeWep;
+            break;
+        case CMManager::EWlanSecMode802_1x:
+            ret = WlanQtUtilsWlanSecMode802_1x;
+            break;
+        case CMManager::EWlanSecModeWpa:
+            ret = WlanQtUtilsWlanSecModeWpa;
+            break;
+        case CMManager::EWlanSecModeWpa2:
+            ret = WlanQtUtilsWlanSecModeWpa2;
+            break;
+        default:
+            ret = WlanQtUtilsWlanSecModeOpen;
+            break;
+        }
+    
+    return ret;
+    }
+
+// ---------------------------------------------------------
+// Maps WlanQtUtilsWlanSecMode into CMManager's WLAN security mode
+// (TWlanSecMode, defined in cmpluginwlandef.h).
+// ---------------------------------------------------------
+//
+int CmmWrapperPrivate::wlanQtUtils2CmmSecModeMap(WlanQtUtilsWlanSecMode aWlanQtUtilsSecMode)
+    {
+    int ret;
+    switch (aWlanQtUtilsSecMode)
+        {
+        case WlanQtUtilsWlanSecModeWep:
+            ret = CMManager::EWlanSecModeWep;
+            break;
+        case WlanQtUtilsWlanSecMode802_1x:
+            ret = CMManager::EWlanSecMode802_1x;
+            break;
+        case WlanQtUtilsWlanSecModeWpa:
+            ret = CMManager::EWlanSecModeWpa;
+            break;
+        case WlanQtUtilsWlanSecModeWpa2:
+            ret = CMManager::EWlanSecModeWpa2;
+            break;
+        default:
+            ret = CMManager::EWlanSecModeOpen;
+            break;
+        }
+
+    return ret;
+    }
+
+//end of file
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconmonwrapper.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,79 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <cmdestinationext.h>
+#include <cmmanagerext.h>
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsconmonwrapper_s60_p.h"
+
+// ================= MEMBER FUNCTIONS =======================
+
+ConMonWrapper::ConMonWrapper(QObject *parent)
+ : QObject(parent)
+{
+    d_ptrScanWlans = new ConnMonScanWlanAps(this);
+    d_ptrConnInfo = new ConnMonConnInfo(this);
+    d_ptrConnDisconnect = new ConnMonConnDisconnect(this);
+}
+
+ConMonWrapper::~ConMonWrapper()
+{
+    delete d_ptrScanWlans;
+    delete d_ptrConnInfo;
+    delete d_ptrConnDisconnect;
+}
+
+int ConMonWrapper::scanAvailableWlanAPs()
+{
+    return d_ptrScanWlans->scanAvailableWlanAPs();
+}
+
+void ConMonWrapper::emitAvailableWlans(QList<WlanQtUtilsWlanAp *> &availableWlanAPs)
+{
+    emit availableWlanApsFromWrapper(availableWlanAPs);
+}
+
+void ConMonWrapper::emitConnCreatedEvent(uint connectionId)
+{
+   emit connCreatedEventFromWrapper(connectionId);
+}
+
+void ConMonWrapper::emitConnDeletedEvent(uint connectionId)
+{
+   emit connDeletedEventFromWrapper(connectionId);
+}
+
+void ConMonWrapper::emitConnStatusEvent(uint connectionId, WlanQtUtilsConnectionStatus connectionStatus)
+{
+   emit connStatusEventFromWrapper(connectionId, connectionStatus);
+}
+
+WlanQtUtilsActiveConn *ConMonWrapper::activeConnection()
+{
+    return d_ptrConnInfo->activeConnection();
+}
+
+WlanQtUtilsActiveConn* ConMonWrapper::connectionInfo(uint connectionId)
+{
+    return d_ptrConnInfo->connectionInfo(connectionId);
+}
+
+void ConMonWrapper::disconnectIap(int iapId)
+{
+   d_ptrConnDisconnect->disconnectConnection(iapId);
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconmonwrapper_s60.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,633 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * This is a source file for following classes:
+ * ConnMonScanWlanAps,
+ * ConnMonConnInfo,
+ * ConnMonConnDisconnect
+ */
+
+// INCLUDE FILES
+#include <cmconnectionmethodext.h>
+#include <rconnmon.h>
+#include <nifvar.h>
+
+#include "wlanqtutilscommon.h"
+#include "wlanqtutilswlanap.h"
+#include "wlanqtutilsactiveconn.h"
+#include "wlanqtutilsconmonwrapper.h"
+#include "wlanqtutilsconmonwrapper_s60_p.h"
+
+#ifdef WLANQTUTILS_NO_OST_TRACES_FLAG
+#include <opensystemtrace.h>
+#else
+#include "OstTraceDefinitions.h"
+#endif
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsconmonwrapper_s60Traces.h"
+#endif
+
+
+// =========== PRIVATE CLASS MEMBER FUNCTIONS ===============
+//
+// ---------------------------------------------------------
+// ConnMonScanWlanAps::ConnMonScanWlanAps()
+// Constructor
+// ---------------------------------------------------------
+//
+ConnMonScanWlanAps::ConnMonScanWlanAps(ConMonWrapper *wrapper) :
+    CActive(EPriorityStandard), q_ptr(wrapper), wlanPtr(0, 0)
+    {
+    OstTraceFunctionEntry1( CONNMONSCANWLANAPS_CONNMONSCANWLANAPS_ENTRY, this );
+    
+    CActiveScheduler::Add(this);
+    // TBD: What if this leaves?
+    // Beware! iConnMon.ConnectL() can
+    // both leave AND return an error code..
+    // User::LeaveIfError( iMonitor.ConnectL() );
+    iMonitor.ConnectL();
+
+    OstTraceFunctionExit1( CONNMONSCANWLANAPS_CONNMONSCANWLANAPS_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonScanWlanAps::ConnMonScanWlanAps()
+// Destructor
+// ---------------------------------------------------------
+//
+ConnMonScanWlanAps::~ConnMonScanWlanAps()
+    {
+    OstTraceFunctionEntry1( CONNMONSCANWLANAPS_CONNMONSCANWLANAPSDESTR_ENTRY, this );
+    
+    Cancel();
+    // Cancel notifications and close connection monitor session
+    iMonitor.Close();
+    if (wlanBuf)
+        {
+        delete wlanBuf;
+        }
+
+    OstTraceFunctionExit1( CONNMONSCANWLANAPS_CONNMONSCANWLANAPSDESTR_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonScanWlanAps::DoCancel()
+// 
+// ---------------------------------------------------------
+//
+void ConnMonScanWlanAps::DoCancel()
+    {
+    OstTraceFunctionEntry1( CONNMONSCANWLANAPS_DOCANCEL_ENTRY, this );
+    // TODO: error handling
+    OstTraceFunctionExit1( CONNMONSCANWLANAPS_DOCANCEL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonScanWlanAps::RunL()
+// Called when scan is ready. Emits scan results in a signal.
+// ---------------------------------------------------------
+//
+void ConnMonScanWlanAps::RunL()
+    {
+    OstTraceFunctionEntry1( CONNMONSCANWLANAPS_RUNL_ENTRY, this );
+    
+    if (iStatus == KErrNone)
+        {
+        RConnMonWlanNetworksPtrArray wlanPtrArray;
+        wlanBuf->UnpackToL(wlanPtrArray);
+        QList<WlanQtUtilsWlanAp*> wlanScanResult;
+
+        for (TInt i = 0; i < wlanPtrArray.Count(); i++)
+            {
+            WlanQtUtilsWlanAp *ap = new WlanQtUtilsWlanAp();
+
+            // Security mode values defined in enum TConnMonSecurityMode, rconnmon.h.
+            TUint connMonWlanSecMode;
+            WlanQtUtilsWlanSecMode wlanQtUtilsWlanSecMode;
+
+            TBuf<CConnMonWlanNetwork::KMaxNameLength> wlanName =
+                    wlanPtrArray[i]->Name();
+
+            QString wlanNameInQt = QString::fromUtf16(wlanName.Ptr(),
+                    wlanName.Length());
+
+            if (wlanNameInQt.length() == 1 && wlanNameInQt.at(0).unicode()
+                    == 0)
+                {
+                // QString handles empty strings (single \0 char) strangely,
+                // so let's initialize them in a different way:
+                wlanNameInQt = "";
+                }
+
+            ap->setSsid(wlanNameInQt);
+
+            // TODO: Won't compile to ARMV5 for some reason. Commented for awhile. 
+            //TBuf8<CConnMonWlanNetwork::KWlanBssId> wlanBssid = wlanPtrArray[i]->WlanBssid();
+            //ap->setBssid(QString::fromUtf8(wlanBssid.Ptr(), wlanBssid.Length()));
+            ap->setBssid("addMAC");
+
+            TUint wlanConnectionMode = wlanPtrArray[i]->ConnectionMode();
+            ap->setConnectionMode(wlanConnectionMode);
+
+            TUint wlanSignalStrength = wlanPtrArray[i]->SignalStrength();
+            ap->setSignalStrength(wlanSignalStrength);
+
+            connMonWlanSecMode = wlanPtrArray[i]->SecurityMode();
+            wlanQtUtilsWlanSecMode = conMon2WlanQtUtilsSecModeMap(connMonWlanSecMode);
+            ap->setSecurityMode(wlanQtUtilsWlanSecMode);
+
+            wlanScanResult.append(ap);
+            delete wlanPtrArray[i];
+            }
+        q_ptr->emitAvailableWlans(wlanScanResult);
+        wlanPtrArray.Close();
+        delete wlanBuf;
+        wlanBuf = NULL;
+        // TODO: Is this enough for clearing QList containing ConnUtilsWlanAps?
+        wlanScanResult.clear();
+        }
+    else
+        {
+        // TODO: add error handling
+        }
+    
+    OstTraceFunctionExit1( CONNMONSCANWLANAPS_RUNL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonScanWlanAps::scanAvailableWlanAPs()
+// Gets APs from Connection Monitor
+// ---------------------------------------------------------
+//
+int ConnMonScanWlanAps::scanAvailableWlanAPs()
+    {
+    OstTraceFunctionEntry1( CONNMONSCANWLANAPS_SCANAVAILABLEWLANAPS_ENTRY, this );
+
+    if (!IsActive())
+        {
+        // TODO: What size for wlanBuf? How to know exact size?
+        // 2560 ~ 35 wlan APs
+        wlanBuf = new (ELeave) CConnMonWlanNetworksPtrArrayPckg(2560);
+        wlanPtr.Set(wlanBuf->Buf()->Des());
+
+        iMonitor.GetPckgAttribute(EBearerIdWLAN, 0, KWlanNetworks, wlanPtr,
+                iStatus);
+        SetActive();            
+        }
+    
+    OstTraceFunctionExit1( CONNMONSCANWLANAPS_SCANAVAILABLEWLANAPS_EXIT, this );
+    return KErrNone;
+    }
+
+// ---------------------------------------------------------
+// ConMonScanWlanAps::connMon2WlanQtUtilsSecModeMap()
+// Map security mode from Connection Monitor into WlanQtUtilsWlanSecMode.
+// ---------------------------------------------------------
+//
+WlanQtUtilsWlanSecMode ConnMonScanWlanAps::conMon2WlanQtUtilsSecModeMap(TUint connMonSecMode)
+    {
+    WlanQtUtilsWlanSecMode ret = WlanQtUtilsWlanSecModeNone;
+    switch (connMonSecMode)
+        {
+        case EConnMonSecurityWep:
+            ret = WlanQtUtilsWlanSecModeWep;
+            break;
+        case EConnMonSecurity802d1x:
+            ret = WlanQtUtilsWlanSecMode802_1x;
+            break;
+        case EConnMonSecurityWpa:
+            ret = WlanQtUtilsWlanSecModeWpa;
+            break;
+        case EConnMonSecurityWpaPsk:
+            ret = WlanQtUtilsWlanSecModeWpa2;
+            break;
+        default:
+            // TODO: should default be None/unknown or should there be assert against EConnMonSecurityOpen.
+            ret = WlanQtUtilsWlanSecModeOpen;
+            break;
+        }
+    
+    return ret;
+    }
+
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::ConnMonConnInfo()
+// Constructor
+// ---------------------------------------------------------
+//
+ConnMonConnInfo::ConnMonConnInfo(ConMonWrapper *wrapper) :
+    q_ptr(wrapper)
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_CONNMONCONNINFO_ENTRY, this );
+    
+    iMonitor.ConnectL();
+    StartMonitoringL();
+    
+    OstTraceFunctionExit1( CONNMONCONNINFO_CONNMONCONNINFO_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::~ConnMonConnInfo()
+// Destructor
+// ---------------------------------------------------------
+//
+ConnMonConnInfo::~ConnMonConnInfo()
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_CONNMONCONNINFODESTR_ENTRY, this );
+    
+    StopMonitoring();
+    iMonitor.Close();
+    
+    OstTraceFunctionExit1( CONNMONCONNINFO_CONNMONCONNINFODESTR_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::StartMonitoringL()
+// Starts monitoring of Connection Monitor Server events
+// ---------------------------------------------------------
+//
+void ConnMonConnInfo::StartMonitoringL()
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_STARTMONITORINGL_ENTRY, this );
+    
+    iMonitoring = ETrue;
+    iMonitor.NotifyEventL(*this);
+    
+    OstTraceFunctionExit1( CONNMONCONNINFO_STARTMONITORINGL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::StopMonitoring()
+// Stops monitoring of Connection Monitor Server events
+// ---------------------------------------------------------
+//
+void ConnMonConnInfo::StopMonitoring()
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_STOPMONITORING_ENTRY, this );
+    
+    iMonitoring = EFalse;
+    iMonitor.CancelNotifications();
+
+    OstTraceFunctionExit1( CONNMONCONNINFO_STOPMONITORING_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::EventL()
+// Handler of Connection Monitor Server events
+// ---------------------------------------------------------
+//
+void ConnMonConnInfo::EventL(const CConnMonEventBase& aConnMonEvent)
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_EVENTL_ENTRY, this );
+    
+    TUint connectionId = aConnMonEvent.ConnectionId();
+    OstTraceExt2(
+        TRACE_NORMAL,
+        CONNMONCONNINFO_EVENTL_EVENTTYPE,
+        "ConnMonConnInfo::EventL;connectionId=%u;aConnMonEvent.EventType()=%d", connectionId, aConnMonEvent.EventType() );
+
+    // Note: Conversions from CConnMonEventBase to sub classes cannot be made to use dynamic_cast
+    // because constructors of CConnMonEventBase and its sub classes are not public in
+    // connmon library's interface.
+
+    switch (aConnMonEvent.EventType())
+        {
+        case EConnMonCreateConnection:
+            q_ptr->emitConnCreatedEvent( connectionId );
+            break;
+        case EConnMonDeleteConnection:
+
+            // TODO: take the following into use.
+            // const CConnMonDeleteConnection* eventDelete; 
+            // eventDelete = static_cast< const CConnMonDeleteConnection*>( &aConnMonEvent );
+            //TUint totalDlVolume = eventDelete->DownlinkData();
+            //TUint totalUlVolume = eventDelete->UplinkData();
+            //TBool authDelete    = eventDelete->AuthoritativeDelete();
+
+            q_ptr->emitConnDeletedEvent( connectionId );
+            break;
+        case EConnMonConnectionStatusChange:
+            const CConnMonConnectionStatusChange* eventConnectionStatusChange;
+            eventConnectionStatusChange =
+                static_cast< const CConnMonConnectionStatusChange* >( &aConnMonEvent );
+            WlanQtUtilsConnectionStatus connectionStatus;
+            connectionStatus = connMon2WlanQtUtilsConnectionStatusMap(
+                eventConnectionStatusChange->ConnectionStatus() );
+            
+            OstTraceExt2(
+                TRACE_NORMAL,
+                CONNMONCONNINFO_EVENTL_CONNSTATUS,
+                "ConnMonConnInfo::EventL;connectionId=%u;eventConnectionStatusChange->ConnectionStatus()=%d",
+                connectionId,
+                eventConnectionStatusChange->ConnectionStatus() );
+
+            if (connectionStatus != WlanQtUtilsConnectionStatusNone) {
+                q_ptr->emitConnStatusEvent( connectionId, connectionStatus );
+            }
+            break;
+        default:
+            break;
+        }
+
+    OstTraceFunctionExit1( CONNMONCONNINFO_EVENTL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::activeConnection()
+// ---------------------------------------------------------
+//
+WlanQtUtilsActiveConn *ConnMonConnInfo::activeConnection()
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_ACTIVECONNECTION_ENTRY, this );
+    
+    // Get number of active connections
+    TRequestStatus status;
+
+    TUint numConnections = 0;
+    iMonitor.GetConnectionCount( numConnections, status );
+    User::WaitForRequest( status );
+    if ( status.Int() == KErrNone )
+        {
+        // Get connection info of this connection
+        for ( TUint i = 1; i <= numConnections; i++ )
+            {
+            TUint numSubConnections = 0;
+            TUint connectionId = 0;
+            TInt ret = iMonitor.GetConnectionInfo( i, connectionId, numSubConnections );
+            Q_ASSERT( ret == KErrNone ); // TODO: error handling
+    
+            WlanQtUtilsActiveConn* activeConn = connectionInfo( connectionId );
+            if ( activeConn != NULL )
+                {
+                // connectionInfo() only returns WLAN connections, and there may be only
+                // one active WLAN connection, so this is the one we want to return
+                OstTraceFunctionExit1( CONNMONCONNINFO_ACTIVECONNECTION_EXIT, this );
+                return activeConn;
+                }
+            }
+        }
+
+    OstTraceFunctionExit1( DUP1_CONNMONCONNINFO_ACTIVECONNECTION_EXIT, this );
+    return NULL;
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::connectionInfo()
+// ---------------------------------------------------------
+//
+WlanQtUtilsActiveConn *ConnMonConnInfo::connectionInfo( uint connectionId )
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_CONNECTIONINFO_ENTRY, this );
+    
+    TRequestStatus status;
+    WlanQtUtilsActiveConn *activeConn = NULL;
+
+    // Get the connection bearer.
+    TInt bearer = 0;
+    iMonitor.GetIntAttribute(
+            connectionId,
+            0,
+            KBearer,
+            bearer,
+            status );
+    User::WaitForRequest( status );
+    if ( status.Int() == KErrNone )
+        {
+        // We are only interested in WLAN connections. 
+        WlanQtUtilsBearerType bearerType = connMon2WlanQtUtilsBearerTypeMap( bearer );
+        if ( bearerType == WlanQtUtilsBearerTypeWlan )
+            {
+            activeConn = new WlanQtUtilsActiveConn();
+            activeConn->setConnectionId( connectionId );
+            activeConn->setBearerType( bearerType );
+            activeConnInfoUpdate( activeConn );
+            }
+        }
+
+    OstTraceFunctionExit1( CONNMONCONNINFO_CONNECTIONINFO_EXIT, this );
+    return activeConn;
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::activeConnInfoUpdate()
+// Requests active connection info from Connection Monitor Server
+// ---------------------------------------------------------
+//
+// TODO: divide this function into smaller pieces depending on the need.
+// TODO: optimize so that all the information is not always requested from connmon.
+//       Only information that is missing is requested.
+void ConnMonConnInfo::activeConnInfoUpdate( WlanQtUtilsActiveConn *activeConn )
+    {
+    OstTraceFunctionEntry1( CONNMONCONNINFO_ACTIVECONNINFOUPDATE_ENTRY, this );
+    
+    Q_ASSERT( activeConn != NULL );
+    Q_ASSERT( activeConn->bearerType() != WlanQtUtilsBearerTypeNone );
+
+    TUint connectionId = activeConn->connectionId();
+    TRequestStatus status;
+
+    // Get connection IAP ID.
+    TUint iapId = 0;
+    iMonitor.GetUintAttribute(
+            connectionId,
+            0,
+            KIAPId,
+            iapId,
+            status );
+    User::WaitForRequest( status );
+    if ( status.Int() == KErrNone )
+        {
+        activeConn->setIapId( iapId );
+        }
+
+    // Get connection status.
+    TInt connectionStatus = 0;
+    iMonitor.GetIntAttribute(
+            connectionId,
+            0,
+            KConnectionStatus,
+            connectionStatus,
+            status );
+    User::WaitForRequest( status );
+    if ( status.Int() == KErrNone ) {
+        activeConn->setConnectionStatus( connMon2WlanQtUtilsConnectionStatusMap( connectionStatus ) );
+    }
+
+    OstTraceFunctionExit1( CONNMONCONNINFO_ACTIVECONNINFOUPDATE_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::connMon2WlanQtUtilsConnectionStatusMap()
+// Maps connection status of Connection Monitor Server to connection
+// status of Wlan Qt Utilities.
+// ---------------------------------------------------------
+//
+WlanQtUtilsConnectionStatus ConnMonConnInfo::connMon2WlanQtUtilsConnectionStatusMap( TInt aConnectionStatus )
+    {    
+    // TODO: This mapping is not specific to current status which is unknown to wrapper.
+    // TODO: This is only current implementation and will need serious modifications and
+    //       verification from connmon guys.
+    WlanQtUtilsConnectionStatus connUtilsConnectionStatus = WlanQtUtilsConnectionStatusNone;
+    switch (aConnectionStatus)
+        {
+        // KConnectionOpen is not final status for WLAN, because DHCP is run after that
+        case KConnectionOpen:
+        case KStartingConnection:
+            connUtilsConnectionStatus = WlanQtUtilsConnectionStatusConnecting;
+            break;
+        case KLinkLayerOpen:
+            connUtilsConnectionStatus = WlanQtUtilsConnectionStatusConnected;
+            break;
+        case KConnectionClosed:
+        case KLinkLayerClosed:
+            connUtilsConnectionStatus = WlanQtUtilsConnectionStatusDisconnected;
+            break;
+        default:
+            // Ignore all other values
+            connUtilsConnectionStatus = WlanQtUtilsConnectionStatusNone;
+            break;
+        }
+    
+    return connUtilsConnectionStatus;
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnInfo::connMon2WlanQtUtilsBearerTypeMap()
+// Maps bearer type of Connection Monitor Server to bearer
+// type of Wlan Qt Utilities.
+// ---------------------------------------------------------
+//
+WlanQtUtilsBearerType ConnMonConnInfo::connMon2WlanQtUtilsBearerTypeMap( TInt aBearerType )
+    {    
+    WlanQtUtilsBearerType connUtilsBearerType = WlanQtUtilsBearerTypeNone;
+    switch ( aBearerType ) {
+    case EBearerWCDMA:
+    case EBearerGPRS:
+    case EBearerEdgeGPRS:
+        connUtilsBearerType = WlanQtUtilsBearerTypeCellular;
+        break;
+    case EBearerWLAN:
+        connUtilsBearerType = WlanQtUtilsBearerTypeWlan;
+        break;
+    default:
+        break;
+    }
+
+    return connUtilsBearerType;
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnDisconnect::ConnMonConnDisconnect()
+// Constructor
+// ---------------------------------------------------------
+//
+ConnMonConnDisconnect::ConnMonConnDisconnect(ConMonWrapper *wrapper) :
+    CActive(EPriorityStandard), q_ptr(wrapper)
+    {
+    OstTraceFunctionEntry1( CONNMONCONNDISCONNECT_CONNMONCONNDISCONNECT_ENTRY, this );
+    
+    CActiveScheduler::Add(this);
+    iMonitor.ConnectL();
+
+    OstTraceFunctionExit1( CONNMONCONNDISCONNECT_CONNMONCONNDISCONNECT_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnDisconnect::ConnMonConnDisconnect()
+// Destructor
+// ---------------------------------------------------------
+//
+ConnMonConnDisconnect::~ConnMonConnDisconnect()
+    {
+    OstTraceFunctionEntry1( CONNMONCONNDISCONNECT_CONNMONCONNDISCONNECTDESTR_ENTRY, this );
+
+    // Cancel notifications and close connection monitor session
+    //iMonitor.CancelNotifications();
+    iMonitor.Close();
+    
+    OstTraceFunctionExit1( CONNMONCONNDISCONNECT_CONNMONCONNDISCONNECTDESTR_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnDisconnect::DoCancel()
+// 
+// ---------------------------------------------------------
+//
+void ConnMonConnDisconnect::DoCancel()
+    {
+    OstTraceFunctionEntry1( CONNMONCONNDISCONNECT_DOCANCEL_ENTRY, this );
+    // TODO: error handling
+    OstTraceFunctionExit1( CONNMONCONNDISCONNECT_DOCANCEL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnDisconnect::RunL()
+// 
+// ---------------------------------------------------------
+//
+void ConnMonConnDisconnect::RunL()
+    {
+    OstTraceFunctionEntry1( CONNMONCONNDISCONNECT_RUNL_ENTRY, this );
+    // TODO: Is anything needed? 
+    OstTraceFunctionExit1( CONNMONCONNDISCONNECT_RUNL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// ConnMonConnDisconnect::disconnectConnection(int iapId)
+// Stop active connection.
+// ---------------------------------------------------------
+//
+void ConnMonConnDisconnect::disconnectConnection(int iapId)
+    {
+    OstTraceFunctionEntry1( CONNMONCONNDISCONNECT_DISCONNECTCONNECTION_ENTRY, this );
+    OstTrace1(
+        TRACE_NORMAL,
+        CONNMONCONNDISCONNECT_DISCONNECTCONNECTION,
+        "ConnMonConnDisconnect::disconnectConnection;iapId=%d", iapId );
+
+    // TODO: Error handling
+    TUint count;
+    TRequestStatus status;
+    iMonitor.GetConnectionCount(count, status);
+    User::WaitForRequest(status);
+
+    for (TInt i = 1; i <= count; i++)
+        {
+        TUint numSubConnections;
+        TUint iap = 0;
+        TUint connectionId = 0;
+        TInt ret = iMonitor.GetConnectionInfo(i, connectionId,
+                numSubConnections);
+        if (ret != KErrNone)
+            {
+            // error
+            }
+        iMonitor.GetUintAttribute(connectionId, 0, KIAPId, iap, status);
+        User::WaitForRequest(status);
+        if (status.Int() != KErrNone)
+            {
+            // error  
+            }
+        if (iap == iapId)
+            {
+            TInt KErr = iMonitor.SetBoolAttribute(connectionId, 0,
+                    KConnectionStop, ETrue);
+            }
+        }
+
+    OstTraceFunctionExit1( CONNMONCONNDISCONNECT_DISCONNECTCONNECTION_EXIT, this );
+    }
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconntestwrapper.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,42 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include "wlanqtutilsconntestwrapper.h"
+#include "wlanqtutilsconntestwrapper_s60_p.h"
+
+ConnTestWrapper::ConnTestWrapper(QObject *parent) : QObject(parent)
+{
+    d_ptr_ = new ConnTestWrapperPrivate(this);
+}
+
+ConnTestWrapper::~ConnTestWrapper()
+{
+    delete d_ptr_;
+}
+
+void ConnTestWrapper::connectivityTestDone(bool result)
+{
+    emit connectivityTestResult(result);
+}
+
+void ConnTestWrapper::startConnectivityTest(int iapId, int netId)
+{
+    d_ptr_->startConnectivityTest(iapId, netId);
+}
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsconntestwrapper_s60.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,117 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <ictscommon.h>
+
+#include "wlanqtutilsconntestwrapper.h"
+#include "wlanqtutilsconntestwrapper_s60_p.h"
+
+#ifdef WLANQTUTILS_NO_OST_TRACES_FLAG
+#include <opensystemtrace.h>
+#else
+#include "OstTraceDefinitions.h"
+#endif
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsconntestwrapper_s60Traces.h"
+#endif
+
+
+// =========== PRIVATE CLASS MEMBER FUNCTIONS ===============
+//
+ConnTestWrapperPrivate::ConnTestWrapperPrivate(
+    ConnTestWrapper *aWrapper )
+: q_ptr( aWrapper ), iIct( NULL )
+    {
+    OstTraceFunctionEntry1( CONNTESTWRAPPERPRIVATE_CONNTESTWRAPPERPRIVATE_ENTRY, this );
+    OstTraceFunctionExit1( CONNTESTWRAPPERPRIVATE_CONNTESTWRAPPERPRIVATE_EXIT, this );
+    }
+
+ConnTestWrapperPrivate::~ConnTestWrapperPrivate()
+    {
+    OstTraceFunctionEntry1( CONNTESTWRAPPERPRIVATE_CONNTESTWRAPPERPRIVATEDESTR_ENTRY, this );
+    
+    if ( !NULL ) 
+        {
+        delete iIct;
+        }        
+    
+    OstTraceFunctionExit1( CONNTESTWRAPPERPRIVATE_CONNTESTWRAPPERPRIVATEDESTR_EXIT, this );
+    }
+
+void ConnTestWrapperPrivate::ConnectivityObserver( 
+    TIctsTestResult aResult, 
+    const TDesC& /*aString*/ )
+    {
+    OstTraceFunctionEntry1( CONNTESTWRAPPERPRIVATE_CONNECTIVITYOBSERVER_ENTRY, this );
+    OstTrace1(
+        TRACE_NORMAL,
+        CONNTESTWRAPPERPRIVATE_CONNECTIVITYOBSERVER,
+        "ConnTestWrapperPrivate::ConnectivityObserver;aResult=%u", aResult );
+    
+    switch ( aResult ) 
+        {
+        case EConnectionOk :
+            q_ptr->connectivityTestDone( ETrue );
+            break;
+        case EHttpAuthenticationNeeded :
+        case EConnectionNotOk :
+        case ETimeout :
+        default:
+            q_ptr->connectivityTestDone( EFalse );
+            break;
+        }
+    
+    delete iIct;
+    iIct = NULL;
+
+    OstTraceFunctionExit1( CONNTESTWRAPPERPRIVATE_CONNECTIVITYOBSERVER_EXIT, this );
+    }
+
+void ConnTestWrapperPrivate::startConnectivityTest(
+    int aIapId, int aNetId )
+    {
+    OstTraceFunctionEntry1( CONNTESTWRAPPERPRIVATE_STARTCONNECTIVITYTEST_ENTRY, this );
+    OstTraceExt2(
+        TRACE_NORMAL,
+        CONNTESTWRAPPERPRIVATE_STARTCONNECTIVITYTEST,
+        "ConnTestWrapperPrivate::startConnectivityTest;aIapId=%d;aNetId=%d", aIapId, aNetId );
+    
+    TRAPD( err, startConnectivityTestL( aIapId, aNetId ) );
+    
+    // Check if startConnectivityTestL() leaved.
+    if ( KErrNone != err )
+        {
+        q_ptr->connectivityTestDone( EFalse );
+        }
+
+    OstTraceFunctionExit1( CONNTESTWRAPPERPRIVATE_STARTCONNECTIVITYTEST_EXIT, this );
+    }
+
+void ConnTestWrapperPrivate::startConnectivityTestL(
+    TInt aIapId, TInt aNetId )
+    {
+    OstTraceFunctionEntry1( CONNTESTWRAPPERPRIVATE_STARTCONNECTIVITYTESTL_ENTRY, this );
+    
+    iIct = CIctsClientInterface::NewL( aIapId, aNetId, *this );
+    iIct->StartL();
+ 
+    OstTraceFunctionExit1( CONNTESTWRAPPERPRIVATE_STARTCONNECTIVITYTESTL_EXIT, this );
+    }
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsesockwrapper.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,45 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This is a source file for EsockWrapper class.
+*/
+
+#include "wlanqtutilsesockwrapper.h"
+#include "wlanqtutilsesockwrapper_s60_p.h"
+
+EsockWrapper::EsockWrapper(QObject *parent)
+ : QObject(parent)
+{
+    d_ptr = new EsockWrapperPrivate(this);
+}
+
+EsockWrapper::~EsockWrapper()
+{
+    delete d_ptr;
+}
+
+void EsockWrapper::updateConnection(bool isOpened)
+{
+	emit connectionStatusFromWrapper(isOpened);
+}
+
+void EsockWrapper::connectIap(int iapId)
+{
+    d_ptr->connectIap(iapId);
+}
+
+void EsockWrapper::disconnectIap()
+{
+    d_ptr->disconnectIap();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wrapper/src/wlanqtutilsesockwrapper_s60.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+// INCLUDE FILES
+#include <e32base.h>
+#include <es_sock.h>
+#include <in_sock.h>
+#include <commdbconnpref.h>
+#include "wlanqtutilsesockwrapper.h"
+#include "wlanqtutilsesockwrapper_s60_p.h"
+
+#ifdef WLANQTUTILS_NO_OST_TRACES_FLAG
+#include <opensystemtrace.h>
+#else
+#include "OstTraceDefinitions.h"
+#endif
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlanqtutilsesockwrapper_s60Traces.h"
+#endif
+
+
+// =========== PRIVATE CLASS MEMBER FUNCTIONS ===============
+//
+// ---------------------------------------------------------
+// EsockWrapperPrivate::EsockWrapperPrivate()
+// Constructor
+// ---------------------------------------------------------
+//
+EsockWrapperPrivate::EsockWrapperPrivate(EsockWrapper *aWrapper)
+: CActive(EPriorityStandard), q_ptr(aWrapper)
+    {
+    OstTraceFunctionEntryExt( ESOCKWRAPPERPRIVATE_ESOCKWRAPPERPRIVATE_ENTRY, this );
+    
+    CActiveScheduler::Add(this);
+    
+    iSocketServer.Connect();
+    
+    OstTraceFunctionExit1( ESOCKWRAPPERPRIVATE_ESOCKWRAPPERPRIVATE_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// EsockWrapperPrivate::EsockWrapperPrivate()
+// Destructor
+// ---------------------------------------------------------
+//
+EsockWrapperPrivate::~EsockWrapperPrivate()
+    {
+    OstTraceFunctionEntry1( ESOCKWRAPPERPRIVATE_ESOCKWRAPPERPRIVATEDESTR_ENTRY, this );
+    
+    Cancel();
+    // Closing active RConnection is not mandatory, but is recommended.
+    // ==> add checking here when implementing cancel/error cases.
+    iSocketServer.Close();
+    
+    OstTraceFunctionExit1( ESOCKWRAPPERPRIVATE_ESOCKWRAPPERPRIVATEDESTR_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// EsockWrapperPrivate::connectIap()
+// Start connection creation to given IAP.
+// ---------------------------------------------------------
+//
+void EsockWrapperPrivate::connectIap(int aIapId)
+    {
+    OstTraceFunctionEntryExt( ESOCKWRAPPERPRIVATE_CONNECTIAP_ENTRY, this );
+    
+    // Open an RConnection object.
+    iConnection.Open(iSocketServer);
+    
+    // Create overrides to force opening of the given IAP without any user prompts.
+    TCommDbConnPref prefs;
+    prefs.SetDialogPreference(ECommDbDialogPrefDoNotPrompt);
+    prefs.SetDirection(ECommDbConnectionDirectionOutgoing);
+    prefs.SetIapId(aIapId);
+    
+    // Start the Connection with overrides
+    iConnection.Start(prefs, iStatus);
+    
+    // TODO: Currently SetActive Panics when connecting "furiously" in Visual view...
+    // Panicking line in SetActive was this:
+    // __ASSERT_ALWAYS(!(iStatus.iFlags&TRequestStatus::EActive),Panic(EReqAlreadyActive));
+    SetActive();
+    
+    OstTraceFunctionExit1( ESOCKWRAPPERPRIVATE_CONNECTIAP_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// EsockWrapperPrivate::disconnectIap()
+// Stop connection.
+// ---------------------------------------------------------
+//
+void EsockWrapperPrivate::disconnectIap()
+    {      
+    OstTraceFunctionEntry1( ESOCKWRAPPERPRIVATE_DISCONNECTIAP_ENTRY, this );
+    
+    // TODO: Error checking
+    iConnection.Close();
+    
+    OstTraceFunctionExit1( ESOCKWRAPPERPRIVATE_DISCONNECTIAP_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// EsockWrapperPrivate::RunL()
+// Called when connection creation has finished.
+// ---------------------------------------------------------
+//
+void EsockWrapperPrivate::RunL()
+    {
+    OstTraceFunctionEntry1( ESOCKWRAPPERPRIVATE_RUNL_ENTRY, this );
+    OstTrace1( TRACE_NORMAL, ESOCKWRAPPERPRIVATE_RUNL, "EsockWrapperPrivate::RunL;iStatus.Int()=%d", iStatus.Int() );
+    
+    bool success = false;
+    
+    if (iStatus == KErrNone)
+        {
+        success = true;
+        }
+    
+    q_ptr->updateConnection(success);
+    
+    OstTraceFunctionExit1( ESOCKWRAPPERPRIVATE_RUNL_EXIT, this );
+    }
+
+// ---------------------------------------------------------
+// EsockWrapperPrivate::DoCancel()
+// 
+// ---------------------------------------------------------
+//
+void EsockWrapperPrivate::DoCancel()
+    {
+    OstTraceFunctionEntry1( ESOCKWRAPPERPRIVATE_DOCANCEL_ENTRY, this );
+    OstTraceFunctionExit1( ESOCKWRAPPERPRIVATE_DOCANCEL_EXIT, this );
+    }
+
+//end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wst/run_wst.bat	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,173 @@
+::=============================================================================
+:: 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:
+::
+::=============================================================================
+
+:: Script(s) uses following environment settings:
+:: - CD
+:: - DATE
+:: - TIME
+:: - TEMP
+
+
+::-----------------------------------------------------------------------------
+:: Do the preparations:
+:: - Don't show the commands
+:: - Use local parameters -- don't pollute the global one
+:: - Dim the lights for time of script execution
+:: - Store the current working directory
+::-----------------------------------------------------------------------------
+
+@echo off
+echo *** RUN_WST: START:
+setlocal
+color 08
+pushd .
+if not exist run_wst.bat goto INVALID_DIR
+
+
+::-----------------------------------------------------------------------------
+:: Set the local variables
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: SET VARIABLES:
+set wst_root_dir=%cd%
+set wst_log_dir=%wst_root_dir%\wst_log
+set wst_report_dir=%wst_root_dir%\wst_report
+set log_file=%wst_log_dir%\wst_log.txt
+set build_script=%wst_root_dir%\wst_script\wst_make.bat
+set epoc_commsdat_dir=\epoc32\winscw\c\private\10202be9\persists
+if not exist %epoc_commsdat_dir% goto INVALID_DIR
+set epoc_backup_dir=%epoc_commsdat_dir%\backup
+set ut_commsdat_dir=%wst_root_dir%\..\ut\context\commsdat_files
+if not exist %ut_commsdat_dir% goto INVALID_DIR
+set ut_commsdat_file_default=%ut_commsdat_dir%\default.cre
+if not exist %ut_commsdat_file_default% goto INVALID_DIR
+set ut_commsdat_files=%ut_commsdat_dir%\*.cre
+if not exist %ut_commsdat_files% goto INVALID_DIR
+
+
+::-----------------------------------------------------------------------------
+:: Copy commsdat file to emulator directory and also to backup directory
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: COPY FILES:
+copy %ut_commsdat_file_default% %epoc_commsdat_dir%\cccccc00.cre /y
+if not exist %epoc_backup_dir% mkdir %epoc_backup_dir%
+copy %ut_commsdat_files% %epoc_backup_dir% /y
+
+
+::-----------------------------------------------------------------------------
+:: Check that script exists
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: SOME CHECKS:
+if not exist %build_script% goto INVALID_DIR
+:: Create output directory if it does not exist
+if not exist %wst_log_dir% mkdir %wst_log_dir%
+if not exist %wst_report_dir% mkdir %wst_report_dir%
+:: Create log file
+echo *** WST_LOG: BEGIN *** > %log_file%
+
+
+::-----------------------------------------------------------------------------
+:: Check parameters
+::-----------------------------------------------------------------------------
+
+set command=ERROR
+if [%1]==[] set command=CLEAN_OLD_FILES COMPILE_WLANQTUTILS COMPILE_TEST_CASES RUN_TEST_CASES GENERATE_REPORTS SHOW_RESULTS
+if [%1]==[CLEAN_OLD] set command=CLEAN_OLD_FILES
+if [%1]==[WLANQTUTILS] set command=COMPILE_WLANQTUTILS
+if [%1]==[CASES] set command=COMPILE_TEST_CASES
+if [%1]==[RUN] set command=RUN_TEST_CASES
+if [%1]==[REPORTS] set command=GENERATE_REPORTS
+if [%1]==[RESULTS] set command=SHOW_RESULTS
+if [%1]==[BROWSE] set command=START_BROWSER
+if [%1]==[/?] goto HELP
+if [%1]==[HELP] goto HELP
+if [%1]==[/h] goto HELP
+if [%1]==[-h] goto HELP
+
+::-----------------------------------------------------------------------------
+:PARSE_COMMANDS
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: COMMAND: %command%
+echo *** RUN_WST: CALL SCRIPT:
+for %%i IN ( %command% ) DO (
+    call %build_script% %wst_root_dir% wst_log.txt %%i
+    for /f "tokens=3 delims= " %%x in ('find /C " Error " %log_file%') do (
+        if not [%%x]==[0] goto ERROR
+    )
+)
+
+goto THE_END
+
+
+::-----------------------------------------------------------------------------
+:INVALID_DIR
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: INVALID DIR:
+echo *** Test script sub-script not found!
+echo *** Please be sure to run the script in same directory,
+echo *** i.e. .\run_wst.bat , and NOT .\wst\run_wst.bat
+
+goto THE_END
+
+
+::-----------------------------------------------------------------------------
+:ERROR
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: ERROR:
+color 48
+echo Error in compilation:
+findstr /C:" Error " < %log_file%
+echo.
+Echo Quitting WST.
+
+goto THE_END
+
+
+::-----------------------------------------------------------------------------
+:HELP
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: HELP:
+echo Run Wlan Qt Utilities Workstation Testing
+echo.
+echo RUN_WST [param]
+echo.
+echo   param
+echo     [none]  - Do all, from CLEAN_OLD to RESULTS
+echo.
+echo     CLEAN_OLD - Clean metrics and other generated files
+echo     WLANQTUTILS - Build only Wlan Qt Utilities components
+echo     CASES   - Build only Tester components
+echo     RUN     - Run Tester
+echo     REPORTS - Generate reports
+echo     RESULTS - Show results
+echo     BROWSE  - Start browser
+echo.
+
+
+::-----------------------------------------------------------------------------
+:THE_END
+::-----------------------------------------------------------------------------
+
+echo *** RUN_WST: END:
+color
+popd
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanqtutilities/wst/wst_script/wst_make.bat	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,199 @@
+::=============================================================================
+:: 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:
+::
+::=============================================================================
+::
+:: Following commands are implemented:
+:: - CLEAN_OLD_FILES
+:: - COMPILE_WLANQTUTILS
+:: - COMPILE_TEST_CASES
+:: - RUN_TEST_CASES
+:: - GENERATE_REPORTS
+:: - SHOW_RESULTS
+:: - START_BROWSER
+::=============================================================================
+
+::-----------------------------------------------------------------------------
+:: Do the preparations:
+:: - Don't show the commands
+:: - Use local parameters -- don't pollute the global one
+::-----------------------------------------------------------------------------
+@echo off
+
+echo *** WST_MAKE: START:
+setlocal
+
+::-----------------------------------------------------------------------------
+:: Check input
+:: 
+:: Parameters that are required:
+:: 1) wst_root_dir
+:: 2) log_file_name
+:: 3) the command
+::-----------------------------------------------------------------------------
+
+:: (1)
+if not exist %1 goto ERROR
+if [%1]==[] goto ERROR
+set wst_root_dir=%1
+set wst_log_dir=%1\wst_log
+set wst_report_dir=%1\wst_report
+set wlanqtutils_root_dir=%1\..
+set wlanqtutils_test_dir=%1\..\ut\t_wlanqtutils
+
+:: (2)
+if [%2]==[] goto ERROR
+set log_file_name=%2
+set log_file=%wst_log_dir%\%log_file_name%
+if not exist %log_file% goto ERROR
+echo *** DATE AND TIME: %date%, %time% >> %log_file%
+echo *** WST_MAKE: INFO: Wlan Qt Utilities root dir: %wlanqtutils_root_dir%
+echo *** WST_MAKE: INFO: Wlan Qt Utilities test dir: %wlanqtutils_test_dir%
+echo *** WST_MAKE: INFO: WST log dir:             %wst_log_dir%
+echo *** WST_MAKE: INFO: WST log file:            %log_file%
+
+:: (3)
+if [%3]==[] goto ERROR
+goto %3
+
+:: Error if label not found.
+goto ERROR
+
+::-----------------------------------------------------------------------------
+:CLEAN_OLD_FILES
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: CLEAN_OLD_FILES:
+echo *** WST_LOG: CLEAN_OLD_FILES >> %log_file%
+
+move %wst_log_dir%\%log_file_name% %wst_root_dir%
+del /F /S /Q %wst_log_dir%\*
+del /F /S /Q %wst_report_dir%\*
+rmdir /S /Q %wst_log_dir%\CMTHTML
+rmdir /S /Q %wst_log_dir%\CTCHTML
+move %wst_root_dir%\%log_file_name% %wst_log_dir% 
+del \epoc32\winscw\c\data\wlanqtutils_qtest_log.txt
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:COMPILE_WLANQTUTILS
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: COMPILE_WLANQTUTILS:
+echo *** WST_LOG: COMPILE_WLANQTUTILS >> %log_file%
+
+cd %wlanqtutils_root_dir%
+call qmake >> %log_file% 2>&1
+call bldmake bldfiles >> %log_file% 2>&1
+call abld reallyclean winscw >> %log_file% 2>&1
+call abld build winscw udeb >> %log_file% 2>&1
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:COMPILE_TEST_CASES
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: COMPILE_TEST_CASES:
+echo *** WST_LOG: COMPILE_TEST_CASES >> %log_file%
+
+cd %wlanqtutils_test_dir%
+call qmake "CONFIG += coverage_test" >> %log_file% 2>&1
+call bldmake bldfiles >> %log_file% 2>&1
+call abld reallyclean winscw >> %log_file% 2>&1
+:: Call CTC instrumentation script. Source directories hard coded, because NO_EXCLUDE does not like % characters...
+call ctcwrap -C EXCLUDE=* -C NO_EXCLUDE+..\..\base\src\*.cpp,..\..\wrapper\src\*.cpp -n %wst_log_dir%\MON.sym -i m -v abld build winscw udeb >> %log_file% 2>&1
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:RUN_TEST_CASES
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: RUN_TEST_CASES:
+echo *** WST_LOG: RUN_TEST_CASES >> %log_file%
+
+call \epoc32\release\winscw\udeb\t_wlanqtutils.exe -o c:\data\wlanqtutils_qtest_log.txt
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:GENERATE_REPORTS
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: GENERATE_REPORTS:
+echo *** WST_LOG: GENERATE_REPORTS >> %log_file%
+
+cd %wst_log_dir%
+
+call ctcpost -p %wst_log_dir%\ctc_coverage.txt
+call ctc2html -nsb -i %wst_log_dir%\ctc_coverage.txt
+
+call dir /s /b %wlanqtutils_root_dir%\*.cpp > %wst_log_dir%\raw_filelist.txt
+
+call findstr /I /V "moc_" %wst_log_dir%\raw_filelist.txt > %wst_log_dir%\filelist.txt
+call cmt -f %wst_log_dir%\filelist.txt -o cmt_metrics.txt  >> %log_file%
+call cmt2html -nsb -i cmt_metrics.txt
+
+:: Clean up temp files
+call del %wst_log_dir%\*filelist.txt
+
+echo *** WST_MAKE: COPY LOGS:
+call copy %TEMP%\epocwind.out %wst_log_dir%\epocwind.txt
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:SHOW_RESULTS
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: SHOW_RESULTS:
+echo *** WST_LOG: SHOW_RESULTS >> %log_file%
+echo *** Module tests:
+call findstr /C:"Totals: " \epoc32\winscw\c\data\wlanqtutils_qtest_log.txt
+echo *** Coverage:
+call findstr /C:"Number of " %wst_log_dir%\ctc_coverage.txt
+call findstr /C:"TER       " %wst_log_dir%\ctc_coverage.txt
+
+goto THE_END 
+
+::-----------------------------------------------------------------------------
+:START_BROWSER
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: START_BROWSER:
+echo *** WST_LOG: START_BROWSER >> %log_file%
+echo.
+echo Starting up browser to show the results
+
+start %wst_root_dir%\wst_report\coverage.html
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:ERROR
+::-----------------------------------------------------------------------------
+
+echo *** WST_MAKE: ERROR:
+endlocal
+echo wst_make *** Error (unknown parameter) >> %log_file%
+
+goto THE_END
+
+::-----------------------------------------------------------------------------
+:THE_END
+::-----------------------------------------------------------------------------
+echo *** WST_MAKE: END:
--- a/wlanutilities/wlansettingsui/bwinscw/wlansettingsuiu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-EXPORTS
-	??1CWlanSettingsUi@@UAE@XZ @ 1 NONAME ; CWlanSettingsUi::~CWlanSettingsUi(void)
-	?NewL@CWlanSettingsUi@@SAPAV1@AAVCEikonEnv@@@Z @ 2 NONAME ; class CWlanSettingsUi * CWlanSettingsUi::NewL(class CEikonEnv &)
-	?RunSettingsL@CWlanSettingsUi@@QAEXPAVCMDBSession@CommsDat@@@Z @ 3 NONAME ; void CWlanSettingsUi::RunSettingsL(class CommsDat::CMDBSession *)
-	?RunSettingsL@CWlanSettingsUi@@QAEXXZ @ 4 NONAME ; void CWlanSettingsUi::RunSettingsL(void)
-
--- a/wlanutilities/wlansettingsui/data/wlansettingsui.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Resource file for wlansettingsui
-*
-*/
-
-
-//  RESOURCE IDENTIFIER
-NAME    PWLC // 4 letter ID
-
-//  INCLUDES
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.mbg>
-#include <avkon.hrh>
-
-#include "wlansettingsui.hrh"
-#include <wlansettingsui.loc>
-
-// CONSTANTS
-
-//  RESOURCE DEFINITIONS 
-
-//----------------------------------------------------
-//   
-//    
-//    Needed or loading the resource fails!
-//
-//----------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {
-    }
-    
-RESOURCE TBUF { buf="wlansettingsui"; }
-
-
-//----------------------------------------------------
-//   
-//    r_qtn_err_os_general 
-//    General error message.
-//
-//----------------------------------------------------
-//
-RESOURCE TBUF r_qtn_err_os_general { buf = qtn_err_os_general ; }
-
-RESOURCE TBUF
-    {
-    buf = "wlan";
-    }
-
-RESOURCE TBUF r_wlan_sett_bg_scan_auto
-    {
-    buf = qtn_wlan_sett_bg_scan_auto;
-    }
-
-RESOURCE TBUF r_wlan_sett_bg_scan_1_min
-    {
-    buf = qtn_wlan_sett_bg_scan_1_min;
-    }
-
-RESOURCE TBUF r_wlan_sett_bg_scan_x_min
-    {
-    buf = qtn_wlan_sett_bg_scan_x_min;
-    }
-
-RESOURCE TBUF r_wlan_prmpt_bg_scan_interval
-    {
-    buf = qtn_wlan_prmpt_bg_scan_interval;
-    }
-
-RESOURCE TBUF r_wlan_settings_ui_title                         
-    { 
-    buf = qtn_wlan_main_title; 
-    }
-
-RESOURCE MENU_BAR r_wlan_settings_ui_main_view_menubar
-    {
-    titles =
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = r_wlan_settings_ui_main_view_menu; 
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_wlan_settings_ui_main_view_menu
-    {
-    items =
-        {
-        MENU_ITEM 
-            { 
-            command = EWlanSettingsUiCmdChange; 
-            txt = qtn_options_change;
-            flags = EEikMenuItemAction;
-            },
-        MENU_ITEM 
-            { 
-            command = EAknCmdHelp; 
-            txt = qtn_options_help; 
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-//----------------------------------------------------
-//   
-//    r_wlan_settings_ui_main_view_buttons
-//
-//----------------------------------------------------
-//
-RESOURCE CBA r_wlan_settings_ui_main_view_buttons
-    {
-    buttons =
-        {
-        CBA_BUTTON {id=EAknSoftkeyOptions; txt=text_softkey_option;}, 
-        CBA_BUTTON {id=EAknSoftkeyBack; txt=text_softkey_back;},
-        CBA_BUTTON {id=EAknSoftkeyChange; txt=qtn_msk_change;} 
-        };          
-    }
-    
-RESOURCE DIALOG r_wlan_settings_ui_main_view_dialog
-    {
-    flags = EEikDialogFlagNoDrag | EEikDialogFlagFillAppClientRect |
-            EEikDialogFlagNoTitleBar |EEikDialogFlagButtonsRight |
-            EEikDialogFlagCbaButtons | EEikDialogFlagNoBorder |
-            EEikDialogFlagWait;
-    title =  qtn_wlan_main_title;
-    buttons = r_wlan_settings_ui_main_view_buttons;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EWlanSettingsUiSettingItemList;
-            itemflags = EEikDlgItemTakesEnterKey | EEikDlgItemOfferAllHotKeys;
-            id = EWlanSettingsUiDlgSettingList;
-            control = AVKON_SETTING_ITEM_LIST
-                {
-                title = "";
-                initial_number = EWlanSettingsUiItemListInitialNumber;
-                items =
-                    {
-                    AVKON_SETTING_ITEM
-                        {
-                        identifier = EWlanSettingsUiSettingShowWlanAvail;
-                        setting_page_resource =
-                            r_wlan_settings_ui_show_wlan_avail_setting_page;
-                        name = qtn_wlan_sett_show_wlan_avail;            
-                        associated_resource =
-                            r_wlan_settings_ui_show_wlan_avail_values;
-                        },
-                    AVKON_SETTING_ITEM
-                        {
-                        identifier = EWlanSettingsUiSettingScanNetworks;
-                        setting_page_resource =
-                            r_wlan_settings_ui_scan_networks_setting_page;
-                        name = qtn_wlan_sett_bg_scan_interval;            
-                        associated_resource =
-                            r_wlan_settings_ui_scan_network_values;
-                        },
-                    AVKON_SETTING_ITEM
-                        {
-                        identifier = EWlanSettingsUiSettingPowerSaving;
-                        setting_page_resource =
-                            r_wlan_settings_ui_power_saving_setting_page;
-                        name = qtn_wlan_sett_power_saving;            
-                        associated_resource =
-                            r_wlan_settings_ui_power_saving_values;
-                        }
-                    };
-                };
-            }
-        };
-    }
-
-RESOURCE AVKON_SETTING_PAGE r_wlan_settings_ui_show_wlan_avail_setting_page
-    {    
-    label= qtn_wlan_sett_show_wlan_avail;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    type = EAknCtPopupSettingList;
-    editor_resource_id = r_wlan_settings_ui_selection_popup_listbox;
-    }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_wlan_settings_ui_show_wlan_avail_values
-    {
-    setting_texts_resource = r_wlan_settings_ui_show_wlan_avail_value_array;
-    }
-
-RESOURCE ARRAY r_wlan_settings_ui_show_wlan_avail_value_array
-    {
-    items =
-        {
-        AVKON_ENUMERATED_TEXT
-            {
-            value = 0;
-            text = qtn_wlan_sett_bg_scan_never;
-            },
-        AVKON_ENUMERATED_TEXT
-            {
-            value = 1;
-            text = qtn_wlan_sett_bg_scan_enabled;
-            }
-        };
-    }
-
-RESOURCE AVKON_SETTING_PAGE r_wlan_settings_ui_scan_networks_setting_page
-    { 
-    label = qtn_wlan_sett_bg_scan_interval;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    type =  EAknCtPopupSettingList;
-    editor_resource_id = r_wlan_settings_ui_selection_popup_listbox;
-    }
-
-RESOURCE POPUP_SETTING_LIST r_wlan_settings_ui_selection_popup_listbox
-    {
-    flags = 0;
-    }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_wlan_settings_ui_scan_network_values
-    {
-    flags = 0;
-    setting_texts_resource = r_wlan_settings_ui_scan_network_values_array;
-    }
-
-RESOURCE ARRAY r_wlan_settings_ui_scan_network_values_array
-    {
-    items =
-        {
-        AVKON_ENUMERATED_TEXT
-            {
-            value = EWlanSettingsUiScanNetworkAuto;
-            text = qtn_wlan_sett_bg_scan_auto;
-            },
-        AVKON_ENUMERATED_TEXT
-            {
-            value = EWlanSettingsUiScanNetworkUserDef;
-            text = qtn_wlan_sett_bg_scan_user_def;
-            }
-        };
-    }
-
-RESOURCE AVKON_SETTING_PAGE r_wlan_settings_ui_power_saving_setting_page
-    {    
-    label= qtn_wlan_sett_power_saving;
-    softkey_resource = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    type = EAknCtPopupSettingList;
-    editor_resource_id = r_wlan_settings_ui_selection_popup_listbox;
-    }
-
-RESOURCE AVKON_POPUP_SETTING_TEXTS r_wlan_settings_ui_power_saving_values
-    {
-    setting_texts_resource = r_wlan_settings_ui_power_saving_value_array;
-    }
-
-RESOURCE ARRAY r_wlan_settings_ui_power_saving_value_array
-    {
-    items =
-        {
-        AVKON_ENUMERATED_TEXT
-            {
-            value = 1;
-            text = qtn_wlan_sett_power_saving_enabled;
-            },
-        AVKON_ENUMERATED_TEXT
-            {
-            value = 0;
-            text = qtn_wlan_sett_power_saving_disabled;
-            }
-        };
-    }
-
-RESOURCE DIALOG r_wlan_settings_ui_number_editor_2
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id=EGeneralQuery;
-            control= AVKON_DATA_QUERY
-                {
-                layout = ENumberLayout;
-                control = AVKON_INTEGER_EDWIN
-                    {
-                    maxlength = EWlanSettingsUiDlgMaxLength2;
-                    };
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_wlan_settings_ui_power_saving_infonote
-    {
-    buf = qtn_power_saving_protected_settings_infonote;
-    }      
-
-//End of File
--- a/wlanutilities/wlansettingsui/eabi/wlansettingsuiu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,8 +0,0 @@
-EXPORTS
-	_ZN15CWlanSettingsUi12RunSettingsLEPN8CommsDat11CMDBSessionE @ 1 NONAME
-	_ZN15CWlanSettingsUi12RunSettingsLEv @ 2 NONAME
-	_ZN15CWlanSettingsUi4NewLER9CEikonEnv @ 3 NONAME
-	_ZN15CWlanSettingsUiD0Ev @ 4 NONAME
-	_ZN15CWlanSettingsUiD1Ev @ 5 NONAME
-	_ZN15CWlanSettingsUiD2Ev @ 6 NONAME
-
--- a/wlanutilities/wlansettingsui/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ b/wlanutilities/wlansettingsui/group/bld.inf	Fri Apr 16 16:07:56 2010 +0300
@@ -1,5 +1,5 @@
 /*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
+* Copyright (c) 2001-2010 Nokia Corporation and/or its subsidiary(-ies). 
 * All rights reserved.
 * This component and the accompanying materials are made available
 * under the terms of "Eclipse Public License v1.0"
@@ -16,19 +16,9 @@
 */
 
 
-
 #include <platform_paths.hrh>
 
 PRJ_EXPORTS
-../inc/wlansettingsui.h |../../inc/wlansettingsui.h
-                   
-// export iby files
-../rom/wlansettingsui.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(wlansettingsui.iby)
-../rom/wlansettingsuiresources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wlansettingsuiresources.iby)
-
-// export localised loc file
-../loc/wlansettingsui.loc	MW_LAYER_LOC_EXPORT_PATH(wlansettingsui.loc)
-
 
 PRJ_PLATFORMS
 DEFAULT
@@ -36,6 +26,3 @@
 PRJ_EXPORTS
 
 PRJ_MMPFILES
-./wlansettingsui.mmp
-
-// End of File
--- a/wlanutilities/wlansettingsui/group/wlansettingsui.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*     This is project specification file for the wlansettingsui.
-*
-*
-*/
-
-#include <data_caging_paths.hrh>    //this is needed for RESOURCE_FILES_DIR
-#include <platform_paths.hrh>
-
-
-TARGET              wlansettingsui.dll
-TARGETTYPE          DLL
-UID                 0x1000008d 0x10281BC9
-
-CAPABILITY          CAP_GENERAL_DLL
-VENDORID            VID_DEFAULT
-
-SOURCEPATH          ../src
-SOURCE              wlansettingsui.cpp
-SOURCE              wlansettingsuiimpl.cpp
-SOURCE              wlansettingsuimodel.cpp
-SOURCE              wlansettingsuidlg.cpp
-SOURCE              wlansettingsuimainviewdlg.cpp
-SOURCE              wlansettingsuisettingitemlist.cpp
-SOURCE              wlansettingsuistatuspane.cpp
-SOURCE              wlansettingsuipanic.cpp
-SOURCE              wlansettingsuiscanintervalsettingitem.cpp
-SOURCE              wlansettingsuibinarypopupsettingitem.cpp
-
-USERINCLUDE         ../data
-
-// Component specific internal headers 
-USERINCLUDE			../inc
-
-// ADO-SUBSYSTEM specific internal headers 
-SYSTEMINCLUDE		../../inc
-
-// ADO specific internal headers 
-SYSTEMINCLUDE		../../../inc
-
-//Macro to /epoc32 headers
-APP_LAYER_SYSTEMINCLUDE
-
-SOURCEPATH          ../data
-
-//wlansettingsui resources
-START RESOURCE      wlansettingsui.rss
-HEADER
-TARGETPATH          RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END//wlansettingsui resources
-
-LIBRARY             hlplch.lib
-LIBRARY             euser.lib
-LIBRARY             avkon.lib
-LIBRARY             eikdlg.lib
-LIBRARY             FeatMgr.lib
-LIBRARY             bafl.lib 
-LIBRARY             cone.lib 
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikcore.lib 
-LIBRARY				aknlayout.lib 
-LIBRARY             centralrepository.lib
-LIBRARY     		COMMSDAT.lib
-LIBRARY     		cmmanagerdatabase.lib
-LIBRARY             commonengine.lib
-LIBRARY				ecom.lib
-LIBRARY             efsrv.lib 
-
-
-
-#if defined(ARMCC)
-    DEFFILE ../eabi/wlansettingsui.def
-#elif defined( WINSCW )
-    DEFFILE ../bwinscw/wlansettingsui.def
-#endif
-
--- a/wlanutilities/wlansettingsui/inc/wlansettingsui.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUi.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_H
-#define WLAN_SETTINGS_UI_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include <wlancontainer.h>
-
-// FORWARD DECLARATIONS
-
-class CEikonEnv;
-class CWlanSettingsUiImpl;
-
-// CLASS DECLARATION
-
-/**
-* Public interface of WLAN Settings UI.
-* Proxy around the real implementation in CWlanSettingsUiImpl.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUi ): public CBase
-    {
-
-    public:     // Constructors and destructor
-
-        /**
-        * Two-phased constructor. Leaves on failure.
-        * @param aEikEnv Eikon environment.
-        * @return The constructed CWlanSettingsUi object.
-        */
-        IMPORT_C static CWlanSettingsUi* NewL( CEikonEnv& aEikEnv );
-
-        /**
-        * Destructor.
-        */
-        IMPORT_C virtual ~CWlanSettingsUi();
-
-    public:     // New methods
-
-        /**
-        * Launch WLAN Settings view.
-        * @param aSession Commsdat session.
-        */
-        IMPORT_C void RunSettingsL( CMDBSession* aSession );
-
-        /**
-        * Launch WLAN Settings view.
-        * with own session.
-        */       
-        IMPORT_C void RunSettingsL();
-
-    private:    // Data 
-
-        CWlanSettingsUiImpl* iImpl; ///< Implementation. Owned.
-
-    };
-
-#endif 
--- a/wlanutilities/wlansettingsui/inc/wlansettingsui.hrh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Constant definitions for resources.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_HRH
-#define WLAN_SETTINGS_UI_HRH
-
-#include <avkon.hrh>
-
-enum TWlanSettingsUiCommands                /// Commands.
-    {
-    EWlanSettingsUiCmdChange = 5000         ///< "Change" command.
-    };
-
-enum TWlanSettingsUiControlId               ///< Control ids.
-    {
-    EWlanSettingsUiDlgSettingList = 1       ///< Setting list control id.
-    };
-
-enum TWlanSettingsUiControlType             /// Custom control types.
-    {
-    /// CWlanSettingsUiSettingItemList control type.
-    EWlanSettingsUiSettingItemList = KAknCtLastControlId + 1
-    };
-
-enum TWlanSettingsUiSettingId               /// Setting ids.
-    {
-    EWlanSettingsUiSettingShowWlanAvail,    ///< "Show WLAN avail." sett. id.
-    EWlanSettingsUiSettingScanNetworks,     ///< "Update availability" sett id.
-    EWlanSettingsUiSettingPowerSaving       ///< "Power saving" sett. id.
-    };
-    
-enum TWlanSettingsUiScanNetworkValue        /// "Scan network" setting values.
-    {
-    EWlanSettingsUiScanNetworkAuto = 0,     ///< "Scan network" adaptive.
-    EWlanSettingsUiScanNetworkUserDef       ///< "Scan network" user defined.
-    };
-
-/**
-* User defined scan interval minimum
-*/
-#define EWlanSettingsUiScanNetworkMin 1
-
-/**
-* User defined scan interval maximum
-*/
-#define EWlanSettingsUiScanNetworkMax 30
-
-/**
-* User defined scan interval maximal length
-*/
-#define EWlanSettingsUiScanNetworkMaxLength 2
-
-/**
-* 2nd dialog line max length
-*/
-#define EWlanSettingsUiDlgMaxLength2 2
-
-/**
-* For initializing avkon settings items
-*/
-#define EWlanSettingsUiItemListInitialNumber 3
-
-#define EWlanSettingsUiEdwinUnsetValue -1
-
-#endif
-
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuibinarypopupsettingitem.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,93 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUiBinaryPopupSettingItem.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_BINARY_POPUP_SETTING_ITEM_H
-#define WLAN_SETTINGS_UI_BINARY_POPUP_SETTING_ITEM_H
-
-// INCLUDES
-
-#include <aknsettingitemlist.h>
-
-// FORWARD DECLARATIONS
-
-class CWlanSettingsUiBinaryPopupSettingItem;
-
-// CLASS DECLARATION
-
-/**
-* Interface to observe change in internal value of an
-* CAknBinaryPopupSettingItem.
-*/
-NONSHARABLE_CLASS( MWlanSettingsUiBinaryPopupSettingObserver )
-    {
-
-    public:     // New methods
-
-        /**
-        * Binary setting internal value has changed.
-        * @param aItem Changed item.
-        * @param aNewInternalVal New internal value.
-        */
-        virtual void BinarySettingChangedL
-            (
-            CWlanSettingsUiBinaryPopupSettingItem* aItem,
-            TBool aNewInternalVal
-            ) = 0;
-
-    };
-
-/**
-* Binary setting item.
-* Added functionality: notifies observer about setting change.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiBinaryPopupSettingItem )
-: public CAknBinaryPopupSettingItem
-    {
-
-    public:     // Constructors
-
-        /**
-        * Constructor.
-        * @param aObserver observer reference
-        * @param aResourceId Resource id.
-        * @param aValue Value.
-        */
-        CWlanSettingsUiBinaryPopupSettingItem
-            (
-            MWlanSettingsUiBinaryPopupSettingObserver& aObserver,
-            TInt aResourceId,
-            TBool& aValue
-            );
-
-    private:    // From CAknSettingItem & base classes
-
-        /**
-        * Edit item.
-        * @param aCalledFromMenu ETrue if called from menu.
-        */
-        void EditItemL( TBool aCalledFromMenu );
-
-    private:    // Data
-
-        MWlanSettingsUiBinaryPopupSettingObserver& iObserver;   ///< Observer.
-
-        };
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuidefs.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Macro definitions and constants.
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_DEFS_H
-#define WLAN_SETTINGS_UI_DEFS_H
-
-
-
-// CONSTANTS
-
-/// UID of application containing help texts (General Settings).
-LOCAL_D const TUid KWlanSettingsUiHelpMajor = { 0x100058EC };
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuidlg.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUiDlg.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_DLG_H
-#define WLAN_SETTINGS_UI_DLG_H
-
-// INCLUDES
-
-#include <AknDialog.h>
-
-// FORWARD DECLARATIONS
-
-class CWlanSettingsUiSettingItemList;
-class CWlanSettingsUiModel;
-
-// CLASS DECLARATION
-
-/**
-* WLAN settings dialog base.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiDlg ): public CAknDialog
-    {
-
-    protected:  // Constructors
-
-        /**
-        * Constructor.
-        * @param aModel Data model.
-        */
-        inline CWlanSettingsUiDlg( CWlanSettingsUiModel* aModel );
-
-    public:     // New methods
-
-        /**
-        * Construct and execute the dialog.
-        * @return ETrue if dialog was accepted.
-        */
-        virtual TInt ExecuteLD();
-
-    protected:  // From CAknDialog & its base classes
-
-        /**
-        * Create custom control.
-        * @param aControlType Control type.
-        * @return Control info.
-        */
-        SEikControlInfo CreateCustomControlL( TInt aControlType );
-
-        /**
-        * Process command.
-        * @param aCommandId Command id.
-        */
-        void ProcessCommandL( TInt aCommandId );
-        
-        /**
-         * From @c CEikDialog.
-         *
-         * Handles a dialog button press for the specified button. 
-         *
-         * This function is invoked when the user presses a button in the
-         * button panel. It is not called if the Cancel button is activated 
-         * unless the @c EEikDialogFlagNotifyEsc flag has been set.
-         *
-         *
-         * @param aButtonId The ID of the button that was activated.
-         * @return @c ETrue to validate and exit the dialog, 
-         *         @c EFalse to keep the dialog active. If @c ETrue, the 
-         *         dialog will be destroyed automatically by @c ExecuteLD(). 
-         *         The default implementation returns @c ETrue no matter which
-         *         button is pressed.
-         */
-        TBool OkToExitL(TInt aButtonId);
-        
-    protected:  // New methods
-
-        /**
-        * Get the setting item list inside.
-        */
-        CWlanSettingsUiSettingItemList& SettingItemList() const;
-
-        /**
-        * Get menu bar resource id.
-        * @return Menu bar resource id.
-        */
-        virtual TInt MenuBarResourceId() const = 0;
-
-        /**
-        * Get dialog resource id.
-        * @return Dialog resource id.
-        */
-        virtual TInt DialogResourceId() const = 0;
-        
-        /**
-        * Check if Help is supported on the phone or not, querying the 
-        * KFeatureIdHelp feature flag.
-        * 
-        * @return True  If Help is supported, 
-        *         False If Help is not supported.
-        */
-        static TBool IsHelpSupported();
-
-    protected:  // Data
-
-        CWlanSettingsUiModel* iModel;   ///< Data model.
-
-        };
-
-#include "wlansettingsuidlg.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuidlg.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Inline method definitions CWlanSettingsUiDlg.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_DLG_INL
-#define WLAN_SETTINGS_UI_DLG_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::CWlanSettingsUiDlg
-// ---------------------------------------------------------
-//
-CWlanSettingsUiDlg::CWlanSettingsUiDlg( CWlanSettingsUiModel* aModel )
-: CAknDialog(), 
-  iModel( aModel )
-    {
-    }
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuiimpl.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUiImpl.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_IMPL_H
-#define WLAN_SETTINGS_UI_IMPL_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include <wlancontainer.h>
-#include <ConeResLoader.h>
-
-
-// FORWARD DECLARATIONS
-
-class CEikonEnv;
-class CWlanSettingsUiImplImpl;
-class CWlanMgmtClient;
-class CRepository;
-
-// CLASS DECLARATION
-
-/**
-* WLAN Settings UI implementation (behind proxy class CWlanSettingsUi):
-* entry points for WLAN Settign UI functionality.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiImpl ): public CBase
-    {
-
-    public:     // Constructors and destructor
-
-        /**
-        * Two-phased constructor. Leaves on failure.
-        * @param aEikEnv Eikon environment.
-        * @return The constructed CWlanSettingsUiImpl object.
-        */
-        static CWlanSettingsUiImpl* NewL( CEikonEnv& aEikEnv );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CWlanSettingsUiImpl();
-
-    protected:  // Constructors
-
-        /**
-        * Constructor.
-        * @param aEikEnv Eikon environment.
-        */
-        CWlanSettingsUiImpl( CEikonEnv& aEikEnv );
-
-        /**
-        * Second-phase constructor.
-        */
-        void ConstructL();
-
-    public:     // New methods
-
-        /**
-        * Launch General WLAN Settings view.
-        * @param aCommsDb Comms database.
-        */
-        void RunSettingsL( CMDBSession* aSession );
-
-    private:    // Data 
-
-        /*
-        * Eikon environment. Not owned.
-        */
-        CEikonEnv* iEikEnv;     
-        
-        /*
-        * @var resource loader
-        */
-        RConeResourceLoader iResources;
-        
-        /*
-        * Wlan management
-        */
-        CWlanMgmtClient* iWlanMgmtClient;
-        
-        /*
-        * Centeral Repository
-        */
-        CRepository* iRepository;
-        
-    };
-
-#endif 
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimainviewdlg.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,88 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUiMainViewDlg.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MAIN_VIEW_DLG_H
-#define WLAN_SETTINGS_UI_MAIN_VIEW_DLG_H
-
-// INCLUDES
-
-#include "wlansettingsuidlg.h"
-#include <wlansettingsui.rsg>
-
-// CLASS DECLARATION
-
-/**
-* WLAN settings main view dialog.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiMainViewDlg ): public CWlanSettingsUiDlg
-    {
-
-    public:     // Constructors
-
-        /**
-        * Constructor.
-        * @param aModel Data model.
-        */
-        inline CWlanSettingsUiMainViewDlg( CWlanSettingsUiModel* aModel );
-
-    private:    // From CWlanSettingsUiDlg
-
-        /**
-        * Get menu bar resource id.
-        * @return Menu bar resource id.
-        */
-        inline TInt MenuBarResourceId() const;
-
-        /**
-        * Get dialog resource id.
-        * @return Dialog resource id.
-        */
-        inline TInt DialogResourceId() const;
-        
-        void FocusChanged(TDrawNow aDrawNow); 
-        
-
-
-    private:    // From CAknDialog & its base classes
-
-        /**
-        * Get help context.
-        * @param aContext Help context is returned here.
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-        /**
-        * Initialize menu pane.
-        * @param aResourceId Menu pane resource id.
-        * @param CEikMenuPane Menu pane.
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-        /**
-        * Process command.
-        * @param aCommandId Command id.
-        */
-        void ProcessCommandL( TInt aCommandId );
-
-        };
-
-#include "wlansettingsuimainviewdlg.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimainviewdlg.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Inline method definitions CWlanSettingsUiMainViewDlg.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MAIN_VIEW_DLG_INL
-#define WLAN_SETTINGS_UI_MAIN_VIEW_DLG_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::CWlanSettingsUiMainViewDlg
-// ---------------------------------------------------------
-//
-CWlanSettingsUiMainViewDlg::CWlanSettingsUiMainViewDlg
-( CWlanSettingsUiModel* aModel )
-: CWlanSettingsUiDlg( aModel )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::MenuBarResourceId
-// ---------------------------------------------------------
-//
-TInt CWlanSettingsUiMainViewDlg::MenuBarResourceId() const
-    {
-    return R_WLAN_SETTINGS_UI_MAIN_VIEW_MENUBAR;
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::DialogResourceId
-// ---------------------------------------------------------
-//
-TInt CWlanSettingsUiMainViewDlg::DialogResourceId() const
-    {
-    return R_WLAN_SETTINGS_UI_MAIN_VIEW_DIALOG;
-    }
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimodel.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUiModel.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MODEL_H
-#define WLAN_SETTINGS_UI_MODEL_H
-
-// INCLUDES
-
-#include <e32base.h>
-#include "wlansettingsui.hrh"
-#include <wlancontainer.h>
-
-
-// CONSTANTS
-
-/**
- * Default "Show WLAN Availability" setting.
- */
-LOCAL_D const TBool KWlanSettingsUiDefaultShowWlanAvail = EFalse;
-
-/**
- * Value for scanning setting off.
- */
-LOCAL_D const TUint KWlanSettingsUiScanNetworkNever = 0;
-
-/**
- * Value for automatic scanning.
- */
-LOCAL_D const TUint KWlanSettingsUiScanNetworkAuto = 0xFFFFFFFF;
-
-/**
- * Default user-defined scan interval (5 minutes).
- */
-LOCAL_D const TUint KWlanSettingsUiDefaultUserDefScanInterval = 5;
-
-/**
- * Default "Scan Networks" setting.
- */
-LOCAL_D const TUint KWlanSettingsUiDefaultScanNetwork =
-    KWlanSettingsUiScanNetworkAuto;
-
-/**
- * Default "Power saving" setting.
- */
-LOCAL_D const TBool KWlanSettingsUiDefaultPowerSaving = ETrue;
-
-// FORWARD DECLARATIONS
-
-class CWlanMgmtClient;
-class CRepository;
-
-// CLASS DECLARATION
-
-/**
-* Data model for WLAN Settings UI.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiModel ) : public CBase
-    {
-    
-    public:     // Constructors and destructor
-                
-        /**
-        * Destructor
-        */
-        ~CWlanSettingsUiModel();
-
-    public:     // Types
-
-        enum TSettingType       ///< Setting type.
-            {
-            EDefaultSettings,   ///< Default settings.
-            EUserSettings       ///< User settings.
-            };
-
-    public:     // New methods
-        
-        
-        /**
-        * First phase of two phase construction
-        * @param -
-        * @return returns an instance
-        */
-        static CWlanSettingsUiModel* NewL
-            (
-            CMDBSession* aSession,
-            CWlanMgmtClient* aWlanMgmtClient,
-            CRepository* aRepository
-            );
-        
-        /**
-        * Load settings from comms database.
-        */
-        void LoadSettingsL();
-
-        /**
-        * Save settings to comms database.
-        */
-        void SaveSettingsL();
-        
-        /**
-        * Checks from CenRep if the PowerSave Mode is on (full or partial)
-        */
-        void CheckPsmModeL();
-        
-        
-    public:
-        //getters and setters
-        
-        /**
-        * Gets if Wlan availablity is shown.
-        * @return Returns wlan availablity.
-        */
-        inline TBool ShowWlanAvail();
-        
-        /**
-        * Gets scan networks mode. Returns 0 for no scan, 0xFFFFFFFF for
-        * automatic scan or user-defined scan time in minutes.
-        * @return Scan networks mode.
-        */
-        TUint ScanNetworks();
-
-        /**
-        * Gets if power saving mode is enabled.
-        * @return Returns if power saving mode is enabled.
-        */
-        inline TBool PowerSaving();
-        
-        /**
-        * Sets the value of iShowWlanAvail.
-        * @param aShowWlanAvail The set value.
-        */
-        inline void SetShowWlanAvail( TBool aShowWlanAvail );
-        
-        /**
-        * Sets the value of iScanNetworks. 0 for no scan, 0xFFFFFFFF for
-        * automatic scan or user-defined scan time in minutes.
-        * @param aScanNetworks The set value.
-        */
-        void SetScanNetworks( TUint aScanNetworks );
-
-        /**
-        * Sets the value of iPowerSaving.
-        * @param aPowerSaving The set value. 
-        */
-        inline void SetPowerSaving( TBool aPowerSaving );
-        
-        /**
-        * Gets if user selectable power save mode is enabled.
-        * @return Returns ETrue/EFalse according to if PSM mode is enabled.
-        */
-        inline TBool PsmModeOn();
-        
-        
-    private:    // New methods
-        
-        /**
-        * Constructor.
-        * @param aSession CommsDat session.
-        * @param aWlanMgmtClient Wlan management client.
-        * @param aRepository Centeral repository.
-        */
-        CWlanSettingsUiModel
-            (
-            CMDBSession* aSession, 
-            CWlanMgmtClient* aWlanMgmtClient,
-            CRepository* aRepository
-            );
-        
-        /**
-        * Second phase of two phase construction
-        */
-        void ConstructL();
-         
-        /**
-        * Fix "Scan networks" value: make sure that the numeric value is
-        * valid. Ensures fault tolerant behaviour if commsdb contains
-        * invalid value.
-        * @param TUint aSavedScanInternal The saved value of scan interval.
-        */
-        void FixScanNetworks( TUint aSavedScanInternal );
-        
-        /**
-        * Scan interval is stored in seconds in the database but the UI 
-        * handles only 1-30 minutes. Method ensures that scan interval is
-        * 0, 1-30 minutes or automatic (0xFFFFFFFF).
-        * Ensures fault tolerant behaviour if commsdb contains invalid value.
-        * @param TUint aScanInterval this value will be converted.
-        * @return TUint the converted value.
-        */
-        TUint FixScanInterval(TUint aScanInterval);
-
-    private:     
-
-        /// Show WLAN availability.
-        TBool iShowWlanAvail;
-        /// Scan networks interval in seconds. 0 for no scan, 0xFFFFFFFF for automatic. 
-        TUint iScanNetworks;
-        /// Power saving.
-        TBool iPowerSaving;
-        /// Full or partial PSM mode.
-        TBool iPsmMode;                      
-        
-        /// Comms database.
-        CMDBSession* iSession;
-
-        // WLAN Management client
-        CWlanMgmtClient* iWlanMgmtClient; // not owned
-        
-        /**
-        * Central repository member
-        */
-        CRepository* iRepository;  // not owned
-        
-        // Power Save Mode Feature
-        TBool iPsmSupported;
-
-    };
-
-#include "wlansettingsuimodel.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuimodel.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Inline method definitions CWlanSettingsUiModel.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_MODEL_INL
-#define WLAN_SETTINGS_UI_MODEL_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ShowWlanAvail
-// ---------------------------------------------------------
-//
-TBool CWlanSettingsUiModel::ShowWlanAvail()
-    {
-    return iShowWlanAvail;
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::PowerSaving
-// ---------------------------------------------------------
-//        
-TBool CWlanSettingsUiModel::PowerSaving()
-    {
-    return iPowerSaving;
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SetShowWlanAvail
-// ---------------------------------------------------------
-//        
-void CWlanSettingsUiModel::SetShowWlanAvail( TBool aShowWlanAvail )
-    {
-    iShowWlanAvail = aShowWlanAvail;
-    }
- 
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SetPowerSaving
-// ---------------------------------------------------------
-//       
-void CWlanSettingsUiModel::SetPowerSaving( TBool aPowerSaving )
-    {
-    iPowerSaving = aPowerSaving;
-    }
-    
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::PsmModeOn
-// ---------------------------------------------------------
-//    
-TBool CWlanSettingsUiModel::PsmModeOn()
-    {
-    return iPsmMode;
-    }
-    
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuipanic.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,44 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Panic function and codes.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_PANIC_H
-#define WLAN_SETTINGS_UI_PANIC_H
-
-// TYPES
-
-/**
-* Panic reasons for WLAN Settings UI.
-*/
-enum TWlanSettingsUiPanicReason
-    {
-    EWlanSettingsUiBadSetting,          ///< Bad setting.
-    EWlanSettingsUiBadControl,          ///< Bad control.
-    EWlanSettingsUiTransactionUnderflow ///< Transaction begin/commit mismatch.
-    };
-
-// FUNCTION DECLARATIONS
-
-/**
-* Panic the thread.
-* @param aReason Reason for the panic.
-*/
-void WlanSettingsUiPanic( TWlanSettingsUiPanicReason aReason );
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuiscanintervalsettingitem.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declaration of class CWlanSettingsUiScanIntervalSettingItem.
-*
-*/
-
-
-#ifndef __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
-#define __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
-
-// System includes
-#include <aknsettingitemlist.h>
-
-
-/**
- *  Specialized version of CAknEnumeratedTextPopupSettingItem class.
- *
- *  @lib wlansettingsui.lib
- *  @since S60 v5.2
- */
-NONSHARABLE_CLASS(CWlanSettingsUiScanIntervalSettingItem) : 
-    public CAknEnumeratedTextPopupSettingItem
-    {
-    public:
-
-        /**
-        * Constructor
-        * @param aResourceId Resource id for the parent class
-        * @param aValue Value for the parent class
-        */
-        CWlanSettingsUiScanIntervalSettingItem( 
-                        TInt aResourceId, TInt &aListValue, TInt& aValue,
-                        CWlanSettingsUiModel* aModel );
-    
-        /**
-        * Destructor.
-        */       
-        virtual ~CWlanSettingsUiScanIntervalSettingItem();
-
-        /**
-        * From CAknEnumeratedTextPopupSettingItem
-        * @return Setting item text (current value).
-        */
-        const TDesC& SettingTextL();
-        
-        /**
-        * From CAknEnumeratedTextPopupSettingItem
-        * @param aCalledFromMenu Ignored in this class.
-        */
-        void EditItemL( TBool aCalledFromMenu );
-
-        /**
-        * From CAknSettingItem
-        * @param aSettingPage Pointer to setting page which has caused this callback.
-        * @param aEventType Occurred setting page event type.
-        */
-        void HandleSettingPageEventL( CAknSettingPage* aSettingPage,
-                                      TAknSettingPageEvent aEventType );
-        
-    private:    
-
-        /**
-        * Displays scan interval query
-        */
-        TBool ShowScanIntervalQueryL();
-
-        /**
-        * Shows an information note if user tries to select a non-allowed
-        * value during full or partial PowerSave Mode.
-        */
-        void ShowPowerSavingInfoNoteL();   
-        
-    private: // Data
-        
-        CWlanSettingsUiModel* iModel;
-        RBuf iSettingText;
-        TInt& iValue;
-        CEikonEnv* iEnv;
-        TBool iRevertBackToAutomaticScan;
-    };
-
-#endif // __WLAN_SETTINGS_UI_SCAN_INTERVAL_SETTING_ITEM_H__
-//End of file
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuisettingitemlist.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,144 +0,0 @@
-/*
-* Copyright (c) 2004-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUiSettingItemList.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_SETTING_ITEM_LIST_H
-#define WLAN_SETTINGS_UI_SETTING_ITEM_LIST_H
-
-// INCLUDES
-
-#include <aknsettingitemlist.h>
-#include "wlansettingsuibinarypopupsettingitem.h"
-
-// CLASS DECLARATION
-class CWlanSettingsUiModel;
-
-/**
-* WLAN settings item list.
-* Added functionality:
-* - Creates proper type setting items, based on setting id.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiSettingItemList )
-: public CAknSettingItemList,
-  public MWlanSettingsUiBinaryPopupSettingObserver
-    {
-
-    public:     // Constructors
-
-        /**
-        * Constructor.
-        * @param aModel Data model.
-        */
-        inline CWlanSettingsUiSettingItemList
-            ( CWlanSettingsUiModel* aModel );
-
-    public:     // New methods
-
-        /**
-        * Edit current item.
-        * @param aCalledFromMenu ETrue if called from menu.
-        */
-        void EditCurrentItemL( TBool aCalledFromMenu );
-
-    public: // From CAknSettingItemList & base classes
-
-        /**
-        * Activate.
-        */
-        void ActivateL();
-
-        /**
-        * Load settings.
-        */
-        void LoadSettingsL();
-        
-        /**
-        * Handle resource change
-        * @param aType message UID value
-        */
-        void HandleResourceChange( TInt aType );
-
-        /**
-        * Launches the setting page for the current item by calling 
-        * EditItemL on it
-        * @param aIndex Current item's (Visible) index in the list
-        * @param aCalledFromMenu Ignored in most classes; may alter 
-        * the behaviour of the setting page
-        */
-        void EditItemL( TInt aIndex, TBool aCalledFromMenu );
-
-        /**
-        * Create setting item.
-        * @param aSettingId Setting id.
-        * @return Setting item.
-        */
-        CAknSettingItem* CreateSettingItemL( TInt aSettingId );
-
-        /**
-        * Set view (hide / show items as appropriate).
-        */
-        void RefreshViewL();
-
-    private:    // From MWlanSettingsUiBinaryPopupSettingObserver
-
-        /**
-        * Binary setting internal value has changed.
-        * @param aItem Changed item.
-        * @param aNewInternalVal New internal value.
-        */
-        void BinarySettingChangedL
-            (
-            CWlanSettingsUiBinaryPopupSettingItem* aItem,
-            TBool aNewInternalVal
-            );
-
-    private:    // New methods
-
-        /**
-        * Sets the drawing rectangle for the listbox.
-        */
-        void SetListBoxRect();
-       
-    
-    private:    // Data
-
-        CWlanSettingsUiModel* iModel;///< Data model.
-
-        TBool iShowWlanAvail;        ///< Show WLAN availablility on/off
-        
-        ///< Scan networks mode selection (automatic/user-defined)
-        TInt iScanMode;
-        
-        ///< User selected scan interval needs to be checked if in PSM mode              
-        TInt iScanInterval;      
-
-        TInt iPowerSaving;
-        
-        // Old scan networks value is reverted back if 
-        // user turns PSM mode on and then off in settings UI
-        TBool iChangeScanNetworksValueBack;
-        
-        // Back up for the scan networks value
-        TUint iScanNetworksBackUp;
-        
-        };
-
-#include "wlansettingsuisettingitemlist.inl"
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuisettingitemlist.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Inline method definitions CWlanSettingsUiSettingItemList.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_SETTING_ITEM_LIST_INL
-#define WLAN_SETTINGS_UI_SETTING_ITEM_LIST_INL
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::CWlanSettingsUiSettingItemList
-// ---------------------------------------------------------
-//
-CWlanSettingsUiSettingItemList::CWlanSettingsUiSettingItemList(
-                                                CWlanSettingsUiModel* aModel )
-: iModel( aModel )
-    {
-    }
-
-#endif
--- a/wlanutilities/wlansettingsui/inc/wlansettingsuistatuspane.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,80 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Declaration of class CWlanSettingsUiStatusPane.   
-*      
-*
-*/
-
-
-#ifndef WLAN_SETTINGS_UI_STATUS_PANE_H
-#define WLAN_SETTINGS_UI_STATUS_PANE_H
-
-// INCLUDES
-
-#include <e32base.h>
-
-// FORWARD DECLARATION
-
-class CEikonEnv;
-class CEikStatusPane;
-class CAknTitlePane;
-class CAknNavigationControlContainer;
-class CAknNavigationDecorator;
-
-// CLASS DECLARATION
-
-/**
-* Status pane setter class. Replaces status pane text on construction,
-* restores old text on deletion.
-*/
-NONSHARABLE_CLASS( CWlanSettingsUiStatusPane ): public CBase
-    {
-    
-    public:     // Constructors and destructor
-
-        /**
-        * Two-phased constructor. Leaves on failure.
-        * @param aEikEnv Eikon environment.
-        * aResourceId TBUF resource id.
-        * @return The constructed object.
-        */
-        static CWlanSettingsUiStatusPane* NewLC
-            ( const CEikonEnv* aEikEnv, TInt aResourceId );
-
-        /**
-        * Destructor.
-        */
-        virtual ~CWlanSettingsUiStatusPane();
-
-    protected:  // Constructors
-
-        /**
-        * Second-phase constructor.
-        * @param aEikEnv Eikon environment.
-        * aResourceId TBUF resource id.
-        */
-        void ConstructL( const CEikonEnv* aEikEnv, TInt aResourceId );
-
-    private:    // Data
-
-        CEikStatusPane* iStatusPane;                ///< Status pane, not own.
-        CAknTitlePane* iTitlePane;                  ///< Title pane, not own.
-        CAknNavigationControlContainer* iNaviPane;  ///< Navi pane, not own.
-        CAknNavigationDecorator* iNaviDecorator;    ///< Navi decorator, own.
-        HBufC* iOldTitleText;                       ///< Old title text, own.
-
-    };
-
-#endif
--- a/wlanutilities/wlansettingsui/loc/wlansettingsui.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,153 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*		Localization strings for the dll
-*
-*/
-
-
-//  LOCALISATION STRINGS
-
-//d:Title pane text of WLAN (Wireless Local Area Network) settings.
-//l:title_pane_t2/opt9
-//w:
-//r:3.1
-//
-#define qtn_wlan_main_title "Wireless LAN"
-
-//d:Setting list item name.
-//d:"Show WLAN availability" setting: defines if WLAN availablility indicator
-//d:is displayed or not.
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_show_wlan_avail "Show WLAN availability"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_show_wlan_avail "Show WLAN availability" setting value:
-//d:WLAN availability indicator is not displayed.
-//d:Backround scan for WLAN networks is never performed (==off).
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_never "No"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_show_wlan_avail "Show WLAN availability" setting value:
-//d:WLAN availability indicator is displayed.
-//d:Backround scan for WLAN networks is performed regularly.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_enabled "Yes"
-
-//d:Setting list item name.
-//d:"Scan networks" setting: controls the interval, how often a background scan
-//d:for surrounding WLAN networks is performed.
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_interval "Update availability"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan for WLAN networks is performed in every 1 minute.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_bg_scan_1_min "Every 1 min."
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan for WLAN networks is performed in every %N minutes.
-//l:list_set_graphic_pane_t1
-//w:
-//r:5.2
-//
-#define qtn_wlan_sett_bg_scan_x_min "Every %N minutes"
-
-//d:Setting list item name.
-//d:"Power saving" setting: controls the status of the power mode.
-//l:list_setting_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_power_saving "Power saving"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_power_saving "Power saving" setting value:
-//d:power saving enabled.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_power_saving_enabled "Enabled"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_power_saving "Power saving" setting value:
-//d:power saving disabled.
-//l:list_set_graphic_pane_t1
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_power_saving_disabled "Disabled" 
-
-//d: In case of error, the error code is passed to error resolver
-//d: and the error note is displayed accordingly. If error resolver
-//d: cannot resolve the error, an error note "System error" is displayed.
-//l: popup_note_window/opt2
-//w:
-//r:3.1
-//
-#define qtn_err_os_general "System error"
-
-//d: In case the user wants to change the background scanning
-//d: interval while the phone is in power save mode this a 
-//l:popup_note_window
-//w: 
-//r:5.0
-//
-#define qtn_power_saving_protected_settings_infonote "Power saving is active. Unable to edit."
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan for WLAN networks is calculated by adaptive WLAN scanning engine
-//l:list_set_graphic_pane_t1
-//w:
-//r:5.0
-//
-#define qtn_wlan_sett_bg_scan_auto      "Automatically"
-
-//d:Setting choice item.
-//d:qtn_wlan_sett_bg_scan_interval "Scan network" setting value:
-//d:Backround scan interval for WLAN networks is defined by user
-//l:list_set_graphic_pane_t1
-//w:
-//r:5.2
-//
-#define qtn_wlan_sett_bg_scan_user_def "User-defined interval"
-
-//d:"Interval (in minutes):" - data query
-//l:popup_query_data_window/opt5
-//w:
-//r:5.2
-//
-#define qtn_wlan_prmpt_bg_scan_interval "Interval (in minutes):"
-
-// End of File
--- a/wlanutilities/wlansettingsui/rom/wlansettingsui.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project wlansettingsui
-*
-*/
-
-
-#ifndef __WLAN_SETTINGS_UI_IBY__
-#define __WLAN_SETTINGS_UI_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-FILE=ABI_DIR\BUILD_DIR\wlansettingsui.dll    SHARED_LIB_DIR\wlansettingsui.dll
-
-
-#endif //__PROTOCOL_WLAN
-
-#endif //__WLAN_SETTINGS_UI_IBY__
-
--- a/wlanutilities/wlansettingsui/rom/wlansettingsuiresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project wlansettingsui
-*
-*/
-
-
-#ifndef __WLAN_SETTINGS_UI_RESOURCES_IBY__
-#define __WLAN_SETTINGS_UI_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-data=DATAZ_\RESOURCE_FILES_DIR\wlansettingsui.rsc RESOURCE_FILES_DIR\wlansettingsui.rsc
-
-#endif //__PROTOCOL_WLAN
-
-#endif __WLAN_SETTINGS_UI_RESOURCES_IBY__
-
--- a/wlanutilities/wlansettingsui/src/wlansettingsui.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of class CWlanSettingsUi.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "wlansettingsui.h"
-#include "wlansettingsuiimpl.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::NewLC
-// ---------------------------------------------------------
-//
-EXPORT_C CWlanSettingsUi* CWlanSettingsUi::NewL( CEikonEnv& aEikEnv )
-    {
-    CWlanSettingsUi* ui = new ( ELeave ) CWlanSettingsUi();
-    CleanupStack::PushL( ui );
-    ui->iImpl = CWlanSettingsUiImpl::NewL( aEikEnv );
-    CleanupStack::Pop( ui ); 
-    return ui;    
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::~CWlanSettingsUi
-// ---------------------------------------------------------
-//
-EXPORT_C CWlanSettingsUi::~CWlanSettingsUi()
-    {
-    delete iImpl;
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::RunSettingsL
-// ---------------------------------------------------------
-//
-EXPORT_C void CWlanSettingsUi::RunSettingsL( CMDBSession* aSession )
-    {
-    iImpl->RunSettingsL( aSession );
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::RunSettingsL
-// ---------------------------------------------------------
-//  
-EXPORT_C void CWlanSettingsUi::RunSettingsL()
-    {
-    CommsDat::CMDBSession* session = CMDBSession::NewLC( KCDLatestVersion );
-    RunSettingsL( session );
-    CleanupStack::PopAndDestroy( session );
-    }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuibinarypopupsettingitem.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      CWlanSettingsUiBinaryPopupSettingItem implementation.   
-*      
-*
-*/
-
-
-#include "wlansettingsuibinarypopupsettingitem.h"
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiBinaryPopupSettingItem::CWlanSettingsUiBinaryPopupSettingItem
-// ---------------------------------------------------------
-//
-CWlanSettingsUiBinaryPopupSettingItem::CWlanSettingsUiBinaryPopupSettingItem(
-                        MWlanSettingsUiBinaryPopupSettingObserver& aObserver,
-                        TInt aResourceId,
-                        TBool& aValue )
-: CAknBinaryPopupSettingItem( aResourceId, aValue ), 
-  iObserver( aObserver )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiBinaryPopupSettingItem::EditItemL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiBinaryPopupSettingItem::EditItemL( TBool aCalledFromMenu )
-    {
-    // Since this is a binary setting, edit always means change.
-    // (There is no popup to Cancel, the setting changes in place.)
-    CAknBinaryPopupSettingItem::EditItemL( aCalledFromMenu );
-    iObserver.BinarySettingChangedL( this, InternalValue() );
-    }
-
--- a/wlanutilities/wlansettingsui/src/wlansettingsuidlg.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,176 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of class CWlanSettingsUiDlg.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "wlansettingsuidlg.h"
-#include "wlansettingsuisettingitemlist.h"
-#include "wlansettingsuipanic.h"
-#include "wlansettingsui.hrh"
-
-#include <aknappui.h>
-#include <featmgr.h>
-
-#include <hlplch.h>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::ExecuteLD
-// ---------------------------------------------------------
-//
-TInt CWlanSettingsUiDlg::ExecuteLD()
-    {
-    CleanupStack::PushL( this );
-    ConstructL( MenuBarResourceId() );
-    CleanupStack::Pop( this );
-    return CAknDialog::ExecuteLD( DialogResourceId() );
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::CreateCustomControlL
-// ---------------------------------------------------------
-//
-SEikControlInfo CWlanSettingsUiDlg::CreateCustomControlL( TInt aControlType )
-    {
-    SEikControlInfo controlInfo;
-    controlInfo.iControl = NULL;
-    controlInfo.iTrailerTextId = 0;
-    controlInfo.iFlags = 0;
-    switch ( aControlType )
-        {
-        case EWlanSettingsUiSettingItemList:
-            {
-            controlInfo.iControl = new (ELeave) CWlanSettingsUiSettingItemList(
-                    iModel );
-            break;
-            }
-
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, \
-                WlanSettingsUiPanic( EWlanSettingsUiBadControl ) );
-            break;
-            }
-        }
-    return controlInfo;
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::ProcessCommandL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiDlg::ProcessCommandL( TInt aCommandId )
-    {
-    if ( MenuShowing() ) 
-        {
-        HideMenu();
-        }
-
-    switch( aCommandId )
-        {
-        case EWlanSettingsUiCmdChange: 
-            {
-            SettingItemList().EditCurrentItemL( ETrue );
-            break;
-            }
-            
-        case EAknSoftkeyChange:
-            {
-            SettingItemList().EditCurrentItemL( EFalse );
-            break;
-            }
-
-        case EAknSoftkeyBack:
-            {
-            TryExitL( aCommandId );
-            break;
-            }
-            
-        case EAknCmdHelp:
-            {
-            if( IsHelpSupported() )
-                {
-                HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(),
-                    iEikonEnv->EikAppUi()->AppHelpContextL() );
-                }
-            break;
-            }
-
-        case EAknCmdExit:
-        case EEikCmdExit:
-            {
-            ( ( CAknAppUi* )iEikonEnv->EikAppUi() )->
-                                           ProcessCommandL( aCommandId );
-            break;
-            }
-
-        default:
-            {
-            CAknDialog::ProcessCommandL( aCommandId );
-            }
-        }
-    }
-  
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::OkToExitL
-// ---------------------------------------------------------
-//  
-TBool CWlanSettingsUiDlg::OkToExitL( TInt aButtonId )
-    {
-    if ( aButtonId == EAknSoftkeyChange )
-        {
-        ProcessCommandL( aButtonId );
-        return EFalse;
-        }
-        
-    return CAknDialog::OkToExitL( aButtonId );  
-    }
-    
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::SettingItemList
-// ---------------------------------------------------------
-//
-CWlanSettingsUiSettingItemList& CWlanSettingsUiDlg::SettingItemList() const
-    {
-    return *( STATIC_CAST( CWlanSettingsUiSettingItemList*, \
-        Control( EWlanSettingsUiDlgSettingList ) ) );
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiDlg::IsHelpSupported
-// ---------------------------------------------------------
-//
-TBool CWlanSettingsUiDlg::IsHelpSupported()
-    {
-    TBool isHelpSupported = EFalse;
-    
-    TRAPD( error, FeatureManager::InitializeLibL() );
-    
-    if( !error )
-        {
-        isHelpSupported = 
-            FeatureManager::FeatureSupported( KFeatureIdHelp );
-        
-        FeatureManager::UnInitializeLib();
-        }
-    
-    return isHelpSupported;
-    }  
--- a/wlanutilities/wlansettingsui/src/wlansettingsuiimpl.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of class CWlanSettingsUiImpl.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <eikenv.h>
-#include <bautils.h>
-#include <centralrepository.h>
-#include <data_caging_path_literals.hrh>
-#include <wlanmgmtclient.h>
-#include <internetconnectivitycrkeys.h>
-#include <f32file.h>
-#include <mpmconnectscreenid.h>
-#include <wlandevicesettingsinternalcrkeys.h>
-
-#include "wlansettingsuiimpl.h"
-#include "wlansettingsuimainviewdlg.h"
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuistatuspane.h"
-
-// CONSTANTS
-
-/// WLAN Settings UI resource file path.
-_LIT( KWlanSettingsUiResourceFile, "z:wlansettingsui.rsc" );
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::NewLC
-// ---------------------------------------------------------
-//
-CWlanSettingsUiImpl* CWlanSettingsUiImpl::NewL( CEikonEnv& aEikEnv )
-    {
-    CWlanSettingsUiImpl* ui = new ( ELeave ) CWlanSettingsUiImpl( aEikEnv );
-    CleanupStack::PushL( ui );
-    ui->ConstructL();
-    CleanupStack::Pop( ui ); 
-    return ui;    
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::~CWlanSettingsUiImpl
-// ---------------------------------------------------------
-//
-CWlanSettingsUiImpl::~CWlanSettingsUiImpl()
-    {    
-    iResources.Close();
-    
-#ifndef __WINS__
-    delete iWlanMgmtClient;
-#endif
-    delete iRepository;
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::CWlanSettingsUiImpl
-// ---------------------------------------------------------
-//
-CWlanSettingsUiImpl::CWlanSettingsUiImpl( CEikonEnv& aEikEnv )
-: iEikEnv( &aEikEnv ), 
-  iResources( *CCoeEnv::Static() ) 
-    {
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiImpl::ConstructL()
-    {
-    RFs fsSession;
-    User::LeaveIfError( fsSession.Connect() );
-
-    // Find the resource file:
-    TParse parse;
-    parse.Set( KWlanSettingsUiResourceFile, &KDC_RESOURCE_FILES_DIR, NULL );
-    TFileName fileName( parse.FullName() );
-
-    // Get language of resource file:
-    BaflUtils::NearestLanguageFile( fsSession, fileName );
-
-    // Open resource file:
-    iResources.OpenL( fileName );
-
-    // If leave occurs before this, close is called automatically when the
-    // thread exits.
-    fsSession.Close();
-
-
-#ifndef __WINS__
-    iWlanMgmtClient = CWlanMgmtClient::NewL();
-#endif
-    iRepository = CRepository::NewL( KCRUidInternetConnectivitySettings );
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiImpl::RunSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiImpl::RunSettingsL( CMDBSession* aSession )
-    {
-    CWlanSettingsUiModel* model = CWlanSettingsUiModel::NewL( 
-                                aSession, 
-                                iWlanMgmtClient,
-                                iRepository);
-    
-    CleanupStack::PushL( model );
-    
-    model->LoadSettingsL();
-    CWlanSettingsUiStatusPane* statusPane =
-        CWlanSettingsUiStatusPane::NewLC( iEikEnv, R_WLAN_SETTINGS_UI_TITLE );
-    CWlanSettingsUiMainViewDlg* dlg =
-        new ( ELeave ) CWlanSettingsUiMainViewDlg( model );
-    dlg->ExecuteLD();
-    
-    CleanupStack::PopAndDestroy( statusPane );
-    CleanupStack::PopAndDestroy( model );
-    }
-
--- a/wlanutilities/wlansettingsui/src/wlansettingsuimainviewdlg.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of class CWlanSettingsUiMainViewDlg.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <AknQueryDialog.h>
-#include <eikmenup.h>
-#include "wlansettingsuimainviewdlg.h"
-#include "wlansettingsui.hrh"
-#include "wlansettingsuisettingitemlist.h"
-
-#include "wlansettingsuidefs.h"
-#include <csxhelp/cp.hlp.hrh>
-
-
-//CONSTANTS
-
-// ================= MEMBER FUNCTIONS =======================
-        void FocusChanged(TDrawNow aDrawNow); 
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::GetHelpContext
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::FocusChanged(TDrawNow /* aDrawNow */)
-    {
-    TRAP_IGNORE( SettingItemList().RefreshViewL() );
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::GetHelpContext
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::GetHelpContext
-( TCoeHelpContext& aContext ) const
-    {
-    aContext.iMajor = KWlanSettingsUiHelpMajor;
-    aContext.iContext = KSET_HLP_WLAN_SETTINGS; 
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::DynInitMenuPaneL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::DynInitMenuPaneL
-( TInt aResourceId, CEikMenuPane* aMenuPane )
-    {
-    CWlanSettingsUiDlg::DynInitMenuPaneL( aResourceId, aMenuPane );
-    if ( aResourceId == R_WLAN_SETTINGS_UI_MAIN_VIEW_MENU )
-        {
-        if ( !IsHelpSupported() )
-            {
-            aMenuPane->DeleteMenuItem( EAknCmdHelp );
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiMainViewDlg::ProcessCommandL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiMainViewDlg::ProcessCommandL( TInt aCommandId )
-    {
-    if ( MenuShowing() )
-        {
-        HideMenu();
-        }
-
-    switch( aCommandId )
-        {
-        default:
-            {
-            CWlanSettingsUiDlg::ProcessCommandL( aCommandId );
-            }
-        }
-    }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuimodel.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,327 +0,0 @@
-/*
-* Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of class TWlanSettingsUiModel.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-#include <centralrepository.h>
-#include <wlanmgmtclient.h>
-#include <internetconnectivitycrkeys.h>
-#include <wlancontainer.h>
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuipanic.h"
-
-#include <psmtypes.h>
-#include <psmsrvdomaincrkeys.h>
-#include <wlandevicesettingsinternalcrkeys.h>
-#include <featmgr.h>
-#include <mpmconnectscreenid.h>
-
-// CONSTANTS
-
-const TInt KWlanSettingsUiSecondsInMinute = 60;
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::NewL
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel* CWlanSettingsUiModel::NewL
-    (
-    CMDBSession* aSession,
-    CWlanMgmtClient* aWlanMgmtClient,
-    CRepository* aRepository
-    )
-    {
-    CWlanSettingsUiModel* self = new( ELeave ) 
-         CWlanSettingsUiModel(aSession, 
-                              aWlanMgmtClient,
-                              aRepository);
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::CWlanSettingsUiModel
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel::CWlanSettingsUiModel
-    (
-    CMDBSession* aSession,
-    CWlanMgmtClient* aWlanMgmtClient,
-    CRepository* aRepository
-    )
-: iShowWlanAvail( KWlanSettingsUiDefaultShowWlanAvail ),
-  iScanNetworks( KWlanSettingsUiDefaultScanNetwork ),
-  iPowerSaving( KWlanSettingsUiDefaultPowerSaving ),
-  iPsmMode( EFalse ),
-  iSession( aSession ),
-  iWlanMgmtClient( aWlanMgmtClient ),
-  iRepository( aRepository ),
-  iPsmSupported( EFalse )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::ConstructL()
-    {
-    FeatureManager::InitializeLibL();
-    // Set the member variable to indicate if full/partial PSM is on.
-    // This value stays the same for the whole WLAN Settings session,
-    // i.e. we ignore any mode changes during the session.
-    CheckPsmModeL();
-    }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::~CWlanSettingsUiModel()
-// ---------------------------------------------------------
-//
-CWlanSettingsUiModel::~CWlanSettingsUiModel()
-    {
-     FeatureManager::UnInitializeLib();  
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::LoadSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::LoadSettingsL()
-    {
-    TBool ownTransaction( EFalse );
-    if( !iSession->IsInTransaction() )
-        {
-        ownTransaction = ETrue;
-        iSession->OpenTransactionL();
-        }
-    TMDBElementId tableId = 0;
-    
-    tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-        
-    CCDWlanDeviceSettingsRecord* record = new( ELeave )
-            CCDWlanDeviceSettingsRecord( tableId );         
-    CleanupStack::PushL( record );
-    
-    record->iWlanDeviceSettingsType = KWlanUserSettings; 
-    
-    if( record->FindL( *iSession ) )
-        {
-        record->LoadL( *iSession );
-        }
-
-    // Read scan interval
-
-    iScanNetworks = record->iBgScanInterval;
-    FixScanNetworks( record->iSavedBgScanInterval );
- 
-    iPowerSaving = record->iWlanPowerMode;
-    CleanupStack::PopAndDestroy( record ); 
-    
-    if ( ownTransaction )
-        {
-        iSession->CommitTransactionL();
-          // Rollback operation.
-        }
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SaveSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::SaveSettingsL()
-    {
-    TBool ownTransaction( EFalse );
-    if( !iSession->IsInTransaction() )
-        {
-        ownTransaction = ETrue;
-        iSession->OpenTransactionL();
-        }
-    TMDBElementId tableId = 0;
-    tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-        
-    CCDWlanDeviceSettingsRecord* record = new( ELeave )
-            CCDWlanDeviceSettingsRecord( tableId );         
-    
-    CleanupStack::PushL( record );
-    
-    record->iWlanDeviceSettingsType = KWlanUserSettings; 
-    
-    if( record->FindL( *iSession ) )
-        {
-        record->LoadL( *iSession );
-        }
-    
-    if ( iShowWlanAvail )
-        {
-        record->iBgScanInterval = iScanNetworks;
-        }
-    else
-        {
-        record->iBgScanInterval = KWlanSettingsUiScanNetworkNever;
-        
-        // Do not change the saved interval value if in full or partial PSM Mode.
-        // We want to preserve the previous user-selected value in memory, not the
-        // forced PSM mode value (automatic).
-        if ( !PsmModeOn() )
-            {
-            record->iSavedBgScanInterval = iScanNetworks;
-            }
-        }
-
-    record->iWlanPowerMode = iPowerSaving;
-    
-    // Whenever settings are modified, iUseDefaultSettings must be set to false.
-    record->iUseDefaultSettings = EFalse;
-
-    record->ModifyL( *iSession );
-        
-    CleanupStack::PopAndDestroy( record );        
-    if ( ownTransaction )
-        {
-        iSession->CommitTransactionL();
-        }
-
-#ifndef __WINS__
-    // Notifying WLAN Engine about changes in settings
-    iWlanMgmtClient->NotifyChangedSettings();
-#endif
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::FixScanNetworks
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::FixScanNetworks( TUint aSavedScanInterval )
-    {    
-    if ( iScanNetworks == KWlanSettingsUiScanNetworkNever )
-        {
-        iShowWlanAvail = EFalse;
-  
-        if( aSavedScanInterval == KWlanSettingsUiScanNetworkNever
-            || iPsmMode )
-            {
-            iScanNetworks = KWlanSettingsUiDefaultScanNetwork;
-            }
-        else
-            {
-            iScanNetworks = FixScanInterval( aSavedScanInterval );
-            }
-        }   
-             
-    else
-        {
-        iShowWlanAvail = ETrue;
-        iScanNetworks = FixScanInterval( iScanNetworks );
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::FixScanInterval
-// ---------------------------------------------------------
-//
-TUint CWlanSettingsUiModel::FixScanInterval( TUint aScanInterval )
-    {
-    if( aScanInterval <=
-        ( EWlanSettingsUiScanNetworkMax * KWlanSettingsUiSecondsInMinute ) )
-        {
-        // Return only full minutes
-        return aScanInterval -
-            ( aScanInterval % KWlanSettingsUiSecondsInMinute );
-        }
-    else
-        {
-        return KWlanSettingsUiScanNetworkAuto;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::CheckPsmModeL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiModel::CheckPsmModeL()
-    {		
-    iPsmSupported = FeatureManager::FeatureSupported( KFeatureIdPowerSave ); 
-    if( iPsmSupported )   
-    {       	   
-    TPsmsrvMode mode( EPsmsrvModeNormal );
-
-    CRepository* cenrep = NULL;
-
-    TRAP_IGNORE( cenrep = CRepository::NewL( KCRUidPowerSaveMode ) );
-    
-  	  if ( cenrep )
-    	    {
-      	  TInt crValue(0);
-        	cenrep->Get( KPsmCurrentMode, crValue );
-        	mode = static_cast<TPsmsrvMode>( crValue );
-        	if ( mode == EPsmsrvModePowerSave || mode == EPsmsrvPartialMode )
-                {
-                iPsmMode = ETrue;
-                }
-        	else 
-        	    {
-        	    iPsmMode = EFalse;
-        	    }
-        	
-         delete cenrep;
-       	 cenrep = NULL;                    
-        }
-      }  
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::ScanNetworks
-// ---------------------------------------------------------
-//              
-TUint CWlanSettingsUiModel::ScanNetworks()
-    {
-    if ( iScanNetworks == KWlanSettingsUiScanNetworkAuto )
-        {
-        return iScanNetworks;   
-        }
-    else
-        {
-        // Return scan time in minutes
-        return ( iScanNetworks / KWlanSettingsUiSecondsInMinute );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiModel::SetScanNetworks
-// ---------------------------------------------------------
-//        
-void CWlanSettingsUiModel::SetScanNetworks( TUint aScanNetworks )
-    {
-    if ( aScanNetworks == KWlanSettingsUiScanNetworkAuto )
-        {
-        iScanNetworks = aScanNetworks;
-        }
-    else
-        {
-        // Scan time stored in seconds
-        iScanNetworks = aScanNetworks * KWlanSettingsUiSecondsInMinute;
-        }
-    } 
--- a/wlanutilities/wlansettingsui/src/wlansettingsuipanic.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of panic function.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <e32std.h>
-#include "wlansettingsuipanic.h"
-
-// ================= LOCAL FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// WlanSettingsUiPanic()
-// ---------------------------------------------------------
-//
-void WlanSettingsUiPanic( TWlanSettingsUiPanicReason aReason )
-    {
-    _LIT( KWlanSettingsUi, "WLAN Settings UI" );
-    User::Panic( KWlanSettingsUi, aReason );
-    }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuiscanintervalsettingitem.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declaration of class CWlanSettingsUiScanIntervalSettingItem.
-*
-*/
- 
-// INCLUDE FILES
-
-#include "wlansettingsui.hrh"
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuiscanintervalsettingitem.h"
-
-#include <wlansettingsui.rsg>
-#include <AknQueryDialog.h>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-
-// CONSTANTS
-
-/**
-* User defined scan interval minimum
-*/
-const TInt KScanIntervalMin = EWlanSettingsUiScanNetworkMin;
-
-/**
-* User defined scan interval maximum
-*/
-const TInt KScanIntervalMax = EWlanSettingsUiScanNetworkMax;
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::
-//                                      CWlanSettingsUiScanIntervalSettingItem
-// ---------------------------------------------------------------------------
-//
-CWlanSettingsUiScanIntervalSettingItem::
-    CWlanSettingsUiScanIntervalSettingItem( 
-        TInt aResourceId, TInt& aListValue, TInt& aValue,
-        CWlanSettingsUiModel* aModel ) : 
-    CAknEnumeratedTextPopupSettingItem( aResourceId, aListValue ),
-    iModel( aModel ),
-    iValue( aValue ),
-    iEnv( CEikonEnv::Static() ),
-    iRevertBackToAutomaticScan( EFalse ) 
-    {        
-    };
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::
-//                                     ~CWlanSettingsUiScanIntervalSettingItem
-// Destructor
-// ---------------------------------------------------------------------------
-//
-CWlanSettingsUiScanIntervalSettingItem::
-    ~CWlanSettingsUiScanIntervalSettingItem()
-    {
-    iSettingText.Close();
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::SettingTextL
-// ---------------------------------------------------------------------------
-//
-const TDesC& CWlanSettingsUiScanIntervalSettingItem::SettingTextL()
-    {
-    HBufC* tempText;
-    
-    iSettingText.Close();
-    
-    if ( InternalValue() == EWlanSettingsUiScanNetworkAuto )
-        {
-        tempText = iEnv->AllocReadResourceL( R_WLAN_SETT_BG_SCAN_AUTO );
-        }
-    else
-        {
-        if ( iValue == 1 )
-            {
-            tempText = iEnv->AllocReadResourceL( R_WLAN_SETT_BG_SCAN_1_MIN );
-            }
-        else
-            {
-            tempText = StringLoader::LoadL( R_WLAN_SETT_BG_SCAN_X_MIN, iValue, iEnv );
-            }
-        }
-    
-    iSettingText.Assign( tempText );
-    
-    AknTextUtils::LanguageSpecificNumberConversion( iSettingText );
-    
-    return iSettingText;
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::EditItemL
-// ---------------------------------------------------------------------------
-//
-void CWlanSettingsUiScanIntervalSettingItem::EditItemL( TBool aCalledFromMenu )
-    {
-    CAknEnumeratedTextPopupSettingItem::EditItemL( aCalledFromMenu );
-    
-    if ( iRevertBackToAutomaticScan )
-        {
-        // Scan mode needs to be reverted back to automatic because we are
-        // either in power saving mode or user cancelled the user-defined
-        // scan interval query
-        SetInternalValue( EWlanSettingsUiScanNetworkAuto );
-        SetSelectedIndex( IndexFromValue( EWlanSettingsUiScanNetworkAuto ) );
-        UpdateListBoxTextL();
-        iRevertBackToAutomaticScan = EFalse;
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::HandleSettingPageEventL
-// ---------------------------------------------------------------------------
-//
-void CWlanSettingsUiScanIntervalSettingItem::HandleSettingPageEventL(
-        CAknSettingPage* aSettingPage,
-        TAknSettingPageEvent aEventType )
-    {
-    if ( aEventType != EEventSettingCancelled )
-        {
-        CEikListBox* listBox = (CEikListBox*)aSettingPage->EditorControl();
-        TInt index = listBox->CurrentItemIndex();
-        
-        if ( index == IndexFromValue( EWlanSettingsUiScanNetworkUserDef ) )
-            {
-            // User-defined scan interval selected
-            if ( !iModel->PsmModeOn() )
-                {
-                if ( iValue == 0 )
-                    {
-                    // Set default scan interval for query dialog
-                    iValue = KWlanSettingsUiDefaultUserDefScanInterval;
-                    }
-                if ( ShowScanIntervalQueryL() == FALSE )
-                    {
-                    // Dialog was cancelled, revert back to automatic scan?
-                    if ( InternalValue() == EWlanSettingsUiScanNetworkAuto )
-                        {
-                        // Previous selection was automatic, revert back to
-                        // automatic
-                        iRevertBackToAutomaticScan = ETrue;
-                        }
-                    }
-                }
-            else
-                {
-                // We are in power saving mode, user-defined interval not allowed
-                ShowPowerSavingInfoNoteL();
-                iRevertBackToAutomaticScan = ETrue;
-                }
-            }
-        }
-
-    CAknSettingItem::HandleSettingPageEventL(aSettingPage, aEventType);
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::ShowScanIntervalQueryL
-// ---------------------------------------------------------------------------
-//
-TBool CWlanSettingsUiScanIntervalSettingItem::ShowScanIntervalQueryL()
-    {
-    HBufC* msg = StringLoader::LoadLC( R_WLAN_PRMPT_BG_SCAN_INTERVAL );
-
-    CAknNumberQueryDialog* dialog = CAknNumberQueryDialog::NewL( iValue );
-    dialog->PrepareLC( R_WLAN_SETTINGS_UI_NUMBER_EDITOR_2 );
-    dialog->SetPromptL( *msg );
-    dialog->SetMinimumAndMaximum( KScanIntervalMin, KScanIntervalMax );
-    TBool result = ( dialog->RunLD() == EAknSoftkeyOk );
-    CleanupStack::PopAndDestroy( msg );
-    return result; 
-    }
-
-// ---------------------------------------------------------------------------
-// CWlanSettingsUiScanIntervalSettingItem::ShowPowerSavingInfoNoteL
-// ---------------------------------------------------------------------------
-//
-void CWlanSettingsUiScanIntervalSettingItem::ShowPowerSavingInfoNoteL()
-    {
-    HBufC* prompt = StringLoader::LoadLC(
-        R_WLAN_SETTINGS_UI_POWER_SAVING_INFONOTE );
-    CAknInformationNote* note = new ( ELeave ) CAknInformationNote( ETrue );
-    note->ExecuteLD( *prompt );
-    CleanupStack::PopAndDestroy( prompt );                    
-    }
--- a/wlanutilities/wlansettingsui/src/wlansettingsuisettingitemlist.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,301 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of class CWlanSettingsUiSettingItemList.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-#include "wlansettingsuisettingitemlist.h"
-#include "wlansettingsuibinarypopupsettingitem.h"
-#include "wlansettingsuimodel.h"
-#include "wlansettingsuipanic.h"
-#include "wlansettingsuidefs.h"
-#include "wlansettingsui.hrh"
-#include "wlansettingsuiscanintervalsettingitem.h"
-
-#include <wlansettingsui.rsg>
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::EditItemL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::EditItemL( TInt aIndex, 
-                                                TBool aCalledFromMenu )
-    {
-    __ASSERT_ALWAYS ( aIndex < SettingItemArray()->Count(), \
-                                        User::Leave( KErrArgument ) );
-        
-    CAknSettingItem* item = SettingItemArray()->At ( aIndex );
-
-    CAknSettingItemList::EditItemL( aIndex, aCalledFromMenu);                        
-    CAknSettingItemList::StoreSettingsL();
-    
-    switch ( item->Identifier() )
-        {
-        case EWlanSettingsUiSettingScanNetworks:
-            {
-            if ( iScanMode == EWlanSettingsUiScanNetworkAuto )
-                {
-                iModel->SetScanNetworks( KWlanSettingsUiScanNetworkAuto );
-                }
-            else
-                {
-                iModel->SetScanNetworks( iScanInterval );
-                }
-            break;                        
-            }
-            
-        case EWlanSettingsUiSettingPowerSaving:
-            {
-            iModel->SetPowerSaving( iPowerSaving );
-            break;
-            }
-
-        default:
-            {
-            break;
-            }
-        }
-    iModel->SaveSettingsL();
-    
-    DrawNow();
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::EditCurrentItemL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::EditCurrentItemL( TBool aCalledFromMenu )
-    {
-    TInt index = SettingItemArray()->ItemIndexFromVisibleIndex
-        ( ListBox()->CurrentItemIndex() );
-    EditItemL( index, aCalledFromMenu );
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::LoadSettingsL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::LoadSettingsL()
-    {
-    CAknSettingItemList::LoadSettingsL();
-    iShowWlanAvail = iModel->ShowWlanAvail();
-    iScanInterval = iModel->ScanNetworks();
-    if ( static_cast<TUint>( iScanInterval ) ==
-        KWlanSettingsUiScanNetworkAuto )
-        {
-        iScanMode = EWlanSettingsUiScanNetworkAuto;
-        iScanInterval = KWlanSettingsUiDefaultUserDefScanInterval;
-        }
-    else
-        {
-        iScanMode = EWlanSettingsUiScanNetworkUserDef;
-        }
-    iPowerSaving = iModel->PowerSaving();
-    iChangeScanNetworksValueBack = EFalse;
-    RefreshViewL();
-    }
-
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::CreateSettingItemL
-// ---------------------------------------------------------
-//
-CAknSettingItem* CWlanSettingsUiSettingItemList::CreateSettingItemL
-( TInt aSettingId )
-    {
-    CAknSettingItem* item;
-    switch ( aSettingId )
-        {
-        case EWlanSettingsUiSettingShowWlanAvail:
-            {
-            item = new (ELeave) CWlanSettingsUiBinaryPopupSettingItem
-                ( *this, aSettingId, iShowWlanAvail );
-            break;
-            }
-
-        case EWlanSettingsUiSettingScanNetworks:
-            {
-            item = new (ELeave)CWlanSettingsUiScanIntervalSettingItem
-                    ( aSettingId, iScanMode, iScanInterval, iModel );
-            break;            
-            }
-
-        case EWlanSettingsUiSettingPowerSaving:
-            {
-            item = new (ELeave) CAknBinaryPopupSettingItem
-                ( aSettingId, iPowerSaving );
-            break;
-            }
-            
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, \
-                WlanSettingsUiPanic( EWlanSettingsUiBadSetting ) );
-            item = new (ELeave) CAknSettingItem( aSettingId );
-            break;
-            }
-        }
-    return item;
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::BinarySettingChangedL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::BinarySettingChangedL
-( CWlanSettingsUiBinaryPopupSettingItem* aItem, TBool aNewInternalVal )
-    {
-    switch ( aItem->Identifier() )
-        {
-        case EWlanSettingsUiSettingShowWlanAvail:
-            {
-            iShowWlanAvail = aNewInternalVal;
-            iModel->SetShowWlanAvail( aNewInternalVal );
-            break;
-            }
-			
-        default:
-            {
-            __ASSERT_DEBUG( EFalse, \
-                WlanSettingsUiPanic( EWlanSettingsUiBadSetting ) );
-            break;
-            }
-        }
-    RefreshViewL();
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::RefreshViewL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::RefreshViewL()
-    {
-    TInt i;
-    CAknSettingItem* item;
-    for ( i = 0; i < SettingItemArray()->Count(); i++ )
-        {
-        item = SettingItemArray()->At( i );
-        switch ( item->Identifier() )
-            {
-            case EWlanSettingsUiSettingShowWlanAvail:
-                {
-                // Always shown.
-                break;
-                }
-
-            case EWlanSettingsUiSettingScanNetworks:
-                {
-                // Hidden if Show WLAN Availability is off.
-                item->SetHidden( !iShowWlanAvail );
-                
-                if ( iShowWlanAvail )
-                    {
-                    iModel->CheckPsmModeL();
-                    // check that the user selected value is allowed
-                    // if we are in the PowerSave Mode       
-                    if ( iModel->PsmModeOn() )
-                        {
-                        if ( iModel->ScanNetworks() != KWlanSettingsUiScanNetworkAuto )
-                            {
-                            iScanMode = EWlanSettingsUiScanNetworkAuto;
-                            iScanNetworksBackUp = iModel->ScanNetworks();
-                            iModel->SetScanNetworks( KWlanSettingsUiScanNetworkAuto );  
-                            iChangeScanNetworksValueBack = ETrue;
-                            CAknSettingItemList::LoadSettingsL();
-                            }                   
-                        }
-                    else
-                        {
-                        if ( iChangeScanNetworksValueBack )
-                            {
-                            iScanMode = EWlanSettingsUiScanNetworkUserDef;
-                            iModel->SetScanNetworks( iScanNetworksBackUp );  
-                            iChangeScanNetworksValueBack = EFalse;
-                            CAknSettingItemList::LoadSettingsL();
-                            }
-                        }
-                    }
-                
-                break;
-                }
-
-            case EWlanSettingsUiSettingPowerSaving:
-                {
-                // Always shown.
-                break;
-                }
-                
-            default:
-                {
-                __ASSERT_DEBUG( EFalse, \
-                    WlanSettingsUiPanic( EWlanSettingsUiBadSetting ) );
-                break;
-                }
-            }
-        }
-    HandleChangeInItemArrayOrVisibilityL();
-    }
-    
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::SetListBoxRect
-// ---------------------------------------------------------
-//    
-void CWlanSettingsUiSettingItemList::SetListBoxRect()
-{
-   TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect(
-            AknLayoutUtils::EMainPane, mainPaneRect );        
-        
-        TAknLayoutRect layoutRect;
-        layoutRect.LayoutRect(
-            TRect( TPoint( 0, 0 ), mainPaneRect.Size() ),
-            AKN_LAYOUT_WINDOW_list_gen_pane( 0 ) );
-                
-        ListBox()->SetRect( layoutRect.Rect() ); 
-}
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::HandleResourceChange( TInt aType ) 
-    {
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        SetListBoxRect();
-        }
-        
-    // Base call
-    CAknSettingItemList::HandleResourceChange( aType );
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiSettingItemList::ActivateL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiSettingItemList::ActivateL()
-    {
-    LoadSettingsL();
-    SetListBoxRect();
-    CAknSettingItemList::ActivateL();
-    }    
--- a/wlanutilities/wlansettingsui/src/wlansettingsuistatuspane.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2004 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of class CWlanSettingsUiStatusPane.   
-*      
-*
-*/
-
-
-// INCLUDE FILES
-
-#include <eikenv.h>
-#include <eikspane.h>
-#include <akntitle.h>
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <avkon.hrh>
-#include <StringLoader.h>
-
-#include "wlansettingsuistatuspane.h"
-#include <wlansettingsui.rsg>
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWlanSettingsUi::NewLC
-// ---------------------------------------------------------
-//
-CWlanSettingsUiStatusPane* CWlanSettingsUiStatusPane::NewLC
-( const CEikonEnv* aEikEnv, TInt aResourceId )
-    {
-    CWlanSettingsUiStatusPane* sp = new (ELeave) CWlanSettingsUiStatusPane();
-    CleanupStack::PushL( sp );
-    sp->ConstructL( aEikEnv, aResourceId );
-    return sp;    
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiStatusPane::~CWlanSettingsUiStatusPane
-// ---------------------------------------------------------
-//
-CWlanSettingsUiStatusPane::~CWlanSettingsUiStatusPane()
-    {
-    delete iNaviDecorator;
-    if ( iOldTitleText )
-        {
-        if ( iTitlePane )
-            {
-            TRAP_IGNORE( iTitlePane->SetTextL( *iOldTitleText ) )
-            }
-        delete iOldTitleText;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWlanSettingsUiStatusPane::ConstructL
-// ---------------------------------------------------------
-//
-void CWlanSettingsUiStatusPane::ConstructL
-( const CEikonEnv* aEikEnv, TInt aResourceId )
-    {
-    iStatusPane = aEikEnv->AppUiFactory()->StatusPane();
-    iTitlePane = (CAknTitlePane*)iStatusPane->ControlL
-        ( TUid::Uid( EEikStatusPaneUidTitle ) );
-    iOldTitleText = iTitlePane->Text()->AllocL();
-    
-    HBufC* newTitle = StringLoader::LoadLC( aResourceId );
-    
-    iTitlePane->SetTextL( *newTitle );
-    CleanupStack::PopAndDestroy( newTitle );
-    iNaviPane = (CAknNavigationControlContainer*)iStatusPane->ControlL
-        ( TUid::Uid( EEikStatusPaneUidNavi ) );
-    iNaviDecorator = iNaviPane->CreateNavigationLabelL( KNullDesC );
-    iNaviPane->PushL( *iNaviDecorator );
-    }
--- a/wlanutilities/wlansniffer/aihelper/data/wsfaihelper.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,114 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project AiHelper
-*
-*/
-
-
-NAME SNAH
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <wsfmainapplication.loc>
-
-#include "wsfaihelper.hrh"
-
-
-// ---------------------------------------------------------
-// Resource file signature 
-// ---------------------------------------------------------
-RESOURCE RSS_SIGNATURE { }
-
-
-// ---------------------------------------------------------
-// Default Document Name
-// ---------------------------------------------------------
-RESOURCE TBUF r_default_document_name { buf=""; }
-
-
-// ---------------------------------------------------------
-// Default menu and CBA key.
-// ---------------------------------------------------------
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_snifferaihelper_menubar;
-    cba = R_AVKON_SOFTKEYS_EXIT;
-    }
-
-RESOURCE MENU_BAR r_snifferaihelper_menubar
-    {
-    titles =
-        {
-        };
-    }
-
-
-// ---------------------------------------------------------
-// r_sniffer_ai_helper_view
-// Resource for AiHelper main view
-// ---------------------------------------------------------
-RESOURCE AVKON_VIEW r_sniffer_ai_helper_view
-        {
-        menubar = r_snifferaihelper_menubar;
-        }
-        
-
-//----------------------------------------------------------------------------
-// r_waitnote_connecting
-// Connecting waitnote
-//----------------------------------------------------------------------------
-RESOURCE DIALOG r_waitnote_connecting            
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EWaitNoteConnecting;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }        
-
-
-
-//----------------------------------------------------------------------------
-// r_aihelper_localisable_app_info
-// Localised application info
-//----------------------------------------------------------------------------
-RESOURCE LOCALISABLE_APP_INFO r_aihelper_localisable_app_info
-    {
-    short_caption = qtn_sniffer_title;
-    caption_and_icon =
-    CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_sniffer_title;
-        icon_file = "Z:"APP_BITMAP_DIR"\\wsficons_aif.mif";
-        };
-    }
-    
-// END OF FILE
--- a/wlanutilities/wlansniffer/aihelper/data/wsfaihelper_reg.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project AiHelper
-*
-*/
-
-
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <wsfaihelper.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x10281CEB
-
-RESOURCE APP_REGISTRATION_INFO 
-    {
-    hidden = KAppIsHidden;
-    app_file="wsfaihelper";
-    localisable_resource_file = APP_RESOURCE_DIR"\\wsfaihelper";
-    localisable_resource_id = R_AIHELPER_LOCALISABLE_APP_INFO;
-    }
--- a/wlanutilities/wlansniffer/aihelper/group/aihelper.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,85 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project AiHelper
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET          wsfaihelper.exe
-TARGETTYPE      exe
-UID             0x100039CE 0x10281CEB
-
-EPOCSTACKSIZE   0x5000
-
-CAPABILITY ReadDeviceData NetworkServices NetworkControl ProtServ \
-           ReadUserData WriteDeviceData WriteUserData
-
-
-
-SOURCEPATH      ../src 
-SOURCE          wsfaihelper.cpp
-SOURCE          wsfaihelperapplication.cpp 
-SOURCE          wsfaihelperappui.cpp
-SOURCE          wsfaihelperdocument.cpp 
-SOURCE          wsfaihelperview.cpp
-SOURCE          wsfaihelpercontainer.cpp
-
-
-// own headers
-USERINCLUDE     ../inc
-
-// inner API
-USERINCLUDE     ../../inc
-
-// private API
-USERINCLUDE     ../../../inc
-
-
-//Macro to /epoc32 headers
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY             ws32.lib
-LIBRARY             euser.lib
-LIBRARY             apparc.lib
-LIBRARY             cone.lib 
-LIBRARY             avkon.lib  
-LIBRARY             apgrfx.lib 
-LIBRARY             eikcore.lib 
-LIBRARY             wsfwlaninfo.lib
-LIBRARY             wsfmodel.lib
-LIBRARY             aknskins.lib
-LIBRARY             eikcoctl.lib 
-LIBRARY             fbscli.lib
-LIBRARY             egul.lib
-
-LIBRARY             cmmanager.lib
-LIBRARY             commonengine.lib
-LIBRARY             commonui.lib
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE    ../data/wsfaihelper.rss
-HEADER
-TARGETPATH    APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE    ../data/wsfaihelper_reg.rss
-DEPENDS wsfaihelper.rsg
-TARGETPATH    /private/10003a3f/apps
-END
-
--- a/wlanutilities/wlansniffer/aihelper/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project AiHelper
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_EXPORTS
-../rom/wsfaihelperapp.iby        CORE_MW_LAYER_IBY_EXPORT_PATH(wsfaihelperapp.iby)
-../rom/wsfaihelperappresources.iby    LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfaihelperappresources.iby)
-
-
-PRJ_MMPFILES
-aihelper.mmp
-
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelper.hrh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource headers for project AiHelper
-*
-*/
-
-
-#ifndef WSFAIHELPER_HRH
-#define WSFAIHELPER_HRH
-
-
-/**
- * View ids for the helper application
- */
-enum TWsfViewIds
-    {
-    ESnifferAiHelperViewId = 0x1000
-    };
-
-
-/**
- * Dialog ids for the helper application
- */
-enum TWsfDialogIds
-    {       
-    EWaitNoteConnecting = 6000
-    };    
-
-
-#endif // WSFAIHELPER_HRH
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperapplication.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for AiHelper
-*
-*/
-
-
-#ifndef C_WSFAIHELPERAPPLICATION_H
-#define C_WSFAIHELPERAPPLICATION_H
-
-//  EXTERNAL INCLUDES
-#include <aknapp.h>
-
-
-//  CLASS DEFINITION
-/** 
- * An instance of CWsfAiHelperApplication is the application part of 
- * the AVKON application framework.
- * 
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperApplication ): public CAknApplication
-    {
-    public:  // from CAknApplication
-    
-        /**
-         * Returns the application UID value
-         * @since S60 5.0
-         * @return The UID of this application
-         */
-        TUid AppDllUid() const;
-    
-    protected: // from CAknApplication
-        /** 
-        * Creates a CApaDocument object and return a pointer to it
-        * @since S60 5.0
-        * @return A pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-    };
-
-#endif // C_WSFAIHELPERAPPLICATION_H
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperappui.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,233 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAiHelperAppUi
-*
-*/
-
-
-#ifndef C_WSFAIHELPERAPPUI_H
-#define C_WSFAIHELPERAPPUI_H
-
-//  EXTERNAL INCLUDES
-#include <aknViewAppUi.h>
-#include <AknWaitDialog.h>
-
-//  INTERNAL INCLUDES
-#include "wsfmodelobserver.h"
-#include "wsfstatechangeobserver.h"
-
-
-//  FORWARD DECLARATIONS
-class TWsfWlanInfo;
-class CWsfAiHelperDocument;
-
-
-//  CLASS DEFINITION
-/**
- * An instance of class CWsfApHelperAppUi is the UserInterface part of 
- * the AVKON application framework
- * 
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperAppUi ): public CAknViewAppUi,    
-                                        public MWsfModelObserver, 
-                                        public MWsfStateChangeObserver
-    {
-    public:
-        /**
-         * Second-phase constructor.
-         * @since S60 5.0
-         */
-        void ConstructL();
-
-        /**
-         * Constructor
-         * @since S60 5.0
-         */
-         CWsfAiHelperAppUi();
-    
-         /**
-          * Destructor
-          * @since S60 5.0
-          */
-        ~CWsfAiHelperAppUi();
-    
-    
-    public: // from CAknAppUi
-        /**
-         * Handle user menu selections
-         * @since S60 5.0
-         * @param aCommand The enumerated code for the option selected
-         */
-        void HandleCommandL( TInt aCommand );
-    
-        
-        /**
-         * Processes shell commands.
-         * @since S60 5.0
-         * @param aCommand The shell command sent to the application
-         * @param aDocumentName The name of the document as specified on 
-         *                      the command line.
-         * @param aTail Command line tail
-         * @return Whether the final value of aDocumentName represents 
-         *         an existing file
-         */ 
-        TBool ProcessCommandParametersL( TApaCommand aCommand,
-                                         TFileName& aDocumentName,
-                                         const TDesC8& aTail );
-
-
-    public:     // new methods
-        /**
-         * Returns the handle of application document instance
-         * @since S60 5.0
-         * @return Pointer to the document. Ownership not passed.
-         */ 
-        CWsfAiHelperDocument* Doc();
-    
-        /**
-        * Called when the filename to be opened has been resolved
-        * @since S60 5.0
-        */
-        void NotifyFileName();
-        
-        /**
-        * Sends Helper To Background
-        * @since S60 5.2
-        */
-        void SendHelperToBackground();
-    
-        
-    public: // from MWsfModelObserver
-    
-        /**
-         * Called if the launch has been completed successfully
-         * @since S60 5.0 
-         */
-        void BrowserLaunchCompleteL();
-        
-        /**
-         * Called if the browser launch failed for some reason
-         * @since S60 5.0 
-         * @param aError error code
-         */
-        void BrowserLaunchFailed( TInt aError );
-
-        /**
-        * Called when the previously launched browser exits
-        * @since S60 5.0
-        */
-        void BrowserExitL();
-        
-        /**
-        * Notification that connection is going to be created
-        * @since S60 5.0
-        * @param aIapId The IAP id of the connection being created
-        */
-        void ConnectingL( TUint32 aIapId );
-
-        /**
-        * Notification that the connection creation process ended
-        * @since S60 5.0
-        * @param aResult The result of the connection creation
-        */
-        void ConnectingFinishedL( TInt aResult );
-        
-
-    public:     // from MWsfStateChangeObserver
-        /**
-        * The current wlan data has changed and it is ready to be retrieved
-        * @since S60 5.0
-        */
-        void WlanListChangedL();
-
-        /**
-        * Engine error occured
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        void NotifyEngineError( TInt aError );
-
-        /**
-        * Scanning has been disabled
-        * @since S60 5.0
-        */
-        void ScanDisabledL();
-
-        /**
-        * Scanning has been enabled
-        * @since S60 5.0
-        */
-        void ScanEnabledL();
-        
-        /**
-        * A WLAN connection has been established
-        * @since S60 5.0
-        * @param aAccesspointName The name of the active connection
-        */
-        void WlanConnectionActivatedL( const TDesC& aAccessPointName );
-
-        /**
-        * A WLAN connection has been closed
-        * @since S60 5.0
-        */
-        void WlanConnectionClosedL();   
-        
-        /**
-        * Connection creation process finished
-        * @since S60 5.2
-        * @param aError System wide error code
-        */
-        void ConnectionCreationProcessFinishedL( TInt aError );
-        
-    private:    // new methods
-    
-        /**
-         * Called when application launch has been completed
-         * @since S60 5.0
-         * @param aObject Pointer to this object
-         * @return Zero value means not be called again.(Stops timer)
-         */
-        static TInt LaunchCompletedL( TAny* aObject );
-        
-        /**
-        * Cleanup function to release the key events suppressing
-        * @since S60 5.0
-        * @param aPtr Pointer for this class
-        */
-        static void ReleaseSuppressingKeyEventsL( TAny* aPtr );
-    
-        
-    private:    // data
-        /**
-         * Used to begin accesspoint creation when app launching has completed
-         * (owned)
-         */ 
-        CIdle* iIdle;
-
-        /**
-         * Indicates whether keypress events are suppressed
-         */
-        TBool iSuppressingKeyEvents;
-        
-        /**
-         * IAP creation return value
-         */
-        TInt iResult;
-    };
-
-
-#endif // C_WSFAIHELPERAPPUI_H
-
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelpercontainer.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAiHelperContainer
-*
-*/
-
-
-#ifndef C_WSFAIHELPERCONTAINER_H
-#define C_WSFAIHELPERCONTAINER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <coecntrl.h>
-
-
-//  FORWARD DECLARATIONS
-class CWsfAiHelperAppUi;
-class MAknsControlContext;
-
-
-//  CLASS DEFINITION
-/**
- * The container class for the helper application UI
- * 
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperContainer ): public CCoeControl
-    {
-    public:     // Constructors and destructor
-      
-        /**
-         * Second-phase constructor
-         * @since S60 5.0
-         * @param aRect Dimensions of this container
-         * @param aAppUi Pointer to the AppUi instance (ownership not passed)
-         */
-        void ConstructL( TRect aRect, CWsfAiHelperAppUi* aAppUi );
-
-        /**
-         * Destructor
-         * @since S60 5.0
-         */
-        ~CWsfAiHelperContainer();
-
-        
-    public:     // from CCoeControl
-           
-        /**
-        * Responds to changes to the size and position of the contents 
-        * of this control.
-        * @since S60 5.0
-        */
-        void SizeChanged();
-
-        /**
-        * Used for scalable ui and landscape support. Handles a change to the 
-        * control's resources.
-        * @since S60 5.0
-        * @param aType The type of change.
-        */    
-        void HandleResourceChange( TInt aType );
-
-
-    private:  // from CCoeControl
-
-        /**
-         * Retrieves an object of the same type as that encapsulated in aId
-         * @since S60 5.0
-         * @param aId The id of the requested object type
-         * @return Pointer to the requested object
-         */
-        TTypeUid::Ptr MopSupplyObject( TTypeUid aId );
-
-        /**
-         * Draws the control.
-         * @since S60 5.0
-         * @param aRect The region of the control to be redrawn.
-         */
-        void Draw( const TRect& aRect ) const;
-        
-
-    private:    // Data
-                  
-        /**
-         * Pointer to the AppUi object (not owned)
-         */
-        CWsfAiHelperAppUi* iAppUi;
-           
-        /**
-         * Pointer to the control context (owned)
-         */
-        MAknsControlContext* iBackGround;
-    
-    };
-
-#endif      //  C_WSFAIHELPERCONTAINER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAiHelperDocument
-*
-*/
-
-
-#ifndef C_WSFAIHELPERDOCUMENT_H
-#define C_WSFAIHELPERDOCUMENT_H
-
-
-//  EXTERNAL INCLUDES
-#include <AknDoc.h>
-
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfAiHelperAppUi;
-class CEikApplication;
-class CWsfModel;
-
-
-//  CLASS DEFINITION
-/**
- * An instance of class CWsfAiHelperDocument is the Document part of the AVKON
- * application framework
- * 
- * @since S60 5.0
- * @lib wsfaihelper.exe
- */
-NONSHARABLE_CLASS( CWsfAiHelperDocument ): public CAknDocument
-    {
-    public:
-    
-        /**
-         * Factory function
-         * @since S60 5.0
-         * @param aApp Reference to the Application object 
-         *             (ownership not passed)
-         * @return Class instance
-         */
-        static CWsfAiHelperDocument* NewL( CEikApplication& aApp );
-    
-        /**
-         * Factory function
-         * @since S60 5.0
-         * @param aApp Reference to the Application object 
-         *             (ownership not passed)
-         * @return Class instance
-         */
-        static CWsfAiHelperDocument* NewLC( CEikApplication& aApp );
-
-        /**
-         * Destructor
-         * @since S60 5.0
-         */
-        ~CWsfAiHelperDocument();
-
-        
-    private:
-
-        /**
-         * Second-phase constructor
-         * @since S60 5.0
-         */
-        void ConstructL();
-
-        /**
-         * Constructor
-         * @since S60 5.0
-         * @param aApp Reference to the application creating this document
-         *             (ownership not passed)
-         */
-        CWsfAiHelperDocument( CEikApplication& aApp );
-
-        
-    public: // from CEikDocument
-        /**
-         * Constructs the application UI.
-         * @since S60 5.0
-         * @return AppUi instance
-         */
-        CEikAppUi* CreateAppUiL();
-    
-
-        /**
-         * Restores the document's state from the specified file, 
-         * or creates a new default document.
-         * @since S60 5.0
-         * @param aDoOpen True to open an existing file, 
-         *                false to create a new default file
-         * @param aFilename The path and name of the file to open or create.
-         * @param aFs File server session to use. 
-         * @return The file store that stores the main document. 
-         */
-        CFileStore* OpenFileL( TBool aDoOpen, 
-                               const TDesC& aFilename, 
-                               RFs& aFs );
-    
-        
-    public:     // new methods
-        
-        /**
-         * Returns reference to the model
-         * @since S60 5.0
-         * @return Reference to the model (ownership not passed)
-         */
-        inline CWsfModel& Model();
-        
-        /** 
-         * Returns reference to the current wlaninfo
-         * @since S60 5.0
-         * @return Reference to the wlaninfo used (ownership not passed)
-         */
-        inline TWsfWlanInfo& WlanInfo();
-        
-        /**
-        * 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
-    
-        /**
-         * Model object (owned)
-         */
-        CWsfModel* iModel;
-        
-        /**
-         * Data of the currently used WLAN network
-         */
-        TWsfWlanInfo iWlanInfo;
-        
-        /**
-         * Indicates whether Connect or Start Web browsing was selected
-         */
-        TBool iConnectOnly;
-        
-        /**
-         * Indicates whether default connection should be used
-         */
-        TBool iUseDefaultConnection;
-        
-    };
-
-
-#include "wsfaihelperdocument.inl"
-
-#endif // C_WSFAIHELPERDOCUMENT_H
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperdocument.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,60 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline for CWsfAiHelperDocument
-*
-*/
-
-
-
-//  INLINE FUNCTIONS
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::Model
-// ---------------------------------------------------------------------------
-//
-CWsfModel& CWsfAiHelperDocument::Model()
-    {
-    return *iModel;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::WlanInfo
-// ---------------------------------------------------------------------------
-//
-TWsfWlanInfo& CWsfAiHelperDocument::WlanInfo()
-    {
-    return iWlanInfo;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::ShouldConnectOnly()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAiHelperDocument::ShouldConnectOnly()
-    {
-    return iConnectOnly;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::UseDefaultConnection()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAiHelperDocument::UseDefaultConnection()
-    {
-    return iUseDefaultConnection;
-    }
-
-
--- a/wlanutilities/wlansniffer/aihelper/inc/wsfaihelperview.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,129 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAiHelperView
-*
-*/
-
-
-#ifndef C_WSFAIHELPERVIEW_H
-#define C_WSFAIHELPERVIEW_H
-
-
-// EXTERNAL INCLUDES
-#include <aknview.h>
-
-
-// FORWARD DECLARATIONS
-class CWsfAiHelperAppUi;
-class CWsfAiHelperContainer;
-
-
-// CLASS DECLARATION
-/**
-*  Main view class for the AiHelper application
-* 
-* @since S60 5.0
-* @lib wsfaihelper.exe
-*/
-NONSHARABLE_CLASS( CWsfAiHelperView ): public CAknView
-    {
-    public:     // Constructors and destructor
-        /**
-         * Factory function
-         * @since S60 5.0
-         * @param aAppUi Pointer to the appui instance (ownership not passed)
-         * @return Class instance
-         */
-        static CWsfAiHelperView* NewL( CWsfAiHelperAppUi* aAppUi );
-
-        /**
-         * Factory function
-         * @since S60 5.0
-         * @param aAppUi Pointer to the appui instance (ownership not passed)
-         * @return Class instance
-         */
-        static CWsfAiHelperView* NewLC( CWsfAiHelperAppUi* aAppUi );
-
-        /**
-         * Destructor
-         * @since S60 5.0
-         */
-        ~CWsfAiHelperView();
-
-    private:    // Constructors
-        
-        /**
-         * Constructor
-         * @since S60 5.0
-         * @param aAppUi Pointer to the appui instance (ownership not passed)
-         */
-        CWsfAiHelperView( CWsfAiHelperAppUi* aAppUi );
-        
-        /**
-         * Second-phase constructor
-         * @since S60 5.0
-         */
-        void ConstructL();
-
-        
-    private:  // From CAknView
-        
-        /**
-         * Returns views id
-         * @since S60 5.0
-         * @return Id of this view
-         */
-        TUid Id() const;
-        
-        /**
-         * Handles a view activation and passes the message of 
-         * type aCustomMessageId
-         * @since S60 5.0
-         * @param aPrevViewId Specifies the view previously active.
-         * @param aCustomMessageId Specifies the message type.
-         * @param aCustomMessage The activation message
-         */
-        void DoActivateL( const TVwsViewId& aPrevViewId,
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-        
-        /**
-         * View deactivation function
-         * @since S60 5.0
-         */
-        void DoDeactivate();
-        
-        /**
-         * Handle user menu selections
-         * @since S60 5.0
-         * @param aCommand The enumerated code for the option selected
-         */
-        void HandleCommandL( TInt aCommand );
-
-        
-    private: // Data
-        /**
-         * Pointer to the appui object (not owned)
-         */
-        CWsfAiHelperAppUi* iAppUi;
-        
-        /**
-         * Container object (owned)
-         */
-        CWsfAiHelperContainer* iContainer;
-    };
-
-#endif // C_WSFAIHELPERVIEW_H
-
-// End of File
--- a/wlanutilities/wlansniffer/aihelper/rom/wsfaihelperapp.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project AiHelper
-*
-*/
-
-
-
-#ifndef WSFAIHELPERAPP_IBY
-#define WSFAIHELPERAPP_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferAiHelperApplication
-
-#include <bldvariant.hrh>
-
-
-S60_APP_AIF_RSC(wsfaihelper)
-
-S60_APP_EXE(wsfaihelper)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAIHELPERAPP_IBY
--- a/wlanutilities/wlansniffer/aihelper/rom/wsfaihelperappresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project AiHelper
-*
-*/
-
-
-#ifndef WSFAIHELPERAPPRESOURCES_IBY
-#define WSFAIHELPERAPPRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferAiHelperApplicationResources
-
-#include <bldvariant.hrh>
-
-S60_APP_RESOURCE(wsfaihelper)
-
-#endif // __PROTOCOL_WLAN  
-
-#endif // WSFAIHELPERAPPRESOURCES_IBY
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelper.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of AiHelper entry point
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <eikstart.h>
-
-//  INTERNAL INCLUDES
-#include "wsfaihelperapplication.h"
-
-
-// ---------------------------------------------------------------------------
-// ::NewApplication
-// ---------------------------------------------------------------------------
-//
-CApaApplication* NewApplication()
-    {
-    return new CWsfAiHelperApplication;
-    }
-
-
-// ---------------------------------------------------------------------------
-// ::E32Main
-// ---------------------------------------------------------------------------
-//
-TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperapplication.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiHelperApplication
-*
-*/
-
-
-#include "wsfaihelperdocument.h"
-#include "wsfaihelperapplication.h"
-
-
-/**
- * UID for the application
- */
-static const TUid KUidSnifferAiHelperApp = { 0x10281CEB };
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperApplication::CreateDocumentL
-// ---------------------------------------------------------------------------
-//
-CApaDocument* CWsfAiHelperApplication::CreateDocumentL()
-    {  
-    // Create an Sniffer document, and return a pointer to it
-    CApaDocument* document = CWsfAiHelperDocument::NewL( *this );
-    return document;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperApplication::AppDllUid
-// ---------------------------------------------------------------------------
-//
-TUid CWsfAiHelperApplication::AppDllUid() const
-    {
-    // Return the UID for the Sniffer application
-    return KUidSnifferAiHelperApp;
-    }
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperappui.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,440 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiHelperAppUi
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <avkon.hrh>
-#include <apgcli.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <StringLoader.h>
-#include <wsfaihelper.rsg>
-#include <AknQueryDialog.h>
-#include <e32property.h>
-#include <ErrorUI.h>
-#include <wlanerrorcodes.h>
-
-//  CLASS HEADER
-#include "wsfaihelperappui.h"
-
-//  INTERNAL INCLUDES
-#include "wsfaihelperdocument.h"
-#include "wsfaihelperapplication.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfaihelperview.h"
-#include "wsfaihelper.hrh"
-#include "wsflogger.h"
-
-
-//  CONSTANTS
-
-// property keys for AiHelper return 
-static const TUint KWsfAiHelperExitCodeKey = 0;
-static const TUint KWsfAiHelperIapIdKey = 1;
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConstructL()
-    {
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK );
-
-    iIdle = CIdle::NewL( CActive::EPriorityIdle );
-    
-    // Create stub view for Wizard launching
-    CWsfAiHelperView* view = CWsfAiHelperView::NewLC( this );
-    AddViewL( view );
-    CleanupStack::Pop( view );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::CWsfAiHelperAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperAppUi::CWsfAiHelperAppUi():
-    iResult( KErrCancel )
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::~CWsfAiHelperAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperAppUi::~CWsfAiHelperAppUi()
-    {
-    delete iIdle;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::HandleCommandL( TInt aCommand )
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::HandleCommandL" );
-    LOG_WRITEF( "command = %d", aCommand );
-    
-    if ( iSuppressingKeyEvents )
-        {
-        return;
-        }
-    
-    switch ( aCommand )
-        {
-        case EAknCmdExit:
-        case EEikCmdExit:
-        case EAknSoftkeyBack:
-        case EAknSoftkeyExit:
-            {
-            // set the "exit code" value
-            RProperty::Define( Application()->AppDllUid(), 
-                               KWsfAiHelperExitCodeKey, 
-                               RProperty::EInt );
-            
-            TInt err = RProperty::Set( Application()->AppDllUid(), 
-                            KWsfAiHelperExitCodeKey, 
-                            iResult );
-            
-            if ( err == KErrNone )
-                {
-                LOG_WRITEF( "exitcode property set to %d", iResult );
-                }
-            else
-                {
-                LOG_WRITEF( "exitcode property setting failed with code = %d",
-                            err );
-                User::LeaveIfError( err );
-                }
-            
-            Exit();
-            break;
-            }
-
-        default:;
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ProcessCommandParametersL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAiHelperAppUi::ProcessCommandParametersL( 
-                                                TApaCommand /*aCommand*/,
-                                                TFileName& /*aDocumentName*/,
-                                                const TDesC8& /*aTail*/ )
-    {
-    return EFalse;    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::NotifyFileName
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::NotifyFileName()
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::NotifyFileName" );
-    if ( !iIdle->IsActive() )
-        {
-        iIdle->Start( TCallBack( LaunchCompletedL, this ) );    
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::Doc
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument* CWsfAiHelperAppUi::Doc()
-    {
-    return static_cast<CWsfAiHelperDocument*>( iDocument );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::BrowserLaunchCompleteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::BrowserLaunchCompleteL()
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::BrowserLaunchCompleteL" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::BrowserExitL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::BrowserExitL()
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::BrowserExitL" );
-    HandleCommandL( EAknCmdExit );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::BrowserLaunchFailed
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::BrowserLaunchFailed( TInt /*aError*/ )
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::BrowserLaunchFailed" );
-    TRAP_IGNORE( HandleCommandL( EAknCmdExit ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConnectingL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConnectingL( TUint32 /*aIapId*/ )
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::ConnectingL" );
-    Doc()->Model().SetConnecting( ETrue );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConnectingFinishedL( TInt aResult )
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::ConnectingFinishedL" );
-    if ( Doc()->Model().IsConnecting() )
-        {
-        Doc()->Model().SetConnecting( EFalse );
-        }
-    
-    if ( aResult )
-        {
-        // show an error note
-        LOG_WRITE( "showing error note" );
-        CErrorUI* errorUi = CErrorUI::NewLC( *iCoeEnv );
-        errorUi->ShowGlobalErrorNoteL( aResult );
-        CleanupStack::PopAndDestroy( errorUi );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::SendHelperToBackground
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::SendHelperToBackground()
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::SendHelperToBackground" );
-    TApaTask task( iEikonEnv->WsSession() );
-    task.SetWgId( iEikonEnv->RootWin().Identifier());
-    task.SendToBackground();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::LaunchCompletedL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiHelperAppUi::LaunchCompletedL( TAny* aObject )
-    {
-    LOG_ENTERFN( "CWsfAiHelperAppUi::LaunchCompletedL" );
-    User::LeaveIfNull( aObject );
-    CWsfAiHelperAppUi* appUi = static_cast<CWsfAiHelperAppUi*>( aObject );
-   
-    MWsfModelObserver* observer = static_cast<MWsfModelObserver*>( appUi );
-    CWsfModel& model( appUi->Doc()->Model() );
-    
-    model.SetEngineObserver( observer );
-
-    TWsfWlanInfo* info( &appUi->Doc()->WlanInfo() );
-
-    if ( !info->Connected() )
-        {
-        // make sure we don't suppress our key events forever
-        CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEventsL, appUi ) );
-        // No appUi key input accepted during IAP connecting & connection test.
-        appUi->iSuppressingKeyEvents = ETrue;
-
-        TBool setIapProperty = EFalse;
-        
-        if ( !info->Known() )
-            {
-            TBool accessPointCreated = EFalse;
-                        
-            // If not known yet, create an IAP. 
-            TRAPD( accessPointCreatedError, 
-                    accessPointCreated = model.CreateAccessPointL( *info, 
-                                                                   EFalse ) );
-            
-            // notify user that Disk is full or creation of a WAPI IAP 
-            // is not supported on-the-fly and leave
-            if ( accessPointCreatedError == KErrDiskFull ||
-                 accessPointCreatedError == KErrWlanProtectedSetupSetupLocked )
-                {
-                appUi->ConnectingFinishedL(accessPointCreatedError);
-                User::Leave(accessPointCreatedError);
-                }
-            // just leave because we failed to create accesspoint
-            else if ( accessPointCreatedError != KErrNone )
-                {
-                User::Leave(accessPointCreatedError);
-                }
-            
-            appUi->SendHelperToBackground();
-                     
-            if ( accessPointCreated )
-                {
-                setIapProperty = ETrue;
-                }                
-            }
-        else
-            {
-            setIapProperty = ETrue;     
-            appUi->iResult = KErrNone;
-            }
-        
-        if ( setIapProperty )
-            {
-            LOG_WRITE( "Set iap Property" );
-            // Connected succesfully set IAP's property.       
-            CWsfAiHelperApplication* app = 
-                    static_cast<CWsfAiHelperApplication*>( 
-                    appUi->Application() );
-        
-            RProperty::Define( app->AppDllUid(), 
-                    KWsfAiHelperIapIdKey, 
-                    RProperty::EInt );
-                
-            TInt err = RProperty::Set( app->AppDllUid(), 
-                    KWsfAiHelperIapIdKey, 
-                    info->iIapId );
-                    
-            if ( err == KErrNone )
-                {
-                LOG_WRITEF( "IAP id property "
-                                L"set to %d", info->iIapId );
-                }
-            else
-                {
-                LOG_WRITEF( "IAP id property setting failed "
-                        L"with code = %d", err );
-                User::LeaveIfError( err );
-                }
-                appUi->iResult = KErrNone;
-            }
-        // pop cleanup item ReleaseSuppressingKeyEvents
-        CleanupStack::Pop();
-        appUi->iSuppressingKeyEvents = EFalse;
-        }    
-
-    appUi->HandleCommandL( EAknCmdExit );
-    
-    return 0;   // Return false (zero) value not be called again.
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::WlanListChangedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::WlanListChangedL()
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::NotifyEngineError
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::NotifyEngineError( TInt /*aError*/ )
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ScanDisabledL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ScanDisabledL()
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ScanEnabledL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ScanEnabledL()
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::WlanConnectionActivatedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::WlanConnectionActivatedL( 
-                                          const TDesC& /*aAccessPointName*/ )
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::WlanConnectionClosedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::WlanConnectionClosedL()
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ConnectionCreationProcessFinishedL( TInt /*aResult*/ )
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperAppUi::ReleaseSuppressingKeyEventsL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperAppUi::ReleaseSuppressingKeyEventsL( TAny* aPtr )
-    {
-    CWsfAiHelperAppUi* self = 
-                        static_cast<CWsfAiHelperAppUi*>( aPtr );
-    self->iSuppressingKeyEvents = EFalse;
-    self->HandleCommandL( EAknCmdExit );
-    }
-
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelpercontainer.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiHelperContainer
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <AknsDrawUtils.h>
-#include <AknsBasicBackgroundControlContext.h> 
-#include <AknUtils.h>
-
-//  CLASS HEADER
-#include "wsfaihelpercontainer.h"
-
-//  INTERNAL INCLUDES
-#include "wsfaihelperappui.h"
-#include "wsfaihelperdocument.h"
-#include "wsfmodelobserver.h"
-#include "wsfaihelper.hrh"
-#include "wsfmodel.h"
-#include "wsflogger.h"
-
-
-//  CONSTRUCTION AND DESTRUCTION
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::~CWsfAiHelperContainer
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperContainer::~CWsfAiHelperContainer()
-    {
-    delete iBackGround;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::ConstructL( TRect aRect, 
-                                        CWsfAiHelperAppUi* aAppUi )
-    {
-    iAppUi = aAppUi;
-    iBackGround = CAknsBasicBackgroundControlContext::NewL( 
-                                     KAknsIIDQsnBgAreaMain, Rect(), EFalse );
-    
-    CreateWindowL();
-    SetRect( aRect );
-    ActivateL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::SizeChanged
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::SizeChanged()
-    {
-    LOG_ENTERFN( "CWsfAiHelperContainer::SizeChanged" );
-    
-    if ( iBackGround )
-        {
-        delete iBackGround;
-        iBackGround = NULL;
-        // Throw away the error
-        TRAP_IGNORE( iBackGround = CAknsBasicBackgroundControlContext::NewL( 
-                                    KAknsIIDQsnBgAreaMain, Rect(), EFalse ) );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::Draw
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::Draw( const TRect& aRect ) const 
-    { 
-    CWindowGc& gc = SystemGc(); 
-    MAknsSkinInstance* skin = AknsUtils::SkinInstance(); 
-    MAknsControlContext* cc = AknsDrawUtils::ControlContext( this ); 
-    AknsDrawUtils::Background( skin, cc, this, gc, aRect ); 
-    } 
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::HandleResourceChange
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperContainer::HandleResourceChange( TInt aType )
-    {
-    LOG_ENTERFN( "CWsfAiHelperContainer::HandleResourceChange" );
-    CCoeControl::HandleResourceChange( aType );
-
-    if ( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, 
-                                           mainPaneRect );
-        SetRect( mainPaneRect );
-        DrawDeferred();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperContainer::MopSupplyObject
-// ---------------------------------------------------------------------------
-//
-TTypeUid::Ptr CWsfAiHelperContainer::MopSupplyObject( TTypeUid aId )
-    {
-    LOG_ENTERFN( "CWsfAiHelperContainer::MopSupplyObject" );
-    if ( aId.iUid == MAknsControlContext::ETypeId && iBackGround )
-        {
-        return MAknsControlContext::SupplyMopObject( aId, iBackGround );
-        }
-
-    return CCoeControl::MopSupplyObject( aId );
-    }
-    
-
-// End of file
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperdocument.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiHelperDocument
-*
-*/
-
-
-#include "wsfaihelperappui.h"
-#include "wsfaihelperdocument.h"
-#include "wsfmodel.h"
-#include "wsfwlaninfo.h"
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument* CWsfAiHelperDocument::NewL( CEikApplication& aApp )
-    {
-    CWsfAiHelperDocument* self = NewLC( aApp );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument* CWsfAiHelperDocument::NewLC( CEikApplication& aApp ) 
-    {
-    CWsfAiHelperDocument* self = new (ELeave) CWsfAiHelperDocument( aApp );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperDocument::ConstructL()
-    {
-    }    
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::CWsfAiHelperDocument
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument::CWsfAiHelperDocument( CEikApplication& aApp ): 
-    CAknDocument( aApp )
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::~CWsfAiHelperDocument
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperDocument::~CWsfAiHelperDocument()
-    {
-    delete iModel;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::CreateAppUiL
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CWsfAiHelperDocument::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CWsfAiHelperAppUi* appUi = new (ELeave) CWsfAiHelperAppUi;
-    iModel = CWsfModel::NewL( *appUi, EFalse );
-    
-    iModel->EnableScanL();
-    return appUi;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperDocument::OpenFileL
-// ---------------------------------------------------------------------------
-//
-CFileStore* CWsfAiHelperDocument::OpenFileL( TBool /*aDoOpen*/, 
-                                             const TDesC& aFilename, 
-                                             RFs &/*aFs*/ )
-    {
-    // Read the afilename arg
-    // Take that into a TWlanInfo and start creation of accesspoint
-    TPckgBuf<TWsfWlanInfo> info;
-    TPckgBuf<TBool> connecting;
-    TPckgBuf<TBool> 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<CWsfAiHelperAppUi*>( iAppUi )->NotifyFileName();
-
-    return NULL;
-    }
-
-
-
--- a/wlanutilities/wlansniffer/aihelper/src/wsfaihelperview.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiHelperView
-*
-*/
-
-
-
-// EXTERNAL INCLUDES
-#include  <aknViewAppUi.h>
-#include <wsfaihelper.rsg>
-
-//  CLASS HEADER
-#include  "wsfaihelperview.h"
-
-// INTERNAL INCLUDES
-#include "wsfaihelperappui.h"
-#include "wsfmodelobserver.h"
-#include "wsfaihelper.hrh"
-#include "wsfmodel.h"
-#include "wsfaihelperdocument.h"
-#include "wsfaihelpercontainer.h"
-#include "wsflogger.h"
-
-
-
-//  CONSTRUCTION AND DESTRUCTION
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView* CWsfAiHelperView::NewL( CWsfAiHelperAppUi* aAppUi )
-    {
-    CWsfAiHelperView* self = CWsfAiHelperView::NewLC( aAppUi );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView* CWsfAiHelperView::NewLC( CWsfAiHelperAppUi* aAppUi )
-    {
-    CWsfAiHelperView* self = new (ELeave) CWsfAiHelperView( aAppUi );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::CWsfAiHelperView
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView::CWsfAiHelperView( CWsfAiHelperAppUi* aAppUi ): 
-    CAknView(),
-    iAppUi( aAppUi )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::~CWsfAiHelperView
-// ---------------------------------------------------------------------------
-//
-CWsfAiHelperView::~CWsfAiHelperView()
-    {
-    delete iContainer;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::ConstructL()
-    {
-    BaseConstructL( R_SNIFFER_AI_HELPER_VIEW );
-
-    iContainer = new (ELeave) CWsfAiHelperContainer();
-    iContainer->ConstructL( ClientRect(), iAppUi );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::Id
-// ---------------------------------------------------------------------------
-//
-TUid CWsfAiHelperView::Id() const
-    {
-    return TUid::Uid( ESnifferAiHelperViewId );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::DoActivateL( const TVwsViewId& /*aPrevViewId*/,
-                                    TUid /*aCustomMessageId*/,
-                                    const TDesC8& /*aCustomMessage*/ )
-    {
-    LOG_ENTERFN( "CWsfAiHelperView::DoActivateL" );
-    AppUi()->AddToStackL( *this, iContainer );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::DoDeactivate
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::DoDeactivate()
-    {
-    LOG_ENTERFN( "CWsfAiHelperView::DoDeactivate" );
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromStack( iContainer );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiHelperView::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiHelperView::HandleCommandL( TInt aCommand )
-    {
-    LOG_ENTERFN( "CWsfAiHelperView::HandleCommandL" );
-    AppUi()->HandleCommandL( aCommand );
-    }
-
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/data/10281cae.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM plugin resource file for AiPlugin.
-*
-*/
-
-//  INCLUDES
-#include "wsfaipluginuids.hrh"
-#include <aicontentpublisheruid.hrh>
-#include <ecom/registryinfov2.rh>
-
-RESOURCE REGISTRY_INFO registry_info
-    {
-    resource_format_version = RESOURCE_FORMAT_VERSION_2;
-    // UID for the DLL
-    dll_uid = AI_UID_ECOM_DLL_CONTENTPUBLISHER_WIZARDPLUGIN;
-
-    // Interface info array
-    interfaces =
-        {
-        INTERFACE_INFO
-            {
-            // UID of the implemented interface
-            interface_uid = AI_UID_ECOM_INTERFACE_CONTENTPUBLISHER;
-
-            implementations =
-                {
-                IMPLEMENTATION_INFO
-                    {
-                    implementation_uid  =  
-                    AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN;
-                    version_no          =  1;
-                    display_name        =  "WizardPlugin";
-                    default_data        =  "";
-                    opaque_data         =  " ";
-                    rom_only            =  1;
-                    }
-                };
-            }
-        };
-    }
-
-// End of File.
--- a/wlanutilities/wlansniffer/aiplugin/data/wsfaipluginrsc.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,381 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project AiPlugin
-*
-*/
-
-
-
-NAME WLPL
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.loc>
-
-#include <wsfaiplugin.loc>
-#include <wsfmainapplication.loc>
-
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE TBUF16 { buf=""; }
-
-
-
-// --------------------------------------------------------------------------
-// Localised strings
-// --------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_sniffer_plug_in_refreshing         
-    { 
-    buf = qtn_sniffer_plug_in_refreshing; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_connecting         
-    { 
-    buf = qtn_sniffer_plug_in_connecting; 
-    }
-
-RESOURCE TBUF r_qtn_status_no_wlans_available         
-    { 
-    buf = qtn_sniffer_plug_in_no_wlans_found; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_scanning_off        
-    { 
-    buf = qtn_sniffer_plug_in_scanning_off; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_ssid_found    
-    { 
-    buf = qtn_sniffer_plug_in_ssid_found; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_unknown_ssid_found    
-    { 
-    buf = qtn_sniffer_plug_in_unknown_wlan_found; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_unknown_ssids_found    
-    { 
-    buf = qtn_sniffer_plug_in_unknown_wlans_found; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_connected_to_ssid    
-    { 
-    buf = qtn_sniffer_plug_in_iap_connected; 
-    }
-
-RESOURCE TBUF r_qtn_wlan_manual_ssid_input    
-    { 
-    buf = qtn_wlan_manual_ssid_input; 
-    }
-
-RESOURCE TBUF r_qtn_msk_sniffer_activate    
-    { 
-    buf = qtn_msk_sniffer_activate; 
-    }
-
-RESOURCE TBUF r_qtn_ai_wizard_title            
-    { 
-    buf = qtn_ai_wizard_title; 
-    }
-
-RESOURCE TBUF r_qtn_wlan_info_no_networks_found 
-    {
-    buf = qtn_wlan_info_no_networks_found; 
-    }
-
-RESOURCE TBUF r_qtn_wlan_info_connection_already_active
-    {
-    buf = qtn_wlan_info_connection_already_active; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_connected_to
-    {
-    buf = qtn_sniffer_plug_in_connected_to; 
-    }
-
-RESOURCE TBUF r_qtn_sniffer_plug_in_wlan_network_found
-    {
-    buf = qtn_sniffer_plug_in_wlan_network_found; 
-    }
-
-RESOURCE TBUF r_ssid
-    {
-    buf = L"'%U[16]'"; 
-    }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_offline_items
-// Options menu items for 'Offline' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_offline_items
-    {    
-    items =
-        {
-        LBUF
-            {  
-            txt = qtn_sniffer_opt_start_web_browsing;        
-            },
-        LBUF
-            {  
-            txt = qtn_sniffer_opt_connect;
-            },
-        LBUF
-            {
-            txt = qtn_sniffer_plug_in_options_search_wlan_networks;        
-            },
-        LBUF
-            {
-            txt = qtn_sniffer_opt_set_scanning_off;        
-            }
-        };
-    }
-    
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connected_items
-// Options menu items for 'Connected' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_connected_items
-    {    
-    items =
-        {
-        LBUF
-            {  
-            txt = qtn_sniffer_opt_start_web_browsing;       
-            },
-        LBUF
-            {    
-            txt = qtn_sniffer_opt_disconnect_wlan;        
-            }
-        };
-    }
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connecting_items
-// Options menu items for 'Connecting' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_connecting_items
-    {    
-    items =
-        {
-        LBUF
-            {    
-            txt = qtn_sniffer_opt_disconnect_wlan;        
-            }
-        };
-    }
-    
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_browsing_items
-// Options menu items for 'Browsing' state
-// --------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_aiplugin_options_browsing_items
-    {    
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_sniffer_opt_continue_web_browsing;        
-            },
-        LBUF
-            {    
-            txt = qtn_sniffer_opt_disconnect_wlan;      
-            }
-        };
-    }
-    
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_offline
-// Options menu in 'Offline' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_offline
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;  
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_aiplugin_options_offline_items;
-                    };
-                };
-            }
-        };
-    }
-    
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connected
-// Options menu in 'Connected' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_connected
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;    
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_aiplugin_options_connected_items;
-                    };
-                };
-            }
-        };
-    } 
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_connecting
-// Options menu in 'Connecting' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_connecting
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;    
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_aiplugin_options_connecting_items;
-                    };
-                };
-            }
-        };
-    }   
-
-
-// --------------------------------------------------------------------------
-// r_qtn_aiplugin_options_browsing
-// Options menu in 'Browsing' state
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_aiplugin_options_browsing
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;    
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_aiplugin_options_browsing_items;
-                    };
-                };
-            }
-        };
-    }    
-
-
-// --------------------------------------------------------------------------
-// r_qtn_plugin_search_wlan_networks
-// Search for wlan networks query
-// --------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_plugin_search_wlan_networks
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = r_qtn_plugin_search_wlan_network_buttons;    
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype =  EAknCtSingleGraphicPopupMenuListBox;
-                heading = qtn_wlan_prmpt_select_network;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    };
-                };
-            }
-        };
-    }
-    
-
-// --------------------------------------------------------------------------
-// r_qtn_plugin_search_wlan_network_buttons
-// CBA buttons for search for wlan networks query
-// --------------------------------------------------------------------------
-//
-RESOURCE CBA r_qtn_plugin_search_wlan_network_buttons
-     {
-     buttons =
-        {
-        CBA_BUTTON { id = EEikBidOk; txt = qtn_sniffer_softkey_connect; },
-        CBA_BUTTON { id = EEikBidCancel; txt = text_softkey_cancel; },
-        CBA_BUTTON { id = EEikBidOk; txt = ""; }
-        };
-    }    
-
-
-//----------------------------------------------------------------------------
-// r_restart_browsing_confirmation_query
-// Query to restart browser with WLAN
-//----------------------------------------------------------------------------
-RESOURCE DIALOG r_restart_browsing_confirmation_query
-    {
-    flags=EGeneralQueryFlags;
-    buttons=R_AVKON_SOFTKEYS_YES_NO__YES;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id = EGeneralQuery;
-            control= AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-
--- a/wlanutilities/wlansniffer/aiplugin/group/aiplugin.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project AiPlugin
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-#include "../inc/wsfaipluginuids.hrh"
-
-TARGET          wsfaiplugin.dll
-TARGETTYPE      PLUGIN
-UID             0x10009D8D AI_UID_ECOM_DLL_CONTENTPUBLISHER_WIZARDPLUGIN
-
-CAPABILITY      CAP_ECOM_PLUGIN
-VENDORID        VID_DEFAULT
-
-SOURCEPATH      ../src
-SOURCE          wsfaipluginproxy.cpp
-SOURCE          wsfaiplugin.cpp
-SOURCE          wsficonarraycreator.cpp
-SOURCE          wsfsearchwlansdialog.cpp
-SOURCE          wsfaimodel.cpp
-SOURCE          wsfaicontroller.cpp
-SOURCE          wsfaiview.cpp
-SOURCE          wsfactivewaiter.cpp
-SOURCE          wsfdbobserver.cpp
-
-
-// Plugin's own resources.
-START RESOURCE  ../data/wsfaipluginrsc.rss
-HEADER 
-TARGETPATH      RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-//ECOM resource definition
-START RESOURCE  ../data/10281cae.rss
-TARGET          wsfaiplugin.rsc
-LANGUAGE_IDS
-END
-
-
-// own headers
-USERINCLUDE     ../inc
-
-// inner API
-USERINCLUDE     ../../inc
-
-// private API
-USERINCLUDE     ../../../inc
-
-
-//Macro to /epoc32 headers
-//MW_LAYER_SYSTEMINCLUDE is not enough because of <BrowserUiSDKCRKeys.h>
-APP_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY         euser.lib
-LIBRARY         ecom.lib
-LIBRARY         efsrv.lib   //TParse
-
-LIBRARY         bafl.lib   // BaflUtils
-LIBRARY         Cone.lib
-
-LIBRARY         AknSkins.lib
-LIBRARY         egul.lib
-
-LIBRARY         AknIcon.lib
-LIBRARY         Avkon.lib
-
-LIBRARY         aiutils.lib
-
-LIBRARY         commonengine.lib  //stringloader
-LIBRARY         eikdlg.lib
-LIBRARY         eikcore.lib 
-LIBRARY         eikctl.lib
-LIBRARY         eikcoctl.lib 
-
-LIBRARY         wsfwlaninfo.lib
-LIBRARY         wsfwlaninfosorting.lib
-LIBRARY         wsfclient.lib
-LIBRARY         wsfmodel.lib
-LIBRARY         apgrfx.lib
-LIBRARY         commonui.lib
-LIBRARY         connmon.lib
-LIBRARY         apparc.lib
-LIBRARY         charconv.lib
-LIBRARY     	COMMSDAT.lib
-LIBRARY     	cmmanagerdatabase.lib
-LIBRARY         cmmanager.lib
-LIBRARY         centralrepository.lib
-LIBRARY         FeatMgr.lib
-LIBRARY         connectionuiutilities.lib
-
-DEBUGLIBRARY    flogger.lib
-
-// End of File.
--- a/wlanutilities/wlansniffer/aiplugin/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project AiPlugin
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// export localised loc file
-../loc/wsfaiplugin.loc    MW_LAYER_LOC_EXPORT_PATH(wsfaiplugin.loc)
-
-// IBY
-../rom/wsfaiplugin.iby           CORE_MW_LAYER_IBY_EXPORT_PATH(wsfaiplugin.iby)
-../rom/wsfaipluginresources.iby  LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfaipluginresources.iby)
-
-
-PRJ_MMPFILES
-aiplugin.mmp
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfactivewaiter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfActiveWaiter
-*
-*/
-
-
-#ifndef C_WSFACTIVEWAITER_H
-#define C_WSFACTIVEWAITER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-//  CLASS DEFINITION
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest()
- * 
- * Usage:
- * @code
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest() == KErrNone )
- *      {
- *      // handle success
- *      }
- *      else 
- *      {
- *      // handle failure
- *      }
- * CleanupStack::PopAndDestroy( waiter );
- * @endcode
- *
- * @lib wsfserver.exe
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ): public CActive
-    {
-    public:
-        /**
-        * Factory function
-        * @since S60 5.0
-        * @return CWsfActiveWaiter instance.
-        */
-        static CWsfActiveWaiter* NewL();
-
-        /**
-        * Factory function
-        * @since S60 5.0
-        * @return CWsfActiveWaiter instance.
-        */
-        static CWsfActiveWaiter* NewLC();
-
-        /**
-        * Destructor
-        * @since S60 5.0
-        */    
-        virtual ~CWsfActiveWaiter();          
-
-    protected:
-        /**
-        * Constructor
-        * @since S60 5.0
-        */    
-        CWsfActiveWaiter();
-
-    protected:  // from CActive
-
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-        */
-        void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-        */
-        void RunL();
-
-    public:     // new methods
-        /**
-        * Waits for its TRequestStatus to be completed
-        * @since S60 5.0
-        * @return Error code returned from server after request is completed
-        */
-        TInt WaitForRequest();
-    
-    protected:  // data
-        /**
-        * Nested waitloop
-        */
-        CActiveSchedulerWait iWait;
-    };     
-
-#endif // C_WSFACTIVEWAITER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontroller.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,366 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for TWsfAiController
-*
-*/
-
-#ifndef T_WSFAICONTROLLER_H
-#define T_WSFAICONTROLLER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-#include <e32property.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfstatechangeobserver.h"
-#include "wsfmodelobserver.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfModel;
-class CWsfAiModel;
-class MWsfAiUiObserver;
-class TWsfWlanInfo;
-class CWsfWlanInfoArray;
-class CWsfDbObserver;
-
-
-/**
- *  The controller class of the component. All functionality is reached
- *  through this class and all needed events are observed by this.
- *
- *  @lib wsfaiplugin.lib
- *  @since S60 v5.0
- */
-
-NONSHARABLE_CLASS( TWsfAiController ): public MWsfStateChangeObserver,
-                                       public MWsfModelObserver
-    {
-    public:     // Constructors
-        
-        /**
-        * Default C++ constructor 
-        * @since S60 5.0 
-        */
-        TWsfAiController();
- 
-    public:     // New methods
-        
-        /**
-         * DeInitialization for this class 
-         */
-        void DeInitializeL();
-
-        /**
-        * PreInitialization for this class (set the models references)
-        * @since S60 5.0
-        * @param aModel appicaton level model reference
-        * @param aAiModel model reference of AiPlugin
-        */
-        void InitializeL( CWsfModel* aModel, CWsfAiModel* aAiModel,
-        		           CWsfDbObserver* aObserver );
-        
-        /**
-        * Set the UI for the controller
-        * @since S60 5.0
-        * @param aUi reference to AiPlugin UI control
-        */
-        void SetUi( MWsfAiUiObserver& aUi );
-        
-
-        /**
-        * Handles keypresses coming from container
-        * @since S60 5.0
-        */
-        void HandleSelectionKeyL();
-        
-        /**
-        * Start the sequential scanning for wlans
-        * @since S60 5.0
-        */ 
-        void EnableScanL();
-   
-        /**
-        * Stop the sequential scanning for wlans
-        * @since S60 5.0
-        */ 
-        void DisableScanL();
-        
-        /**
-         * Propagates the connected network data from the sniffer model
-         * to the AI model
-         * @since S60 5.0
-         */
-        void StartupRefreshL();
-
-        /**
-        * Dismisses the AI menu/other dialogs if there was any open
-        * @since S60 5.0
-        */
-        void DismissDialogsL();
-        
-        /**
-        * Refreshes the refreshing icon
-        * @since S60 5.0
-        */
-        void RefreshRefreshingL();
-        
-        /**
-        * Refreshes the connecting icon
-        * @since S60 5.2
-        */
-        void RefreshConnectingL();
-        
-
-    public:     // From MWsfStateChangeObserver
-
-        /**
-        * The current wlan data has changed and it is ready to be retrieved
-        * @since S60 5.0
-        */
-        void WlanListChangedL();
-
-        /**
-        * Engine error occured
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        void NotifyEngineError( TInt aError );
-        
-        /**
-        * Scanning has been disabled
-        * @since S60 5.0
-        */
-        void ScanDisabledL();
-        
-        /**
-        * Scanning has been enabled
-        * @since S60 5.0
-        */
-        void ScanEnabledL();
-
-        /**
-        * A WLAN connection has been established
-        * @since S60 5.0
-        * @param aAccesspointName The name of the active connection
-        */
-        void WlanConnectionActivatedL( const TDesC& aAccessPointName );
-        
-        /**
-        * A WLAN connection has been closed
-        * @since S60 5.0
-        */
-        void WlanConnectionClosedL();
-        
-        /**
-        * Connection creation process finished
-        * @since S60 5.2
-        * @param aError System wide error code
-        */
-        void ConnectionCreationProcessFinishedL( TInt aError );
-        
-        
-    public:     //From MWsfModelObserver
-        
-        /**
-         * Called if the launch has been completed successfully
-         * @since S60 5.0 
-         */
-        void BrowserLaunchCompleteL();
-        
-        /**
-         * Called if the browser launch failed for some reason
-         * @since S60 5.0 
-         * @param aError error code
-         */
-        void BrowserLaunchFailed( TInt aError );
-    
-        /**
-        * Called when the previously launched browser exits
-        * @since S60 5.0
-        */
-        void BrowserExitL();
-        
-        /**
-        * Notification that connection is going to be created
-        * @since S60 5.0
-        * @param aIapId The IAP id of the connection being created
-        */
-        void ConnectingL( TUint32 aIapId );
-    
-        /**
-        * Notification that the connection creation process ended
-        * @since S60 5.0
-        * @param aResult The result of the connection creation
-        */
-        void ConnectingFinishedL( TInt aResult );
-    
-    private:
-        
-        /*
-        * Start web browsing with the given wlaninfo
-        * @since S60 5.0
-        * @param aInfo Wlaninfo to connect with
-        */ 
-        void StartBrowsingL( TWsfWlanInfo& aInfo );
-        
-        /*
-        * Start web browser with the given wlaninfo
-        * @since S60 5.2
-        * @param aInfo Wlaninfo to connect with
-        */ 
-        void StartWebBrowserL( TWsfWlanInfo& aInfo );
-
-        /*
-        * 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
-        * @since S60 5.0
-        */
-        void ContinueBrowsingL();
-
-        /*
-        * Launches a listquerydialog which holds all available wlans.
-        * @since S60 5.0
-        * @param aInfo The wlaninfo resulting from the selection if 
-        *              no error/cancellation occured 
-        * @return ETrue if a valid network was selected, EFalse otherwise 
-        */ 
-        TBool LaunchSearchDialogL( TWsfWlanInfo& aInfo );
-        
-        /* 
-        * Trapped routine of LaunchSearchDialogL
-        * @param - aSelectedItem which list item was selected
-        * @return - ETrue if connection should be made, otherwise EFalse 
-        */
-        TBool DoLaunchSearchDialogL( TInt& aSelectedItem );
-        
-        /*
-        *  Refreshes the current ui when the ui changes
-        */ 
-        void RefreshUiL();
-        
-        /*
-        *  Disconnect active wlan connections
-        */ 
-        void DisconnectL();
-
-        /**
-        * Handle error event
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        void DoHandleEngineErrorL( TInt aError );
-
-        /**
-        * Checks whether the browser is using the currently active WLAN 
-        * connection (if any)
-        * @since S60 5.0
-        * @return ETrue if there is a WLAN connection and browser is using it,
-        *         EFalse otherwise
-        */
-        TBool IsWlanUsedByBrowserL();
-
-        /**
-        * Handle MSK if not connected
-        * @since S60 5.0
-        */
-        void HandleMskIfOfflineL();
-        
-        /**
-        * Handle MSK if connected to a WLAN
-        * @since S60 5.0
-        */
-        void HandleMskIfConnectedL();
-        
-        /**
-        * Handle MSK if connecting to a WLAN
-        * @since S60 5.0
-        */
-        void HandleMskIfConnectingL();
-
-        /**
-        * Handle MSK if connected and browser is using the connection
-        * @since S60 5.0
-        */
-        void HandleMskIfBrowsingL();
-        
-            
-    private: // data
-
-        TWsfWlanInfo iUsedInfo;
-
-        /**
-        * Reference to Wlan array
-        */
-        CWsfWlanInfoArray* iInfoArray;
-        
-        /**
-        * Reference to Model
-        */
-        CWsfModel* iModel;
-
-        /**
-        * Reference to Active Idle plugin's Model
-        */
-        CWsfAiModel* iAiModel;
-
-        /**
-        * A pointer to active idle plugin ui control observer instance
-        */
-        MWsfAiUiObserver* iUi;
-        
-        /**
-        * Cache of the connected WLAN data
-        */
-        TWsfWlanInfo iConnectedWlan;
-        
-        /**
-        * The Database change observer
-        */
-        CWsfDbObserver* iDbObserver;
-        
-        /**
-         * Indicates whether Connect or Start Web browsing was selected
-         */
-        TBool iShouldConnectOnly;
-        
-        /**
-         * Indicates whether access point needs testing
-         */
-        TBool iTestAccessPoint;
-    };
-
-#endif      //  T_WSFAICONTROLLER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaicontrollercmds.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,66 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  TWsfAiController's commands
-*
-*/
-
-#ifndef WSFAICONTROLLERCMDS_H
-#define WSFAICONTROLLERCMDS_H
-
-/**
- * Scanning on, not connected
- */
-enum TWsfAiOffline
-    {
-    EAiOfflineStartBrowsing,
-    EAiOfflineConnect,
-    EAiOfflineSearchWlans,
-    EAiOfflineDisableScan
-    };
-
-
-/**
- * Scanning on, connected but browser not active or not using WLAN
- */
-enum TWsfAiConnected
-    {
-    EAiConnectedStartBrowsing,
-    EAiConnectedDisconnect
-    };
-
-
-/**
- * Scanning on, connecting
- */
-enum TWsfAiConnecting
-    {
-    EAiConnectingDisconnect
-    };
-
-
-/**
- * Scanning on, connected and browser is using the connected WLAN
- */
-enum TWsfAiBrowsing
-    {
-    EAiBrowsingContinueBrowsing,
-    EAiBrowsingDisconnect
-    };
-
-
-
-#endif // WSFAICONTROLLERCMDS_H
-
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaimodel.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,358 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAiModel
-*
-*/
-
-
-#ifndef C_WSFAIMODEL_H
-#define C_WSFAIMODEL_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include "wsfwlaninfo.h"
-
-//  FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class CWsfWlanInfoArrayVisitor;
-class CCoeEnv;
-class CAknIconArray;
-class CGulIcon;
-
-//class TWsfWlanInfo;
-
-/**
- * The model part. It holds the list of available WLANs and creates the 
- * suitable texts and icons to display.
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.0
- */
-class CWsfAiModel : public CBase
-    {
-public:     // Constructors and destructor
-
-    /**
-    * Two-phased constructor
-    * @since S60 5.0 
-    * @return instance of CWsfAiModel class
-    */
-    static CWsfAiModel* NewL();
-    
-    /**
-    * Two-phased constructor. Leaves the object on CleanupStack
-    * @since S60 5.0 
-    * @return instance of CWsfAiModel class
-    */
-    static CWsfAiModel* NewLC();
-
-    /**
-    * Destructor of CWsfAiModel class
-    * @since S60 5.0     
-    */
-    ~CWsfAiModel();
-
-private:    // Constructors
-    
-    /**
-    * Default C++ constructor 
-    * @since S60 5.0 
-    */
-    CWsfAiModel();
-    
-    /**
-    * 2nd phase constructor
-    * @since S60 5.0 
-    */
-    void ConstructL();
-
-public:     // New methods
-
-    /**
-    * Creates array for the listbox, it contains a formatted array of WLANs.
-    * @param aWlanList - Array of WLAN that will be formatted.
-    * @return Formatted WLAN list (Ownership not passed)
-    */
-    CDesCArrayFlat* FormatWlanListL( CWsfWlanInfoArray* aWlanList, const TBool aUIPrioritySort );
-      
-    /*
-    * Returns WLAN list that has already formatted
-    * @return Formatted WLAN list (Ownership not passed) 
-    */        
-    CDesCArrayFlat* GetWlanList();        
-        
-    /**
-    * Returns a pointerarray for TWsfWlanInfo items.
-    * @return non-formatted WLAN list (Ownership not passed)
-    */
-    CWsfWlanInfoArray* GetInfoArray();
-        
-    /**
-    * Format the WlanList for one-line
-    * @param aWlanList - Array of WLAN that will be formatted.
-    * @return Formatted WLAN list (Ownership not passed)
-    */
-    CDesCArrayFlat* FormatSingleLineWlanListL( 
-                                    CWsfWlanInfoArray* aWlanList );
-    
-    /**
-    * Load and format the refreshing information for the WLAN list
-    * @return Formatted WLAN list (Ownership not passed) 
-    */
-    CDesCArrayFlat* FormatRefreshingL();
-    
-    /**
-    * Load and format the connecting information for the WLAN list
-    * @return Formatted WLAN list (Ownership not passed) 
-    */
-    CDesCArrayFlat* FormatConnectingL();
-        
-    /**
-    * Appends icons of customer favourite networks to the given array
-    * @param aIconArray The icon array to which brand icons 
-    *                   should be appended
-    */
-    void AppendBrandIconsL( CAknIconArray& aIconArray );
-    
-    /**
-    * Set the scanning status flag on
-    */
-    inline void SetScanningOn();
-        
-    /**
-    * Set the scanning status flag off
-    */
-    inline void SetScanningOff();
-    
-    /**
-    * Returns with the scanning status flag
-    * @since S60 5.0
-    * @return ETrue if the scanning on, if it is off EFalse
-    */    
-    inline TBool ScanningOn();
-    
-    /**
-    * Returns that the WLAN item connected or not.
-    * @return ETrue if it is connected otherwise EFalse
-    */    
-    inline TBool Connected();
-    
-    /**
-    * Sets the connected flag
-    * @param - aConnected True if connected
-    */
-    inline void SetConnected( TBool aConnected );
-    
-    /**
-    * Sets the connected flag
-    * @param - aConnected True if connected
-    */
-    inline void SetConnecting( TBool aConnecting );
-    
-    /**
-    * Sets the connected wlan info
-    * @param aConnected  - connected wlan info
-    */
-    inline void SetConnectedWlanInfo( TWsfWlanInfo& aWlanInfo );
-
-    /**
-     *  Initialize the refresh animation
-     */
-    void InitializeRefreshAnimation();
-    
-    /*
-     * Step the animation
-     */
-    void AnimateRefresh();
-    
-    /**
-     *  Initialize the refresh animation
-     */
-    void InitializeConnectingAnimation();
-    
-    /*
-     * Step the animation
-     */
-    void AnimateConnecting();
-    
-private:    // New methods        
-        
-    /**
-    * Format the Hidden WLANs for the listbox.(text and icon)
-    * @since S60 v5.0
-    * @param aWlan - Reference to wlaninfo
-    * @param aItem - Listbox item
-    */    
-    void FormatHiddenWlanItemL( TWsfWlanInfo& aWlan, TPtr& aItem );
-
-    /**
-     * Format the listbox filed with the scanning status off information
-     * @since S60 v5.0
-     * @param aItem - Listbox item
-     */  
-    void FormatStatusOffL( TPtr& aItem );
-    
-    /**
-     * Format the listbox filed with the No Wlan found information
-     * @since S60 v5.0
-     * @param aItem - Listbox item
-     */  
-    void FormatNoWlansAvailableL( TPtr& aItem );
-        
-    /**
-    * Format the WlanList item for one-line or (visible networks) items for
-    * the listbox.(text and icon)
-    * @param aWlan - reference to wlaninfo
-    * @param aItem - Listbox item
-    * @param aSingleLine - ETrue if Single Line Item wanted to be shown 
-    *                      EFalse if Visible Wlan Item wanted to be shown
-    */
-    void FormatWlanSingleLineL( TWsfWlanInfo& aWlan, 
-                                TPtr& aItem,
-                                TBool aSingleLine );
-        
-    /**
-    * Format the WlanList items in one-line for Unknown networks
-    * @param aMultipleUnknownWlans - ETreue if more unknown network found 
-    * @param aItem - Listbox item
-    */
-    void FormatUnknownWlansSingleLineL( const TBool aMultipleUnknownWlans, 
-                                        TPtr& aItem );
-
-    /**
-    * Go through the WLANs list and find Max signal strength amont know wlans
-    * @param aWlanList - array of WLANs
-    * @return the ID of the Wlan with the Max signal strength 
-    */
-    TInt FindPreferredKnownWlan( CWsfWlanInfoArray* aWlanList  );
-        
-    /**
-    * Check if there's connection and it is the first item in array
-    * @param aWlanList - array of WLANs
-    * @param aItem - Listbox item
-    */
-    void CheckWlansL( CWsfWlanInfoArray* aWlanList, TPtr& aItem );
-    
-    /**
-    * Formats the connected string.
-    * @param aItem - The name of the connected network to be put
-    */
-    void FormatConnectedL( TPtr& aItem );
-        
-private:    // Data
-       
-    /**
-    * Array of WLANs
-    * Not Own.
-    */
-    CWsfWlanInfoArray* iWlanInfoArray;
-
-    /**
-    * Coe env for loading string from resource
-    * Not Own.
-    */
-    CCoeEnv* iCoeEnv;
-        
-    /**
-    * List that contains the WLAN items 
-    * Own.
-    */
-    CDesCArrayFlat* iFormattedWlanList;  
-
-    /**
-     * WlanInfoArrayVisitor
-     * Own.
-     */
-    CWsfWlanInfoArrayVisitor *iWlanInfoBranding; 
-
-    /**
-     * The scanning status flag
-     */
-    TBool iScanning;
-
-    /**
-     * Connected status flag
-     */
-    TBool iConnected;
-    
-    /**
-     * Connected status flag
-     */
-    TBool iConnecting;
-    
-    /**
-     * Info of the connected WLAN
-     */
-    TWsfWlanInfo iConnectedWlanInfo;
-
-    /**
-     * List of animation states of refreshing icon
-     */
-    TFixedArray<TInt, 4> iRefreshIcons;
-    
-    /**
-     * List of animation states of connecting icon
-     */
-    TFixedArray<TInt, 4> iConnectingIcons;
-    
-    /**
-     * The refreshing animation frame index
-     */
-    TInt iRefreshIndex;
-    
-    /**
-     * The connecting animation frame index
-     */
-    TInt iConnectingIndex;
-    
-    /**
-    * Constants for 'WLAN scanning off' text
-    * Own.
-    */
-    HBufC* iStatusScanningOff;
-    
-    /**
-    * Constants for 'Refreshing' text
-    * Own.
-    */
-    HBufC* iStatusRefreshing;
-
-    /**
-    * Constants for 'Connecting' text
-    * Own.
-    */
-    HBufC* iStatusConnecting;
-    
-    /**
-    * Constants for 'Other (hidden netw.)' text
-    * Own.
-    */
-    HBufC* iManualSSIDInputting;
-    
-    /**
-    * Constants for 'No WLAN network found' text
-    * Own.
-    */
-    HBufC* iNoWLANsAvailable;
-    
-    };
-
-
-#include "wsfaimodel.inl"
-
-
-#endif // C_WSFAIMODEL_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaimodel.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline for CWsfAiModel
-*
-*/
-
-
-//  INLINE FUNCTIONS
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::SetScanningOn
-// --------------------------------------------------------------------------
-//
-inline void CWsfAiModel::SetScanningOn()
-    {
-    // Set the scanning status flag on
-    iScanning = ETrue;
-    }
-      
-// --------------------------------------------------------------------------
-// CWsfAiModel::SetScanningOff
-// --------------------------------------------------------------------------
-//
-inline void CWsfAiModel::SetScanningOff() 
-    {
-    // Set the scanning status flag off
-    iScanning = EFalse;
-    }
-           
-// --------------------------------------------------------------------------
-// CWsfAiModel::ScanningOn
-// --------------------------------------------------------------------------
-//
-inline TBool CWsfAiModel::ScanningOn()
-    {
-    return iScanning;
-    }
-       
-// --------------------------------------------------------------------------
-// CWsfAiModel::Connected
-// --------------------------------------------------------------------------
-//
-inline TBool CWsfAiModel::Connected() 
-    {
-    return iConnected;
-    }
-
-// -----------------------------------------------------------------------------
-// CWsfAiModel::SetConnected
-// -----------------------------------------------------------------------------
-//
-void CWsfAiModel::SetConnected( TBool aConnected )
-	{
-	iConnected = aConnected;
-	}
-
-// -----------------------------------------------------------------------------
-// CWsfAiModel::SetConnected
-// -----------------------------------------------------------------------------
-//
-void CWsfAiModel::SetConnecting( TBool aConnecting )
-    {
-    iConnecting = aConnecting;
-    }
-
-// -----------------------------------------------------------------------------
-// CWsfAiModel::SetConnectedWlanInfo
-// -----------------------------------------------------------------------------
-//
-void CWsfAiModel::SetConnectedWlanInfo( TWsfWlanInfo& aWlanInfo )
-	{
-	iConnectedWlanInfo = aWlanInfo;
-	}
-
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugin.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,465 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAiPlugin
-*
-*/
-
-
-#ifndef C_WSFAIPLUGIN_H
-#define C_WSFAIPLUGIN_H
-
-//  EXTERNAL INCLUDES
-#include <aicontentpublisher.h>
-#include <aicontentobserver.h>
-#include <aipropertyextension.h>
-#include <aieventhandlerextension.h>
-#include <e32cmn.h>
-
-//  INTERNAL INCLUDES
-#include "wsfaicontroller.h"
-#include "wsfaipublishobserver.h"
-#include "wsfaiplugincontentmodel.h"
-
-//  CONSTANTS
-LOCAL_D const TInt  KDeferredWaitTime = 1000 * 1000; 
-                            // one second in milliseconds
-
-//  FORWARD DECLARATIONS
-class MAiPluginSettings;
-class MAiContentObserver;
-class MAiContentItemIterator;
-
-class CWsfModel;
-class CWsfAiModel;
-class CWsfAiView;
-class CAknIconArray;
-class CGulIcon;
-class CWsfDbObserver;
-
-
-// CLASS DECLARATION
-
-/**
- * The main class, containing the plugin behavior. 
- *
- * @lib wsfaiplugin.lib
- * @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWsfAiPlugin ): public CAiContentPublisher,
-                                   public MAiPropertyExtension,
-                                   public MAiEventHandlerExtension,
-                                   public MWsfAiPublishObserver
-    {
-    public: // Constructors and destructor
-        
-        /**
-        * Two-phased constructor
-        * @since S60 5.0 
-        * @return instance of CWsfAiPlugin class
-        */
-        static CWsfAiPlugin* NewL();
-        
-        /**
-        * Destructor of CWsfAiPlugin class
-        * @since S60 5.0     
-        */
-        virtual ~CWsfAiPlugin();
-    
-    private:// Constructors
-        
-        /**
-        * Default C++ constructor 
-        * @since S60 5.0 
-        */
-        CWsfAiPlugin();
-        
-        /**
-        * 2nd phase constructor
-        * @since S60 5.0 
-        */
-        void ConstructL();
-        
-        /**
-        * Steps 
-        * @param ptr Pointer to an instance of this class
-        */
-        static TInt CWsfAiPlugin::DoRefreshingStepL( TAny* ptr );
-        
-        /**
-        * Steps the refresh animation
-        */                
-        void CWsfAiPlugin::DoRefreshingStepL();
-        
-        /**
-        * Steps 
-        * @param ptr Pointer to an instance of this class
-        */
-        static TInt CWsfAiPlugin::DoConnectingStepL( TAny* ptr );
-        
-        /**
-        * Steps the refresh animation
-        */                
-        void CWsfAiPlugin::DoConnectingStepL();
-    
-    public:     // from CAiContentPublisher
-        
-        /**
-        * This method transit the plugin to "Alive" state.
-        * The method is called by the framework to instruct plug-in that it is
-        * allowed to actively publish its data to its observers. This means the plugin
-        * is allowed to consume memory and CPU resources, e.g plug-in is able load 
-        * engines, run timers, perform asynchronous operations, etc. The method 
-        * transits the plug-in to "Alive" state. There can be many concurrent
-        * calls to resume, with different or the same reason code, this allows
-        * the plugin to properly respond to enviroment change that raise the
-        * need to re-publish content (changes like date/time change etc).
-        *
-        * @param aReason reason for state change, see TAiTransitionChange.
-        */
-        void Resume( TAiTransitionReason aReason );
-        
-        /**
-        * This method transits the plug-in to "Suspendend" state.
-        * The method is called by the framework to instruct plug-in that it is
-        * not allowed to consume CPU resources, e.g plug-in MUST stop each
-        * timer, cancel outstanding asynchronous operations, etc. 
-        *
-        * @param aReason reason for state change, see TAiTransitionChange.
-        */
-        void Suspend( TAiTransitionReason aReason );
-        
-        /**
-        * This method transits the plug-in to "Idle" state.
-        * The method is called by the framework to request the plug-in free all
-        * memory and CPU resources and close all its open files, the plug-in 
-        * should unload its engines during backup operation.
-        *
-        * @param aReason reason for state change, see TAiTransitionChange.
-        */
-        void Stop( TAiTransitionReason aReason );
-        
-        /**
-        * Adds the content observer / subscriber to plug-in. The plug-in MUST
-        * maintain a registry of subscribers and send notification to all them
-        * whenever the plug-in changes state or new content available.
-        *
-        * @param aObserver content observer to register.
-        */
-        void SubscribeL( MAiContentObserver& aObserver );
-    
-        /**
-        * Configures the plug-in.
-        *
-        * @param aSettings setting items defined in the UI definition.
-        *                  This plugin takes ownership of the
-        *                  MAiPluginSettings objects in the array.
-        *                  If this method leaves the caller will handle the cleanup.
-        */
-        void ConfigureL( RAiSettingsItemArray& aSettings );
-        
-        /**
-        * Returns interface extension. In S60 3.2 only event & property
-        * extensions are supported. See MAiEventHandlerExtension & MAiPropertyExtension
-        * interfaces.
-        *
-        * @param  aUid - UID of the extension interface to access.
-        * @return the extension interface. Actual type depends on the passed aUid 
-        *         argument.
-        */
-        TAny* Extension( TUid aUid );
-
-    
-    public:     // from MAiPropertyExtension
-    
-        /**
-        * Read property of publisher plug-in.
-        *
-        * @param aProperty - identification of property.
-        * @return Pointer to property value.
-        */
-        TAny* GetPropertyL( TInt aProperty );
-    
-        /**
-        * Write property value.
-        *
-        * @param aProperty - identification of property.
-        * @param aValue - contains pointer to property value.
-        */
-        void SetPropertyL( TInt aProperty, TAny* aValue );
-    
-    
-    public:     // from MAiEventHandlerExtension
-    
-        /**
-        * See aieventhandlerextension.h for detailed description.
-        * @since S60 5.0
-        */
-        void HandleEvent( TInt aEvent, const TDesC& aParam );
-
-    
-    public: // From MWsfAiPublishObserver
-    
-        /**
-        * Publishes images from array and text
-        * @since S60 5.0
-        * @param aPublishIconArray the published icons
-        * @param aText1 title text label
-        */
-        void PublishContentL( CArrayFix<TInt>* aPublishIconArray,
-                              CEikLabel* aText1 );
-        
-        /**
-        * Sets 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
-        */
-        void SetScanningState( TBool aScanState );
-        
-        /**
-        * Sets refreshing status on/off.
-        * @since S60 5.0
-        * @param aScanState Refreshing status flag
-        */
-        void SetRefreshingL( TBool aRefreshing );
-        
-        /**
-        * Set connecting status on.
-        * @since S60 5.0
-        */
-        void StartConnectingL();
-        
-        /**
-        * Publishes just status image from array 
-        * @since S60 5.0
-        * @param aPublishIconArray the published icons
-        * @param aText1 title text label
-        */
-        void PublishStatusIconL( CArrayFix<TInt>* aPublishIconArray, 
-                                            CEikLabel* aText1 );
-        
-    private:
-    
-        /**
-        * Allocates Engine, Model and functional UI for plugin
-        */
-        void AllocateResourcesL();
-    
-        /**
-        * Unpublishes (clears) all plugin content from AI2 view
-        */
-        void ClearL();
-    
-        /**
-        * Launch WLAN Wizard application
-        */
-        void LaunchApplicationL();
-    
-        /**
-        * Set the value of Middle Soft Key based on the
-        * Scanning status of the WLAN Wizard
-        */
-        void SetMskL();
-        
-        /**
-        * Publish the given text
-        * @param aObserver - pointer to the observer
-        * @param aContentId - content ID
-        * @param aText1 - title text label
-        * @return ETrue - if it can be published
-        *         EFalse - if it can not be published
-        */
-        TBool PublishText( MAiContentObserver* aObserver,
-                           TWsfAiWizardContentIds aContentId,
-                           const TDesC16& aText );
-        
-        /**
-        * Publish the given icon
-        * @param aObserver - pointer to the observer
-        * @param aContentId - content ID
-        * @param aIconId - icon ID
-        * @return ETrue - if it can be published
-        *         EFalse - if it can not be published
-        */
-        TBool PublishIconL( MAiContentObserver* aObserver,
-                            TWsfAiWizardContentIds aContentId,
-                            TInt aIconId );
-    
-        /**
-        * Cleanup function to to cancel publish transaction
-        * @since S60 5.0
-        * @param aPtr Pointer for the observer class
-        */
-        static void PublishCleanup( TAny* aPtr );
-       
-        /**
-        * Callback function for carrying out refresh at startup
-        * @since S60 5.0
-        * @param aPtr Pointer to this class
-        * @return Error code        
-        */
-        static TInt StartupRefresh( TAny* aPtr );
-
-        /**
-        * Callback function for carrying out refresh at startup
-        * @since S60 5.0
-        * @return Error code        
-        */
-        TInt StartupRefreshL();
-
-        
-    private: // Data
-    
-        /**
-        * Array of content observers
-        */
-        RPointerArray<MAiContentObserver> iObservers;
-    
-        /**
-        * Iterator for plugin content
-        * Own.
-        */
-        MAiContentItemIterator* iContent;
-    
-        /**
-        * Iterator for plugin resources
-        * Own.
-        */
-        MAiContentItemIterator* iResources;
-    
-        /**
-        * Iterator for plugin events
-        * Own.
-        */
-        MAiContentItemIterator* iEvents;
-    
-        /**
-        * Information about the content publisher (this plug-in)
-        */
-        TAiPublisherInfo iInfo;
-    
-        /**
-        * Pointer to CWsfModel
-        * Own.
-        */
-        CWsfModel* iModel;
-        
-        /**
-        * Pointer to AI Model
-        * Own.
-        */
-        CWsfAiModel* iAiModel;
-    
-        /**
-        * AI Controller
-        * Own.
-        */
-        TWsfAiController iController;
-        
-        /**
-        * Pointer to CWsfAiView
-        * Own.
-        */
-        CWsfAiView* iUi;
-   
-        /**
-        * The database observer obseving changes in
-        * show WLAN availablity
-        */
-        CWsfDbObserver* iDbObserver;
-        
-        /**
-        * The resource file offset
-        */
-        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.
-        */
-        HBufC* iMskActivate;
-    
-        /**
-        * Scanning status flag
-        */
-        TBool iScanState;
-    
-        /**
-        * Flag for focus of information area 
-        */
-        TBool iInfoAreaFocus;
-        
-        /**
-        * The current observer item index 
-        */
-        TInt iCurrentObserverIndex;
-        
-        /**
-         * The current refreshing state
-         */
-        TBool iRefreshing;
-        
-        /**
-        * Active Object callback for displaying data at startup
-        */
-        CAsyncCallBack* iStartupRefresh;
-        
-        /*
-	     * The periodic that steps the refreshing animation
-	     */
-	    CPeriodic* iAnimationPeriodic;
-	    
-	    /**
-	     * Constants for 'Connected to:' text
-	     * Own.
-	     */
-        HBufC* iConnectedTo;
-        
-        /**
-         * Constants for 'Known network found:' text
-         * Own.
-         */
-        HBufC* iKnownNetworkFound;
-	    	    
-    };
-
-
-#endif // C_WSFAIPLUGIN_H
-
-// End of File.
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincommon.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  PluginIcons
-*
-*/
-
-
-#ifndef WSFAIPLUGINCOMMON_H
-#define WSFAIPLUGINCOMMON_H
-
-#include <data_caging_path_literals.hrh>
-#include <e32base.h>
-
-// the drive letter
-_LIT( KResourceDrive, "z:" );
-// resource file
-_LIT( KResourceFile, "wsfaipluginrsc.r*" );
-// icons
-_LIT( KBitmapFile, "wsficons.mif" );
-
-/** Icon ID constants */
-enum TWsfPluginIcons
-    {
-    //Constants
-    ESecureNetworkIcon,
-    ENoSignalIcon,
-    EPoorSignal,
-    EAverageSignal,
-    EExcelentSignal,
-    EConnectedNWIcon,
-    EKnownNWIcon,
-    ETransparentIcon,
-    EWlanOnIcon,
-    EWlanOnIcon_0,
-    EWlanOnIcon_1,
-    EWlanOffIcon,
-    EWlanNaviBarIcon
-    };
-    
-#endif // WSFAIPLUGINCOMMON_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiplugincontentmodel.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,98 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Content enums
-*
-*/
-
-
-#ifndef WSFAIPLUGINCONTENTMODEL_H
-#define WSFAIPLUGINCONTENTMODEL_H
-
-
-#include <aicontentmodel.h>
-
-#include "wsfaipluginuids.hrh"
-
-// Plug-in Implementation UID.
-const TInt KImplUidWlanWizardPlugin = 
-                AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN;
-const TUid KUidWlanWizardPlugin = { KImplUidWlanWizardPlugin };
-
-
-// ================================= Content ================================
-
-/**
- * Content Ids
- */
-enum TWsfAiWizardContentIds
-    {
-     EAiWizardContentFullText
-    ,EAiWizardContentNaviBarIcon
-    ,EAiWizardContentTitleText
-    ,EAiWizardContentStatusIcon
-    ,EAiWizardContentStatusText
-    ,EAiWizardContentTypeIcon       // Transparent icon
-    ,EAiWizardContentTypeText
-    ,EAiWizardContentStrengthIcon
-    ,EAiWizardContentStrengthText    
-    ,EAiWizardContentSecureIcon
-    ,EAiWizardContentSecureText
-    ,EAiWizardContentNetworkStatus
-    ,EAiWizardContentNetworkName
-    };
-
-/**
- * Content that the plugin will publish
- */
-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 }
-    ,{ EAiWizardContentStrengthIcon,  L"StrengthIcon", KAiContentTypeBitmap }
-    ,{ EAiWizardContentStrengthText,  L"StrengthText", KAiContentTypeText }
-    ,{ EAiWizardContentSecureIcon,    L"SecureIcon",   KAiContentTypeBitmap }
-    ,{ EAiWizardContentSecureText,    L"SecureText",   KAiContentTypeText }
-    ,{ EAiWizardContentNetworkStatus, L"NetworkStatus",KAiContentTypeText }
-    ,{ EAiWizardContentNetworkName,   L"NetworkName",  KAiContentTypeText }
-    };
-
-// ============================ Events ==============================
-/**
- * Event Ids.
- */
-enum TWsfAiWizardEventIds
-    {
-     EAiWizardEventLaunchApplication,
-     EAiWizardGainFocusInfoArea,
-     EAiWizardLostFocusInfoArea,     
-     EAiWizardOpenMenu
-    };
-
-/**
- * Services that the plugin can perform
- */
-const TAiContentItem KAiWizardEvents[] =
-    {
-     { EAiWizardEventLaunchApplication,         L"LaunchApplication", "" }
-    ,{ EAiWizardGainFocusInfoArea,              L"GainFocusInfoArea", "" }
-    ,{ EAiWizardLostFocusInfoArea,              L"LostFocusInfoArea", "" }
-    ,{ EAiWizardOpenMenu,                       L"OpenMenu", "" }
-    };
-
-#endif // WSFAIPLUGINCONTENTMODEL_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaipluginuids.hrh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource headers for project AiPlugin
-*
-*/
-
-
-#ifndef WSFAIPLUGINUIDS_HRH
-#define WSFAIPLUGINUIDS_HRH
-
-/**
- * Ecom implementation uid for WLAN wizard plugin.
- */
-#define AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN 0x10281CAF
-
-/**
- * Ecom dll uid for WLAN wizard plugin.
- */
-#define AI_UID_ECOM_DLL_CONTENTPUBLISHER_WIZARDPLUGIN 0x10281CAE
-
-
-#endif // WSFAIPLUGINUIDS_HRH
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaipublishobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfAiPublishObserver
-*
-*/
-
-
-#ifndef M_WSFAIPUBLISHOBSERVER_H
-#define M_WSFAIPUBLISHOBSERVER_H
-
-#include <e32std.h>
-
-class CAknIconArray;
-class CEikLabel;
-class CArrayFix< TInt >;
-/**
- *  Abstract interface for wlan active idle plugin
- *
- */
-class MWsfAiPublishObserver
-    {
-public:
-    
-    /**
-    * Publishes images from array and text
-    * @since S60 5.0
-    * @param aPublishIconArray the published icons
-    * @param aText1 title text label
-    */
-    virtual void PublishContentL( CArrayFix< TInt >* aPublishIconArray,
-                                  CEikLabel* aText1 ) = 0;
-    
-    /**
-    * Sets 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
-    */
-    virtual void SetScanningState( TBool aScanState ) = 0;
-    
-    /**
-    * Sets refreshing status on/off.
-    * @since S60 5.0
-    * @param aScanState Refreshing status flag
-    */
-    virtual void SetRefreshingL( TBool aRefreshing ) = 0;
-    
-    /**
-    * Sets refreshing status on/off.
-    * @since S60 5.0
-    * @param aScanState Refreshing status flag
-    */
-    virtual void StartConnectingL() = 0;
-    
-    /**
-    * Publishes state image from array 
-    * @since S60 5.0
-    * @param aPublishIconArray the published icons
-    * @param aText1 title text label
-    */
-    virtual void PublishStatusIconL( CArrayFix<TInt>* aPublishIconArray, 
-                                                CEikLabel* aText1 ) = 0;
-    
-    };
-
-
-#endif // M_WSFAIPUBLISHOBSERVER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiuiobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,87 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Interface for wlan active idle plugin ui control
-*
-*/
-
-
-#ifndef M_WSFAIUIOBSERVER_H
-#define M_WSFAIUIOBSERVER_H
-
-
-#include <e32std.h>
-/**
- * Abstract interface for wlan active idle plugin ui control 
- * - from the point of view of model
- * @since S60 5.0 
- */
-class MWsfAiUiObserver
-    {
-
-    public:
-
-        /**
-        * Update the contents of control
-        * Set the focus on aCurrentImte
-        * @since S60 5.0 
-        * @param aItemTextArray text of the current item
-        * @param aCurrentItem index of the current item
-        */ 
-        virtual void UpdateHotSpotsL( MDesCArray* aItemTextArray, 
-                                      TInt aCurrentItem ) = 0;        
-                
-        /**
-        * Gives back the index of the selected item
-        * @since S60 5.0 
-        * @return the index of the selected item
-        */ 
-        virtual TInt SelectedItem() = 0;
-
-        
-        /*
-        * Check if the control is multiline capable control 
-        * @since S60 5.0 
-        * @return Etrue if control is multiline capable control
-        */
-        virtual TBool MultilineControl() = 0; 
-        
-        /*
-        * Display engine off text in UI
-        * @since S60 5.0 
-        */
-        virtual void DisplayEngineOffL() = 0;
-        
-        /*
-        * Set the refressing UI note visible
-        * @since S60 5.0 
-        */
-        virtual void ForceRefreshingL() = 0;
-        
-        /**
-        * Update the contents of control
-        * @since S60 5.0 
-        * @param aItemTextArray text of the current item
-        */ 
-        virtual void UpdateViewL( MDesCArray* aItemTextArray ) = 0;
-        
-        /**
-        * Update the contents of control
-        * @since S60 5.0 
-        * @param aItemTextArray text of the current item
-        */ 
-        virtual void StartConnectingAnimationL() = 0;
-    };
-
-
-#endif // M_WSFAIUIOBSERVER_H
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfaiview.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,263 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAiView
-*
-*/
-
-
-#ifndef C_WSFAIVIEW_H
-#define C_WSFAIVIEW_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-//  INTERNAL INCLUDES
-#include "wsfaiuiobserver.h"
-#include "wsfaiplugincommon.h"
-
-
-//  CONSTANTS
-//  MACROS
-//  DATA TYPES
-//  FORWARD DECLARATIONS
-class CEikLabel;
-class MWsfAiPublishObserver;
-
-class CWsfAiView : public CBase,
-                   public MWsfAiUiObserver
-    {
-    public:     // Constructors
-        /**
-        * Two-phased constructor
-        * @since S60 5.0 
-        * @param aPublishObserver - reference to the plugin's 
-        *                           abstract interface
-        * @return instance of CWsfAiView class
-        */
-        static CWsfAiView* NewL( MWsfAiPublishObserver& aPublishObserver );
-        
-        /**
-        * Two-phased constructor. Leaves the object on CleanupStack
-        * @since S60 5.0 
-        * @param aPublishObserver - reference to the plugin's 
-        *                           abstract interface
-        * @return instance of CWsfAiView class
-        */
-        static CWsfAiView* NewLC( MWsfAiPublishObserver& aPublishObserver );
-        
-        /**
-        * Destructor of CWsfAiView class
-        * @since S60 5.0     
-        */
-        ~CWsfAiView();
-        
-    private:
-        
-        /**
-        * Default C++ constructor 
-        * @since S60 5.0 
-        * @param aPublishObserver - reference to the plugin's 
-        *                           abstract interface
-        */
-        CWsfAiView( MWsfAiPublishObserver& aPublishObserver );
-        
-        /**
-        * 2nd phase constructor
-        * @since S60 5.0 
-        */
-        void ConstructL();    
-
-    public: // from MWsfAiUiObserver
-        
-        /**
-        * Update the contents of control
-        * Set the focus on aCurrentImte
-        * @since S60 5.0 
-        * @param aItemTextArray text of the current item
-        * @param aCurrentItem index of the current item
-        */ 
-        void UpdateHotSpotsL( MDesCArray* aItemTextArray, 
-                              TInt aCurrentItem );
-
-        /**
-        * Gives back the index of the selected item
-        * @since S60 5.0 
-        * @return the index of the selected item
-        */ 
-        TInt SelectedItem();
-        
-        /*
-        * Check if the control is multiline capable control 
-        * @since S60 5.0 
-        * @return Etrue if control is multiline capable control
-        */
-        TBool MultilineControl();
-
-        /*
-        * Display engine off text in UI
-        * @since S60 5.0 
-        */
-        void DisplayEngineOffL();
-        
-        /*
-        * Set the refressing UI note visible
-        * @since S60 5.0 
-        */
-        void ForceRefreshingL();
-        
-        /*
-        * Set the refressing UI note visible
-        * @since S60 5.0 
-        */
-        void StartConnectingAnimationL();
-        
-        /**
-        * Update the contents of control
-        * @since S60 5.0 
-        * @param aItemTextArray text of the current item
-        */ 
-        void UpdateViewL( MDesCArray* aItemTextArray );
-        
-    private:
-        
-        /*
-        * Parses the string into ui component data
-        * @since S60 5.0 
-        * @param aString - a string into ui
-        * @return - TBool - ETrue if deferred update is executed
-        */
-         TBool ParseStringL( const TDesC& aString );
-             
-        /*
-        * Complete the change for new data - this is 
-        * a callback for deferred update
-        * @since S60 5.0 
-        * @param aPtr pointer to this
-        * @return ETrue if update is completed
-        */
-        static TInt DoCompleteUpdateL( TAny* aPtr );
-
-        /* 
-        * Commit the update change
-        * @since S60 5.0 
-        */
-        void DoCompleteUpdateL();
-
-        /** 
-        * Activates refresh timer  
-        * @since S60 5.0 
-        */
-        void ActivateRefreshTimer();
-        
-        /**
-        * 'MakePublishIconsL' and 'MakeTransparentPublishIconsL'
-        * create arrays consisting of icon ids for the icons to publish
-        * @since S60 5.0 
-        */
-        void MakePublishIconsL();
-        
-        /** 
-        * 'MakePublishIconsL' and 'MakeTransparentPublishIconsL'
-        * create arrays consisting of icon ids for the icons to publish
-        * @since S60 5.0 
-        */
-        void MakeTransparentPublishIconsL();
-
-    private:    // Data
-
-        /**
-        * Coe env for loading string from resource
-        * Not Own.
-        */
-        CCoeEnv* iEnv;
-
-        /**
-        * Publish images in array
-        * Own.
-        */
-        CArrayFix< TInt >* iPublishIconArray;
-
-        /**
-         * Timer for update
-         * Own.
-         */
-        CPeriodic*     iDeferredUpdater;
-        
-        /**
-        * Times callback
-        * Own. 
-        */
-        TCallBack*     iDeferredUpdateCallBack;
-        
-        /**
-        * Title text label
-        * Own.
-        */
-        CEikLabel* iTextLabel;
-        
-        /**
-        * The label text
-        */ 
-        TName        iCurrentText;
-        
-        /**
-        * ID constants for Secure Icon 
-        */
-        TWsfPluginIcons iUpdateSecureIconDeferred;
-
-        /**
-        * ID constants for Signal Strength Icon 
-        */
-        TWsfPluginIcons iUpdateSignalStrengthIconDeferred;
-
-        /**
-        * ID constants for Status Icon 
-        */
-        TWsfPluginIcons iUpdateStatusIconDeferred;
-        
-        /**
-        * ID constants for Status Icon saved to remember after refreshing
-        */
-        TWsfPluginIcons iSavedUpdateStatusIconDeferred;
-        
-        /**
-        * Pointer to Publish Observer interface
-        * Not Own. 
-        */
-        MWsfAiPublishObserver* iPublishObserver;
-        
-        /**
-        * Constants for 'WLAN scanning off' text
-        * Own.
-        */
-        HBufC* iStatusScanningOff;
-        
-        /**
-        * Constants for 'Refreshing' text
-        * Own.
-        */
-        HBufC* iStatusRefreshing;
-
-        /**
-        * Constants for 'Connecting' text
-        * Own.
-        */
-        HBufC* iStatusConnecting;
-    };
-
-
-
-#endif      //  C_WSFAIVIEW_H
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfdbobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*        Header file for CWlanPluginDbObserver class.
-*
-*/
-
-
-#ifndef C_WLAN_PLUGIN_DB_OBSERVER
-#define C_WLAN_PLUGIN_DB_OBSERVER
-
-// System includes
-#include <e32base.h>
-#include <wlancontainer.h>
-#include <d32dbms.h> 
-#include <WlanCdbCols.h>
-#include <commsdat.h>
-#include <wlanmgmtclient.h>
-
-//forward declaration
-class TWsfAiController;
-
-/**
-* Database observer class.
-*/
-NONSHARABLE_CLASS( CWsfDbObserver ) : public CActive
-    {
-    public:
-        /**
-        * The Constructor.
-        * @param aState Pointer to the WLAN State object.
-        */
-    	CWsfDbObserver(  );
-        
-        /**
-        * First phase of two phased construction.
-        * @param aState Pointer to the WLAN State object.
-        */
-        static CWsfDbObserver* NewL(  );
-        
-        /**
-        * This function activates this object as an active object.
-        */
-        void ActivateItL();
-        
-        /**
-        * Destructor.
-        */
-        virtual ~CWsfDbObserver();
-        
-        /**
-         * Set the controller
-         */
-        void SetController( TWsfAiController* aController );
-        	
-        /**
-         * Set WLAN availablity to scanning
-         */
-        void EnableScanL();
-        
-        /*
-         * Set WLAN availablity to not scanning
-         */
-        void DisableScanL();
-          
-    protected:
-        /**
-        * When the WLAN device settings table is accessed this function
-        * is called. Handle of the active object.
-        */
-        void RunL();
-        
-        /**
-        * Whan waiting for a database access is stopped this function
-        * is called.
-        */
-        void DoCancel();
- 
-    private:
-        /**
-        * Second phase of two phase construction.
-        */
-        void ConstructL();
-        
-        /*
-         * Get default scanning interval 
-         */
-        TInt DefaultScanIntervalL();
-
-    private:  
-        /**
-        * @var Pointer to the WLAN state object to ask and set scanning
-        * state.
-        */ 
-        //CWlanPluginWlanState * iWlanState;
-        
-        /**
-        * A CommsDat session fod database access.
-        */
-        CMDBSession* iSession;
-        
-        /**
-        * A class representing a recor of WLAN Devive Settings table.
-        */
-        CCDWlanDeviceSettingsRecord* iRecord;
-        
-        /**
-        * The value of it shows the scan state of the WLAN availablity
-        */
-        TBool iOuterScanState;
-        
-        /**
-         * Reference to the controller class of the module.
-         */
-        TWsfAiController* iController;
-        
-        /**
-        * Handle to the WLAN management client (owned)
-        */
-        CWlanMgmtClient* iWlanMgmtClient;
-    
-    };
-    
-    
-#endif //C_WLAN_PLUGIN_DB_OBSERVER
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsficonarraycreator.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,56 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfIconArrayCreator
-*
-*/
-
-
-#ifndef C_WSFICONARRAYCREATOR_H
-#define C_WSFICONARRAYCREATOR_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  FORWARD DECLARATIONS
-class CAknIconArray;
-class CGulIcon;
-
-//  CLASS DEFINITION
-/**
- * Responsible for the creation of the suitable needed icons.
- * @since S60 5.0 
- */
-NONSHARABLE_CLASS( CWsfIconArrayCreator ) : public CBase
-    {
-    public:     // Constructors and destructor
-    	
-    	/**
-        * Create an icon array
-        * @since S60 5.0
-        * @return The constructed icon array. Ownership passed.
-        */
-        static CAknIconArray* CreateArrayL();
-
-        /**
-         * Returns the pointer to icon loaded by the AknIconUtils/AknUtil
-         * @param aIconId The id of the icon to load
-         * @return Pointer of the icon.
-         */
-        static CGulIcon* GetIconLC( TInt aIconId );
-    	
-    };
-
-#endif // C_WSFICONARRAYCREATOR_H
-
-// end of file
--- a/wlanutilities/wlansniffer/aiplugin/inc/wsfsearchwlansdialog.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,147 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfSearchWlansDialog
-*
-*/
-
-
-#ifndef C_WSFSEARCHWLANSDIALOG_H
-#define C_WSFSEARCHWLANSDIALOG_H
-
-#include <e32base.h>
-#include <aknlistquerydialog.h>
-
-//  INTERNAL INCLUDES
-#include "wsfaiuiobserver.h"
-
-
-NONSHARABLE_CLASS( CWsfSearchWlansDialog ) : public CAknListQueryDialog, 
-                                             public MWsfAiUiObserver
-    {
-public:
-    
-    /**
-    * Two-phased constructor
-    * @since S60 5.0 
-    * @param aSelectedItem - reference of the selected item
-    * @return instance of CWsfSearchWlansDialog class
-    */
-    static CWsfSearchWlansDialog* NewL( TInt &aSelectedItem );
-    
-    /**
-    * Two-phased constructor. Leaves the object on CleanupStack
-    * @since S60 5.0 
-    * @param aSelectedItem - reference of the selected item
-    * @return instance of CWsfSearchWlansDialog class
-    */
-    static CWsfSearchWlansDialog* NewLC( TInt &aSelectedItem );
-    
-    /**
-    * Destructor of CWsfSearchWlansDialog class
-    * @since S60 5.0     
-    */
-    ~CWsfSearchWlansDialog();
-
-private:
-    
-    /**
-    * Default C++ constructor 
-    * @since S60 5.0 
-    * @param aSelectedItem - reference of the selected item 
-    */
-    CWsfSearchWlansDialog( TInt &aSelectedItem );
-
-    /**
-    * 2nd phase constructor
-    * @since S60 5.0 
-    */
-    void ConstructL();
-
-private: // from CEikDialog
-    
-    /**
-    * From CEikDialog
-    * Framework method called to processs a command ID
-    * @param aCommandId ID of the command to respond to.
-    */
-    void ProcessCommandL( TInt aCommandId );
-    
-    /**
-    * Sets the default value to the dialog.
-    */
-    void PreLayoutDynInitL();
-    
-private: // from MWsfAiUiObserver
-
-    /**
-    * Update the contents of control
-    * Set the focus on aCurrentImte
-    * @since S60 5.0 
-    * @param aItemTextArray text of the current item
-    * @param aCurrentItem index of the current item
-    */ 
-    void UpdateHotSpotsL( MDesCArray* aItemTextArray, 
-                          TInt aCurrentItem );        
-    
-    /**
-    * Gives back the index of the selected item
-    * @since S60 5.0 
-    * @return the index of the selected item
-    */ 
-    TInt SelectedItem();
-    
-    /*
-    * Check if the control is multiline capable control 
-    * @since S60 5.0 
-    * @return Etrue if control is multiline capable control
-    */
-    TBool MultilineControl(); 
-
-    /*
-    * Display engine off text in UI
-    * @since S60 5.0 
-    */
-    void DisplayEngineOffL();
-    
-    /*
-    * Set the refressing UI note visible
-    * @since S60 5.0 
-    */
-    void ForceRefreshingL();
-    
-    /*
-    * Starts connecting animation
-    * @since S60 5.2 
-    */
-    void StartConnectingAnimationL();
-    
-    /**
-    * Update the contents of control
-    * @since S60 5.0 
-    * @param aItemTextArray text of the current item
-    */ 
-    void UpdateViewL( MDesCArray* aItemTextArray );
-
-
-private: 
-    
-    /**
-     * Reference of the selecte item
-     */
-    TInt *iSelectedItem;
-    };
-
-
-
-#endif // C_WSFSEARCHWLANSDIALOG_H
--- a/wlanutilities/wlansniffer/aiplugin/loc/wsfaiplugin.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project AP Wizard 
-*
-*/
-
-
-// d:Text to indicate that the data is changing in the view - visible for one second
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_refreshing	"Refreshing"
-
-// d:Text to indicate that the wlan scanning is off.
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_scanning_off	"WLAN scanning off"
-
-// d:Text indicate that wlan scan did not find any wlan in the range 
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_no_wlans_found	"No WLAN network found"
-
-// d:Text used to tell that a preconfigured wlan accesspoint is found.
-// d:%U stands for wlan ssid( max 50 digits ) 
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_ssid_found	"'%U' found"
-
-// d:Text use to indicate that a non-configured wlan is in the range 
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_unknown_wlan_found	"WLAN network found"
-
-// d:Text use to indicate that multiple non-configured wlans is in the range 
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_unknown_wlans_found	"WLAN networks found"
-
-// d:Text used the show connected wlan 
-// d: %U wlan ssid ( max 50 digits ) 
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_iap_connected	"'%U' connected"
-
-// d:Menu command text 
-// d:(one row)
-// l: list_single_pane_t1_cp2
-#define qtn_sniffer_plug_in_options_search_wlan_networks "Search for WLAN"
-
-// d:Menu command text. Sets WLAN scanning off. 
-// d:(one row)
-// l: list_single_pane_t1_cp2
-#define qtn_sniffer_opt_set_scanning_off "Switch WLAN scan off"
-
-// d: Dialog title text in select wlan network dialog 
-// d:(one row)
-// l: heading_pane_t1
-#define qtn_wlan_prmpt_select_network "Select WLAN network:"
-
-//d: Connect to WLAN network softkey 
-//d: The command is used to connect WLAN using selected IAP
-//l: control_pane_t1/opt7
-//r:3.0
-//
-#define qtn_sniffer_softkey_connect "Connect"
-
-// d:List item in WLAN results 
-// d:(one row)
-// l: list_single_graphic_pane_t1_cp2
-#define qtn_wlan_manual_ssid_input "Other (hidden netw.)"
-
-// d:Text for WLAN Wizard Active Idle2 Middle Soft Key
-// d:This value is used when WLAN scanning is 'off'
-// d:(one row)
-// l:control_pane_t1/opt7
-#define qtn_msk_sniffer_activate "Activate"
-
-// d:Text for WLAN Wizard Active Idle2 Navigation Bar theme title
-// d:(one row)
-// l:heading_ai2_gene_pane_t1
-#define qtn_ai_wizard_title "WLAN"
-
-// d:Text used the show connected state
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_connected_to    "Connected to:"
-
-// d:Text used the show one known network found state
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_wlan_network_found    "WLAN network found:"
-
-// d: Text for a network that a connection is being established
-// d:(one row)
-// l:ai_gene_pane_1_t1
-#define qtn_sniffer_plug_in_connecting "Connecting"
-
--- a/wlanutilities/wlansniffer/aiplugin/rom/wsfaiplugin.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanInfoSorting
-*
-*/
-
-
-#ifndef WSFAIPLUGIN_IBY
-#define WSFAIPLUGIN_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-#include <bldvariant.hrh>
-
-
-ECOM_PLUGIN(wsfaiplugin.dll, 0x10281CAE.rsc)
-
-
-#endif // __PROTOCOL_WLAN
-
-#endif  // WSFAIPLUGIN_IBY
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/rom/wsfaipluginresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Active Idle plugin resources
-*
-*/
-
-#ifndef WSFAIPLUGINRESOURCES_IBY
-#define WSFAIPLUGINRESOURCES_IBY
-
-#include <bldvariant.hrh>
-
-data = DATAZ_\RESOURCE_FILES_DIR\wsfaipluginrsc.rsc  RESOURCE_FILES_DIR\wsfaipluginrsc.rsc
-
-#endif  // WSFAIPLUGINRESOURCES_IBY
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfactivewaiter.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfActiveWaiter
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-    {
-    CWsfActiveWaiter* self = NewLC();
-    CleanupStack::Pop( self );
-    
-    return self;        
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewLC
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewLC()
-    {
-    CWsfActiveWaiter* self = new ( ELeave ) CWsfActiveWaiter();
-    CleanupStack::PushL( self );
-    return self;        
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter(): 
-    CActive( CActive::EPriorityStandard )
-    {
-    CActiveScheduler::Add( this );
-    }
-    
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter
-// ---------------------------------------------------------
-//    
-CWsfActiveWaiter::~CWsfActiveWaiter()
-    {
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel
-// ---------------------------------------------------------
-// 
-void CWsfActiveWaiter::DoCancel()
-    {
-    }
-     
- 
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL
-// ---------------------------------------------------------
-//     
-void CWsfActiveWaiter::RunL()
-    {
-    LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
-    if ( iWait.IsStarted() )
-        {
-        LOG_WRITE("async call completed, resuming.");
-        iWait.AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest
-// ---------------------------------------------------------
-// 
-TInt CWsfActiveWaiter::WaitForRequest()
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
-    SetActive(); 
-    iWait.Start();
-
-    return iStatus.Int();
-    }    
-    
-// End of File
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaicontroller.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1259 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of TWsfAiController.
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <apgcli.h>
-#include <centralrepository.h>
-#include <browseruisdkcrkeys.h>
-#include <AknIconArray.h>
-#include <AknQueryDialog.h>
-#include <cmpluginwlandef.h>
-#include <ErrorUI.h>
-#include <StringLoader.h>
-#include <aknnotewrappers.h>
-#include <wsfaipluginrsc.rsg>
-#include <rconnmon.h>
-#include <utf.h>
-#include <cmmanager.h>
-#include <internetconnectivitycrkeys.h>
-#include <wlanerrorcodes.h>
-#include <ConnectionUiUtilities.h>
-
-//  CLASS HEADER
-#include "wsfaicontroller.h"
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfaiuiobserver.h"
-#include "wsfaimodel.h"
-#include "wsficonarraycreator.h"
-#include "wsfmodel.h"
-#include "wsfsearchwlansdialog.h"
-#include "wsfaicontrollercmds.h"
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-#include "wsfdbobserver.h"
-
-
-//  MACROS
-#ifdef _DEBUG
-    _LIT( KControllerPanic, "CWsfAiController" );
-    #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KControllerPanic, __LINE__) )
-#else
-    #define _ASS_D( cond )
-#endif //_DEBUG
-
-
-//  LOCAL DEFINITIONS
-LOCAL_D const TInt KFirstItemArrayIndex = 0;
-
-// 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;
-static const TInt KSuppressRefreshIndex = 1024;
-
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::TWsfAiController
-// --------------------------------------------------------------------------
-//
-TWsfAiController::TWsfAiController():
-    iModel( NULL ),
-    iAiModel( NULL ),
-    iUi( NULL ),
-    iDbObserver( NULL ),
-    iShouldConnectOnly( EFalse ),
-    iTestAccessPoint( EFalse )
-    {
-    // null the pointers
-    iConnectedWlan.iConnectionState = ENotConnected;
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DeInitializeL
-// ---------------------------------------------------------
-//    
-void TWsfAiController::DeInitializeL()
-    {
-    LOG_ENTERFN( "TWsfAiController::DeInitializeL" );
-    iModel->AbortConnectingL();
-    iModel->AbortScanningL();
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::Initialize
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::InitializeL( CWsfModel* aModel, CWsfAiModel* aAiModel,
-		                             CWsfDbObserver* aObserver )
-    {
-    LOG_ENTERFN( "TWsfAiController::InitializeL" );
-    iModel = aModel;
-    iAiModel = aAiModel;
-    iDbObserver = aObserver;
-    iDbObserver->SetController( this );
-    iDbObserver->ActivateItL();
-    iModel->SetEngineObserver( this );
-    
-    iAiModel->SetConnected( iModel->IsConnectedL() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchCompleteL
-// ---------------------------------------------------------------------------
-// 
-void TWsfAiController::BrowserLaunchCompleteL()
-    {
-    LOG_ENTERFN( "TWsfAiController::BrowserLaunchCompleteL" );
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserExitL
-// ---------------------------------------------------------------------------
-// 
-void TWsfAiController::BrowserExitL()
-    {
-    LOG_ENTERFN( "TWsfAiController::BrowserExitL" ); 
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchFailed
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void TWsfAiController::BrowserLaunchFailed( TInt aError )
-    {
-    LOG_ENTERFN( "TWsfAiController::BrowserLaunchFailed" ); 
-    LOG_WRITEF( "error = %d", aError );
-#else
-void TWsfAiController::BrowserLaunchFailed( TInt /*aError*/ )
-    {   
-    // no implementation required
-#endif
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingL
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::ConnectingL( TUint32 /*aIapId*/ )
-    {
-    LOG_ENTERFN( "TWsfAiController::ConnectingL" ); 
-    iModel->SetConnecting( ETrue );
-    iAiModel->SetConnecting( ETrue );
-    iUi->StartConnectingAnimationL();
-    RefreshUiL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-void TWsfAiController::ConnectingFinishedL( TInt aResult )
-    {
-    LOG_ENTERFN( "TWsfAiController::ConnectingFinishedL" );
-    LOG_WRITEF( "aResult = %d", aResult );
-#else
-void TWsfAiController::ConnectingFinishedL( TInt /*aResult*/ )
-    {
-#endif
-    if ( iModel->IsConnecting() )
-        {
-        iModel->SetConnecting( EFalse );
-        }
-    iAiModel->SetConnecting( EFalse );
-    RefreshUiL();
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::StartupRefreshL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::StartupRefreshL()
-    {
-    LOG_ENTERFN( "TWsfAiController::StartupRefreshL" );
-    iModel->GetConnectedWlanDetailsL( iConnectedWlan );
-    iAiModel->SetConnectedWlanInfo( iConnectedWlan );
-    
-    iInfoArray = iModel->GetWlanListL();
-    MDesCArray* data = iAiModel->FormatSingleLineWlanListL( iInfoArray );
-    
-    // index value to suppress 1 second refreshing state
-    const TInt KSuppressRefreshIndex = 1024;
-    
-    iUi->UpdateHotSpotsL( data, KSuppressRefreshIndex );    
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::SetUi
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::SetUi( MWsfAiUiObserver& aUi )
-    {
-    LOG_ENTERFN( "TWsfAiController::SetUi" );
-    iUi = &aUi;    
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleSelectionKeyL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleSelectionKeyL()
-    {
-    LOG_ENTERFN( "TWsfAiController::HandleSelectionKeyL" );
-    _ASS_D( iAiModel );
-    
-    if ( !iAiModel->ScanningOn() && !iAiModel->Connected() )
-        {
-        // scanning was off and there wasn't a connected network
-        EnableScanL();
-        }
-    else
-        {
-        // scanning was on
-        // menu contents depend on the connection and browser status
-        if ( iModel->IsConnecting() )
-            {
-            // connecting
-            HandleMskIfConnectingL();
-            }
-        else if ( !iAiModel->Connected() )
-            {
-            // not connected
-            HandleMskIfOfflineL();
-            }
-        else
-            {
-            // connected
-            if ( IsWlanUsedByBrowserL() )
-                {
-                // browser is using active WLAN connection
-                HandleMskIfBrowsingL();
-                }
-            else
-                {
-                // browser is not running or not using the WLAN
-                HandleMskIfConnectedL();
-                }
-            }
-        }
-
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DismissDialogsL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::DismissDialogsL()
-    {
-    LOG_ENTERFN("TWsfAiController::DismissDialogsL" );
-    TKeyEvent key;
-    key.iCode = EKeyEscape;
-    key.iModifiers = 0;
-    CEikonEnv::Static()->SimulateKeyEventL( key, EEventKey );
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::WlanListChangedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::WlanListChangedL()
-    {
-    LOG_ENTERFN("TWsfAiController::WlanListChangedL" );
- 
-    _ASS_D( iAiModel );
-    
-    if ( !iAiModel->ScanningOn() )
-        {
-        return;
-        }
-    
-    _ASS_D( iModel );
-    _ASS_D( iUi );
-    
-    TBool match( EFalse );    
-    TWsfWlanInfo previousSelected;        
-    CWsfWlanInfoArray* modelArr = iAiModel->GetInfoArray();   
-    
-    if ( modelArr )
-        {
-        TInt selectedItem = iUi->SelectedItem();
-        if ( selectedItem >= KFirstItemArrayIndex && 
-             selectedItem < modelArr->Count() )
-            {
-            TWsfWlanInfo* temp = modelArr->At( selectedItem );
-            if ( temp )
-                {
-                match = ETrue;
-                previousSelected = *temp;
-                }                
-            }
-        }
-    iInfoArray = iModel->GetWlanListL();
-    TBool connected = iModel->GetConnectedWlanDetailsL( iConnectedWlan );
-    iAiModel->SetConnected( connected );
-    iAiModel->SetConnectedWlanInfo( iConnectedWlan );
-        
-    MDesCArray* data = iUi->MultilineControl() ? 
-            iAiModel->FormatWlanListL( iInfoArray, ETrue ): 
-            iAiModel->FormatSingleLineWlanListL( iInfoArray );
-    
-    
-    TInt index( KErrNotFound );
-    if ( match )
-        {            
-        TWsfWlanInfo* currentMatch = iInfoArray->Match( 
-                                                    previousSelected.iSsid, 
-                                                    iInfoArray->Count() );
-        if ( currentMatch )
-            {
-            index = iInfoArray->GetArrayIndex( currentMatch );
-            }
-        }
-    
-    if ( !iUi->MultilineControl() && iModel->IsConnecting() )
-        {
-        index = KSuppressRefreshIndex;
-        }
-    
-    iUi->UpdateHotSpotsL( data, index );
-
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::NotifyEngineError
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::NotifyEngineError( TInt aError )
-    {
-    LOG_ENTERFN( "TWsfAiController::NotifyEngineError" );
-    //Let the user know about the error.
-    LOG_WRITEF( "error = %d", aError );
-    TRAP_IGNORE( DoHandleEngineErrorL( aError ) ); 
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::ScanDisabledL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ScanDisabledL()
-    {
-    LOG_ENTERFN( "TWsfAiController::ScanDisabledL" );
-    // no implementation required
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::ScanEnabledL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ScanEnabledL()
-    {
-    LOG_ENTERFN( "TWsfAiController::ScanEnabledL" );
-    iModel->RefreshScanL();
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::WlanConnectionActivatedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::WlanConnectionActivatedL( 
-                                            const TDesC& /*aAccessPointName*/ )
-    {
-    LOG_ENTERFN( "TWsfAiController::WlanConnectionActivatedL" );
-    iModel->SetConnecting( EFalse );
-    iModel->GetConnectedWlanDetailsL( iConnectedWlan );
-    iAiModel->SetConnectedWlanInfo( iConnectedWlan );
-    iAiModel->SetConnected( ETrue );
-    iAiModel->SetConnecting( EFalse );
-
-    RefreshUiL();
-    } 
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::WlanConnectionClosedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::WlanConnectionClosedL()
-    {
-    LOG_ENTERFN( "TWsfAiController::WlanConnectionClosedL" );
-    iModel->SetConnecting( EFalse );
-    iAiModel->SetConnected( EFalse );
-    iAiModel->SetConnecting( EFalse );
-    if ( iAiModel->ScanningOn() )
-        {
-        // update the model and refresh ui
-        if ( iInfoArray )
-            {
-            // check if the array has any items
-            if ( iInfoArray->Count() )
-                {
-                iInfoArray->SortArrayL();
-                TWsfWlanInfo* firstItem = iInfoArray->At( KFirstItemArrayIndex );
-                if ( firstItem && firstItem->Connected() )
-                    {
-                    firstItem->iConnectionState = ENotConnected;                 
-                    }
-                }
-            }
-        // Abort current scan if exists so that we get 
-        // newest scan results propagated to ui
-        iModel->AbortScanningL();
-        iModel->RefreshScanL();
-        RefreshUiL();  
-        }
-    else
-        {
-        iUi->DisplayEngineOffL();
-        }
-        
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectionCreationProcessFinished
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::ConnectionCreationProcessFinishedL( TInt aResult )
-    {
-    LOG_ENTERFN( "TWsfAiController::ConnectionCreationProcessFinished" );
-    LOG_WRITEF( "aResult = %d", aResult );
-    // release flags if we leave occures
-    CleanupStack::PushL( TCleanupItem( CleanUpConnectingL, this ) );
-    if ( iModel->IsConnecting() )
-        {
-        iModel->SetConnecting( EFalse );
-        }
-    iAiModel->SetConnecting( EFalse );
-    if ( aResult == KErrNone )
-        {
-        iAiModel->SetConnected( ETrue );
-        iModel->FinalizeConnectL();
-        if ( !iShouldConnectOnly )
-            {
-            StartWebBrowserL( iUsedInfo );
-            }
-        if ( iTestAccessPoint )
-            {
-            iModel->TestConnectedAccessPointL( iUsedInfo, iShouldConnectOnly );
-            }
-        }
-    else
-        {
-        iAiModel->SetConnected( EFalse );
-        }
-    RefreshUiL();
-    // pop cleanup item 
-    CleanupStack::Pop();
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::StartBrowsingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::StartBrowsingL( TWsfWlanInfo& aInfo )
-    {
-    LOG_ENTERFN( "TWsfAiController::StartBrowsingL" );
-    
-    _ASS_D( iModel );
-    
-    iUsedInfo = aInfo;
-    
-    // Prevent connections to ad-hoc + WPA 
-    if ( iUsedInfo.iNetMode == CMManager::EAdhoc 
-            && iUsedInfo.iSecurityMode == CMManager::EWlanSecModeWpa )
-        {
-        CErrorUI* errorUi = CErrorUI::NewLC();
-        errorUi->ShowGlobalErrorNoteL( KErrNotSupported );
-        CleanupStack::PopAndDestroy( errorUi ); // errorUi
-        return;
-        }
-    
-    // make sure we don't show connecting stuff forever
-    CleanupStack::PushL( TCleanupItem( CleanUpConnectingL, this ) );
-    
-    if ( !iUsedInfo.Connected() )
-        {
-        ConnectL( iUsedInfo, EFalse );
-        }
-    else
-        {
-        LOG_WRITE("Start browser to connected network...");
-        iShouldConnectOnly = EFalse;
-        StartWebBrowserL( iUsedInfo );
-        }
-    
-    // pop cleanup item 
-    CleanupStack::Pop();
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::StartWebBrowserL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::StartWebBrowserL( TWsfWlanInfo& aInfo )
-    {
-    LOG_ENTERFN( "TWsfAiController::StartWebBrowserL" );
-    
-    _ASS_D( iModel );
-    
-    TUint32 passedIap( aInfo.iIapId );
-
-    if ( aInfo.Connected() && !passedIap )
-        {
-        // in case we have an EasyWLAN here
-        RCmManager cmmanager;
-        cmmanager.OpenLC();
-
-        passedIap = cmmanager.EasyWlanIdL();
-
-        CleanupStack::PopAndDestroy( &cmmanager );
-        }
-    
-    // launch the browser
-    iModel->LaunchBrowserL( passedIap );
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::ConnectL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ConnectL( TWsfWlanInfo& aInfo, TBool aShoulConnectOnly )
-    {
-    LOG_ENTERFN( "TWsfAiController::ConnectL" );
-    
-    _ASS_D( iModel );
-    iTestAccessPoint = EFalse;
-    iShouldConnectOnly = aShoulConnectOnly;
-    iUsedInfo = aInfo;
-    
-    // Prevent connections to ad-hoc + WPA 
-    if ( iUsedInfo.iNetMode == CMManager::EAdhoc 
-            && iUsedInfo.iSecurityMode == CMManager::EWlanSecModeWpa )
-        {
-        CErrorUI* errorUi = CErrorUI::NewLC();
-        errorUi->ShowGlobalErrorNoteL(KErrNotSupported);
-        CleanupStack::PopAndDestroy(errorUi); // errorUi
-        return;
-        }
-    
-    // make sure we don't show connecting stuff forever
-    CleanupStack::PushL( TCleanupItem( CleanUpConnectingL, this ) );
-    
-    if ( !iUsedInfo.iIapId && !iUsedInfo.Hidden() &&
-            iUsedInfo.iSecurityMode == CMManager::EWlanSecModeOpen )
-        {
-        TBool success( EFalse );
-        // just create the IAP
-        TRAPD( accessPointCreatedError, 
-                success = iModel->CreateAccessPointL( 
-                iUsedInfo, EFalse ); 
-        );
-        
-        // notify user that Disk is full or creation of a WAPI IAP 
-        // is not supported on-the-fly and leave
-        if ( accessPointCreatedError == KErrDiskFull ||
-             accessPointCreatedError == KErrWlanProtectedSetupSetupLocked )
-            {
-            LOG_WRITE( "showing error note" );
-            CErrorUI* errorUi = CErrorUI::NewLC();
-            errorUi->ShowGlobalErrorNoteL( accessPointCreatedError );
-            CleanupStack::PopAndDestroy( errorUi );
-            User::Leave( accessPointCreatedError );
-            }
-        // just leave because we failed to create accesspoint
-        else if ( accessPointCreatedError != KErrNone || !success )
-            {
-            User::Leave( accessPointCreatedError );
-            }
-        ConnectingL( iUsedInfo.iIapId );
-        iTestAccessPoint = ETrue;
-        }
-    else if ( !iUsedInfo.iIapId )
-        {
-        // let the helper app do the query if necessary
-        LOG_WRITE("AiHelper needs to be launched");
-        LaunchAiHelperAppL( iUsedInfo );
-        ConnectingL( iUsedInfo.iIapId );
-        iTestAccessPoint = ETrue;
-        }
-    
-    // Connect
-    if ( iUsedInfo.iIapId )
-        {
-        TInt result = KErrNone;
-        result = iModel->ConnectWithoutConnWaiterL( iUsedInfo.iIapId, 
-                                                    !iTestAccessPoint );
-
-        if ( result != KErrNone )
-            {
-            LOG_WRITEF( "Connect failed with error = %d", result );
-            User::Leave( result );
-            }
-        }
-    // pop cleanup item 
-    CleanupStack::Pop();
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfAiController::CleanUpConnectingL
-// ---------------------------------------------------------------------------
-//
-void TWsfAiController::CleanUpConnectingL( TAny* aPtr )
-    {
-    LOG_ENTERFN( "TWsfAiController::CleanUpConnectingL" );
-    TWsfAiController* self = static_cast<TWsfAiController*>( aPtr );
-    self->iModel->SetConnecting( EFalse );
-    self->iAiModel->SetConnecting( EFalse );
-    TRAP_IGNORE( self->RefreshUiL());
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::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
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::ContinueBrowsingL()
-    {
-    LOG_ENTERFN( "TWsfAiController::ContinueBrowsingL" );
-
-    _ASS_D( iModel );
-
-    iModel->ContinueBrowsingL();
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::LaunchSearchDialogL
-// --------------------------------------------------------------------------
-//
-TBool TWsfAiController::LaunchSearchDialogL( TWsfWlanInfo& aInfo )
-    {
-    LOG_ENTERFN( "TWsfAiController::LaunchSearchDialogL" );
-    
-    _ASS_D( iAiModel );
-    _ASS_D( iUi );
-    
-    MWsfAiUiObserver* temp = iUi;
-    TInt selectedWlan( KFirstItemArrayIndex );
-    TBool success( EFalse );
-
-    TRAPD( err, success = DoLaunchSearchDialogL( selectedWlan ) );
-    
-    iUi = temp;
-    User::LeaveIfError( err );
-    
-    if ( success )
-        {
-        if ( iAiModel->Connected() )
-            {
-            // show the error note of double connections
-            HBufC* txt = StringLoader::LoadLC( 
-                                 R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE );
-            
-            CAknErrorNote* errorNote = new (ELeave) CAknErrorNote;
-            errorNote->ExecuteLD( *txt );
-            
-            CleanupStack::PopAndDestroy( txt );
-            success = EFalse;
-            }
-        else
-            {
-            // check that the model still has the entry
-            if ( selectedWlan < iAiModel->GetInfoArray()->Count() )
-                {
-                // get wlan info
-                aInfo = *iAiModel->GetInfoArray()->At( selectedWlan );
-                }
-            else
-                {
-                // other unlisted item was selected
-                }
-            }
-        }
-        
-    RefreshUiL();
-    
-    return success;
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DoLaunchSearchDialogL
-// --------------------------------------------------------------------------
-//
-TBool TWsfAiController::DoLaunchSearchDialogL( TInt& aSelectedItem )
-    {
-    LOG_ENTERFN( "TWsfAiController::DoLaunchSearchDialogL" );
-    
-    _ASS_D( iAiModel );
-    _ASS_D( iModel );
-    
-    CWsfSearchWlansDialog* dialog = CWsfSearchWlansDialog::NewL( 
-                                                             aSelectedItem );
-    dialog->PrepareLC( R_QTN_PLUGIN_SEARCH_WLAN_NETWORKS );
-
-    // ownership of the icon array is passed
-    CAknIconArray* icons = CWsfIconArrayCreator::CreateArrayL();
-    CleanupStack::PushL( icons );
-    iAiModel->AppendBrandIconsL( *icons );
-    dialog->SetIconArrayL( icons ); // ownership of the icon array is passed
-    CleanupStack::Pop( icons );
-
-    // the dialog is ready to receive data...
-    iUi = dialog;           
-    iUi->UpdateHotSpotsL( iAiModel->FormatWlanListL( iModel->GetWlanListL(), EFalse ),
-                          KFirstItemArrayIndex );
-    
-    return dialog->RunLD();
-    }
-    
-
-// --------------------------------------------------------------------------
-// TWsfAiController::RefreshUiL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::RefreshUiL()
-    {
-    LOG_ENTERFN( "TWsfAiController::RefreshUiL" );
-
-    _ASS_D( iAiModel );
-    _ASS_D( iUi );
-
-    if ( !iInfoArray )
-        {
-        return;
-        }
-    
-    MDesCArray* data = iUi->MultilineControl() ? 
-            iAiModel->FormatWlanListL( iInfoArray, ETrue ): 
-            iAiModel->FormatSingleLineWlanListL( iInfoArray );
-            
-    TInt currentItem = ( iModel->IsConnecting() )? 
-                          KSuppressRefreshIndex: KFirstItemArrayIndex;  
-
-    iUi->UpdateHotSpotsL( data, currentItem );    
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::EnableScanL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::EnableScanL()
-    {
-    LOG_ENTERFN( "TWsfAiController::EnableScanL" );
-    
-    _ASS_D( iAiModel );
-    _ASS_D( iModel );
-    _ASS_D( iUi );
-    
-    if ( iAiModel->ScanningOn() )
-        {
-        return;
-        }
-    iModel->EnableScanL();
-    iAiModel->SetScanningOn();
-    iDbObserver->EnableScanL();
-
-    MDesCArray *data = iAiModel->FormatRefreshingL();
-    iUi->UpdateHotSpotsL( data, KFirstItemArrayIndex );
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DisableScanL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::DisableScanL()
-    {
-    LOG_ENTERFN( "TWsfAiController::DisableScanL" );
-    
-    _ASS_D( iAiModel );
-    _ASS_D( iModel );
-    _ASS_D( iUi );
-
-    if ( !iAiModel->ScanningOn() )
-        {
-        return;
-        } 
-    iModel->DisableScanL();
-    iAiModel->SetScanningOff();
-    iDbObserver->DisableScanL();
-    iUi->DisplayEngineOffL();
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DisconnectL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::DisconnectL()
-    {
-    LOG_ENTERFN( "TWsfAiController::DisconnectL" );
-    
-    _ASS_D( iModel );
-
-    iModel->DisconnectL();  
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::DoHandleEngineErrorL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::DoHandleEngineErrorL( TInt aError )
-    {
-    LOG_ENTERFN( "TWsfAiController::DoHandleEngineErrorL" );
-    // start by freeing some resources... 
-    // we could start by freeing wlan search results
-    _ASS_D( iAiModel );
-
-    // show error to user...
-    CEikonEnv::Static()->ResolveError( aError );
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfAiController::IsWlanUsedByBrowserL
-// ---------------------------------------------------------------------------
-//
-TBool TWsfAiController::IsWlanUsedByBrowserL()
-    {
-    LOG_ENTERFN( "CWsfMainView::IsWlanUsedByBrowserL" );
-    
-    _ASS_D( iAiModel );
-    
-    const TInt KBrowserUid = 0x10008D39;
-    TUid id( TUid::Uid( KBrowserUid ) );
-    
-    // Check if the Browser application is already running.
-    TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-    TApaTask task = taskList.FindApp( id );
-    TBool isWlanUsed( EFalse );
-    
-#ifndef __WINS__
-
-    if ( task.Exists() )
-        {
-        LOG_WRITE( "The Browser is running." );
-        // The Browser is already running.
-        // Check if the selected WLAN is connected.
-        TBool connected( iAiModel->Connected() );
-        LOG_WRITEF("Connected? %d", connected);
-
-        if ( connected )
-            {
-            RConnectionMonitor connectionMonitor;
-            connectionMonitor.ConnectL();
-            // We have to check if the Browser using the selected 
-            // connection.
-            // We have get the connectiond ID first.
-            CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-            CleanupStack::PushL( waiter );
-            
-            // first call, need to get the connection parameters
-            TUint connectionCount( 0 );
-            
-            connectionMonitor.GetConnectionCount( connectionCount, 
-                                                  waiter->iStatus );
-            waiter->WaitForRequest();
-            
-            // find the connection with WLAN bearer 
-            // that will be the selected WLAN
-            TUint connectionId( 0 );
-            for ( TUint i = 1; i <= connectionCount; ++i )
-                {
-                TUint tmpConnectionId( 0 );
-                TUint subConnectionCount( 0 );
-                TConnMonBearerType bearerType( EBearerUnknown );
-                
-                connectionMonitor.GetConnectionInfo( i, 
-                                                     tmpConnectionId, 
-                                                     subConnectionCount );
-                connectionMonitor.GetIntAttribute( tmpConnectionId, 
-                                                   0, 
-                                                   KBearer, 
-                                                   ( TInt& )bearerType, 
-                                                   waiter->iStatus );
-                waiter->WaitForRequest();
-                if ( bearerType == EBearerWLAN )
-                    {
-                    connectionId = tmpConnectionId;
-                    break;
-                    }
-                }
-            // Now we have the connectiond ID.
-            LOG_WRITEF( "connectionId: %d", connectionId );
-            
-            TInt count( 0 );
-            TConnMonClientEnumBuf clientBuf;
-                
-            connectionMonitor.GetPckgAttribute( connectionId,
-                                                0,
-                                                KClientInfo,
-                                                clientBuf,
-                                                waiter->iStatus );
-            waiter->WaitForRequest();
-            if ( !waiter->iStatus.Int() )
-                {
-                count = clientBuf().iCount;
-                }
-            
-            RApaLsSession appSess;
-            TApaAppInfo appInfo;
-            
-            // The connection could be shared by several applications
-            User::LeaveIfError( appSess.Connect() );
-            
-            for ( TUint i = 0; i < count; i++ )
-                {
-                appInfo.iCaption.Zero();
-                TInt result = appSess.GetAppInfo( appInfo, 
-                                                  clientBuf().iUid[i] );
-                
-                LOG_WRITEF( "result: %d", result ); 
-                LOG_WRITEF( "iClientInfo.iUid[i].iUid: %x", 
-                             clientBuf().iUid[i].iUid );
-                
-                if ( clientBuf().iUid[i].iUid == KBrowserUid )
-                    {
-                    isWlanUsed = ETrue;
-                    }
-                }
-            CleanupStack::PopAndDestroy( waiter );
-            appSess.Close();
-            connectionMonitor.Close();
-            }                
-        }
-    else 
-        {
-        LOG_WRITE( "No Browser running." );
-        }
-        
-#endif // __WINS__
-    
-    LOG_WRITEF( "isWlanUsedByBrowser: %d", isWlanUsed ); 
-    return isWlanUsed;
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfOfflineL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfOfflineL()
-    {
-    LOG_ENTERFN( "TWsfAiController::HandleMskIfOfflineL" );
-    
-    // create the dialog with options
-    TInt selectedMode( 0 );
-    CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog( 
-                                                           &selectedMode );
-    listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_OFFLINE );
-
-    if ( !listQuery->RunLD() )
-        {
-        // cancelled
-        return;
-        }
-    
-    CWsfWlanInfoArray* wlanArray = iAiModel->GetInfoArray(); 
-    
-    
-    switch ( selectedMode )
-        {
-        case EAiOfflineStartBrowsing:
-            {
-            // Start web browsing was selected
-            if ( !wlanArray->Count() ||
-                 !wlanArray->At( KFirstItemArrayIndex )->Known() )
-                {
-                // no known networks, let the user choose one
-                TWsfWlanInfo info;
-                
-                if ( LaunchSearchDialogL( info ) )
-                    {
-                    StartBrowsingL( info );
-                    }
-                }
-            else
-                {
-                // there are known networks
-                StartBrowsingL( *wlanArray->At( KFirstItemArrayIndex ) );
-                }
-            
-            break;
-            }
-            
-        case EAiOfflineConnect:
-            {
-            // Connect was selected
-            if ( !wlanArray->Count() ||
-                 !wlanArray->At( KFirstItemArrayIndex )->Known() )
-                {
-                // no known networks, let the user choose one
-                TWsfWlanInfo info;
-                
-                if ( LaunchSearchDialogL( info ) )
-                    {
-                    ConnectL( info, ETrue );
-                    }
-                }
-            else
-                {
-                // there are known networks
-                ConnectL( *wlanArray->At( KFirstItemArrayIndex ), ETrue );
-                }
-            
-            break;
-            }
-            
-        case EAiOfflineSearchWlans:
-            {
-            // Search for wlans was selected
-            if ( !wlanArray || !wlanArray->Count() )
-                {
-                // there are no available networks
-                CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();        
-                connUiUtils->NoWLANNetworksAvailableNote();
-                delete connUiUtils;
-                }
-
-            // launch the search dialog
-            TWsfWlanInfo info;
-            
-            if ( LaunchSearchDialogL( info ) )
-                {
-                ConnectL( info, ETrue );
-                }
-
-            break;
-            }
-            
-        case EAiOfflineDisableScan:
-            {
-            // disable the scan
-            DisableScanL();
-            break;
-            }
-            
-        default:
-            {
-            }
-
-        }
-    }
-
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfConnectedL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfConnectedL()
-    {
-    LOG_ENTERFN( "TWsfAiController::HandleMskIfConnectedL" );
-    
-    _ASS_D( iModel );
-    
-    TInt selectedMode( 0 );
-    CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog( 
-                                                           &selectedMode );
-    listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_CONNECTED );
-    
-    if ( listQuery->RunLD() )
-        {
-        if ( selectedMode == EAiConnectedStartBrowsing )
-            {
-            StartBrowsingL( iConnectedWlan );
-            }
-        else if ( selectedMode == EAiConnectedDisconnect )
-            {
-            // disconnect wlan
-            iModel->DisconnectL();        
-            }
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfConnectingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfConnectingL()
-    {
-    LOG_ENTERFN( "TWsfAiController::HandleMskIfConnectingL" );
-    
-    _ASS_D( iModel );
-    
-    TInt selectedMode( 0 );
-    CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog( 
-                                                           &selectedMode );
-    listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_CONNECTING );
-    
-    if ( listQuery->RunLD() )
-        {
-        if ( selectedMode == EAiConnectingDisconnect )
-            {
-            if ( iModel->IsConnectedL() )
-                {
-                // disconnect wlan
-                iModel->DisconnectL();
-                }
-            else
-                {
-                // disconnect wlan
-                iModel->AbortConnectingL();  
-                }
-            ConnectingFinishedL( KErrCancel );
-            }
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// TWsfAiController::HandleMskIfBrowsingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::HandleMskIfBrowsingL()
-    {
-    LOG_ENTERFN( "TWsfAiController::HandleMskIfBrowsingL" );
-    
-    _ASS_D( iModel );
-    
-    TInt selectedMode( KFirstItemArrayIndex );
-    CAknListQueryDialog* listQuery = new (ELeave) CAknListQueryDialog( 
-                                                           &selectedMode );
-    listQuery->PrepareLC( R_QTN_AIPLUGIN_OPTIONS_BROWSING );
-
-    if ( listQuery->RunLD() )
-        {
-        if ( selectedMode == EAiBrowsingContinueBrowsing )
-            {
-            // launch the browser...
-            ContinueBrowsingL();
-            }
-        else if ( selectedMode == EAiBrowsingDisconnect )
-            {
-            // disconnect wlan
-            iModel->DisconnectL();
-            }
-        }
-    }
-
-// --------------------------------------------------------------------------
-// TWsfAiController::RefreshRefreshingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::RefreshRefreshingL()
-	{
-	LOG_ENTERFN( "TWsfAiController::RefreshRefreshingL" );
-	MDesCArray *data = iAiModel->FormatRefreshingL();
-    iUi->UpdateViewL( data );
-	}
-
-// --------------------------------------------------------------------------
-// TWsfAiController::RefreshConnectingL
-// --------------------------------------------------------------------------
-//
-void TWsfAiController::RefreshConnectingL()
-    {
-    LOG_ENTERFN( "TWsfAiController::RefreshConnectingL" );
-    MDesCArray *data = iAiModel->FormatConnectingL();
-    iUi->UpdateViewL( data );
-    }
-
-// End of file
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaimodel.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,673 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiModel.
-*
-*/
-
-//  EXTERNAL INCLUDES
-#include <badesca.h>
-#include <coemain.h>
-#include <StringLoader.h>
-#include <wsfaipluginrsc.rsg>
-
-//  INTERNAL INCLUDES
-#include "wsfaimodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfaiplugincommon.h"
-#include "wsfwlaninfoarrayvisitor.h"
-#include "wsflogger.h"
-
-//  MACROS
-#ifdef _DEBUG
-    _LIT( KModelPanic, "CWsfAiModel" );
-    #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KModelPanic, __LINE__) )
-#else
-        #define _ASS_D( cond ) {}
-#endif //_DEBUG
-    
-//  LOCAL DEFINITIONS
-const TInt KListBoxItemMaxLength = 128;
-const TUint KWLanListGranularity = 4;
-
-// List item format
-_LIT( KListItemFormat, "%d\t%S\t%d\t%d" ); 
-
-// List item format for "Other (unlisted)" item
-_LIT( KHiddenItemFormat, "\t%S" );
-
-
-//  CONSTRUCTION AND DESTRUCTION
-// --------------------------------------------------------------------------
-// CWsfAiModel::NewL
-// --------------------------------------------------------------------------
-//
-CWsfAiModel* CWsfAiModel::NewL()
-    {
-    CWsfAiModel* self = CWsfAiModel::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::NewLC
-// --------------------------------------------------------------------------
-//
-CWsfAiModel* CWsfAiModel::NewLC()
-    {
-    CWsfAiModel* self = new( ELeave ) CWsfAiModel;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::~CWsfAiModel
-// --------------------------------------------------------------------------
-//
-CWsfAiModel::~CWsfAiModel()
-    {  
-    delete iWlanInfoBranding;
-    delete iFormattedWlanList;
-    if ( iStatusRefreshing )
-        {
-        delete iStatusRefreshing;
-        }
-    if ( iStatusConnecting )
-        {
-        delete iStatusConnecting;
-        }
-    if ( iStatusScanningOff )
-        {
-        delete iStatusScanningOff;
-        }
-    if ( iManualSSIDInputting )
-        {
-        delete iManualSSIDInputting;
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::CWsfAiModel
-// --------------------------------------------------------------------------
-//
-CWsfAiModel::CWsfAiModel(): 
-    iCoeEnv( CCoeEnv::Static() ),
-    iScanning( EFalse ),
-    iConnected( EFalse ),
-    iRefreshIndex( iRefreshIcons.Count() - 1 ),
-    iConnectingIndex( iConnectingIcons.Count() - 1 )
-    {
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::ConstructL()
-    {
-    iFormattedWlanList = new (ELeave) CDesCArrayFlat( KWLanListGranularity );
-    iWlanInfoBranding = CWsfWlanInfoArrayVisitor::NewL( ETrue );
-    iWlanInfoBranding->LoadFilterDefinitionsL();  
-    
-    iRefreshIcons[0] = EWlanOnIcon_0;
-    iRefreshIcons[1] = EWlanOnIcon_1;
-    iRefreshIcons[2] = EWlanOnIcon;
-    iRefreshIcons[3] = EWlanOnIcon_1;
-    
-    iConnectingIcons[0] = EWlanOnIcon_0;
-    iConnectingIcons[1] = EWlanOnIcon_1;
-    iConnectingIcons[2] = EWlanOnIcon;
-    iConnectingIcons[3] = EWlanOnIcon_1;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatWlanListL
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatWlanListL( CWsfWlanInfoArray* aWlanList, const TBool aUIPrioritySort )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatWlanListL" );
-    
-    // Function expects that items in list are already in proper order
-    iWlanInfoArray = aWlanList;
-
-    if ( aUIPrioritySort )
-        {
-        iWlanInfoArray->SetUIPrioritySort( ETrue );
-        iWlanInfoArray->SortArrayL( *iWlanInfoBranding );
-        // Sort Array with default sort
-        // this sets the highest UI priority networks on top
-        iWlanInfoArray->SortArrayL( );
-        iWlanInfoArray->SetUIPrioritySort( EFalse );
-        }
-    else
-        {
-        iWlanInfoArray->SortArrayL( *iWlanInfoBranding );
-        }
-
-    iFormattedWlanList->Reset();
-    HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
-    TPtr ptr( item->Des() );           
-    for (TInt i = 0; i < aWlanList->Count(); ++i )
-        {
-        TWsfWlanInfo* wlanInfo = aWlanList->At(i);
-
-        // Hidden WLAN item is appended later for unknown hidden networks
-        if ( wlanInfo->Hidden() && !wlanInfo->iIapId )
-            {
-            continue;
-            }
-        
-        // known hidden wlans are also "visible"
-        ptr.Zero();
-        FormatWlanSingleLineL( *wlanInfo, ptr, EFalse );
-        iFormattedWlanList->AppendL( ptr );
-        }
-
-    // now add "Other (unlisted)..." for hidden networks (always visible)
-    // make up a dummy wlaninfo
-    TWsfWlanInfo dummy;
-    
-    ptr.Zero();
-    FormatHiddenWlanItemL( dummy, ptr );
-    iFormattedWlanList->AppendL( ptr );
-
-    CleanupStack::PopAndDestroy ( item );
-    return iFormattedWlanList;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::GetWlanList
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::GetWlanList()
-    {
-    LOG_ENTERFN( "CWsfAiModel::GetWlanList" );
-    return iFormattedWlanList;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::GetInfoArray
-// --------------------------------------------------------------------------
-//
-CWsfWlanInfoArray* CWsfAiModel::GetInfoArray()
-    {
-    LOG_ENTERFN( "CWsfAiModel::GetInfoArray" );
-    return iWlanInfoArray;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatSingleLineWlanListL
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatSingleLineWlanListL( 
-                                        CWsfWlanInfoArray* aWlanList )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatSingleLineWlanListL" );
-    iWlanInfoArray = aWlanList;
-    iWlanInfoArray->SetUIPrioritySort( ETrue );
-    iWlanInfoArray->SortArrayL( *iWlanInfoBranding );
-    
-    // Sort Array with default sort
-    // this sets the highest UI priority networks on top
-    iWlanInfoArray->SortArrayL();
-    iWlanInfoArray->SetUIPrioritySort( EFalse );
-      
-    iFormattedWlanList->Reset();
-            
-    HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
-    TPtr ptr( item->Des() );
-        
-    if ( iConnected )
-        {
-        FormatConnectedL( ptr );
-        iFormattedWlanList->AppendL( ptr );
-        }
-    else if ( iConnecting )
-        {
-        FormatConnectingL();
-        }
-    else if ( !iScanning )
-        {
-        FormatStatusOffL( ptr );
-        iFormattedWlanList->AppendL( ptr );       
-        }
-    // if there's wlans avail
-    else if ( iWlanInfoArray && iWlanInfoArray->Count() )
-        {
-        CheckWlansL( aWlanList, ptr );
-        iFormattedWlanList->AppendL( ptr );
-        }
-    else 
-        {
-        // no wlans available
-        FormatNoWlansAvailableL( ptr );
-        iFormattedWlanList->AppendL( ptr );
-        }
-        
-    CleanupStack::PopAndDestroy( item );
-          
-    return iFormattedWlanList;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatRefreshingL
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatRefreshingL()
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatRefreshingL" );
-    iFormattedWlanList->Reset();
-    HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
-    TPtr ptr( item->Des() );           
-    
-    if ( !iStatusRefreshing )
-        {
-        iStatusRefreshing = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_REFRESHING );
-        }
-   
-    ptr.Format( KListItemFormat, ScanningOn() ? 
-    		                     iRefreshIcons[ iRefreshIndex ] 
-                                  : EWlanOffIcon, 
-                                  iStatusRefreshing,
-                                 ETransparentIcon, 
-                                 ETransparentIcon );
-        
-    iFormattedWlanList->AppendL( ptr );   
-    CleanupStack::PopAndDestroy ( item );
-
-    return iFormattedWlanList;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatConnecting
-// --------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfAiModel::FormatConnectingL()
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatConnectingL" );
-    iFormattedWlanList->Reset();
-    HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
-    TPtr ptr( item->Des() );           
-    
-    if ( !iStatusConnecting )
-        {
-        iStatusConnecting = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_CONNECTING );
-        }
-   
-    ptr.Format( KListItemFormat, iConnectingIcons[ iConnectingIndex ], 
-                                 iStatusConnecting,
-                                 ETransparentIcon, 
-                                 ETransparentIcon );
-        
-    iFormattedWlanList->AppendL( ptr );   
-    CleanupStack::PopAndDestroy ( item );
-    return iFormattedWlanList;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AppendBrandIconsL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::AppendBrandIconsL( CAknIconArray& aIconArray )
-    {
-    LOG_ENTERFN( "CWsfAiModel::AppendBrandIconsL" );
-    iWlanInfoBranding->AppendBrandingIconsL( aIconArray );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatHiddenWlanItemL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatHiddenWlanItemL( TWsfWlanInfo& /*aWlan*/, 
-                                         TPtr& aItem )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatHiddenWlanItemL" );
-    if ( !iManualSSIDInputting )
-        {
-        iManualSSIDInputting = StringLoader::LoadL( 
-                R_QTN_WLAN_MANUAL_SSID_INPUT );
-        }
-
-    // Only Hidden WLAN text is shown.
-    // No icons for this item
-    aItem.Format( KHiddenItemFormat, iManualSSIDInputting );      
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatStatusOffL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatStatusOffL( TPtr& aItem )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatStatusOffL" );
-    if ( !iStatusScanningOff )
-        {
-        iStatusScanningOff = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_SCANNING_OFF );
-        }
-
-        aItem.Format( KListItemFormat, EWlanOffIcon, 
-                                   iStatusScanningOff,
-                                   ETransparentIcon, 
-                                   ETransparentIcon );         
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatNoWlansAvailableL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatNoWlansAvailableL( TPtr& aItem )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatNoWlansAvailableL" );
-
-    if ( !iNoWLANsAvailable )
-        {
-        iNoWLANsAvailable = StringLoader::LoadL( 
-                R_QTN_STATUS_NO_WLANS_AVAILABLE );
-        }
-   
-        aItem.Format( KListItemFormat, ScanningOn()? 
-                                   EWlanOnIcon: EWlanOffIcon, 
-                                   iNoWLANsAvailable,
-                                   ETransparentIcon, 
-                                   ETransparentIcon );  
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatWlanSingleLineL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatWlanSingleLineL( TWsfWlanInfo& aWlan, 
-                                         TPtr& aItem, 
-                                         TBool aSingleLine )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatWlanSingleLineL" );
-    //Ssid as primary text
-    HBufC* ssid( NULL );
-    HBufC* formatData( NULL );
-    TInt column1Icon( 0 );
-    
-    if ( aWlan.iNetworkName.Length() ) // If there is IAP
-        {
-        ssid = aWlan.GetIapNameAsUnicodeLC();
-        }
-    else // If there no IAP
-        {
-        ssid = aWlan.GetSsidAsUnicodeLC();
-        }
-
-
-    column1Icon = ETransparentIcon;
-    
-    if ( aSingleLine )
-        {
-        // AI single line mode
-        if ( aWlan.Connected() )
-            {
-            column1Icon = EConnectedNWIcon; 
-            }
-        else if ( aWlan.Known() )
-            {
-            column1Icon = EWlanOnIcon;     
-            }
-        
-        // format ssid into string '<ssid>'
-        formatData = StringLoader::LoadLC( R_SSID, *ssid, iCoeEnv ); 
-        }
-    else
-        {
-        // Search wlans dialog multiline mode
-        
-        if ( aWlan.BrandId() )
-            {
-            column1Icon = EWlanOffIcon + aWlan.BrandId();
-            }
-        else if ( aWlan.Connected() )
-            {
-            column1Icon = EConnectedNWIcon; // qgn_prop_wlan_bearer.svg
-            }
-        else if ( aWlan.Known() )
-            {
-            column1Icon = EKnownNWIcon;     // qgn_prop_wlan_bearer.svg
-            }       
-        }
-        
-
-    // Signal strenght for column 4
-    // No signal icon is set by default in case is SingleLine mode off
-    TInt column3Icon = aSingleLine ? ETransparentIcon: 
-                                    ENoSignalIcon;    //qgn_transparent.svg 
-    TInt column4Icon = ETransparentIcon;
-    
-    if ( aWlan.Connected() || !aSingleLine )
-        {
-        // Column 3
-        // Show secure icon if network is secure. 
-        // By default show transparant icon.
-        column4Icon = aWlan.Secure()? ESecureNetworkIcon: ETransparentIcon;
-              
-        switch ( aWlan.SignalStrength() )
-            {      
-            case EPoor:
-                {
-                //qgn_indi_wlan_signal_low_add.svg
-                column3Icon = EPoorSignal;
-                break;
-                }
-            case EAverage:
-                {
-                //qgn_indi_wlan_signal_med_add.svg
-                column3Icon = EAverageSignal;                
-                break;
-                }
-            case EExcelent:
-                {
-                //qgn_indi_wlan_signal_good_add.svg
-                column3Icon = EExcelentSignal;                 
-                break;
-                }
-                    
-            case ENoSignal:
-            default:
-                {
-                //qgn_indi_wlan_signal_no_wlan.svg
-                column3Icon = ENoSignalIcon;                
-                break;
-                }        
-            }
-        }
-    
-    if ( aSingleLine )
-        {
-        aItem.Format( KListItemFormat, 
-                      column1Icon, 
-                      formatData,
-                      column3Icon, 
-                      column4Icon );
-        CleanupStack::PopAndDestroy( formatData );
-        }
-    else
-        {
-        aItem.Format( KListItemFormat, 
-                      column1Icon, 
-                      ssid,
-                      column3Icon, 
-                      column4Icon );
-        }
-    CleanupStack::PopAndDestroy( ssid );            
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatUnknownWlansSingleLineL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatUnknownWlansSingleLineL( 
-                                           const TBool aMultipleUnknownWlans,
-                                           TPtr& aItem )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatUnknownWlansSingleLineL" );
-    TInt unknownItemResource = aMultipleUnknownWlans ? 
-                        R_QTN_SNIFFER_PLUG_IN_UNKNOWN_SSIDS_FOUND :
-                        R_QTN_SNIFFER_PLUG_IN_UNKNOWN_SSID_FOUND;
-
-    HBufC* unknownWlansStatusText = iCoeEnv->AllocReadResourceLC( 
-                                                       unknownItemResource );
-
-    aItem.Format( KListItemFormat, ScanningOn()? EWlanOnIcon: EWlanOffIcon, 
-                                   unknownWlansStatusText,
-                                   ETransparentIcon, 
-                                   ETransparentIcon );         
-                        
-    CleanupStack::PopAndDestroy( unknownWlansStatusText );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FindPreferredKnownWlan
-// --------------------------------------------------------------------------
-//
-TInt CWsfAiModel::FindPreferredKnownWlan( CWsfWlanInfoArray* aWlanList )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FindPreferredKnownWlan" );
-    _ASS_D( aWlanList  );
-    _ASS_D( aWlanList->Count() ); 
-
-    TWsfWlanInfo *preferred = NULL;
-    TWsfWlanInfo *temp = NULL;
-    TInt loopIndex( 0 );
-    TInt preferredIndex( 0 );
-    //loop through the list and find Max signal strength amont know wlans...
-     
-    preferred = aWlanList->At( loopIndex );
-    loopIndex++;
- 
-    for ( ; loopIndex < aWlanList->Count(); ++loopIndex )
-        {
-        temp = aWlanList->At( loopIndex );
-        if ( !temp->Known() )
-            {
-            // not known net any more...
-            break;
-            }
-        // check the signal strength
-        if ( temp->SignalStrength() > preferred->SignalStrength() )
-            {
-            preferredIndex = loopIndex;
-            preferred = temp;
-            }
-        }
-    return preferredIndex;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::CheckWlansL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::CheckWlansL( CWsfWlanInfoArray* aWlanList, TPtr& aItem )
-    {
-    LOG_ENTERFN( "CWsfAiModel::CheckWlansL" );
-    _ASS_D( aWlanList );
-    _ASS_D( aWlanList->Count() ); 
-    // first check the connected
-    // if there's connection... it is the first item in array
-
-    if ( aWlanList->At( 0 )->Known() )
-        {
-        FormatWlanSingleLineL( *aWlanList->At( 0 ), aItem, ETrue );
-        }
-    else
-        {
-        TBool multipleUnknownWlans = ( aWlanList->Count() > 1 );
-        FormatUnknownWlansSingleLineL( multipleUnknownWlans, aItem ); 
-        }          
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::FormatConnectedL
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::FormatConnectedL( TPtr& aItem )
-    {
-    LOG_ENTERFN( "CWsfAiModel::FormatConnectedL" );
-    // Ssid as primary text
-    FormatWlanSingleLineL( iConnectedWlanInfo, aItem, ETrue );
-    }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::InitializeRefreshAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::InitializeRefreshAnimation()
-	{
-	LOG_ENTERFN( "CWsfAiModel::InitializeRefreshAnimation" );
-	iRefreshIndex = 0;
-	}
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::InitializeRefreshAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::InitializeConnectingAnimation()
-    {
-    LOG_ENTERFN( "CWsfAiModel::InitializeConnectingAnimation" );
-    iConnectingIndex = 0;
-    }
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AnimateRefresh
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::AnimateRefresh()
-	{
-	LOG_ENTERFN( "CWsfAiModel::AnimateRefresh" );
-	++iRefreshIndex %= iRefreshIcons.Count();
-	}
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AnimateRefresh
-// --------------------------------------------------------------------------
-//
-void CWsfAiModel::AnimateConnecting()
-    {
-    LOG_ENTERFN( "CWsfAiModel::AnimateConnecting" );
-    ++iConnectingIndex %= iConnectingIcons.Count();
-    }
-
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaiplugin.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1057 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiPlugin
-*
-*/
-
-//  EXTERNAL INCLUDES
-#include <aicontentobserver.h>
-#include <aiutility.h>
-#include <apgcli.h>
-#include <wsfaipluginrsc.rsg>
-
-#include <e32std.h>
-#include <ecom/ecom.h>
-#include <ecom/implementationproxy.h>
-
-#include <f32file.h>
-#include <AknsConstants.h>
-#include <AknUtils.h>
-#include <StringLoader.h>
-#include <bautils.h>
-#include <avkon.rsg>
-#include <apgtask.h>
-#include <eiklabel.h>
-
-#include <data_caging_path_literals.hrh> // KDC_APP_BITMAP_DIR
-
-//  INTERNAL INCLUDES
-#include "wsfaiplugin.h"
-#include "wsfaipluginuids.hrh"
-#include "wsfaiplugincontentmodel.h"
-#include "wsfaimodel.h"
-#include "wsfmodel.h"
-#include "wsfaiview.h"
-#include "wsficonarraycreator.h"
-#include "wsfdbobserver.h"
-#include "wsflogger.h"
-
-
-// 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;
-_LIT8( KWlanWizardName, "WLANWizard" );
-
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::NewL
-// --------------------------------------------------------------------------
-//
-CWsfAiPlugin* CWsfAiPlugin::NewL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::NewL" );
-    CWsfAiPlugin* self = new (ELeave) CWsfAiPlugin;
-
-    CleanupStack::PushL(self);
-    self->ConstructL();
-    CleanupStack::Pop(self);
-
-    return self;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::~CWsfAiPlugin
-// --------------------------------------------------------------------------
-//
-CWsfAiPlugin::~CWsfAiPlugin()
-    {
-    // Cancel periodic animation update
-    if ( iAnimationPeriodic )
-        {
-        LOG_WRITE( "Cancel animation update" );
-        iAnimationPeriodic->Cancel();
-        delete iAnimationPeriodic;
-        iAnimationPeriodic = NULL;
-        }
-    
-    delete iDbObserver;
-    
-    // Cancel start up refresh
-    if ( iStartupRefresh )
-        {
-        LOG_WRITE( "Cancel start up refresh" );
-        iStartupRefresh->Cancel();
-        delete iStartupRefresh;
-        iStartupRefresh = NULL;
-        }
-    
-    delete iModel;
-    delete iAiModel;
-    delete iUi;
-
-    delete iCurrentSignalStrength;
-    delete iCurrentSecureInfo;
-    
-    if ( iWlanTitle )
-        {
-        delete iWlanTitle;
-        }
-    
-    if ( iMskActivate )
-        {
-        delete iMskActivate;
-        }
-    
-    if ( iConnectedTo )
-        {
-        delete iConnectedTo;
-        }
-    
-    if ( iKnownNetworkFound )
-        {
-        delete iKnownNetworkFound;
-        }
-    
-    CCoeEnv::Static()->DeleteResourceFile( iResourceFileOffset );
-
-    iObservers.Close();
-
-    Release( iContent );
-    Release( iEvents );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::CWsfAiPlugin
-// --------------------------------------------------------------------------
-//
-CWsfAiPlugin::CWsfAiPlugin()
-    {
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::ConstructL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::ConstructL" );
-    AllocateResourcesL();
-        
-    iInfo.iUid = KUidWlanWizardPlugin;
-    iInfo.iName.Copy( KWlanWizardName );
-    
-    iContent = AiUtility::CreateContentItemArrayIteratorL( 
-                                                    KAiWizardContent );
-    iEvents = AiUtility::CreateContentItemArrayIteratorL( KAiWizardEvents );
-    
-    // create the engine first...
-    iModel = CWsfModel::NewL( iController, EFalse );
-
-    // then model
-    iAiModel = CWsfAiModel::NewL();
-    iUi = CWsfAiView::NewL( *this );
-    iStartupRefresh = new (ELeave) CAsyncCallBack( 
-                                          TCallBack( StartupRefresh, this ), 
-                                          CActive::EPriorityIdle );
-    iDbObserver = CWsfDbObserver::NewL();
-    iController.SetUi( *static_cast<CWsfAiView*>( iUi ) );
-    iController.InitializeL( iModel, iAiModel, iDbObserver );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::PublishContentL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::PublishContentL( CArrayFix<TInt>* aPublishIconArray, 
-                                    CEikLabel* aText1 )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::PublishContentL" );
-    TInt leftBoundary( 0 );
-    TInt rightBoundary( 0 );
-    TChar boundary('\'');
-    HBufC* localCurrentStatusText( NULL );
-    HBufC* localCurrentTypeText( NULL );
-    
-    HBufC* localCurrentNetworkStatus( NULL );
-    HBufC* localCurrentNetworkName( NULL );
-
-    HBufC* localFullText = ( aText1->Text() )->AllocLC();
-
-    // Locate ' chars from the full string
-    TPtrC fullText = localFullText->Des();
-    leftBoundary = fullText.Locate( boundary );    // char = '
-    rightBoundary = fullText.LocateReverse( boundary );
-
-    // if we have status name then we parse it
-    if ( leftBoundary != rightBoundary && 
-         leftBoundary != KErrNotFound && 
-         rightBoundary != KErrNotFound )
-        {
-        TPtrC begin = fullText.Mid( leftBoundary, 
-                                    rightBoundary - leftBoundary + 1 );
-        localCurrentStatusText = begin.AllocLC();
-        localCurrentNetworkName = begin.AllocLC();
-
-        TPtrC end = fullText.Mid( rightBoundary + 1 );
-        localCurrentTypeText = end.AllocLC();
-       }
-    else
-        {
-        localCurrentStatusText = fullText.AllocLC();
-        delete localCurrentTypeText;
-        localCurrentTypeText = NULL;
-        }
-    
-    //Connected
-    if ( localCurrentNetworkName )
-        {
-        if ( iAiModel->Connected() )
-            {
-            if ( !iConnectedTo )
-                {
-                iConnectedTo = StringLoader::LoadL( 
-                        R_QTN_SNIFFER_PLUG_IN_CONNECTED_TO );
-                }
-            localCurrentNetworkStatus = iConnectedTo;
-            }
-        else
-            {
-            if ( !iKnownNetworkFound )
-                {
-                iKnownNetworkFound = StringLoader::LoadL( 
-                        R_QTN_SNIFFER_PLUG_IN_WLAN_NETWORK_FOUND );
-                }
-            localCurrentNetworkStatus = iKnownNetworkFound;
-            }
-        }
-    else
-        {
-        localCurrentNetworkStatus = localCurrentStatusText;
-        }
-
-    TBool published( EFalse );
-    TInt iconId( 0 );
-
-    ClearL();   // Clear all WLAN Wizard content from the AI2
-
-    for ( iCurrentObserverIndex = 0; 
-          iCurrentObserverIndex < iObservers.Count(); 
-          ++iCurrentObserverIndex )
-        {
-        MAiContentObserver* observer = iObservers[iCurrentObserverIndex];
-        observer->StartTransaction( reinterpret_cast<TInt32>( 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 )
-            {
-            // 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;
-            }
-
-        // 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;
-            }
-
-        // 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 )
-            {
-            // Publish NetworkName text: EAiWizardContentNetworkName
-            published = PublishText( observer, 
-                                     EAiWizardContentNetworkName,
-                                     *localCurrentNetworkName ) || published;
-            }
-        
-        if ( localCurrentNetworkStatus )
-            {
-            // Publish NetworkName text: EAiWizardContentNetworkName
-            published = PublishText( observer, 
-                                     EAiWizardContentNetworkStatus,
-                                     *localCurrentNetworkStatus ) || published;
-            }
-        
-        // If we published something then commit, 
-        // otherwise cancel transaction
-        if ( published )
-            {
-            observer->Commit( reinterpret_cast<TInt32>( this ) );
-            published = EFalse;
-            }
-        else
-            {
-            observer->CancelTransaction( reinterpret_cast<TInt32>( this ) );
-            }
-        CleanupStack::Pop( 1 ); // PublishCleanup()
-        }
-    
-    if ( localCurrentTypeText ) 
-        {
-        CleanupStack::PopAndDestroy( localCurrentTypeText );
-        }
-    
-    if ( localCurrentNetworkName ) 
-        {
-        CleanupStack::PopAndDestroy( localCurrentNetworkName );
-        }
-    
-    if ( localCurrentStatusText ) 
-        {
-        CleanupStack::PopAndDestroy( localCurrentStatusText );
-        }
-
-    CleanupStack::PopAndDestroy( localFullText );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::AllocateResourcesL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::AllocateResourcesL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::AllocateResourcesL" );
-    // create resourcefile 
-    CCoeEnv* env = CCoeEnv::Static();
-    TFindFile finder( env->FsSession() );
-    CDir* fileEntries;
-    User::LeaveIfError( finder.FindWildByDir( KResourceFile, 
-                                              KDC_RESOURCE_FILES_DIR, 
-                                              fileEntries ) );
-    
-    TParse pathParse;
-    pathParse.Set( (*fileEntries)[0].iName, &finder.File(), NULL ); 
-    
-    TFileName resourceFile = pathParse.FullName();
-    delete fileEntries;
-
-    BaflUtils::NearestLanguageFile( env->FsSession(), resourceFile );
-    iResourceFileOffset = env->AddResourceFileL( resourceFile );    
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Resume
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::Resume( TAiTransitionReason aReason )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::Resume" );
-    switch ( aReason ) 
-        {
-        case EAiSystemStartup:
-            {
-            LOG_WRITE( "Resume - EAiSystemStartup");
-            iStartupRefresh->CallBack();
-            break;
-            }
-            
-        case EAiIdleForeground: 
-            { 
-            // AI came to foreground -> make refresh scan 
-            if ( !iAiModel->Connected() && !iModel->IsConnecting() )
-                {
-                LOG_WRITE( "Call Refresh scan" );
-                TRAP_IGNORE( iModel->RefreshScanL() );
-                }
-            else
-                {
-                LOG_WRITE( "Connected no need to refresh scan results" );
-                }
-            break; 
-            } 
-            
-        case EAiIdleBackground:
-            {
-            // AI went to background -> dismiss open dialogs/menus
-            TRAP_IGNORE( iController.DismissDialogsL() );
-            break;
-            }
-            
-        default: 
-            { 
-            break; 
-            } 
-        } 
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Suspend
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::Suspend( TAiTransitionReason /*aReason*/ )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::Suspend" );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Stop
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::Stop( TAiTransitionReason /*aReason*/ )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::Stop" );
-    TRAP_IGNORE( iController.DeInitializeL() );
-    if ( iAnimationPeriodic )
-        {
-        LOG_WRITE( "Cancel animation update" );
-        iAnimationPeriodic->Cancel();
-        delete iAnimationPeriodic;
-        iAnimationPeriodic = NULL;
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SubscribeL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SubscribeL( MAiContentObserver& aObserver )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::Subscribe" );
-    return iObservers.AppendL( &aObserver );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::ConfigureL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::ConfigureL( RAiSettingsItemArray& /*aSettings*/ )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::ConfigureL" );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::Extension
-// --------------------------------------------------------------------------
-//
-TAny* CWsfAiPlugin::Extension( TUid aUid )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::Extension" );
-    if ( aUid == KExtensionUidProperty )
-        {
-        return static_cast<MAiPropertyExtension*>( this );
-        }
-    else if ( aUid == KExtensionUidEventHandler )
-        {
-        return static_cast<MAiEventHandlerExtension*>( this );
-        }
-
-    return NULL;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::GetPropertyL
-// --------------------------------------------------------------------------
-//
-TAny* CWsfAiPlugin::GetPropertyL( TInt aProperty )
-    {
-    switch ( aProperty )
-        {
-        case EAiPublisherInfo:
-            {
-            return &iInfo;
-            }
-
-        case EAiPublisherContent:
-            {
-            return static_cast<MAiContentItemIterator*>( iContent );
-            }
-
-        case EAiPublisherEvents:
-            {
-            return static_cast<MAiContentItemIterator*>( iEvents );
-            }
-            
-        default:
-            {
-            User::Leave( KErrNotSupported );
-            }
-        }
-    
-    return NULL;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetPropertyL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SetPropertyL( TInt aProperty, TAny* aValue )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::SetProperty" );
-    if ( aValue && ( aProperty == EAiPublisherInfo ) )
-        {
-        const TAiPublisherInfo* info =
-                            static_cast<const TAiPublisherInfo*>( aValue );
-        iInfo = *info;  
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::HandleEvent
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::HandleEvent( TInt aEvent, const TDesC& /*aParam*/ )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::HandleEvent" );
-    switch ( aEvent )
-        {
-        case EAiWizardEventLaunchApplication:
-            {
-            TRAP_IGNORE( LaunchApplicationL() );
-            break;
-            }
-            
-        case EAiWizardGainFocusInfoArea:
-            {
-            iInfoAreaFocus = ETrue;
-            TRAP_IGNORE( SetMskL() );
-            break;
-            }
-            
-        case EAiWizardLostFocusInfoArea:
-            {
-            iInfoAreaFocus = EFalse;
-            break;            
-            }
-            
-        case EAiWizardOpenMenu:
-            {
-            if ( !iRefreshing )
-                {
-                TRAP_IGNORE( iController.HandleSelectionKeyL() );
-                }
-            break;
-            }
-            
-        default:
-            {
-            }
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::ClearL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::ClearL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::ClearL" );
-    for ( TInt i = 0; i < iObservers.Count(); ++i )
-        {
-        MAiContentObserver* observer = iObservers[i];
-
-        observer->StartTransaction( reinterpret_cast<TInt32>( this ) );
-
-        observer->Clean( *this, 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<TInt32>( 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
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SetScanningState( TBool aScanState )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::SetScanningState" );
-    iScanState = aScanState;
-    TRAP_IGNORE( SetMskL() );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetRefreshingL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SetRefreshingL( TBool aRefreshing )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::SetRefreshingL" );
-    if( iRefreshing != aRefreshing )
-        {
-        LOG_WRITEF( "iRefreshing = %d and aRefreshing = %d ", 
-                     iRefreshing, aRefreshing );
-        if( aRefreshing )
-            {
-            if ( iAnimationPeriodic )
-                {
-                iAnimationPeriodic->Cancel();
-                delete iAnimationPeriodic;
-                iAnimationPeriodic = NULL;
-                }
-            iAiModel->InitializeRefreshAnimation();
-            iAnimationPeriodic = CPeriodic::NewL(
-                    CActive::EPriorityStandard );
-                        
-            iAnimationPeriodic->Start(
-                    TTimeIntervalMicroSeconds32( KRefreshStepTime ),
-                    TTimeIntervalMicroSeconds32( KRefreshStepTime ),
-                    TCallBack( 
-                            CWsfAiPlugin::DoRefreshingStepL,
-                            this
-                            ) );
-            }
-        else
-            {
-            iAnimationPeriodic->Cancel();
-            delete iAnimationPeriodic;
-            iAnimationPeriodic = NULL;
-            }
-        }
-    iRefreshing = aRefreshing;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetRefreshingL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::StartConnectingL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::StartConnectingL" );
-    
-    if ( iAnimationPeriodic )
-        {
-        iAnimationPeriodic->Cancel();
-        delete iAnimationPeriodic;
-        iAnimationPeriodic = NULL;
-        }
-
-    iAiModel->InitializeConnectingAnimation();
-    iAnimationPeriodic = CPeriodic::NewL(
-                                    CActive::EPriorityStandard );
-                
-    iAnimationPeriodic->Start(
-            TTimeIntervalMicroSeconds32( KConnectingStepTime ),
-            TTimeIntervalMicroSeconds32( KConnectingStepTime ),
-            TCallBack( 
-                    CWsfAiPlugin::DoConnectingStepL,
-                    this
-                    ) );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::NewL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::LaunchApplicationL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::LaunchApplication" );
-    RApaLsSession appArcSession;
-
-    // connect to AppArc server
-    User::LeaveIfError( appArcSession.Connect() );
-    CleanupClosePushL( appArcSession );
-
-
-    // check if the app is already running ... and brings it to foreground.
-    TUid id( TUid::Uid( KUidSnifferApp.iUid ) );
-    TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-    TApaTask task = taskList.FindApp( id );
-
-    if ( task.Exists() )
-        {
-        task.BringToForeground();
-           }
-    else
-        {
-        TThreadId threadId;
-        User::LeaveIfError( appArcSession.StartDocument( 
-                                        KNullDesC, 
-                                        TUid::Uid( KUidSnifferApp.iUid ),
-                                        threadId ) );
-        }
-        
-    CleanupStack::PopAndDestroy( &appArcSession ); //appArcSession
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetMskL
-// --------------------------------------------------------------------------
-//
-void CWsfAiPlugin::SetMskL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::SetMsk" );
-    
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        // MSK not updated in touch products
-        return;
-        }
-    
-    CEikButtonGroupContainer* cba = CEikButtonGroupContainer::Current();
-    
-    if( cba )
-        {
-        if ( iAiModel->ScanningOn() || iAiModel->Connected() )
-            {
-            // Show context menu icon
-            cba->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
-                          EAknSoftkeyContextOptions, 
-                          KNullDesC );
-            }
-        else
-            {
-            if ( !iMskActivate )
-                {
-                iMskActivate = StringLoader::LoadL( R_QTN_MSK_SNIFFER_ACTIVATE );
-                }
-            // Show 'Activate'
-            cba->SetCommandL( CEikButtonGroupContainer::EMiddleSoftkeyPosition, 
-                          EAknSoftkeyOk, 
-                          *iMskActivate );
-            }
-        cba->DrawDeferred();
-    	}
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::PublishText
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiPlugin::PublishText( MAiContentObserver* aObserver,
-                                 TWsfAiWizardContentIds aContentId,
-                                 const TDesC16& aText )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::PublishText" );
-    TBool published( EFalse );
-    TInt error( 0 );
-    if ( aObserver->CanPublish( *this, aContentId, aContentId ) )
-        {
-        error = aObserver->Publish( *this,
-                                    aContentId,
-                                    aText,
-                                    aContentId );
-
-        if ( error == KErrNone )
-            {
-            published = ETrue;
-            }
-        }
-    return published;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::PublishIconL
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiPlugin::PublishIconL( MAiContentObserver* aObserver,
-                                  TWsfAiWizardContentIds aContentId,
-                                  TInt aIconId )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::PublishIcon" );
-    TBool published( EFalse );
-    TInt error( 0 );
-    if ( aObserver->CanPublish( *this, aContentId, aContentId ) )
-        {
-        error = aObserver->PublishPtr( 
-                              *this,
-                              aContentId,
-                              CWsfIconArrayCreator::GetIconLC( aIconId ),
-                              aContentId );
-
-        CleanupStack::Pop(); // pop the icon
-
-        if ( error == KErrNone )
-            {
-            published = ETrue;
-            }
-        }
-    return published;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::PublishCleanup
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::PublishCleanup( TAny* aPtr )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::PublishClearup" );
-    CWsfAiPlugin* self = static_cast<CWsfAiPlugin*>( aPtr );
-    self->iObservers[self->iCurrentObserverIndex]
-                     ->CancelTransaction( reinterpret_cast<TInt32>( self ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::StartupRefresh
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiPlugin::StartupRefresh( TAny* aPtr )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::StartupRefresh" );
-    CWsfAiPlugin* self = static_cast<CWsfAiPlugin*>( aPtr );
-    TRAP_IGNORE( self->StartupRefreshL(); );
-    
-    return 0;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::StartupRefreshL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiPlugin::StartupRefreshL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::StartupRefresh" );
-    iController.StartupRefreshL();
-    
-    return 0;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoRefreshingStepL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiPlugin::DoRefreshingStepL( TAny* ptr )
-	{
-	LOG_ENTERFN( "CWsfAiPlugin::DoRefreshingStepL( ptr )" );
-	static_cast<CWsfAiPlugin*>( ptr )->DoRefreshingStepL();
-	return ETrue;
-	}
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoRefreshingStepL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::DoRefreshingStepL()
-	{
-	LOG_ENTERFN( "CWsfAiPlugin::DoRefreshingStepL" );
-	
-	if ( !iAiModel->ScanningOn() )
-	    {
-	    LOG_WRITE( "Disable refreshing" );
-	    if ( iAnimationPeriodic )
-	        {
-	        LOG_WRITE( "Cancel animation update" );
-	        iAnimationPeriodic->Cancel();
-	        delete iAnimationPeriodic;
-	        iAnimationPeriodic = NULL;
-	        }
-	    iRefreshing = EFalse;
-	    }
-	else
-	    {
-	    iAiModel->AnimateRefresh();
-	    iController.RefreshRefreshingL();
-	    }	
-	}
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingStepL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAiPlugin::DoConnectingStepL( TAny* ptr )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::DoConnectingStepL( ptr )" );
-    static_cast<CWsfAiPlugin*>( ptr )->DoConnectingStepL();
-    return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingStepL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::DoConnectingStepL()
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::DoConnectingStepL" );
-    
-    if ( !iModel->IsConnecting() )
-        {
-        LOG_WRITE( "Disable refreshing" );
-        if ( iAnimationPeriodic )
-            {
-            LOG_WRITE( "Cancel animation update" );
-            iAnimationPeriodic->Cancel();
-            delete iAnimationPeriodic;
-            iAnimationPeriodic = NULL;
-            }
-        }
-    else
-        {
-        iAiModel->AnimateConnecting();
-        iController.RefreshConnectingL();
-        }   
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::PublishStatusIconL
-// ---------------------------------------------------------------------------
-//
-void CWsfAiPlugin::PublishStatusIconL( CArrayFix<TInt>* aPublishIconArray, 
-                                    CEikLabel* /*aText1*/ )
-    {
-    LOG_ENTERFN( "CWsfAiPlugin::PublishStatusIconL" );
-    TBool published( EFalse );
-    TInt iconId( 0 );
-
-    ClearL();   // Clear all WLAN Wizard content from the AI2
-
-    for ( iCurrentObserverIndex = 0; 
-          iCurrentObserverIndex < iObservers.Count(); 
-          ++iCurrentObserverIndex )
-        {
-        MAiContentObserver* observer = iObservers[iCurrentObserverIndex];
-        
-        // Publish Status icon: EAiWizardContentStatusIcon
-        iconId = aPublishIconArray->At( 0 );
-        published = PublishIconL( observer, 
-                                  EAiWizardContentStatusIcon,
-                                  iconId ) || published;
-        // If we published something then commit, 
-        // otherwise cancel transaction
-        if ( published )
-            {
-            published = EFalse;
-            }
-        }
-    }
-
-
-// End of File.
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaipluginproxy.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  ECOM proxy table for AiPlugin
-*
-*/
-
-
-#include <e32std.h>
-#include <ecom/implementationproxy.h>
-#include "wsfaiplugin.h"
-#include "wsfaipluginuids.hrh"
-
-// Provide a key pair value table for ECOM.
-// Used to identify the correct construction function for 
-// the requested interface.
-const TImplementationProxy ImplementationTable[] =
-{
-    IMPLEMENTATION_PROXY_ENTRY( 
-            AI_UID_ECOM_IMPLEMENTATION_CONTENTPUBLISHER_WIZARDPLUGIN,
-            CWsfAiPlugin::NewL )
-};
-
-
-// --------------------------------------------------------------------------
-// ImplementationGroupProxy
-// Return an instance of the proxy table.
-// --------------------------------------------------------------------------
-//
-EXPORT_C const TImplementationProxy* ImplementationGroupProxy(
-                                                    TInt& aTableCount )
-{
-    aTableCount = sizeof( ImplementationTable ) / sizeof( 
-                                                    TImplementationProxy );
-    return ImplementationTable;
-}
-
-// End of File
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfaiview.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,463 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAiView
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <AknsUtils.h>
-#include <AknUtils.h>
-#include <aknlists.h>
-#include <eikfrlbd.h>
-#include <eikclbd.h>
-#include <wsfaipluginrsc.rsg>
-#include <eikimage.h>
-#include <eiklabel.h>
-#include <gulicon.h>
-#include <AknIconUtils.h>
-#include <aknlayoutscalable_avkon.cdl.h>
-#include <gdi.h>
-#include <aknlayout.cdl.h>
-#include <skinlayout.cdl.h>
-#include <AknBidiTextUtils.h>
-#include <StringLoader.h>
-
-//  INTERNAL INCLUDES
-#include "wsfaiview.h"
-#include "wsfaipublishobserver.h"
-#include "wsflogger.h"
-
-//  LOCAL DEFINITIONS
-// one second in milliseconds
-LOCAL_D const TInt KDeferredWaitTime = 1000 * 1000;
-LOCAL_D const TInt KAIPublishIconArrayGranularity = 3;
-
-// index value to suppress 1 second refreshing state
-LOCAL_D const TInt KSuppressRefreshIndex = 1024;
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::NewL()
-// --------------------------------------------------------------------------
-//
-CWsfAiView* CWsfAiView::NewL( MWsfAiPublishObserver& aPublishObserver )
-    {
-    CWsfAiView *thisPtr = NewLC( aPublishObserver );
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::NewLC()
-// --------------------------------------------------------------------------
-//
-CWsfAiView* CWsfAiView::NewLC( MWsfAiPublishObserver& aPublishObserver )
-    {
-    CWsfAiView *thisPtr = new (ELeave) CWsfAiView( aPublishObserver );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::~CWsfAiView()
-// --------------------------------------------------------------------------
-//
-CWsfAiView::~CWsfAiView()
-    {
-    delete iPublishIconArray;
-    delete iDeferredUpdateCallBack;
-    delete iTextLabel;
-
-    if ( iDeferredUpdater )
-        {
-        iDeferredUpdater->Cancel();
-        delete iDeferredUpdater;
-        }
-    
-    if ( iStatusScanningOff )
-        {
-        delete iStatusScanningOff;
-        }
-    if ( iStatusRefreshing )
-        {
-        delete iStatusRefreshing;
-        }
-    if ( iStatusConnecting )
-        {
-        delete iStatusConnecting;
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::CWsfAiView()
-// --------------------------------------------------------------------------
-//
-CWsfAiView::CWsfAiView( MWsfAiPublishObserver& aPublishObserver ) :
-    iUpdateSecureIconDeferred( ETransparentIcon ),
-    iUpdateSignalStrengthIconDeferred( ETransparentIcon ),
-    iUpdateStatusIconDeferred( ETransparentIcon ),
-    iSavedUpdateStatusIconDeferred( ETransparentIcon ),
-    iPublishObserver( &aPublishObserver )
-    {
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ConstructL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfAiView::ConstructL" );
-    iEnv = CCoeEnv::Static();
-
-    iDeferredUpdateCallBack = new ( ELeave )
-        TCallBack( CWsfAiView::DoCompleteUpdateL, this );
-    iDeferredUpdater = CPeriodic::NewL( CActive::EPriorityStandard );
-
-    iPublishIconArray = new ( ELeave ) CArrayFixFlat<TInt>( 
-                                            KAIPublishIconArrayGranularity );
-
-    iTextLabel = new (ELeave) CEikLabel;
-    if ( !iStatusScanningOff )
-        {
-        iStatusScanningOff = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_SCANNING_OFF );
-        }
-    iTextLabel->SetTextL( *iStatusScanningOff );
-
-    iUpdateStatusIconDeferred = EWlanOffIcon;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::UpdateHotSpotsL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::UpdateHotSpotsL( MDesCArray* aItemTextArray,
-                                  TInt aCurrentItem )
-    {
-    LOG_ENTERFN( "CWsfAiView::UpdateHotSpotsL" );
-    if ( ParseStringL( aItemTextArray->MdcaPoint( 0 ) ) )
-        {
-        if ( aCurrentItem != KSuppressRefreshIndex )
-            {
-            // init the deferred callback
-            ActivateRefreshTimer();
-            }
-        else
-            {
-            // immediate callback (no Refreshing text)
-            DoCompleteUpdateL();
-            return;
-            }
-        }
-    if ( !iStatusRefreshing )
-        {
-        iStatusRefreshing = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_REFRESHING );
-        }
-
-    if ( !iStatusConnecting )
-        {
-        iStatusConnecting = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_CONNECTING );
-        }
-
-    TInt resultRefreshing = iTextLabel->Text()->Compare( *iStatusRefreshing );
-    TInt resultConnecting = iCurrentText.Compare( *iStatusConnecting );
-    
-    if ( !resultConnecting )
-        {
-        MakeTransparentPublishIconsL();  // all icons transparent
-        }
-    else if ( !resultRefreshing )
-        {
-        iPublishObserver->SetRefreshingL( ETrue );
-        MakeTransparentPublishIconsL();  // all icons transparent
-        }
-    else
-        {
-        MakePublishIconsL(); // icons based on the member info
-        }
-
-    iPublishObserver->SetScanningState( ETrue );
-    iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::SelectedItem()
-// --------------------------------------------------------------------------
-//
-TInt CWsfAiView::SelectedItem()
-    {
-    LOG_ENTERFN( "CWsfAiView::SelectedItem" );
-    return 0;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ForceRefreshingL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::ForceRefreshingL()
-    {
-    LOG_ENTERFN( "CWsfAiView::ForceRefreshingL" );
-    }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::SetRefreshingL
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::StartConnectingAnimationL()
-    {
-    iPublishObserver->StartConnectingL();    
-    }
-
-// --------------------------------------------------------------------------
-// CWsfAiView::MultilineControl
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiView::MultilineControl() 
-    {
-    LOG_ENTERFN( "CWsfAiView::MultilineControl" );
-    return EFalse; 
-    }
-      
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ParseStringL()
-// --------------------------------------------------------------------------
-//
-TBool CWsfAiView::ParseStringL( const TDesC& aString )
-    {
-    LOG_ENTERFN( "CWsfAiView::ParseStringL" );
-    // start looking for '\t' digits and parse 
-    // the icon identifiers and label text
-
-    // if the data changes - ie - label text has changed 
-    // - launch deferred update...
-    TChar delimiter('\t');
-    TWsfPluginIcons statusIcon;
-    TWsfPluginIcons secureicon;
-    TWsfPluginIcons strengthIcon;
-    TInt firstTabPos = aString.Locate( delimiter );
-    TInt secondTabPos = aString.Mid( 
-                                firstTabPos +1 ).Locate( 
-                                        delimiter ) + firstTabPos + 1;
-    TInt thirdTabPos = aString.Mid( 
-                                secondTabPos +1 ).Locate( 
-                                        delimiter ) + secondTabPos + 1;
-
-    // ok we have the tab positions read the values...
-
-    TInt secVal = 0;
-    //read the icons
-    TLex( aString.Mid( 0, firstTabPos )).Val( (TInt&)statusIcon );
-    TLex( aString.Mid(
-        secondTabPos+1 , thirdTabPos - (secondTabPos+1) )
-         ).Val( (TInt&) strengthIcon);
-
-    TLex( aString.Mid(
-        thirdTabPos+1 , aString.Length() - ( thirdTabPos + 1 ) )
-        ).Val( (TInt&) secureicon );
-    
-    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, 
-                                   secondTabPos - ( firstTabPos + 1 ) );
-
-    iCurrentText.Copy( labelText );
-
-    if ( !iStatusRefreshing )
-        {
-        iStatusRefreshing = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_REFRESHING );
-        }
-    iTextLabel->SetTextL( *iStatusRefreshing );
-
-    iUpdateSecureIconDeferred = secureicon;
-    iUpdateSignalStrengthIconDeferred = strengthIcon;
-    iUpdateStatusIconDeferred = statusIcon;
-    iSavedUpdateStatusIconDeferred = statusIcon;
-        
-    return ETrue;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::DoCompleteUpdateL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::DoCompleteUpdateL()
-    {
-    LOG_ENTERFN( "CWsfAiView::DoCompleteUpdateL" );    
-    // cancel the periodic
-    iDeferredUpdater->Cancel();
-
-    // update the label text
-    iTextLabel->SetTextL( iCurrentText );
-    iCurrentText = KNullDesC();
-    
-    iUpdateStatusIconDeferred = iSavedUpdateStatusIconDeferred;
-    
-    MakePublishIconsL();
-    iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel );
-    iPublishObserver->SetRefreshingL( EFalse );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::DoCompleteUpdateL()
-// --------------------------------------------------------------------------
-//
-TInt CWsfAiView::DoCompleteUpdateL( TAny* aPtr )
-    {
-    LOG_ENTERFN( "CWsfAiView::DoCompleteUpdateL" );
-    static_cast<CWsfAiView*>( aPtr )->DoCompleteUpdateL();
-    return ETrue;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::DisplayEngineOffL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::DisplayEngineOffL()
-    {
-    LOG_ENTERFN( "CWsfAiView::DisplayEngineOffL" );
-    iDeferredUpdater->Cancel();
-    iPublishObserver->SetRefreshingL( EFalse );
-    
-    if ( !iStatusScanningOff )
-        {
-        iStatusScanningOff = StringLoader::LoadL( 
-                R_QTN_SNIFFER_PLUG_IN_SCANNING_OFF );
-        }
-
-    iTextLabel->SetTextL( *iStatusScanningOff );
-
-    iUpdateSecureIconDeferred = ETransparentIcon;
-    iUpdateSignalStrengthIconDeferred = ETransparentIcon;
-    iUpdateStatusIconDeferred = EWlanOffIcon;
-    iPublishObserver->SetScanningState( EFalse );
-    MakePublishIconsL();
-    iPublishObserver->PublishContentL( iPublishIconArray, iTextLabel );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ActivateRefreshTimer()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::ActivateRefreshTimer()
-    {
-    LOG_ENTERFN( "CWsfAiView::ActivateRefreshTimer" );
-    iDeferredUpdater->Cancel();
-    iDeferredUpdater->Start(
-        TTimeIntervalMicroSeconds32( KDeferredWaitTime ),
-        TTimeIntervalMicroSeconds32( KDeferredWaitTime ),
-        *iDeferredUpdateCallBack );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::MakePublishIconsL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::MakePublishIconsL()
-    {
-    LOG_ENTERFN( "CWsfAiView::MakePublishIconsL" );
-    if ( iPublishIconArray )
-        {
-        iPublishIconArray->Reset();
-        iPublishIconArray->AppendL( iUpdateStatusIconDeferred );
-        iPublishIconArray->AppendL( iUpdateSecureIconDeferred );
-        iPublishIconArray->AppendL( iUpdateSignalStrengthIconDeferred );
-        }
-
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::MakeTransparentPublishIconsL()
-// --------------------------------------------------------------------------
-//
-void CWsfAiView::MakeTransparentPublishIconsL()
-    {
-    LOG_ENTERFN( "CWsfAiView::MakeTransparentPublishIconsL" );
-    TWsfPluginIcons tmp2, tmp3;
-
-    tmp2 = iUpdateSecureIconDeferred;
-    tmp3 = iUpdateSignalStrengthIconDeferred;
-
-    iUpdateSecureIconDeferred = ETransparentIcon;
-    iUpdateSignalStrengthIconDeferred = ETransparentIcon;
-
-    MakePublishIconsL();
-
-    iUpdateSecureIconDeferred = tmp2;
-    iUpdateSignalStrengthIconDeferred = tmp3;
-    }
-
-void CWsfAiView::UpdateViewL( MDesCArray* aItemTextArray )
-	{
-	LOG_ENTERFN( "CWsfAiView::UpdateViewL" );
-	TChar delimiter('\t');
-    TWsfPluginIcons statusIcon;
-    TWsfPluginIcons secureicon;
-    TWsfPluginIcons strengthIcon;
-    const TDesC& aString = aItemTextArray->MdcaPoint( 0 ) ;
-    
-    TInt firstTabPos = aString.Locate( delimiter );
-    TInt secondTabPos = aString.Mid( 
-                                firstTabPos +1 ).Locate( 
-                                        delimiter ) + firstTabPos + 1;
-    TInt thirdTabPos = aString.Mid( 
-                                secondTabPos +1 ).Locate( 
-                                        delimiter ) + secondTabPos + 1;
-    
-        //read the icons
-    TLex( aString.Mid( 0, firstTabPos )).Val( (TInt&)statusIcon );
-    TLex( aString.Mid(
-        secondTabPos+1 , thirdTabPos - (secondTabPos+1) )
-         ).Val( (TInt&) strengthIcon);
-
-    TLex( aString.Mid(
-        thirdTabPos+1 , aString.Length() - ( thirdTabPos + 1 ) )
-        ).Val( (TInt&) secureicon );
-            
-    iUpdateStatusIconDeferred = statusIcon;
-    
-    MakeTransparentPublishIconsL();
-    
-	iPublishObserver->PublishStatusIconL( iPublishIconArray, iTextLabel );
-	}
-
-// END OF FILE
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfdbobserver.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,255 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description: 
-*      Implementation of utilities functions.   
-*      
-*
-*/
-
-
-//User includes
-#include "wsfdbobserver.h"
-#include "wsfaicontroller.h"
-#include "wsflogger.h"
-
-#include <featmgr.h>
-
-#include <wlandevicesettingsinternalcrkeys.h> 
-#include <centralrepository.h>
-
-
-const TInt KWlanSettingsUiDefaultScanNetwork = 300;
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::CWlanPluginDbObserver
-// Constructor
-// ---------------------------------------------------------
-CWsfDbObserver::CWsfDbObserver(  ) 
-: CActive( EPriorityNormal ),
-iOuterScanState( EFalse )
-    {
-    }
-    
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::NewL
-// ---------------------------------------------------------    
-CWsfDbObserver* CWsfDbObserver::NewL(  )
-    {
-    CWsfDbObserver* self = new ( ELeave ) CWsfDbObserver( );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop();
-    return self;
-    }
-       
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::ConstructL
-// ---------------------------------------------------------   
-void CWsfDbObserver::ConstructL()
-    {
-#ifndef __WINS__ // client is not available on wins
-    iWlanMgmtClient = CWlanMgmtClient::NewL();
-#endif
-    
-    FeatureManager::InitializeLibL(); 
-         
-    CActiveScheduler::Add(this);
-
-  }
-    
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::~CWlanPluginDbObserver
-// Destructor
-// ---------------------------------------------------------       
-CWsfDbObserver::~CWsfDbObserver()
-    {
-    
-    
-    Cancel();
-    
-    delete iRecord;
-            
-    delete iSession;
-            
-    delete iWlanMgmtClient;
-    
- 		FeatureManager::UnInitializeLib();  
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::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 );
-    if ( iRecord->iBgScanInterval == 0 && iOuterScanState )
-        {
-        LOG_WRITE( "CWsfDbObserver::RunL -- Scan disabled" );
-        iController->DisableScanL();
-        iOuterScanState = EFalse;
-        }
-    else if(iRecord->iBgScanInterval != 0 && !iOuterScanState )
-        {
-        LOG_WRITE( "CWsfDbObserver::RunL -- Scan enabled" );
-        iController->EnableScanL();
-        iOuterScanState = ETrue;
-        }
-    
-    SetActive();
-    
-    iRecord->RequestNotification(*iSession,iStatus);
-    
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::DoCancel
-// ---------------------------------------------------------       
-void CWsfDbObserver::DoCancel()
-    {
-    
-    iRecord->CancelNotification( *iSession, iStatus );       
-    
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::ActivateIt
-// ---------------------------------------------------------       
-void CWsfDbObserver::ActivateItL()
-    {
-    
-    iSession = CMDBSession::NewL( KCDLatestVersion );
-    
-    TMDBElementId tableId = 0;
-    
-    tableId = CCDWlanDeviceSettingsRecord::TableIdL( *iSession );
-        
-    iRecord = new( ELeave )
-            CCDWlanDeviceSettingsRecord( tableId );         
-    
-    iRecord->iWlanDeviceSettingsType = KWlanUserSettings;
-    
-    
-    if(iRecord->FindL( *iSession ))
-        {
-        iRecord->LoadL( *iSession );
-        }          
-       
-    if ( iRecord->iBgScanInterval != 0 )
-        {
-        iController->EnableScanL();
-        iOuterScanState = ETrue;
-        }
-    SetActive();
-    
-    iRecord->RequestNotification(*iSession,iStatus);
-    
-    }
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::SetController
-// ---------------------------------------------------------  
-void CWsfDbObserver::SetController( TWsfAiController* aController )
-	{
-	iController = aController;
-	}
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::EnableScanL
-// ---------------------------------------------------------  
-void 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();
-#ifndef __WINS__
-        // Notifying WLAN Engine about changes in settings
-        iWlanMgmtClient->NotifyChangedSettings();
-#endif
-        }
-    }
-        
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::DisableScanL
-// ---------------------------------------------------------     
-void CWsfDbObserver::DisableScanL()
-	{
-	if( iOuterScanState )
-		{
-		iSession->OpenTransactionL();
-		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();
-#ifndef __WINS__
-        // Notifying WLAN Engine about changes in settings
-        iWlanMgmtClient->NotifyChangedSettings();
-#endif
-		}
-	}
-
-// ---------------------------------------------------------
-// CWlanPluginDbObserver::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;
-  			}	
-     }
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsficonarraycreator.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,370 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfIconArrayCreator.
-*
-*/
-
-//  EXTERNAL INCLUDES
-#include <AknIconArray.h>
-#include <AknIconUtils.h>
-#include <AknsUtils.h>
-#include <eikenv.h>
-#include <AknsConstants.h>
-#include <wsficons.mbg>
-#include <gulicon.h>
-
-//  INTERNAL INCLUDES
-#include "wsfaiplugincommon.h"
-#include "wsficonarraycreator.h"
-
-
-//  LOCAL DEFINITIONS
-const TInt KAIShortcutPluginGranularity = 10;
-#ifdef _DEBUG
-    _LIT( KIconArrayCreatorPanic, "CWsfIconArrayCreator" );
-    #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KIconArrayCreatorPanic, __LINE__) )
-#else
-        #define _ASS_D( cond ) {}
-#endif //_DEBUG
-
-// --------------------------------------------------------------------------
-// CleanUpResetAndDestroy
-// --------------------------------------------------------------------------
-//
-void CleanUpResetAndDestroy(TAny* aArray)
-    {
-    if(aArray)
-        {
-        CArrayPtrFlat<CBase>* array=(CArrayPtrFlat<CBase>*)aArray;
-        array->ResetAndDestroy();
-        delete array;
-        }
-    }
-
-// --------------------------------------------------------------------------
-// LoadIconLC
-// --------------------------------------------------------------------------
-//
-CGulIcon* LoadIconLC( const TInt aIconId, const TFileName aBitmapFile )
-    {
-    CGulIcon* icon = CGulIcon::NewLC();
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-
-    // Creates bitmap an icon.
-    AknIconUtils::CreateIconL( bitmap, 
-                               mask,
-                               aBitmapFile,
-                               aIconId,
-                               aIconId+1 );
-                
-    icon->SetBitmap( bitmap );
-    icon->SetMask( mask );
-    return icon;
-    }
-
-// --------------------------------------------------------------------------
-// LoadSkinnableIconLC
-// --------------------------------------------------------------------------
-//
-CGulIcon* LoadSkinnableIconLC( const TAknsItemID aAknItemId,
-                               const TInt aIconId,
-                               const TFileName aBitmapFile )
-    {
-      CGulIcon* icon = CGulIcon::NewLC();
-      CFbsBitmap* bitmap;
-      CFbsBitmap* mask;
-
-      // Creates bitmap an icon.
-
-      AknsUtils::CreateIconL( AknsUtils::SkinInstance(),
-                              aAknItemId,
-                              bitmap,
-                              mask,
-                              aBitmapFile,
-                              aIconId,
-                              aIconId+1 );
-
-      icon->SetBitmap( bitmap );
-      icon->SetMask( mask );
-      return icon;
-      }
-      
-// ---------------------------------------------------------
-// LoadSkinnableBlackIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* LoadSkinnableBlackIconLC( const TAknsItemID aAknItemId, 
-                                    const TInt aIconId,
-                                    const TFileName aBitmapFile )
-    {
-    CGulIcon* icon = CGulIcon::NewLC();
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-
-    // Creates bitmap an icon.
-    
-    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(), 
-                            aAknItemId, 
-                            KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13, 
-                            bitmap, 
-                            mask, 
-                            aBitmapFile,
-                            aIconId, 
-                            aIconId+1,
-                            KRgbBlack );
-
-    icon->SetBitmap( bitmap );
-    icon->SetMask( mask );
-    return icon;
-    }
-
-// --------------------------------------------------------------------------
-// CWsfIconArrayCreator::CreateArrayL
-// --------------------------------------------------------------------------
-//
-CAknIconArray* CWsfIconArrayCreator::CreateArrayL( )
-    {
-    // try to locate the resorce file
-    TFindFile finder( CEikonEnv::Static()->FsSession() );
-    User::LeaveIfError( finder.FindByDir( 
-            KBitmapFile, KDC_APP_BITMAP_DIR ) );
-    TFileName bitmapFileName = finder.File();
-
-    CAknIconArray* icons = new(ELeave) CAknIconArray( 
-            KAIShortcutPluginGranularity );
-
-    CleanupStack::PushL( TCleanupItem( CleanUpResetAndDestroy,icons) );
-
-    //ESecureNetworkIcon
-    icons->InsertL( ESecureNetworkIcon, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSecureNetworkAdd, 
-            EMbmWsficonsQgn_indi_wlan_secure_network_add, 
-            bitmapFileName ) );
-
-    CleanupStack::Pop(); /*icon*/
-
-    //ENoSignalIcon
-    icons->InsertL( ENoSignalIcon, LoadIconLC( 
-            EMbmWsficonsEmpty13x13, 
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    //EPoorSignal
-    icons->InsertL( EPoorSignal, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSignalLowAdd, 
-            EMbmWsficonsQgn_indi_wlan_signal_low_add, 
-            bitmapFileName ) );
-
-    CleanupStack::Pop(); /*icon*/
-
-    //EAverageSignal
-    icons->InsertL( EAverageSignal, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSignalMedAdd, 
-            EMbmWsficonsQgn_indi_wlan_signal_med_add, 
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    //EExcelentSignal
-    icons->InsertL( EExcelentSignal, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSignalGoodAdd , 
-            EMbmWsficonsQgn_indi_wlan_signal_good_add, 
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    //EConnectedNWIcon
-    icons->InsertL( EConnectedNWIcon, 
-            LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn, 
-                    EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on,
-                    bitmapFileName ) );
-
-    CleanupStack::Pop(); /*icon*/
-
-    //EKnownNWIcon
-    icons->InsertL( EKnownNWIcon, LoadSkinnableIconLC( 
-            KAknsIIDQgnIndiWlanSnifferPluginOn, 
-            EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on, 
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    //ETransparentIcon
-    icons->InsertL( ETransparentIcon, LoadIconLC( 
-            EMbmWsficonsQgn_prop_empty, 
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    //EWlanOnIcon
-    icons->InsertL( EWlanOnIcon, LoadSkinnableIconLC( 
-            KAknsIIDQgnIndiWlanSnifferPluginOn, 
-            EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on, 
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    icons->InsertL( EWlanOnIcon_0, LoadSkinnableIconLC( 
-            KAknsIIDQgnIndiWlanSnifferPluginOn0, 
-            EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_0,
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    icons->InsertL( EWlanOnIcon_1, LoadSkinnableIconLC( 
-            KAknsIIDQgnIndiWlanSnifferPluginOn1, 
-            EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_1, 
-            bitmapFileName ) );
-    CleanupStack::Pop(); /*icon*/
-
-    //ETransparentIcon
-    icons->InsertL( EWlanOffIcon, LoadSkinnableIconLC( 
-            KAknsIIDQgnIndiWlanSnifferPluginOff, 
-            EMbmWsficonsQgn_indi_wlan_sniffer_plugin_off, 
-            bitmapFileName ) );
-    CleanupStack::Pop();
-
-    icons->InsertL( EWlanNaviBarIcon, LoadSkinnableIconLC(
-            KAknsIIDQgnMenuWlanSniffer,
-            EMbmWsficonsQgn_menu_wlan_sniffer,
-            bitmapFileName ) );
-
-    CleanupStack::Pop(); /*icon*/
-    CleanupStack::Pop( icons );
-
-    return icons;
-    }
-
-// --------------------------------------------------------------------------
-// CWsfIconArrayCreator::GetIconLC
-// --------------------------------------------------------------------------
-//
-CGulIcon* CWsfIconArrayCreator::GetIconLC( TInt aIconId )
-    {
-
-    // try to locate the resorce file
-    TFindFile finder( CEikonEnv::Static()->FsSession() );
-    User::LeaveIfError( finder.FindByDir( KBitmapFile, 
-            KDC_APP_BITMAP_DIR ) );
-    TFileName bitmapFileName = finder.File();
-    TAknsItemID localAknItemId( KAknsIIDQgnMenuWlanSniffer );
-    TInt iconId( EMbmWsficonsQgn_menu_wlan_sniffer );
-
-    switch( aIconId )
-        {
-        case ESecureNetworkIcon:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSecureNetworkAdd;
-            iconId = EMbmWsficonsQgn_indi_wlan_secure_network_add; 
-            break;
-            }
-
-        case ENoSignalIcon:
-            return LoadIconLC( EMbmWsficonsEmpty13x13, bitmapFileName );
-
-        case EPoorSignal:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSignalLowAdd;
-            iconId = EMbmWsficonsQgn_indi_wlan_signal_low_add; 
-            break;
-            }
-
-        case EAverageSignal:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSignalMedAdd;
-            iconId = EMbmWsficonsQgn_indi_wlan_signal_med_add; 
-            break;
-            }            
-
-        case EExcelentSignal:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSignalGoodAdd;
-            iconId = EMbmWsficonsQgn_indi_wlan_signal_good_add; 
-            break;
-            }            
-
-        case EConnectedNWIcon:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn;
-            iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on;  
-            break;
-            }                 
-
-        case EKnownNWIcon:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn;
-            iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on; 
-            break;
-            } 
-
-        case ETransparentIcon:
-            return LoadIconLC( EMbmWsficonsQgn_prop_empty, bitmapFileName );
-
-        case EWlanOnIcon:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn;
-            iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on; 
-            break;
-            } 
-
-        case EWlanOnIcon_0:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn0;
-            iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_0; 
-            break;
-            }
-
-        case EWlanOnIcon_1:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOn1;
-            iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_1; 
-            break;
-            }
-
-        case EWlanOffIcon:
-            {
-            localAknItemId = KAknsIIDQgnIndiWlanSnifferPluginOff;
-            iconId = EMbmWsficonsQgn_indi_wlan_sniffer_plugin_off; 
-            break;
-            }  
-
-        case EWlanNaviBarIcon:
-            {
-            localAknItemId = KAknsIIDQgnMenuWlanSniffer;
-            iconId = EMbmWsficonsQgn_menu_wlan_sniffer; 
-            break;
-            }  
-        default:
-            {
-            _ASS_D( 0 );
-            }
-        }
-
-    switch( aIconId )
-        {
-        case ESecureNetworkIcon:
-        case EPoorSignal:
-        case EAverageSignal:
-        case EExcelentSignal:
-            {
-            return LoadSkinnableBlackIconLC( localAknItemId, 
-                    iconId,
-                    bitmapFileName );
-            }
-        default:
-            {
-            break;
-            }
-        } 
-    return LoadSkinnableIconLC( localAknItemId, 
-            iconId, 
-            bitmapFileName );
-    }
-
--- a/wlanutilities/wlansniffer/aiplugin/src/wsfsearchwlansdialog.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,197 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfSearchWlansDialog
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <badesca.h>
-#include <coemain.h>
-#include <eiklbx.h>
-#include <eikclbd.h>
-#include <eikclb.h>
-#include <AknIconArray.h>
-#include <wsfaipluginrsc.rsg>
-//  INTERNAL INCLUDES
-#include "wsfsearchwlansdialog.h"
-
-//  MACROS
-#ifdef _DEBUG    
-    _LIT( KSearchDialogPanic, "CWsfSearchWlansDialog" );
-    #define _ASS_D( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KSearchDialogPanic, __LINE__) )
-#else
-    #define _ASS_D( cond ) {}
-#endif // DEBUG    
-
-
-//  CONSTRUCTION AND DESTRUCTION
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::NewL
-// --------------------------------------------------------------------------
-//    
-CWsfSearchWlansDialog* CWsfSearchWlansDialog::NewL( TInt &aSelectedItem )
-    {
-    CWsfSearchWlansDialog* thisPtr = NewLC( aSelectedItem );
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;
-    }
-    
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::NewLC
-// --------------------------------------------------------------------------
-//    
-CWsfSearchWlansDialog* CWsfSearchWlansDialog::NewLC( TInt &aSelectedItem )
-    {
-    CWsfSearchWlansDialog* thisPtr = 
-                    new ( ELeave ) CWsfSearchWlansDialog( aSelectedItem );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr;
-    }
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::~CWsfSearchWlansDialog
-// --------------------------------------------------------------------------
-//    
-CWsfSearchWlansDialog::~CWsfSearchWlansDialog()
-    {
-    }
-    
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::CWsfSearchWlansDialog
-// --------------------------------------------------------------------------
-//    
-CWsfSearchWlansDialog::CWsfSearchWlansDialog( TInt &aSelectedItem ) : 
-    CAknListQueryDialog( &aSelectedItem ),
-    iSelectedItem( &aSelectedItem )
-    {
-    }
-    
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::ConstructL
-// --------------------------------------------------------------------------
-//    
-void CWsfSearchWlansDialog::ConstructL()
-    {
-    // nothing at the moment...
-    }
-    
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::ProcessCommandL
-// --------------------------------------------------------------------------
-//    
-void CWsfSearchWlansDialog::ProcessCommandL( TInt aCommandId )
-    {
-    CAknListQueryDialog::ProcessCommandL( aCommandId );    
-    }
-    
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::UpdateHotSpotsL
-// --------------------------------------------------------------------------
-//    
-void CWsfSearchWlansDialog::UpdateHotSpotsL( MDesCArray* aItemTextArray,
-                                             TInt aCurrentItem )
-    {
-    _ASS_D( ListBox() );
-    
-    SetItemTextArray( aItemTextArray );
-    SetOwnershipType( ELbmDoesNotOwnItemArray );
-    ListBox()->HandleItemAdditionL();
-    if ( aCurrentItem < 0 || aCurrentItem >= aItemTextArray->MdcaCount() )
-        {
-        ListBox()->ClearSelection();
-        }
-    else
-        {
-        ListBox()->SetCurrentItemIndex( aCurrentItem );     
-        }    
-    }
-    
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::SelectedItem
-// --------------------------------------------------------------------------
-//    
-TInt CWsfSearchWlansDialog::SelectedItem()
-    {
-    _ASS_D( ListBox() );
-
-    return ListBox()->CurrentItemIndex();
-    }
-
-// --------------------------------------------------------------------------
-// CWsfAiPlugin::StartConnectingAnimationL
-// --------------------------------------------------------------------------
-//
-void CWsfSearchWlansDialog::StartConnectingAnimationL()
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::ForceRefreshingL
-// --------------------------------------------------------------------------
-//    
-void CWsfSearchWlansDialog::ForceRefreshingL()
-    {
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::MultilineControl
-// --------------------------------------------------------------------------
-//
-TBool CWsfSearchWlansDialog::MultilineControl() 
-    { 
-    return ETrue; 
-    }
-      
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::UpdateViewL
-// --------------------------------------------------------------------------
-//    
-void CWsfSearchWlansDialog::UpdateViewL( MDesCArray* /*aItemTextArray*/ )
-    {
-    }
-
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::DisplayEngineOffL
-// --------------------------------------------------------------------------
-//    
-void CWsfSearchWlansDialog::DisplayEngineOffL()
-    {
-    }
-
-
-    
-// --------------------------------------------------------------------------
-// CWsfSearchWlansDialog::PreLayoutDynInitL
-// --------------------------------------------------------------------------
-//    
-void CWsfSearchWlansDialog::PreLayoutDynInitL()
-    {
-    _ASS_D( ListBox() );
-    // add the empty text here....
-    HBufC* noWlansAvailable = iCoeEnv->AllocReadResourceLC( 
-                                        R_QTN_STATUS_NO_WLANS_AVAILABLE );
-    
-    ListBox()->View()->SetListEmptyTextL( *noWlansAvailable );
-    
-    CleanupStack::PopAndDestroy( noWlansAvailable );
-    CAknListQueryDialog::PreLayoutDynInitL();
-    }
-    
-// End of file
-
--- a/wlanutilities/wlansniffer/apwizard/bwins/wsfapwizardu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,7 +0,0 @@
-EXPORTS
-	??1CWsfWlanIapWizard@@UAE@XZ @ 1 NONAME ; CWsfWlanIapWizard::~CWsfWlanIapWizard(void)
-	?CreateAccessPointL@CWsfWlanIapWizard@@QAEHXZ @ 2 NONAME ; int CWsfWlanIapWizard::CreateAccessPointL(void)
-	?LaunchWizardL@CWsfWlanIapWizard@@QAEHAAVTWsfWlanInfo@@H@Z @ 3 NONAME ; int CWsfWlanIapWizard::LaunchWizardL(class TWsfWlanInfo &, int)
-	?NewL@CWsfWlanIapWizard@@SAPAV1@XZ @ 4 NONAME ; class CWsfWlanIapWizard * CWsfWlanIapWizard::NewL(void)
-	?NewLC@CWsfWlanIapWizard@@SAPAV1@XZ @ 5 NONAME ; class CWsfWlanIapWizard * CWsfWlanIapWizard::NewLC(void)
-
--- a/wlanutilities/wlansniffer/apwizard/data/wsfapwizard.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,369 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project ApWizard
-*
-*/
-
-
-
-NAME WLWZ
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <AvkonIcons.hrh>
-
-
-#include <wsfapwizard.loc>
-#include <wsfmainapplication.loc>
-#include "wsfapwizard.hrh"
-
-
-RESOURCE RSS_SIGNATURE { }
-
-
-RESOURCE TBUF16 { buf=""; }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_enter_network_ssid
-// String for WLAN network name prompt
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_enter_network_ssid         
-    { 
-    buf = qtn_wlan_prmpt_network_name; 
-    }
-    
-
-// ---------------------------------------------------------------------------
-// r_qtn_cmon_quest_create_wlan_iap
-// String for create AP query
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_cmon_quest_create_wlan_iap 
-    { 
-    buf = qtn_cmon_quest_create_wlan_iap; 
-    }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_netw_conset_info_eap_settings_default
-// String for default EAP settings infonote
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_netw_conset_info_eap_settings_default 
-    { 
-    buf = qtn_netw_conset_info_eap_settings_default; 
-    }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wlan_info_no_networks_found
-// String for no networks infonote
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_wlan_info_no_networks_found 
-    {
-    buf = qtn_wlan_info_no_networks_found; 
-    }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_query_general
-// Multi-purpose textfield + ok-cancel dialog
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_wizard_query_general
-    {
-    flags = EGeneralQueryFlags | EEikDialogFlagNotifyEsc;
-    buttons = R_AVKON_SOFTKEYS_OK_CANCEL__OK;
-    items = 
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_DATA_QUERY
-                {
-                layout = EDataLayout;
-                control = EDWIN
-                    {
-                    default_case = EAknEditorLowerCase;
-                    avkon_flags = EAknEditorFlagNoT9;
-                    };
-                };
-            }       
-        };
-    }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_modes
-// Security mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_auth_modes
-    {    
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_netw_conset_wlan_security_mode_open;        
-            },
-        LBUF
-            {
-            txt = qtn_netw_conset_wlan_security_mode_wep;        
-            },
-        LBUF
-            {
-            txt = qtn_netw_conset_wlan_security_mode_802_1x;
-            },
-        LBUF
-            {
-            txt = qtn_netw_conset_wlan_security_mode_wpa;        
-            }
-        };
-    }
-
-    
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_mode
-// Security mode query
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_auth_mode
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_wizard_auth_modes;
-                    };
-                heading = qtn_netw_conset_prmpt_wlan_nw_security_mode;
-                };
-            }
-        };
-    }  
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_modes_ad_hoc
-// Security mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_auth_modes_ad_hoc
-    {    
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_netw_conset_wlan_security_mode_open;        
-            },
-        LBUF
-            {
-            txt = qtn_netw_conset_wlan_security_mode_wep;        
-            }
-        };
-    }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_auth_mode_ad_hoc
-// Security mode query
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_auth_mode_ad_hoc
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_wizard_auth_modes_ad_hoc;
-                    };
-                heading = qtn_netw_conset_prmpt_wlan_nw_security_mode;
-                };
-            }
-        };
-    }   
-    
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_network_modes
-// Network mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_network_modes
-    {    
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_wlan_network_mode_infra_public;        
-            },
-        LBUF
-            {
-            txt = qtn_wlan_network_mode_infra_hidden;        
-            },
-        LBUF
-            {
-            txt = qtn_wlan_network_mode_adhoc_public;        
-            }
-        };
-    }    
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_network_mode
-// Query of network modes
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_network_mode
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_wizard_network_modes;
-                    };
-                heading = qtn_netw_conset_prmpt_wlan_nw_mode_and_status;
-                };
-            }
-        };
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_wpa_modes
-// WPA mode list
-// ---------------------------------------------------------------------------
-//
-RESOURCE ARRAY r_qtn_wizard_wpa_modes
-    {    
-    items =
-        {
-        LBUF
-            {
-            txt = qtn_netw_conset_prmpt_wpa_mode_eap;        
-            },
-        LBUF
-            {
-            txt = qtn_netw_conset_prmpt_wpa_mode_psk;        
-            }
-        };
-    }    
-    
-
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_wpa_mode
-// Query of WPA modes
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_LIST_QUERY r_qtn_wizard_wpa_mode
-    {
-    flags = EGeneralQueryFlags;
-    softkeys = R_AVKON_SOFTKEYS_SELECT_CANCEL__SELECT;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSinglePopupMenuListBox;                
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    array_id = r_qtn_wizard_wpa_modes;
-                    };
-                heading = qtn_netw_conset_prmpt_wlan_wpa_mode;
-                };
-            }
-        };
-    }    
-
-
-    
-// ---------------------------------------------------------------------------
-// r_qtn_wizard_confirmation_query
-// Multi-purpose yes-no query
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_wizard_confirmation_query
-    {
-    flags = EGeneralQueryFlags;
-    buttons = R_AVKON_SOFTKEYS_YES_NO__YES;
-    items = 
-        {
-        DLG_LINE
-            {
-            type = EAknCtQuery;
-            id = EGeneralQuery;
-            control = AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }       
-        };
-    }    
-    
-
-// ---------------------------------------------------------------------------
-// r_searching_wlan_wait_note
-// Wait note while searching for networks
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_searching_wlan_wait_note
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EWaitNoteSearchingWlans;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_wlan_wait_searching_networks;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-    
--- a/wlanutilities/wlansniffer/apwizard/eabi/wsfapwizardu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,9 +0,0 @@
-EXPORTS
-	_ZN17CWsfWlanIapWizard13LaunchWizardLER12TWsfWlanInfoi @ 1 NONAME
-	_ZN17CWsfWlanIapWizard18CreateAccessPointLEv @ 2 NONAME
-	_ZN17CWsfWlanIapWizard4NewLEv @ 3 NONAME
-	_ZN17CWsfWlanIapWizard5NewLCEv @ 4 NONAME
-	_ZN17CWsfWlanIapWizardD0Ev @ 5 NONAME
-	_ZN17CWsfWlanIapWizardD1Ev @ 6 NONAME
-	_ZN17CWsfWlanIapWizardD2Ev @ 7 NONAME
-
--- a/wlanutilities/wlansniffer/apwizard/group/apwizard.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project ApWizard
-*
-*/
-
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET                  wsfapwizard.dll
-TARGETTYPE              dll
-UID                     0x1000008e 0x10281CAD
-
-CAPABILITY              CAP_GENERAL_DLL
-
-
-START RESOURCE    ../data/wsfapwizard.rss
-HEADER
-TARGETPATH        resource
-LANGUAGE_IDS
-END
-
-
-// Source files
-SOURCEPATH         ../src
-SOURCE             wsfwlaniapwizard.cpp
-SOURCE             wsfwlaniapcreator.cpp
-SOURCE             wsfwlanssiddiscovery.cpp
-SOURCE             wsfactivewaiter.cpp
-
-
-// own headers
-USERINCLUDE     ../inc
-
-// inner API
-USERINCLUDE     ../../inc
-
-// private API
-USERINCLUDE     ../../../inc
-
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-
-
-// Used system libraries
-LIBRARY                 euser.lib
-LIBRARY                 efsrv.lib
-LIBRARY                 bafl.lib 
-LIBRARY                 estor.lib 
-LIBRARY                 commsdat.lib
-LIBRARY                 avkon.lib
-LIBRARY                 cone.lib 
-LIBRARY                 commonengine.lib
-LIBRARY                 eikcoctl.lib 
-LIBRARY                 eikdlg.lib 
-LIBRARY                 eikcore.lib
-LIBRARY                 esock.lib 
-LIBRARY                 commonui.lib
-LIBRARY                 charconv.lib 
-
-// Used project libraries
-LIBRARY                 wsfwlaninfo.lib 
-LIBRARY                 cmmanagerdatabase.lib 
-LIBRARY                 cmmanager.lib
-LIBRARY                 connectionuiutilities.lib
-LIBRARY                 ecom.lib
-
-DEBUGLIBRARY            flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/apwizard/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project ApWizard
-*
-*/
-
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS 
-DEFAULT
-
-
-PRJ_EXPORTS
-../inc/wsfwlaniapwizard.h        |../../inc/wsfwlaniapwizard.h
-
-// export localised loc file
-../loc/wsfapwizard.loc              MW_LAYER_LOC_EXPORT_PATH(wsfapwizard.loc)
-
-../rom/wsfapwizard.iby              CORE_MW_LAYER_IBY_EXPORT_PATH(wsfapwizard.iby)
-../rom/wsfapwizardresources.iby     LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfapwizardresources.iby)
-
-
-PRJ_MMPFILES
-apwizard.mmp
-
-
-// End of file
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfactivewaiter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,112 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Class header for CWsfActiveWaiter
-*
-*/
-
-
-
-#ifndef C_WSFACTIVEWAITER_H
-#define C_WSFACTIVEWAITER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-//  CLASS DEFINITION
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest()
- * 
- * Usage:
- * @code
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest() == KErrNone )
- *      {
- *      // handle success
- *      }
- *      else 
- *      {
- *      // handle failure
- *      }
- * CleanupStack::PopAndDestroy( waiter );
- * @endcode
- *
- * @lib wsfserver.exe
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ): public CActive
-    {
-    public:
-        /**
-        * Factory function
-        * @since S60 5.0
-        * @return CWsfActiveWaiter instance.
-        */
-        static CWsfActiveWaiter* NewL();
-
-        /**
-        * Factory function
-        * @since S60 5.0
-        * @return CWsfActiveWaiter instance.
-        */
-        static CWsfActiveWaiter* NewLC();
-
-        /**
-        * Destructor
-        * @since S60 5.0
-        */    
-        virtual ~CWsfActiveWaiter();          
-
-    protected:
-        /**
-        * Constructor
-        * @since S60 5.0
-        */    
-        CWsfActiveWaiter();
-
-    protected:  // from CActive
-
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-        */
-        void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-        */
-        void RunL();
-
-    public:     // new methods
-        /**
-        * Waits for its TRequestStatus to be completed
-        * @since S60 5.0
-        * @return Error code returned from server after request is completed
-        */
-        TInt WaitForRequest();
-    
-    protected:  // data
-        /**
-        * Nested waitloop
-        */
-        CActiveSchedulerWait iWait;
-    };     
-
-#endif // C_WSFACTIVEWAITER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfapwizard.hrh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Resource headers for project ApWizard
-*
-*/
-
-
-
-#ifndef WSFAPWIZARD_HRH
-#define WSFAPWIZARD_HRH
-
-/**
-* Dialog ID's in ApWizard
-*/
-enum TWsfApWizardDialogIds
-    {       
-    EWaitNoteSearchingWlans = 5000
-    };
-
-
-#endif // WSFAPWIZARD_HRH
-
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfwlaniapcreator.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,174 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Class header for CWsfWlanIapCreator
-*
-*/
-
-
-
-
-#ifndef C_WSFWLANIAPCREATOR_H
-#define C_WSFWLANIAPCREATOR_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <cmmanagerext.h>
-#include <cmpluginwlandef.h>
-
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-
-//  CLASS DEFINITION
-/**
-* Class collects various IAP creation related functions.
-*
-* @lib wsfapwizard.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanIapCreator ): public CBase
-    {
-    public:
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance
-        */
-        static CWsfWlanIapCreator* NewL();
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance
-        */
-        static CWsfWlanIapCreator* NewLC();
-
-        /**
-        * Destructor
-        * @since S60 5.0
-        */
-        ~CWsfWlanIapCreator();
-
-
-    private:    // constructors
-        /**
-        * Constructor
-        * @since S60 5.0
-        */
-        CWsfWlanIapCreator();    
-        
-        /**
-        * Second-phase constructor
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-
-    public:     // new methods
-        /**
-        * Sets the default destination for subsequent access point 
-        * creation calls
-        * @since S60 5.0
-        * @param aDestinationId The id of the new default destination
-        */
-        void SetDefaultDestination( const TUint32 aDestinationId );
-
-        /**
-        * Creates an access point to wlan.
-        * @since S60 5.0
-        * @param aWlanInfo Contains all available data from wlan scanner. 
-        *                  Note: the network name field may change if 
-        *                  IAP already exists, e.g. MyWlan -> MyWlan(01). 
-        *                  Also the IAP id is changed on successful creation
-        * @param aPresharedKey The used key to access network
-        * @param aIsHex ETrue if the key is given in hexadecimal string format.
-        *               Applicable only in case of WEP authentication.
-        */    
-        void CreateAccessPointL( TWsfWlanInfo& aWlanInfo, 
-                                 const TDesC& aPresharedKey, 
-                                 const TBool aIsHex );    
-
-
-    private:    // new methods
-        /**
-        * Creates connection method using the given WLAN parameters
-        * @since S60 5.0
-        * @param aWlanInfo WLAN parameters.
-        *                  Note: the network name field may change if 
-        *                  IAP already exists, e.g. MyWlan -> MyWlan(01)
-        * @return The id of the created IAP
-        */
-        TUint32 CreateConnectionMethodL( TWsfWlanInfo& aWlanInfo );
-        
-        /**
-        * Stores WPA data
-        * @since S60 5.0
-        * @param aIapId The IAP for which WPA data are to be stored
-        * @param aPresharedKey WPA key string. MUST be correct as the function
-        *                  DOES NOT verify its correctness!
-        * @param aSecMode Security mode (to tell apart WPA-PSK/EAP)
-        */    
-        void StoreWPADataL( const TInt aIapId, 
-                            const TDesC& aPresharedKey, 
-                            const CMManager::TWlanSecMode aSecMode );
-        
-        /**
-        * Stores WEP key data
-        * @param S60 5.0
-        * @param aIapId The IAP for which WEP data are to be stored
-        * @param aWepKey WEP key string. MUST be correct as the function 
-        *                  DOES NOT verify its correctness!
-        * @param aIsHexWep To indicate whether the passed key is in hex format
-        */
-        void StoreWEPDataL( const TInt aIapId, 
-                            const TDesC& aWepKey, 
-                            const TBool aIsHexWep );
-
-        /**
-        * Converts an ascii sequence to hexadecimal character string
-        * @since S60 5.0
-        * @param aSource The ASCII string
-        * @param aDest The destination for the hex string
-        */
-        void ConvertAsciiToHex( const TDesC8& aSource, TDes8& aDest );
-
-        /**
-        * Cleanup function for commsdat session
-        * @since S60 5.0
-        * @param aDbSession The commsdat session to clean up
-        */
-        static void RollbackCommsDat( TAny* aDbSession );
-        
-
-    private:    // data
-        /**
-        * Commsdat session object (owned)
-        */
-        CommsDat::CMDBSession *iDbSession;
-        
-        /**
-        * Handle to the CmManager
-        */
-        RCmManagerExt iCmManagerExt;
-        
-        /**
-        * Default destination id
-        */
-        TUint32 iDestinationId;
-    };
-
-#endif // C_WSFWLANIAPCREATOR_H
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfwlaniapwizard.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,221 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Class header for CWsfWlanIapCreator
-*
-*/
-
-
-
-#ifndef C_WSFWLANIAPWIZARD_H
-#define C_WSFWLANIAPWIZARD_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <AknWaitDialog.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfWlanIapCreator;
-class CWsfWlanSsidDiscovery;
-
-
-//  CLASS DEFINITION
-/**
-* Class to control the user interaction during access point creation
-*
-* @lib wsfapwizard.lib
-* @since S60 5.0
-*/  
-NONSHARABLE_CLASS( CWsfWlanIapWizard ): public CBase,
-                                        public MProgressDialogCallback
-    {
-    public:  
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance
-        */
-        IMPORT_C static CWsfWlanIapWizard* NewL();
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance
-        */
-        IMPORT_C static CWsfWlanIapWizard* NewLC();
-
-        /**
-        * Destructor
-        * @since S60 5.0
-        */
-        IMPORT_C ~CWsfWlanIapWizard();
-
-
-    private:
-        /**
-        * Constructor
-        * @since S60 5.0
-        */
-        CWsfWlanIapWizard();    
-
-        /**
-        * Second-phase constructor
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-
-    private:    // from MProgressDialogCallback
-        
-        /**
-        * Callback method. Gets called when a dialog is dismissed. 
-        * @since S60 5.0
-        * @param aButtonId The button which caused the dismiss
-        */        
-        void DialogDismissedL( TInt aButtonId ); 
-
-
-    public:     // new methods
-        /** 
-        * Starts the IAP creation wizard using the given wlaninfo item
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo with the already known network details
-        * @param aDefineAccessPoint If ETrue, 'Define access point' was 
-        *                   selected from 'Options' menu
-        * @return ETrue on success, otherwise EFalse 
-        */
-        IMPORT_C TBool LaunchWizardL( TWsfWlanInfo& aWlanInfo, 
-                                      TBool aDefineAccessPoint );
-
-        /**
-        * Creates the accesspoint using the entered data
-        * @since S60 5.0
-        * @return ETrue on success, EFalse if IAP creation was cancelled
-        */
-        IMPORT_C TBool CreateAccessPointL();    
-        
-
-    private:
-        /**
-        * Makes necessary questions when creating the IAP
-        * @since S60 5.0
-        */
-        void AskNetworkDetailsL();
-        
-        /**
-        * Prompts for the WLAN SSID in case of hidden/unlisted networks
-        * @since S60 5.0
-        * @return Buffer containing the entered SSID
-        */        
-        HBufC* AskSsidL();
-
-        /**
-        * General purpose text query
-        * @since S60 5.0
-        * @param aQueryStringResource Resource id of the caption string
-        * @param aVariable The buffer to put the entered data into
-        * @param aMaxLength Max length of the buffer
-        * @return Id of the button which dismissed the query
-        */
-        TInt QueryTextL( TInt aQueryStringResource, 
-                         TDes& aVariable, 
-                         const TInt& aMaxLength );
-
-        /**
-        * Queries the secure key 
-        * @since S60 5.0
-        * @return ETrue if query was accepted, EFalse on cancel
-        */
-        TBool QuerySecureKeyL();
-        
-        /**
-        * Cleanup function for the searching for wlan waitnote
-        * @since S60 5.0
-        * @param aPtr Pointer to this class
-        */
-        static void DismissWaitNote( TAny* aPtr );
-
-        
-        /**
-        * Initializes the resource file in the given UI context
-        * @since S60 5.0
-        * @param aEnv The current UI environment
-        * @return Resource file offset
-        */
-        static TInt InitResourcesL( CEikonEnv& aEnv );
-
-        /**
-        * Frees the given resource in the current UI context
-        * @since S60 5.0
-        * @param aEnv The current UI environment
-        * @param aResOffset The resource to release
-        */
-        static void ReleaseResources( CEikonEnv& aEnv, TInt aResOffset );
-        
-        
-    private:    // data
-        /**
-        * Reference to the Eikon environment (not owned)
-        */        
-        CEikonEnv& iEnv;
-        
-        /**
-        * Password for the current network (owned)
-        */        
-        HBufC* iUsedPassword;
-        
-        /**
-        * In case of WEP networks it indicates whether the password is given
-        * in hexadecimal format
-        */
-        TBool iIsHexWep;
-        
-        /**
-        * IAP creator object (owned)
-        */
-        CWsfWlanIapCreator* iCreator;
-
-        /**
-        * Resource file offset
-        */
-        TInt iResourceFileOffset;
-        
-        /**
-        * Pointer to the wlaninfo of the current network (not owned)
-        */        
-        TWsfWlanInfo* iWlanInfo;
-        
-        /**
-        * If ETrue, 'Define access point' was selected
-        */
-        TBool iDefineNewAccessPoint;
-
-        /**
-        * "Searching WLAN networks" wait dialog (owned)
-        */
-        CAknWaitDialog* iWaitDialog;
-        
-        /**
-        * WLAN discovery object (owned)
-        */
-        CWsfWlanSsidDiscovery* iSsidDiscovery;
-       
-    };
-
-
-#endif // C_WSFWLANIAPWIZARD_H
--- a/wlanutilities/wlansniffer/apwizard/inc/wsfwlanssiddiscovery.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,157 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Class header for CWsfWlanSsidDiscovery
-*
-*/
-
-
-
-#ifndef C_WSFWLANSSIDDISCOVERY_H
-#define C_WSFWLANSSIDDISCOVERY_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <cmpluginwlandef.h>
-
-
-//  FORWARD DECLARATIONS
-class CWlanMgmtClient;
-class CWlanScanInfo;
-
-
-//  CLASS DEFINITION
-/**
-* Class to carry out WLAN SSID discovery
-*
-* @since S60 5.0
-* @lib wsfapwizard.lib
-*/
-NONSHARABLE_CLASS( CWsfWlanSsidDiscovery ): public CActive
-    {
-    /**
-    * States of the WLAN discovery
-    */
-    enum TWsfWlanDiscoveryState
-        {
-        /**
-        * Scanning has been started
-        */
-        EScanning,
-        
-        /**
-        * Scanning finished
-        */
-        EDone,
-        
-        /**
-        * Scanning was aborted
-        */
-        EAborted
-        };
-        
-        
-    public:
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance
-        */
-        static CWsfWlanSsidDiscovery* NewL();
-
-        /**
-        * Destructor
-        * @since S60 5.0
-        */
-        ~CWsfWlanSsidDiscovery();
-        
-        
-    private:
-        /**
-        * Constructor
-        * @since S60 5.0
-        */
-        CWsfWlanSsidDiscovery();
-
-        /**
-        * Second-phase constructor
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-    
-    public:     // new methods
-        /**
-        * Executes a direct/broadcast scan
-        * @since S60 5.0
-        * @param aSsid The SSID to look for in case of direct scan
-        * @param aBroadcast If set to ETrue, does a broadcast scan, 
-        *                   otherwise direct
-        * @param aNetworkMode Network mode for the found network
-        * @param aSecurityMode Security mode for the found network
-        * @param aUsesPsk ETrue if the found network uses PSK in WPA mode
-        * @return ETrue if the scan was successful, otherwise EFalse
-        */
-        TBool ScanForSsidL( TWlanSsid& aSsid, 
-                            TBool aBroadcast,
-                            CMManager::TWlanNetMode& aNetworkMode,
-                            CMManager::TWlanSecMode& aSecurityMode,
-                            TBool& aUsesPsk );
-
-        /**
-        * Aborts the scanning process
-        * @since S60 5.0
-        */
-        void AbortScanning();
-
-
-    private:  // from CActive
-    
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-        */
-        void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-        */
-        void RunL();
-        
-        
-    private:    // data
-        /**
-        * Progress state
-        */
-        TUint32 iProgState;
-        
-        /**
-        * Nested waitloop
-        */
-        CActiveSchedulerWait iWait;
-        
-        /**
-        * Wlan management client interface (owned)
-        */
-        CWlanMgmtClient* iWlanMgmt;
-        
-        /**
-        * Scan info object (owned)
-        */
-        CWlanScanInfo* iScanInfo;
-    };
-
-
-#endif // C_WSFWLANSSIDDISCOVERY_H
--- a/wlanutilities/wlansniffer/apwizard/loc/wsfapwizard.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,156 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project AP Wizard 
-*
-*/
-
-
-//d: Query to make sure the user wants to create an IAP for the given WLAN network
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_cmon_quest_create_wlan_iap "Create internet access point for WLAN network '%U'?"
-
-//d: An information note with the text is shown if access point creation succeed
-//d: %U = Name of the access point which was created.
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_cmon_conf_wlan_iap_created "Internet access point defined for WLAN network '%U'"
-
-
-
-//------------------------------------------------------------------------------
-// Following string are defined on networking specification                    *
-//------------------------------------------------------------------------------
-
-
-//d: A data query prompt text
-//d: copied from S60: qtn_wlan_prmpt_network_name
-//l: popup_query_data_window
-//r:3.0
-//
-#define qtn_wlan_prmpt_network_name "WLAN network name:" 
-
-
-
-//d: Title of the Network mode dialog
-//d: in the manual configuration of a new WLAN connection method
-//l: heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wlan_nw_mode_and_status "Network mode and status:"
-
-//d:Network mode selection list, sets the network mode setting 
-//d:to 'infrastructure' and network status to 'Public'
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_wlan_network_mode_infra_public "Infrastructure (public)"
-
-//d:Network mode selection list, sets the network mode setting 
-//d:to 'infrastructure' and network status to 'hidden'
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_wlan_network_mode_infra_hidden "Infrastructure (hidden)"
-
-//d:Network mode selection list, sets the network mode setting 
-//d:to 'Ad-hoc' and network status to 'Public'
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_wlan_network_mode_adhoc_public "Ad-hoc (public)"
-
-//d: Title of the Security Mode selection dialog
-//d: in the manual configuration of a new WLAN connection method
-//l: heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wlan_nw_security_mode "Security Mode:"
-
-//d:Default value for WLAN security mode
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_open "Open network"
-
-//d:Security settings mode "WEP"
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_wep "WEP"
-
-//d:Security settings mode "802.1x"
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_802_1x "802.1x"
-
-//d:Security settings mode "WPA/WPA2"
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_wlan_security_mode_wpa "WPA/WPA2"
-
-
-
-//d: Title of the WPA/WPA2 mode selection dialog in the manual
-//d: configuration of a new WLAN connection method
-//l: heading_pane_t1
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wlan_wpa_mode "WPA/WPA2 mode:"
-
-//d:EAP item in the WPA/WPA2 mode selection dialog
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wpa_mode_eap "EAP"
-
-//d:Pre-shared item item in the WPA/WPA2 mode selection dialog
-//l:list_single_pane_t1_cp2
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_prmpt_wpa_mode_psk "Pre-shared key"
-
-//d: Note to indicate to user that the default EAP values have
-//d: been set and advanced values can be edited in the 
-//d: security settings of the connection method
-//l: popup_note_window
-//w:
-//r:3.2
-//
-#define qtn_netw_conset_info_eap_settings_default "Default EAP values set. Configure advanced settings by editing the method."
-
-//d: Text of an information note used to ensure the user the a new connection
-//d: method has been added successfully.
-//l: popup_note_window
-//w: 
-//r: 5.0
-//
-#define qtn_netw_conset_conf_new_method_added "New connection method for '%U' added"
-
--- a/wlanutilities/wlansniffer/apwizard/rom/wsfapwizard.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Image description file for project ApWizard
-*
-*/
-
-
-
-
-
-#ifndef WSFAPWIZARD_IBY
-#define WSFAPWIZARD_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApWizard
-
-#include <data_caging_paths_for_iby.hrh> 
-
-file=ABI_DIR\BUILD_DIR\wsfapwizard.dll		SHARED_LIB_DIR\wsfapwizard.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAPWIZARD_IBY
--- a/wlanutilities/wlansniffer/apwizard/rom/wsfapwizardresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Image description file for project ApWizard
-*
-*/
-
-
-
-
-#ifndef WSFAPWIZARDRESOURCES_IBY
-#define WSFAPWIZARDRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApWizardResources
-
-#include <data_caging_paths_for_iby.hrh>
-
-data=DATAZ_\RESOURCE_FILES_DIR\wsfapwizard.rsc    RESOURCE_FILES_DIR\wsfapwizard.rsc
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFAPWIZARDRESOURCES_IBY
--- a/wlanutilities/wlansniffer/apwizard/src/wsfactivewaiter.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Implementation of CWsfActiveWaiter
-*
-*/
-
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-    {
-    CWsfActiveWaiter* self = NewLC();
-    CleanupStack::Pop( self );
-    
-    return self;        
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewLC
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewLC()
-    {
-    CWsfActiveWaiter* self = new ( ELeave ) CWsfActiveWaiter();
-    CleanupStack::PushL( self );
-    return self;        
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter(): 
-    CActive( CActive::EPriorityStandard )
-    {
-    CActiveScheduler::Add( this );
-    }
-    
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter
-// ---------------------------------------------------------
-//    
-CWsfActiveWaiter::~CWsfActiveWaiter()
-    {
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel
-// ---------------------------------------------------------
-// 
-void CWsfActiveWaiter::DoCancel()
-    {
-    }
-     
- 
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL
-// ---------------------------------------------------------
-//     
-void CWsfActiveWaiter::RunL()
-    {
-    LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
-    if ( iWait.IsStarted() )
-        {
-        LOG_WRITE("async call completed, resuming.");
-        iWait.AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest
-// ---------------------------------------------------------
-// 
-TInt CWsfActiveWaiter::WaitForRequest()
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
-    SetActive(); 
-    iWait.Start();
-
-    return iStatus.Int();
-    }    
-    
-// End of File
-
--- a/wlanutilities/wlansniffer/apwizard/src/wsfwlaniapcreator.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,575 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Implementation of CWsfWlanIapCreator
-*
-*/
-
-
-
-
-//  EXTERNAL INCLUDES
-#include <wlancontainer.h>
-#include <EapType.h>
-#include <cmdestinationext.h>
-#include <utf.h>
-
-//  CLASS HEADER
-#include "wsfwlaniapcreator.h"
-
-//  INTERNAL INCLUDES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-using namespace CMManager;
-
-
-/**
-* Order of first WEP key
-*/
-static const TInt KFirstWepKey = 0;
-
-/**
-* WEP authentication modes
-*/
-static const TInt KWepAuthOpen = 0;        // Open authentication
-
-/**
-* Max length of WPA key
-*/
-static const TUint KWpaKeyMaxLength = 64;
-    
-/**
-* Max length of WEP key
-*/
-static const TUint KMaxWepKeyLen = 26; 
-
-
-
-  
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator* CWsfWlanIapCreator::NewL()
-    {
-    CWsfWlanIapCreator* thisPtr = NewLC();
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;         
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator* CWsfWlanIapCreator::NewLC()
-    {
-    CWsfWlanIapCreator* thisPtr = new (ELeave) CWsfWlanIapCreator();
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr;    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::~CWsfWlanIapCreator
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator::~CWsfWlanIapCreator()
-    {
-    delete iDbSession;
-    iCmManagerExt.Close();
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::CWsfWlanIapCreator
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapCreator::CWsfWlanIapCreator()     
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::ConstructL()
-    {
-    iDbSession = CommsDat::CMDBSession::NewL( CMDBSession::LatestVersion() );
-    iCmManagerExt.OpenL();
-    iDestinationId = 0;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::StoreWPADataL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::StoreWPADataL( const TInt aIapId, 
-                                     const TDesC& aPresharedKey, 
-                                     const CMManager::TWlanSecMode aSecMode )
-    {
-    LOG_ENTERFN( "CWsfWlanIapCreator::StoreWPADataL" );
-    
-    CCDIAPRecord *iapRec = static_cast<CCDIAPRecord*>
-                          ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
-    
-    CleanupStack::PushL( iapRec );
-    
-    iapRec->SetRecordId( aIapId );
-    iapRec->LoadL( *iDbSession );
-        
-    TUint32 serviceId = TUint32( iapRec->iService );
-
-    LOG_WRITEF("IAP(%d).serviceID = %d", aIapId, serviceId );
-    
-    // we have the service id, now we can flush the iap record
-    CleanupStack::PopAndDestroy( iapRec );
-
-    // search for the record    
-    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>( 
-                                          CCDRecordBase::RecordFactoryL( 0 ) );
-    CleanupStack::PushL( generic );    
-    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
-    generic->LoadL( *iDbSession );
-    
-    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
-                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
-    
-    // prime with service id                
-    *sidField = serviceId;
-    
-    TBool found = generic->FindL( *iDbSession );
-
-    LOG_WRITE( "saving common WPA settings..." );
-    TBool usesPsk( aPresharedKey.Length() > 0 );
-
-    // Save PreShared Key as 8 bit string
-    TBuf8<KWpaKeyMaxLength> keyWPA;
-    keyWPA.Copy( aPresharedKey );
-    TInt len( keyWPA.Length() );
-    LOG_WRITEF( "PSK:[%S] len = %d", &aPresharedKey, len );
-
-
-    CMDBField<TUint>* enableWpaPskField = static_cast<CMDBField<TUint>*>
-                          ( generic->GetFieldByIdL( KCDTIdWlanEnableWpaPsk ) );
-    enableWpaPskField->SetL( usesPsk );
-
-    CMDBField<TUint>* secModeField = static_cast<CMDBField<TUint>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanSecMode ) );
-    secModeField->SetL( aSecMode );
-
-    CMDBField<TDesC8>* wpaPskField = static_cast<CMDBField<TDesC8>*>
-                       ( generic->GetFieldByIdL( KCDTIdWlanWpaPreSharedKey ) );
-    wpaPskField->SetL( keyWPA );
-        
-    // Save PreShared Key length
-    CMDBField<TUint>* keyLengthField = static_cast<CMDBField<TUint>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWpaKeyLength ) );
-    keyLengthField->SetL( keyWPA.Length() );
-
-
-    if ( !usesPsk )
-        {
-        // not PSK -> must be EAP
-        LOG_WRITE( "saving EAP info..." );
-        RImplInfoPtrArray eapArray;
-        REComSession::ListImplementationsL( KEapTypeInterfaceUid, eapArray );
-        CleanupClosePushL( eapArray );
-        
-        for ( TInt i = 0; i < eapArray.Count(); ++i )
-            {
-            // IsDisallowedOutsidePEAP actually means IsDisallowedOutsideTunnel
-            if ( !CEapType::IsDisallowedOutsidePEAP( *eapArray[i] ) )
-                {
-                CEapType* eapType = CEapType::NewL( eapArray[i]->DataType(), 
-                                                    ELan, 
-                                                    serviceId );
-                CleanupStack::PushL( eapType );
-                
-                eapType->SetIndexL( ELan, serviceId );
-                CleanupStack::PopAndDestroy( eapType );
-                }
-            }
-
-        eapArray.ResetAndDestroy();
-        CleanupStack::PopAndDestroy( &eapArray );
-        }
-
-    if ( !found )
-        {
-        // there wasn't any wlan service record, we have to create it now
-        LOG_WRITE("new service record");
-        generic->SetRecordId( KCDNewRecordRequest );
-        generic->StoreL( *iDbSession );
-        }
-    else
-        {
-        // modify existing record
-        LOG_WRITE("existing service record");
-        generic->ModifyL( *iDbSession );
-        }
-    
-    CleanupStack::PopAndDestroy( generic );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::StoreWEPDataL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::StoreWEPDataL( const TInt aIapId, 
-                                        const TDesC& aWepKey, 
-                                        const TBool aIsHexWep )
-    {
-    LOG_ENTERFN( "CWsfWlanIapCreator::StoreWEPDataL" );
-    
-    CCDIAPRecord *iapRec = static_cast<CCDIAPRecord*>
-                          ( CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
-    
-    CleanupStack::PushL( iapRec );
-    
-    iapRec->SetRecordId( aIapId );
-    iapRec->LoadL( *iDbSession );
-
-    TUint32 serviceId = TUint32( iapRec->iService );
-    LOG_WRITEF("IAP(%d).serviceID = %d", aIapId, serviceId );
-    
-    CleanupStack::PopAndDestroy( iapRec );
-
-
-    CMDBGenericRecord* generic = static_cast<CMDBGenericRecord*>
-        ( CCDRecordBase::RecordFactoryL( 0 ) );
-    CleanupStack::PushL( generic );    
-    generic->InitializeL( TPtrC( WLAN_SERVICE ), NULL );
-    generic->LoadL( *iDbSession );
-    
-    CMDBField<TUint32>* sidField = static_cast<CMDBField<TUint32>*>
-                             ( generic->GetFieldByIdL( KCDTIdWlanServiceId ) );
-    
-    // prime with service id                
-    *sidField = serviceId;
-    
-    TBool found = generic->FindL( *iDbSession );
-    
-    LOG_WRITE( "saving WEP settings..." );
-
-
-    CMDBField<TUint>* indexField = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanWepIndex ) );
-    indexField->SetL( KFirstWepKey );
-
-    // Save authentication mode    
-    CMDBField<TUint>* authenticationField = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanAuthMode ) );
-    authenticationField->SetL( KWepAuthOpen );
-    
-    
-
-    // now we need to convert the key to 8bit and to hex
-    // and again detect the required bits
-    TBuf8<KMaxWepKeyLen> key;
-    
-    // convert to 8 bit
-    key.Copy( aWepKey );
-
-       
-    if ( !aIsHexWep )
-        {
-        // Must be converted to hexa and stored as a hexa
-        // Ascii key is half the length of Hex
-        HBufC8* buf8Conv = HBufC8::NewLC( key.Length()*2 );
-        TPtr8 bufptr( buf8Conv->Des() );
-        ConvertAsciiToHex( key, bufptr );
-        
-        CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
-        wepKey1Field->SetL( buf8Conv->Des() );
-
-        CleanupStack::PopAndDestroy( buf8Conv );
-        }
-    else
-        {
-        // already in hexa format
-        CMDBField<TDesC8>* wepKey1Field = static_cast<CMDBField<TDesC8>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanWepKey1 ) );
-        wepKey1Field->SetL( key );
-        }
-        
-    
-     // write default values to the rest of the columns
-    key.Zero();
-    
-    CMDBField<TDesC8>* wepKey2Field = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey2 ) );
-    wepKey2Field->SetL( key );
-    CMDBField<TDesC8>* wepKey3Field = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey3 ) );
-    wepKey3Field->SetL( key );
-    CMDBField<TDesC8>* wepKey4Field = static_cast<CMDBField<TDesC8>*>
-                        ( generic->GetFieldByIdL( KCDTIdWlanWepKey4 ) );
-    wepKey4Field->SetL( key );
-
-
-    // write format data
-    TUint fmt( aIsHexWep );
-    
-    CMDBField<TUint>* formatKey1Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey1 ) );
-    formatKey1Field->SetL( fmt );
-    CMDBField<TUint>* formatKey2Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey2 ) );
-    formatKey2Field->SetL( fmt );
-    CMDBField<TUint>* formatKey3Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey3 ) );
-    formatKey3Field->SetL( fmt );
-    CMDBField<TUint>* formatKey4Field = static_cast<CMDBField<TUint>*>
-                            ( generic->GetFieldByIdL( KCDTIdWlanFormatKey4 ) );
-    formatKey4Field->SetL( fmt );
-    
-    
-    if ( !found )
-        {
-        // there wasn't any wlan service record, we have to create it now
-        LOG_WRITE("new service record");
-        generic->SetRecordId( KCDNewRecordRequest );
-        generic->StoreL( *iDbSession );
-        }
-    else
-        {
-        // modify existing record
-        LOG_WRITE("existing service record");
-        generic->ModifyL( *iDbSession );
-        }
-        
-    CleanupStack::PopAndDestroy( generic );    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::ConvertAsciiToHex
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::ConvertAsciiToHex( const TDesC8& aSource, 
-                                            TDes8& aDest )
-    {
-    LOG_ENTERFN( "CWsfWlanIapCreator::ConvertAsciiToHex" );
-    _LIT8( hex, "0123456789ABCDEF" );
-    TInt size = aSource.Size();
-    aDest.Zero();
-    
-    for ( TInt ii = 0; ii < size; ii++ )
-        {
-        TText8 ch = aSource[ii];
-        aDest.Append( hex()[(ch/16)&0x0f] );
-        aDest.Append( hex()[ch&0x0f] );
-        }
-    }
-    
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::SetDefaultDestination
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::SetDefaultDestination( const TUint32 aDestinationId )
-    {
-    LOG_ENTERFN( "CWsfWlanIapCreator::SetDefaultDestination" );
-    LOG_WRITEF( "destId = %d", aDestinationId );
-    iDestinationId = aDestinationId;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::CreateAccessPointL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapCreator::CreateAccessPointL( TWsfWlanInfo& aWlanInfo, 
-                                                const TDesC& aPresharedKey, 
-                                                const TBool aIsHex )
-    {
-    LOG_ENTERFN( "CWsfWlanIapCreator::CreateAccessPointL" );
-    TUint32 iapId( 0 );
-
-    // create connection method
-    iapId = CreateConnectionMethodL( aWlanInfo );
-    
-
-    // open a transaction
-    const TUint KMaxOpenTransAttempts = 10;
-    const TUint KRetryAfter = 100000;
-
-    TInt err( KErrNone );
-    TUint attempts( KMaxOpenTransAttempts );
-    
-    CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
-    RTimer timer;
-    timer.CreateLocal();
-    CleanupClosePushL( timer );
-    
-    do
-        {
-        TRAP( err, iDbSession->OpenTransactionL() );
-        if ( err )
-            {
-            timer.After( waiter->iStatus, 
-                         TTimeIntervalMicroSeconds32( KRetryAfter ) );
-            waiter->WaitForRequest();
-            }
-        }
-    while ( err && attempts-- );
-
-    User::LeaveIfError( err );
-
-    CleanupStack::PopAndDestroy( &timer );
-    CleanupStack::PopAndDestroy( waiter );
-    
-    CleanupStack::PushL( TCleanupItem( RollbackCommsDat, iDbSession ) );
-
-    
-    // now we have a valid transaction, save security settings
-    
-    switch ( aWlanInfo.iSecurityMode )
-        {
-        case EWlanSecModeWep:
-            {
-            StoreWEPDataL( iapId, aPresharedKey, aIsHex );
-            break;
-            }
-        case EWlanSecMode802_1x:
-        case EWlanSecModeWpa:
-        case EWlanSecModeWpa2:
-            {
-            StoreWPADataL( iapId, aPresharedKey, aWlanInfo.iSecurityMode );
-            break;
-            }
-        case EWlanSecModeOpen: // fall through on purpose
-        default:
-            {
-            }
-        }
-
-    CleanupStack::Pop( 1 ); // transaction rollback popped
-    
-    // commit changes
-    if ( iDbSession->IsInTransaction() )
-        {
-        iDbSession->CommitTransactionL();
-        }
-        
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::RollbackCommsDat
-// ----------------------------------------------------------------------------
-void CWsfWlanIapCreator::RollbackCommsDat( TAny* aDbSession )
-    {
-    CommsDat::CMDBSession* session = static_cast<CommsDat::CMDBSession*>( 
-                                                                 aDbSession );
-    TRAP_IGNORE( session->RollbackTransactionL() );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapCreator::CreateConnectionMethodL
-// ----------------------------------------------------------------------------
-//
-TUint32 CWsfWlanIapCreator::CreateConnectionMethodL( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfWlanIapCreator::CreateConnectionMethodL" );
-    HBufC* ssid16 = HBufC::NewLC( aWlanInfo.iSsid.Length() );
-    ssid16->Des().Copy( aWlanInfo.iSsid );
-
-    TUint32 iapId( 0 );
-    
-    if ( !iDestinationId )
-        {
-        // possibly temporary iap to uncategorized
-        LOG_WRITE( "destId not set -> temporary into Uncategorised" );
-        
-        RCmConnectionMethodExt cm = iCmManagerExt.CreateConnectionMethodL( 
-                                                         KUidWlanBearerType );
-        CleanupClosePushL( cm );
-        
-        cm.SetStringAttributeL( ECmName, *ssid16 );
-        cm.SetStringAttributeL( EWlanSSID, *ssid16 );
-        cm.SetIntAttributeL( EWlanSecurityMode, aWlanInfo.iSecurityMode );
-        cm.SetIntAttributeL( EWlanConnectionMode, aWlanInfo.iNetMode );
-        cm.SetBoolAttributeL( EWlanScanSSID, !aWlanInfo.iVisibility );
-        
-        // commit changes
-        cm.UpdateL();
-
-        // get the iap id
-        iapId = cm.GetIntAttributeL( ECmId );
-        
-        // now retrieve the name again to see if it has been changed 
-        // (ExistingCmName -> ExistingCmName(01) and alike)
-        HBufC* cmName = cm.GetStringAttributeL( ECmName );
-        aWlanInfo.iNetworkName.Copy( *cmName );
-        
-        delete cmName;
-        
-        CleanupStack::PopAndDestroy( &cm );
-        }
-    else
-        {
-        // final iap to the default destination
-        LOG_WRITEF( "destId = %d", iDestinationId );
-        
-        RCmDestinationExt destination = iCmManagerExt.DestinationL( 
-                                                            iDestinationId );
-        CleanupClosePushL( destination );
-        
-        RCmConnectionMethodExt cm = destination.CreateConnectionMethodL( 
-                                                         KUidWlanBearerType );
-        CleanupClosePushL( cm );
-
-        cm.SetStringAttributeL( ECmName, *ssid16 );
-        cm.SetStringAttributeL( EWlanSSID, *ssid16 );
-        cm.SetIntAttributeL( EWlanSecurityMode, aWlanInfo.iSecurityMode );
-        cm.SetIntAttributeL( EWlanConnectionMode, aWlanInfo.iNetMode );
-        cm.SetBoolAttributeL( EWlanScanSSID, !aWlanInfo.iVisibility );
-        
-        // commit changes
-        destination.UpdateL();
-
-        // get the iap id
-        iapId = cm.GetIntAttributeL( ECmId );
-        
-        // now retrieve the name again to see if it has been changed 
-        // (ExistingCmName -> ExistingCmName(01) and alike)
-        HBufC* cmName = cm.GetStringAttributeL( ECmName );
-        aWlanInfo.iNetworkName.Copy( *cmName );
-        
-        delete cmName;
-        
-        CleanupStack::PopAndDestroy( &cm );
-        CleanupStack::PopAndDestroy( &destination );
-        }
-
-    CleanupStack::PopAndDestroy( ssid16 );
-
-    aWlanInfo.iIapId = iapId;
-    LOG_WRITEF( "new iapId = %d", iapId );
-
-    return iapId;
-    }
-        
-
--- a/wlanutilities/wlansniffer/apwizard/src/wsfwlaniapwizard.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,679 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Implementation of CWsfWlanIapWizard
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <e32std.h>
-#include <utf.h>
-#include <wlanmgmtcommon.h>
-#include <StringLoader.h> 
-#include <cmpluginwlandef.h>
-#include <cmsettingsui.h>
-#include <ConnectionUiUtilities.h>
-#include <data_caging_path_literals.hrh>
-#include <bautils.h>
-#include <AknQueryDialog.h> 
-#include <aknnotewrappers.h>
-#include <wsfapwizard.rsg>
-
-//  CLASS HEADER
-#include "wsfwlaniapwizard.h"
-
-//  INTERNAL INCLUDES
-#include "wsfwlaniapcreator.h"
-#include "wsfwlanssiddiscovery.h"
-#include "wsflogger.h"
-
-
-
-using namespace CMManager;
-
-
-/**
-* ROM folder
-*/
-_LIT( KDriveZ, "z:" );
-
-/**
-* Resource file name
-*/
-_LIT( KResourceFileName, "wsfapwizard.rsc" );
-    
-/**
-* the longest possible key is the 64 character long hex WPA key
-*/
-static const TInt KMaxSecureKeyLength = 64;
-
-
-
-#ifdef _DEBUG
-    _LIT( KApWizardPanic, "wsfapwizard" );
-    #define __ASSERTD( v )  __ASSERT_DEBUG( (v), \
-                                    User::Panic( KApWizardPanic, 0 ) )
-#else
-    #define __ASSERTD( v )
-#endif
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanIapWizard* CWsfWlanIapWizard::NewL()
-    {
-    CWsfWlanIapWizard* thisPtr = NewLC();
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanIapWizard* CWsfWlanIapWizard::NewLC()
-    {
-    CWsfWlanIapWizard* thisPtr = new (ELeave) CWsfWlanIapWizard();
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::CWsfWlanIapWizard
-// ----------------------------------------------------------------------------
-//
-CWsfWlanIapWizard::CWsfWlanIapWizard():
-    iEnv( *CEikonEnv::Static() ),
-    iResourceFileOffset( -1 ),
-    iWlanInfo( NULL )
-    {
-    }
-   
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::ConstructL()
-    {
-    iResourceFileOffset = InitResourcesL( iEnv );    
-
-    iCreator = CWsfWlanIapCreator::NewL();    
-    iSsidDiscovery = CWsfWlanSsidDiscovery::NewL();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::~CWsfWlanIapWizard
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanIapWizard::~CWsfWlanIapWizard()
-    {
-    delete iCreator;
-
-    ReleaseResources( iEnv, iResourceFileOffset );
-
-    delete iUsedPassword;
-    delete iWaitDialog;
-    delete iSsidDiscovery;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanIapWizard::InitResourcesL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanIapWizard::InitResourcesL( CEikonEnv& aEnv )
-    {
-    // The resource has to be loaded manually since it is not an application.
-    TFileName resourceFileName;
-
-    resourceFileName.Append( KDriveZ );
-    resourceFileName.Append( KDC_RESOURCE_FILES_DIR );   
-    resourceFileName.Append( KResourceFileName );
-
-    BaflUtils::NearestLanguageFile( aEnv.FsSession(), resourceFileName );
-    
-    return aEnv.AddResourceFileL( resourceFileName );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanIapWizard::ReleaseResources
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::ReleaseResources( CEikonEnv& aEnv, TInt aResOffset )
-    {
-    if ( aResOffset != -1 )
-        {
-        aEnv.DeleteResourceFile( aResOffset );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::LaunchWizardL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfWlanIapWizard::LaunchWizardL( TWsfWlanInfo& aWlanInfo, 
-                                                 TBool aDefineNewAccessPoint )
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::LaunchWizardL" );
-    LOG_WRITEF( "defineAp = %d", aDefineNewAccessPoint );
-    
-    if ( aDefineNewAccessPoint && 
-         !( aWlanInfo.Hidden() && !aWlanInfo.Known() ) )
-        {
-        HBufC* ssid16 = aWlanInfo.GetSsidAsUnicodeLC();
-        LOG_WRITEF( "ssid = %S", ssid16 );
-        HBufC* infoText = StringLoader::LoadLC( 
-                                     R_QTN_CMON_QUEST_CREATE_WLAN_IAP, 
-                                     *ssid16 ); 
-
-        CAknQueryDialog* confirmQuery = CAknQueryDialog::NewL();
-        TBool result = confirmQuery->ExecuteLD( 
-                                     R_QTN_WIZARD_CONFIRMATION_QUERY,
-                                     *infoText );
-            
-        CleanupStack::PopAndDestroy( infoText );
-        CleanupStack::PopAndDestroy( ssid16 );        
-        
-        if ( !result )
-            {
-            return result;
-            }
-        }
-
-    iWlanInfo = &aWlanInfo;    
-    iDefineNewAccessPoint = aDefineNewAccessPoint;
-        
-    TRAPD( err, AskNetworkDetailsL() );
-    if ( err )
-        {
-        // We are here also if selection of 
-        // the hidden network AP leaves or is 
-        // cancelled by the end-user
-        LOG_WRITE( "AskNetworkDetailsL failed" );
-        }
-        
-    return ( !err );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::CreateAccessPointL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfWlanIapWizard::CreateAccessPointL()
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::CreateAccessPointL" );
-    __ASSERTD( iWlanInfo );
-    
-    
-    if ( iWlanInfo->iIapId != 0 )    
-        {
-        // Access Point already exists
-        User::Leave( KErrAlreadyExists );
-        }    
- 
-    
-    // otherwise new Access Point will be created
-    if ( !iWlanInfo->iSsid.Length() )
-        {
-        User::Leave( KErrGeneral );
-        }
-        
-    TPtrC sharedKey = iUsedPassword ? *iUsedPassword : KNullDesC();
-
-    TUint32 destId( 0 );
-
-    if ( iDefineNewAccessPoint )
-        {
-        // define access point was selected, select destination query follows
-        LOG_WRITE( "defineAp = ETrue, opening select destination dialog..." );
-        
-        CCmSettingsUi* settings = CCmSettingsUi::NewL();
-        CleanupStack::PushL( settings );
-        
-        TBool result( EFalse );
-        result = settings->SelectDestinationDlgL( destId );
-        
-        CleanupStack::PopAndDestroy( settings ); //settings
-        
-        if ( !result )
-            {
-            LOG_WRITE( "dialog cancelled" );
-            // cancel was pressed, abort creation
-            return EFalse;
-            }
-        LOG_WRITEF( "target destination = %d", destId );
-        }
-    
-    iCreator->SetDefaultDestination( destId );
-    
-    iCreator->CreateAccessPointL( *iWlanInfo, sharedKey, iIsHexWep );
-    
-    return ETrue;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::QueryTextL
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanIapWizard::QueryTextL( TInt aQueryStringResource, 
-                                    TDes& aVariable, 
-                                    const TInt &aMaxLength )
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::QueryTextL" );
-    HBufC* queryText = StringLoader::LoadLC( aQueryStringResource );
-    CAknTextQueryDialog* textQuery = CAknTextQueryDialog::NewL( aVariable );
-    CleanupStack::PushL( textQuery );
-    textQuery->SetPromptL( *queryText );
-    textQuery->SetMaxLength( aMaxLength );
-    CleanupStack::Pop( textQuery );
-    TInt result = textQuery->ExecuteLD( R_QTN_WIZARD_QUERY_GENERAL );    
-    CleanupStack::PopAndDestroy( queryText );
-    return result;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::QuerySecureKeyL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanIapWizard::QuerySecureKeyL()
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::QuerySecureKeyL" );
-    TBool okPressed( ETrue );
-
-    switch ( iWlanInfo->iSecurityMode )
-        {
-        case EWlanSecModeWep:
-            {
-            LOG_WRITE( "secmode WEP" );
-            CConnectionUiUtilities* connUiUtils = 
-                                            CConnectionUiUtilities::NewL();
-            CleanupStack::PushL( connUiUtils );
-            iUsedPassword = HBufC::NewL( KMaxSecureKeyLength );
-            TPtr ptr( iUsedPassword->Des() );
-            okPressed = connUiUtils->EasyWepDlg( &ptr, iIsHexWep );
-            CleanupStack::PopAndDestroy( connUiUtils );
-            break;
-            }
-            
-        case EWlanSecModeWpa:
-        case EWlanSecModeWpa2:
-        case EWlanSecMode802_1x:
-            {
-            if ( iWlanInfo->UsesPreSharedKey() )
-                {
-                // WPA-PSK
-                LOG_WRITE( "secmode WPA-PSK" );
-                
-                CConnectionUiUtilities* connUiUtils = 
-                                            CConnectionUiUtilities::NewL();
-                CleanupStack::PushL( connUiUtils );
-                iUsedPassword = HBufC::NewL( KMaxSecureKeyLength );
-                TPtr ptr( iUsedPassword->Des() );
-                okPressed = connUiUtils->EasyWpaDlg( &ptr );
-                CleanupStack::PopAndDestroy( connUiUtils );
-                }
-            else
-                {
-                // no key prompt in EAP mode, but the usual note is shown
-                LOG_WRITE( "secmode WPA-EAP" );
-
-                HBufC* eapText = StringLoader::LoadLC( 
-                                 R_QTN_NETW_CONSET_INFO_EAP_SETTINGS_DEFAULT );
-                CAknInformationNote* informationNote = 
-                                     new (ELeave) CAknInformationNote( ETrue );
-                informationNote->ExecuteLD( *eapText );
-                
-                CleanupStack::PopAndDestroy( eapText );
-                }
-            
-            break;                
-            }
-        
-        case EWlanSecModeOpen:
-        default:
-            {
-            LOG_WRITE( "secmode Open" );
-
-            delete iUsedPassword;
-            iUsedPassword = NULL;
-            }
-        }
-        
-    return okPressed;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::DismissWaitNote
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::DismissWaitNote( TAny* aPtr )
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::DismissWaitNote" );
-    CWsfWlanIapWizard* self = static_cast<CWsfWlanIapWizard*>( aPtr );
-    
-    if ( self->iWaitDialog )
-        {
-        // close waitnote
-        LOG_WRITE( "closing waitnote..." );
-        TRAP_IGNORE( self->iWaitDialog->ProcessFinishedL() );
-
-        // cleanup
-        delete self->iWaitDialog;
-        self->iWaitDialog = NULL;        
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::AskNetworkDetailsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::AskNetworkDetailsL()
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::AskNetworkDetailsL" );
-    
-   
-    // check the wlan info, and make proper questions....
-    if ( iWlanInfo->Hidden() && !iWlanInfo->Known() )
-        {
-        LOG_WRITE( "unlisted network" );
-        
-        // query network SSID
-        HBufC* ssid16 = AskSsidL();
-        LOG_WRITEF( "SSID: [%S]", ssid16 );
-
-        // update SSID        
-        CnvUtfConverter::ConvertFromUnicodeToUtf8( iWlanInfo->iSsid, *ssid16 );
-        delete ssid16;
-
-        // pop up waitnote
-        iWaitDialog = new ( ELeave ) CAknWaitDialog( 
-                       reinterpret_cast<CEikDialog**>( &iWaitDialog ), ETrue );
-        iWaitDialog->SetCallback( this );
-        iWaitDialog->ExecuteLD( R_SEARCHING_WLAN_WAIT_NOTE ); 
-        
-        CleanupStack::PushL( TCleanupItem( DismissWaitNote, this ) );
-        
-        // start to scan for surrounding WLAN networks
-        TBool foundSsid( EFalse );
-        TBool usePsk( EFalse );
-        TWlanSsid ssid( iWlanInfo->iSsid );
-
-        // make a broadcast scan
-        LOG_WRITE( "broadcast scanning for SSID" );
-        foundSsid = iSsidDiscovery->ScanForSsidL( ssid, ETrue, 
-                                         iWlanInfo->iNetMode, 
-                                         iWlanInfo->iSecurityMode, 
-                                         usePsk );
-
-        // SSID found?
-        if ( !foundSsid )
-            {
-            // must be really hidden, direct scan for SSID
-            LOG_WRITE( "broadcast scan failed, direct scanning for SSID" );
-            foundSsid = iSsidDiscovery->ScanForSsidL( ssid, EFalse, 
-                                             iWlanInfo->iNetMode, 
-                                             iWlanInfo->iSecurityMode, 
-                                             usePsk );
-
-            // it can only be found as hidden
-            iWlanInfo->iVisibility = EFalse;
-
-            CleanupStack::PopAndDestroy( 1 ); // DismissWaitNote
-            
-            if ( !foundSsid )
-                {
-                LOG_WRITE( "direct scan failed, entering fully manual mode" );
-                
-                // pop up discreet popup: No WLANs found
-                CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();        
-                connUiUtils->NoWLANNetworksAvailableNote();
-                delete connUiUtils;                
-                
-                // now entering fully manual mode
-
-                // query network mode
-                TInt mode( 0 );
-                CAknListQueryDialog* listQuery = 
-                                  new (ELeave) CAknListQueryDialog( &mode );
-                listQuery->PrepareLC( R_QTN_WIZARD_NETWORK_MODE );
-                TInt retval = listQuery->RunLD();
-                if ( !retval )
-                    {
-                    User::Leave( KErrCancel );
-                    }
-                
-                const TInt KModeInfraPublic = 0;
-                const TInt KModeInfraHidden = 1;
-                const TInt KModeAdhocPublic = 2;
-                
-                TBool adhoc( EFalse );
-                
-                switch ( mode )
-                    {
-                    case KModeInfraPublic: 
-                        {
-                        LOG_WRITE( "infra public mode" );
-                        iWlanInfo->iNetMode = EInfra;
-                        iWlanInfo->iVisibility = ETrue;
-                        break;
-                        }
-
-                    case KModeInfraHidden: 
-                        {
-                        LOG_WRITE( "infra hidden mode" );
-                        iWlanInfo->iNetMode = EInfra;
-                        iWlanInfo->iVisibility = EFalse;
-                        break;
-                        }
-                        
-                    case KModeAdhocPublic: 
-                        {
-                        LOG_WRITE( "adhoc public mode" );
-                        adhoc = ETrue;
-                        iWlanInfo->iNetMode = EAdhoc;
-                        iWlanInfo->iVisibility = ETrue;
-                        break;
-                        }
-                    }
-
-            
-                // query security mode
-                const TInt KSecModeOpen = 0;
-                const TInt KSecModeWep = 1;
-                const TInt KSecMode8021x = 2;
-                const TInt KSecModeWpa = 3;
-
-                mode = KSecModeOpen;
-                listQuery = new (ELeave) CAknListQueryDialog( &mode );
-                
-                if ( adhoc )
-                    {
-                    listQuery->PrepareLC( R_QTN_WIZARD_AUTH_MODE_AD_HOC );
-                    }
-                else
-                    {
-                    listQuery->PrepareLC( R_QTN_WIZARD_AUTH_MODE );
-                    }
-
-                retval = listQuery->RunLD();
-
-                if ( !retval )
-                    {
-                    User::Leave( KErrCancel );
-                    }
-                    
-                // map the security mode
-                
-                switch ( mode )
-                    {
-                    case KSecModeWep:
-                        {
-                        LOG_WRITE( "security: WEP" );
-                        iWlanInfo->iSecurityMode = EWlanSecModeWep;
-                        break;
-                        }
-                    case KSecMode8021x:
-                        {
-                        LOG_WRITE( "security: 802.1x" );
-                        iWlanInfo->iSecurityMode = EWlanSecMode802_1x;
-                        break;    
-                        }
-                    case KSecModeWpa:
-                        {
-                        LOG_WRITE( "security: WPA" );
-                        iWlanInfo->iSecurityMode = EWlanSecModeWpa;
-                        break;    
-                        }
-
-                    case KSecModeOpen:
-                    default:
-                        {
-                        LOG_WRITE( "security: Open" );
-                        iWlanInfo->iSecurityMode = EWlanSecModeOpen;
-                        }
-                    }                
-
-                // if WPA, query WPA mode
-                if ( iWlanInfo->iSecurityMode == EWlanSecModeWpa )
-                    {
-                    const TInt KWpaModeEap = 0;
-                    const TInt KWpaModePsk = 1;
-
-                    mode = KWpaModeEap;
-                    listQuery = new (ELeave) CAknListQueryDialog( &mode );
-                    listQuery->PrepareLC( R_QTN_WIZARD_WPA_MODE );
-                    retval = listQuery->RunLD();
-                    if ( !retval )
-                        {
-                        User::Leave( KErrCancel );
-                        }
-                    
-                    // 0 - EAP, 1 - PSK    
-                    
-                    usePsk = ( mode == KWpaModePsk );
-                    if ( usePsk )
-                        {
-                        LOG_WRITE( "WPA-PSK" );
-                        }
-                    else
-                        {
-                        LOG_WRITE( "WPA-EAP" );
-                        }
-                    }
-
-                } // if !foundssid (direct)
-
-            
-            } // if !foundssid (broadcast)
-        else
-            {
-            // it was thought to be hidden but actually it isn't
-            LOG_WRITE( "broadcast scan succeeded, "
-                       L"network isn't hidden as it was thought" );
-            LOG_WRITEF( "netmode: %d, secmode: %d, usepsk: %d", 
-                        iWlanInfo->iNetMode,
-                        iWlanInfo->iSecurityMode,
-                        usePsk );
-            
-            CleanupStack::PopAndDestroy( 1 ); // DismissWaitNote
-
-            // set WLAN to public
-            iWlanInfo->iVisibility = ETrue;
-            }
-
-        // convey PSK settings to iwlaninfo 
-        // (netmode and secmode are already updated)
-        iWlanInfo->SetUsesPreSharedKey( usePsk );
-        
-        }
-    else
-        {
-        // if NOT hidden
-        LOG_WRITE( "visible network" );
-        LOG_WRITEF( "netmode: %d, secmode: %d, usepsk: %d", 
-        iWlanInfo->iNetMode,
-        iWlanInfo->iSecurityMode,
-        iWlanInfo->UsesPreSharedKey() );
-        }
-
-    // query the key and leave if cancelled
-    if ( !QuerySecureKeyL() )
-        {
-        User::Leave( KErrCancel );
-        }
-
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::AskSsidL
-// ----------------------------------------------------------------------------
-//
-HBufC* CWsfWlanIapWizard::AskSsidL()
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::AskSsidL" );
-    
-    HBufC* apName = HBufC::NewLC( KWlanMaxSsidLength );    
-    TPtr namePtr( apName->Des() );
-    if ( iWlanInfo->iSsid.Length() )
-        {
-        CnvUtfConverter::ConvertToUnicodeFromUtf8( namePtr, iWlanInfo->iSsid );
-        }
-    TInt response = QueryTextL( R_QTN_ENTER_NETWORK_SSID, 
-                                namePtr, 
-                                KWlanMaxSsidLength );
-    if ( response != EEikBidOk )
-        {    
-        User::Leave( KErrCancel );
-        }
-
-    CleanupStack::Pop( apName ); 
-    return apName;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanIapWizard::DialogDismissedL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanIapWizard::DialogDismissedL( TInt aButtonId )
-    {
-    LOG_ENTERFN( "CWsfWlanIapWizard::DialogDismissedL" );
-    iWaitDialog = NULL;
-    
-    if ( aButtonId == EEikBidCancel )
-        {
-        // dialog was cancelled by the user
-        LOG_WRITE( "dialog was cancelled" );
-        iSsidDiscovery->AbortScanning();        
-        }    
-    }
-
-
--- a/wlanutilities/wlansniffer/apwizard/src/wsfwlanssiddiscovery.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Implementation of WLAN SSID discovery class
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <wlanmgmtclient.h>
-#include <wlanmgmtcommon.h>
-
-//  CLASS HEADER
-#include "wsfwlanssiddiscovery.h"
-
-//  INTERNAL INCLUDES
-#include "wsflogger.h"
-
-
-using namespace CMManager;
-
-
-/**
-* Management frame information element IDs.
-* needed to determine SSID
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11InformationElementID
-    {
-    E802Dot11SsidIE                 = 0,
-    E802Dot11SupportedRatesIE       = 1,
-    E802Dot11FhParameterSetIE       = 2,
-    E802Dot11DsParameterSetIE       = 3,
-    E802Dot11CfParameterSetIE       = 4,
-    E802Dot11TimIE                  = 5,
-    E802Dot11IbssParameterSetIE     = 6,
-    E802Dot11CountryIE              = 7,
-    E802Dot11HoppingPatternParamIE  = 8,
-    E802Dot11HoppingPatternTableIE  = 9,
-    E802Dot11RequestIE              = 10,
-
-    E802Dot11ChallengeTextIE        = 16,
-    // Reserved for challenge text extension 17 - 31
-    E802Dot11ErpInformationIE       = 42,
-    E802Dot11ExtendedRatesIE        = 50,
-    E802Dot11AironetIE              = 133,
-    E802Dot11ApIpAddressIE          = 149,
-    E802Dot11RsnIE                  = 221
-    };
-
-
-/**
-* Bit masks for Capability Information field.
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11CapabilityBitMask
-    {
-    E802Dot11CapabilityEssMask          = 0x0001,
-    E802Dot11CapabilityIbssMask         = 0x0002,
-    E802Dot11CapabilityCfPollableMask   = 0x0004,
-    E802Dot11CapabilityCfPollRequestMask= 0x0008,
-    E802Dot11CapabilityPrivacyMask      = 0x0010,
-    E802Dot11ShortPreambleMask          = 0x0020,
-    E802Dot11PbccMask                   = 0x0040,      
-    E802Dot11ChannelAgilityMask         = 0x0080
-    };
-
-
-// ======================= MEMBER FUNCTIONS =================================
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidDiscovery* CWsfWlanSsidDiscovery::NewL()
-    {
-    CWsfWlanSsidDiscovery* self = new (ELeave) CWsfWlanSsidDiscovery();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::CWsfWlanSsidDiscovery
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidDiscovery::CWsfWlanSsidDiscovery(): CActive( EPriorityStandard )
-    {
-    CActiveScheduler::Add( this );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfWlanSsidDiscovery::ConstructL" );
-#ifndef __WINS__
-    iWlanMgmt = CWlanMgmtClient::NewL();
-    iScanInfo = CWlanScanInfo::NewL();
-#endif    
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::~CWsfWlanSsidDiscovery()
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidDiscovery::~CWsfWlanSsidDiscovery()
-    {
-    LOG_ENTERFN( "CWsfWlanSsidDiscovery::~CWsfWlanSsidDiscovery" );
-    Cancel();
-    delete iWlanMgmt;
-    delete iScanInfo;    
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::DoCancel()
-    {
-    LOG_ENTERFN( "CWsfWlanSsidDiscovery::DoCancel" );
-#ifndef __WINS__    
-    iWlanMgmt->CancelGetScanResults();
-#endif    
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::AbortScanning
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::AbortScanning()
-    {
-    LOG_ENTERFN( "CWsfWlanSsidDiscovery::AbortScanning" );
-    if ( iWait.IsStarted() )
-        {
-        LOG_WRITE( "aborting..." );
-        Cancel();
-
-        iProgState = EAborted;
-        iWait.AsyncStop();
-        }    
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidDiscovery::RunL()
-    {
-    LOG_ENTERFN( "CWsfWlanSsidDiscovery::RunL" );
-
-    if ( iProgState == EScanning )
-        {
-        if ( !iStatus.Int() )
-            // The list is ready 
-            {
-            LOG_WRITE( "No error" );
-            iProgState = EDone;
-            }
-        else
-            // something went wrong -> no coverage.
-            {
-            LOG_WRITE( "error" );
-            }
-        }
-        
-    // stop blocking
-    if ( iWait.IsStarted() )
-        {
-        iWait.AsyncStop();
-        }
-    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidDiscovery::ScanForSsidL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanSsidDiscovery::ScanForSsidL( TWlanSsid& aEnteredSsid,
-                                TBool aBroadcast,
-                                CMManager::TWlanNetMode& aNetworkMode, 
-                                CMManager::TWlanSecMode& aSecurityMode,
-                                TBool& aUsesPsk )
-    {
-    LOG_ENTERFN( "CWsfWlanSsidDiscovery::ScanForSsidL" );
-    
-    if ( IsActive() )
-        {
-        return EFalse;
-        }
-    
-    TBool found = EFalse;
-#ifndef __WINS__
-    iProgState = EScanning;
-
-    if ( aBroadcast )
-        {
-        LOG_WRITE( "performing broadcast scan" );
-        iWlanMgmt->GetScanResults( iStatus, *iScanInfo );
-        }
-    else
-        {
-        LOG_WRITE( "performing direct scan" );        
-        iWlanMgmt->GetScanResults( aEnteredSsid, iStatus, *iScanInfo );
-        }
-
-    SetActive();
-    iWait.Start();
-    
-    // now we have the results and might start to work on them...
-    if ( iProgState == EDone )
-        {
-        LOG_WRITE( "iProgState = EDone" );
-        //finished without error, work on the result...
-        for ( iScanInfo->First(); !found && !iScanInfo->IsDone(); 
-                                                          iScanInfo->Next() )
-            {
-            TUint8 ieLen( 0 );
-            const TUint8* ieData;
-            
-            TInt ret = iScanInfo->InformationElement( E802Dot11SsidIE, ieLen, 
-                                                     &ieData );
-            User::LeaveIfError( ret );
-            
-            // get the ssid
-            TWlanSsid ssid;
-            ssid.Copy( ieData, ieLen );
-            
-            if ( !aEnteredSsid.Compare( ssid ) )
-                {
-                // SSID matched
-                LOG_WRITE( "SSID matched, processing security settings" );
-                found = ETrue;
-
-                // adhoc or infrastructure
-                aNetworkMode = ( iScanInfo->Capability() & 
-                                 E802Dot11CapabilityEssMask ) ?
-                                        EInfra : EAdhoc;
-                
-                // security mode
-                TWlanConnectionSecurityMode connSec = 
-                                                   iScanInfo->SecurityMode();
-                
-                // convert TWlanConnectionSecurityMode to 
-                // CMManager::TWlanSecMode
-                switch ( connSec )
-                    {
-                    case EWlanConnectionSecurityOpen:
-                        {
-                        aSecurityMode = EWlanSecModeOpen;
-                        break;
-                        }
-                    case EWlanConnectionSecurityWep:
-                        {
-                        aSecurityMode = EWlanSecModeWep;
-                        break;
-                        }
-                    case EWlanConnectionSecurity802d1x:
-                        {
-                        aSecurityMode = EWlanSecMode802_1x;
-                        break;
-                        }
-                    case EWlanConnectionSecurityWpa:
-                    case EWlanConnectionSecurityWpaPsk:
-                        {
-                        aSecurityMode = EWlanSecModeWpa;
-                        break;
-                        }
-                    default:
-                        {
-                        }
-                    }
-
-                aUsesPsk = ( connSec == EWlanConnectionSecurityWpaPsk );
-
-                } // if aEnteredSsid
-        
-            } // for
-        
-        }
-    else if ( iProgState == EAborted )
-        {
-        LOG_WRITE( "iProgState = EAborted" );
-        User::Leave( KErrCancel );
-        }
-    else
-        {
-        LOG_WRITEF( "iProgState = ???, iStatus = %d", iStatus.Int() );
-        User::LeaveIfError( iStatus.Int() );
-        }
-        
-#else // __WINS__
-
-    // we don't like warnings
-    aEnteredSsid, aBroadcast, aNetworkMode, aSecurityMode, aUsesPsk;
-    
-#endif // __WINS__
-
-    return found;
-    }
-
-
--- a/wlanutilities/wlansniffer/engine/client/bwins/wsfclientu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
-	??0RWsfSession@@QAE@XZ @ 1 NONAME ; RWsfSession::RWsfSession(void)
-	?AbortConnectingL@RWsfSession@@QAEXXZ @ 2 NONAME ; void RWsfSession::AbortConnectingL(void)
-	?AbortScanningL@RWsfSession@@QAEXXZ @ 3 NONAME ; void RWsfSession::AbortScanningL(void)
-	?CancelAll@RWsfSession@@QAEXXZ @ 4 NONAME ; void RWsfSession::CancelAll(void)
-	?CancelNotifyEvent@RWsfSession@@QAEXXZ @ 5 NONAME ; void RWsfSession::CancelNotifyEvent(void)
-	?Close@RWsfSession@@QAEXXZ @ 6 NONAME ; void RWsfSession::Close(void)
-	?Connect@RWsfSession@@QAEHXZ @ 7 NONAME ; int RWsfSession::Connect(void)
-	?ConnectWlanBearerL@RWsfSession@@QAEHKW4TWsfIapPersistence@@@Z @ 8 NONAME ; int RWsfSession::ConnectWlanBearerL(unsigned long, enum TWsfIapPersistence)
-	?ConnectedAccountNameL@RWsfSession@@QAEPAVHBufC16@@XZ @ 9 NONAME ; class HBufC16 * RWsfSession::ConnectedAccountNameL(void)
-	?ControlDisconnectTimerL@RWsfSession@@QAEHI@Z @ 10 NONAME ; int RWsfSession::ControlDisconnectTimerL(unsigned int)
-	?DisableScanL@RWsfSession@@QAEHXZ @ 11 NONAME ; int RWsfSession::DisableScanL(void)
-	?DisconnectWlanBearerL@RWsfSession@@QAEHXZ @ 12 NONAME ; int RWsfSession::DisconnectWlanBearerL(void)
-	?EnableScanL@RWsfSession@@QAEHXZ @ 13 NONAME ; int RWsfSession::EnableScanL(void)
-	?GetConnectedWlanDetailsL@RWsfSession@@QAEHAAVTWsfWlanInfo@@@Z @ 14 NONAME ; int RWsfSession::GetConnectedWlanDetailsL(class TWsfWlanInfo &)
-	?IsConnectedL@RWsfSession@@QAEHXZ @ 15 NONAME ; int RWsfSession::IsConnectedL(void)
-	?IsScanEnabledL@RWsfSession@@QAEHXZ @ 16 NONAME ; int RWsfSession::IsScanEnabledL(void)
-	?MonitorAccessPointL@RWsfSession@@QAEXK@Z @ 17 NONAME ; void RWsfSession::MonitorAccessPointL(unsigned long)
-	?NotifyEventL@RWsfSession@@QAEXAAVMWsfStateChangeObserver@@@Z @ 18 NONAME ; void RWsfSession::NotifyEventL(class MWsfStateChangeObserver &)
-	?RequestScanL@RWsfSession@@QAEHXZ @ 19 NONAME ; int RWsfSession::RequestScanL(void)
-	?SetIapPersistenceL@RWsfSession@@QAEHW4TWsfIapPersistence@@@Z @ 20 NONAME ; int RWsfSession::SetIapPersistenceL(enum TWsfIapPersistence)
-	?UpdateWlanListL@RWsfSession@@QAEXPAVCWsfWlanInfoArray@@@Z @ 21 NONAME ; void RWsfSession::UpdateWlanListL(class CWsfWlanInfoArray *)
-	?ConnectWlanBearerWithoutConnWaiterL@RWsfSession@@QAEHKW4TWsfIapPersistence@@@Z @ 22 NONAME ; int RWsfSession::ConnectWlanBearerWithoutConnWaiterL(unsigned long, enum TWsfIapPersistence)
-
--- a/wlanutilities/wlansniffer/engine/client/eabi/wsfclientu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,24 +0,0 @@
-EXPORTS
-	_ZN11RWsfSession11EnableScanLEv @ 1 NONAME
-	_ZN11RWsfSession12DisableScanLEv @ 2 NONAME
-	_ZN11RWsfSession12IsConnectedLEv @ 3 NONAME
-	_ZN11RWsfSession12NotifyEventLER23MWsfStateChangeObserver @ 4 NONAME
-	_ZN11RWsfSession12RequestScanLEv @ 5 NONAME
-	_ZN11RWsfSession14AbortScanningLEv @ 6 NONAME
-	_ZN11RWsfSession14IsScanEnabledLEv @ 7 NONAME
-	_ZN11RWsfSession15UpdateWlanListLEP17CWsfWlanInfoArray @ 8 NONAME
-	_ZN11RWsfSession16AbortConnectingLEv @ 9 NONAME
-	_ZN11RWsfSession17CancelNotifyEventEv @ 10 NONAME
-	_ZN11RWsfSession18ConnectWlanBearerLEm18TWsfIapPersistence @ 11 NONAME
-	_ZN11RWsfSession18SetIapPersistenceLE18TWsfIapPersistence @ 12 NONAME
-	_ZN11RWsfSession19MonitorAccessPointLEm @ 13 NONAME
-	_ZN11RWsfSession21ConnectedAccountNameLEv @ 14 NONAME
-	_ZN11RWsfSession21DisconnectWlanBearerLEv @ 15 NONAME
-	_ZN11RWsfSession23ControlDisconnectTimerLEj @ 16 NONAME
-	_ZN11RWsfSession24GetConnectedWlanDetailsLER12TWsfWlanInfo @ 17 NONAME
-	_ZN11RWsfSession5CloseEv @ 18 NONAME
-	_ZN11RWsfSession7ConnectEv @ 19 NONAME
-	_ZN11RWsfSessionC1Ev @ 20 NONAME
-	_ZN11RWsfSessionC2Ev @ 21 NONAME
-	_ZN11RWsfSession35ConnectWlanBearerWithoutConnWaiterLEm18TWsfIapPersistence @ 22 NONAME
-
--- a/wlanutilities/wlansniffer/engine/client/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project Engine/Client
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// private API
-../inc/wsfsession.h                     |../../../../inc/wsfsession.h 
-../inc/wsfstatechangeobserver.h         |../../../../inc/wsfstatechangeobserver.h 
-
-../rom/wsfclient.iby        CORE_MW_LAYER_IBY_EXPORT_PATH(wsfclient.iby)
-
-
-PRJ_MMPFILES
-client.mmp
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/engine/client/group/client.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project Engine/Client
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-
-TARGET          wsfclient.dll
-TARGETTYPE      dll
-UID             0x1000008d 0x10281CAC
-
-CAPABILITY      ALL -TCB
-
-
-SOURCEPATH      ../src
-SOURCE          wsfsession.cpp 
-SOURCE          wsfeventhandler.cpp
-SOURCE          wsfactivewaiter.cpp
-
-// own headers
-USERINCLUDE     ../inc
-
-// server-client common headers
-USERINCLUDE     ../../inc
-
-// inner API
-USERINCLUDE     ../../../inc
-
-// private API
-USERINCLUDE     ../../../../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY         euser.lib
-LIBRARY         estor.lib
-LIBRARY         charconv.lib 
-LIBRARY         wsfwlaninfo.lib
-
-DEBUGLIBRARY         flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfactivewaiter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Declaration of CWsfActiveWaiter
-*
-*/
-
-
-
-
-#ifndef __WSFCLIENT_ACTIVE_WAITER_H__
-#define __WSFCLIENT_ACTIVE_WAITER_H__
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest
- * 
- * Usage:
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest == KErrNone )
- *      {
- *      // handle success
- *      }
- *      else 
- *      {
- *      // handle failure
- *      }
- * CleanupStack::PopAndDestroy( waiter );
- * 
- */     
-NONSHARABLE_CLASS( CWsfActiveWaiter ) : public CActive
-    {
-    public:
-        /**
-        * NewL function
-        * @param  aPlugin a pointer to notifier plugin
-        */
-        static CWsfActiveWaiter* NewL( );
-
-        /**
-        * Destructor
-        */    
-        virtual ~CWsfActiveWaiter();          
-
-        /**
-        * Waits for it's TRequestStatus to be completed
-        * @return Error code returned from server after request is
-        * completed
-        */
-        TInt WaitForRequest( );
-        
-    protected:
-        /**
-        * ConstructL 
-        */
-        void ConstructL();
-    
-        /**
-        * Constructor
-        * @param  aPlugin a pointer to notifier plugin    
-        */    
-        CWsfActiveWaiter();
-            
-        /**
-        * DoCancel from CActive
-        */    
-        virtual void DoCancel();
-      
-        /**
-        * RunL from CActive
-        */      
-        virtual void RunL();
-    
-    protected:
-        CActiveSchedulerWait iWait;
-    };     
-
-#endif // __WSFCLIENT_ACTIVE_WAITER_H__
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfeventhandler.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Class header for CWsfEventHandler
-*
-*/
-
-
-
-
-
-#ifndef C_WSFEVENTHANDLER_H
-#define C_WSFEVENTHANDLER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfservercommon.h"
-#include "wsfstatechangeobserver.h"
-
-
-//  CLASS DEFINITION
-/**
- * Class to handle callbacks from the server
- *
- * CWsfEventHandler acts as a gateway between the client and the server. 
- * Its main task is to hand over notifications of server events if the client 
- * has requested that. 
- *
- * @lib wsfclient.lib
- * @since S60 5.0
- */
-
-NONSHARABLE_CLASS( CWsfEventHandler ): public CActive
-    {
-    public:     // Constructors and destructor
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aSession Client-side handle to the server session
-        *                 Ownership not passed.
-        * @param aObserver The object which should be notified on event
-        *                  Ownership not passed.
-        */
-        static CWsfEventHandler* NewL( RWsfSession& aSession, 
-                                       MWsfStateChangeObserver& aObserver );
-
-        ~CWsfEventHandler();
-        
-        
-    private:
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aSession Client-side handle to the server session.
-        *                 Ownership not passed.
-        * @param aObserver The object which should be notified on event. 
-        *                  Ownership not passed.
-        */
-        CWsfEventHandler( RWsfSession& aSession, 
-                          MWsfStateChangeObserver& aObserver );
-        
-        void ConstructL();
-        
-        
-    public:     // new methods
-        /**
-        * Set the listening active object as active
-        * @since S60 5.0
-        */
-        void Start();
-        
-        /**
-        * Get reference to the event container 
-        * @since S60 5.0
-        * @return Reference to the event container.
-        */
-        TPckgBuf<TWsfNotifyEventContainer>& EventContainer();
-         
-        /**
-        * Change the event observer by resetting the reference
-        * @since S60 5.0
-        * @param aObserver The object which should be notified on event. 
-        *                  Ownership not passed.
-        */ 
-        void ResetObserver( MWsfStateChangeObserver& aObserver );
-
-        /**
-        * Prevents the ongoing connecting process from notifying the observer
-        * if the connecting flag is set
-        * @since S60 5.0
-        */
-        void BlockNextConnectedEvent();
-
-        /**
-        * Sets the connecting flag. Used by RWsfSession to mark the interval
-        * of the connection creation.
-        * @since S60 5.0
-        * @param aConnecting The value of the flag.
-        */
-        void SetConnecting( TBool aConnecting );
-         
-        /**
-        * Gets the connecting flag. 
-        * @since S60 5.0
-        * @return The value of the flag.
-        */
-        TBool Connecting() const;
-
-         
-    private:    // from CActive
-        void RunL();
-        void DoCancel();
-        TInt RunError( TInt aError );
-    
-    private:
-        /**
-        * Handle the RunL trapped
-        * @since S60 5.0
-        */
-        void DoRunL();
-
-    private:
-        /**
-        * Client-side handle for the server session. Not owned.
-        */        
-        RWsfSession* iSession;
-        
-        /**
-        * The object which should be notified on event. Not owned.
-        */
-        MWsfStateChangeObserver* iObserver;
-        
-        /**
-        * Event container
-        */
-        TPckgBuf<TWsfNotifyEventContainer> iEvent;
-        
-        /**
-        * Indicates whether the connection created event should be suppressed
-        */
-        TBool iBlockConnectedEvent;
-
-        /**
-        * Indicates whether there is an ongoing connecting process
-        */
-        TBool iConnecting;
-    
-    };
-    
-    
-#endif // C_WSFEVENTHANDLER_H
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfsession.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,286 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Class header for RWsfSession
-*
-*/
-
-
-
-
-
-#ifndef R_WSFSESSION_H
-#define R_WSFSESSION_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfcommon.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class CWsfEventHandler;
-class MWsfStateChangeObserver;
-class TWsfWlanInfo;
-class CWsfActiveWaiter;
-
-
-//  CLASS DEFINITION
-/**
- * Client-side handle to server session
- *
- * RWsfSession is the client-side session of a connection to the server. 
- * It provides an interface through which the different scanning services 
- * can be reached and results obtained.
- *
- * @lib wsfclient.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( RWsfSession ): public RSessionBase
-    {
-        friend class CWsfEventHandler;    
-
-
-    public:     // Constructor
-
-        IMPORT_C RWsfSession();
-
-
-    public:     // New methods
-
-        /**
-        * Initiates a connection to the server and also launches it 
-        * if it was not running yet.
-        * @since S60 5.0
-        */
-        IMPORT_C TInt Connect();
-        
-        /**
-        * Returns the version number of the session class
-        * @since S60 5.0
-        * @return A version structure
-        */
-        inline TVersion Version() const;
-        
-        /**
-        * Closes this session.
-        * @since S60 5.0
-        */    
-        IMPORT_C void Close();
-
-        /**
-        * Subscribes to server events
-        * @since S60 5.0
-        * @param aObserver The object which should be notified on event
-        */
-        IMPORT_C void NotifyEventL( MWsfStateChangeObserver& aObserver );
-        
-        /**
-        * Cancels the subscription
-        * @since S60 5.0
-        */ 
-        IMPORT_C void CancelNotifyEvent();
-
-        /**
-        * Sets the wlan scanning on if not already active
-        * @since S60 5.0
-        * @return ETrue on success.
-        */ 
-        IMPORT_C TBool EnableScanL();
-
-        /**
-        * Disables the scanning 
-        * @since S60 5.0
-        * @return ETrue on success.
-        */
-        IMPORT_C TBool DisableScanL();
-
-        /**
-        * Queries the current scanning status.
-        * @since S60 5.0
-        * @return ETrue if scanning is enabled, EFalse otherwise.    
-        */
-        IMPORT_C TBool IsScanEnabledL();
-        
-        /**
-        * Requests the scan results from the server 
-        * @since S60 5.0
-        * @param aInfoArray Array for the scan results. Ownership not changed.
-        */ 
-        IMPORT_C void UpdateWlanListL( CWsfWlanInfoArray* aInfoArray );
-
-        /**
-        * Cancel all pending tasks.
-        * @since S60 5.0
-        */
-        IMPORT_C void CancelAll();
-
-        /**
-        * Return the connected wlan network name
-        * @since S60 5.0
-        * @return The connected account name, or NULL if not connected
-        */ 
-        IMPORT_C HBufC* ConnectedAccountNameL();
-
-        /**
-        * Return the connected wlan's details
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo object to fill
-        * @return ETrue if success, EFalse otherwise
-        */ 
-        IMPORT_C TBool GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo );
-        
-        /**
-        * Start monitoring events for the specified access point
-        * @since S60 5.0
-        * @param aMonitoredIap The id of the IAP to be monitored
-        */
-        IMPORT_C void MonitorAccessPointL( TUint32 aMonitoredIap );
-        
-        /**
-        * Connect to the given WLAN IAP. The function requests the server, 
-        * then starts a synchronous wait until the connection is established.
-        * @since S60 5.0
-        * @param aIapId The id of the IAP to connect to
-        * @param aPersistence The value of the persistence property
-        * @return KErrNone if managed to connect, otherwise error code
-        */
-        IMPORT_C TInt ConnectWlanBearerL( TUint32 aIapId, 
-                           TWsfIapPersistence aPersistence = EIapPersistent );
-        
-        /**
-        * Connect to the given WLAN IAP. The function requests connection from 
-        * server without waiting the connection process to finish
-        * @since S60 5.2
-        * @param aIapId The id of the IAP to connect to
-        * @param aPersistence The value of the persistence property
-        * @return KErrNone if connection request is succesfully sent to server
-        */
-        IMPORT_C TInt ConnectWlanBearerWithoutConnWaiterL( TUint32 aIapId, 
-                           TWsfIapPersistence aPersistence = EIapPersistent );
-
-        /**
-        * Sets the persistence property of the currently monitored IAP
-        * @since S60 5.0
-        * @param aPersistence The value of the property
-        * @return ETrue on success, otherwise false
-        */
-        IMPORT_C TBool SetIapPersistenceL( TWsfIapPersistence aPersistence );
-
-        /**
-        * Disconnect the current wlan connection
-        * @since S60 5.0
-        * @return ETrue if there was an active connection and it was 
-        *         disconnected successfully, otherwise EFalse
-        */
-        IMPORT_C TBool DisconnectWlanBearerL();
-        
-        /**
-        * Request the server to make a forced scan
-        * @since S60 5.0
-        * @return ETrue on success
-        */
-        IMPORT_C TBool RequestScanL();
-        
-        /**
-        * Queries if there is an active WLAN connection.
-        * @since S60 5.0
-        * @return ETrue if there is an active WLAN connection, 
-        * *       EFalse otherwise.
-        */
-        IMPORT_C TBool IsConnectedL();
-        
-        /**
-        * Aborts the currently ongoing connecting process
-        * @since S60 5.0
-        */
-        IMPORT_C void AbortConnectingL();
-        
-        /**
-        * Aborts the currently ongoing scanning process 
-        * @since S60 5.0
-        */
-        IMPORT_C void AbortScanningL();
-        
-        /**
-        * Controls the auto-disconnect timer in the server 
-        * for owned connections
-        * @since S60 5.0
-        * @param aAdcCommand Command bitmask for the timer, 
-        *                    see TWsfAutoDisconnectCommand
-        * @return ETrue if the timer has been started (also if it had been 
-        *         started earlier), EFalse if the timer couldn't be started
-        *         (e.g. because there is no owned connection).
-        */
-        IMPORT_C TBool ControlDisconnectTimerL( TUint aAdcCommand );
-        
-        
-    private:
-        /**
-        * Starts the server if it was not running already.
-        * @since S60 5.0
-        * @return KErrNone on success, otherwise error code
-        */
-        TInt StartServer();
-
-        
-    private:
-        /**
-        * Cancels the notifications from the server. 
-        * Only called by CWsfEventHandler.
-        * @since S60 5.0
-        */    
-        void DoCancelNotifyEvent();
-
-        /**
-        * Tries to restart the server after it died because of an error.
-        * Only called by CWsfEventHandler.
-        * @since S60 5.0
-        * @param aObserver The object which should be notified on 
-        *                  server events. (This call just passes the current 
-        *                  observer of the event handler, which is needed 
-        *                  for the initialisation.)
-        * @return ETrue if the restart succeeded
-        */    
-        TBool RecoverFromServerTermination( 
-                                        MWsfStateChangeObserver& aObserver );
-
-        /**
-        * Stops the waiting for connection creation started by 
-        * ConnectWlanBearerL.
-        * @since S60 5.0
-        */
-        void StopConnectingWait();
-        
-
-    private: // Data
-        /**
-        * Event handler active object for the server-generated events. Owned.
-        */
-        CWsfEventHandler* iEventHandler;
-        
-        /**
-        * Indicates the result of the connecting process
-        */
-        TInt iConnectingResult;
-        
-        /**
-        * Waiter to make the asynchronous connect call synchronous 
-        * on client-side
-        */
-        CActiveSchedulerWait* iConnWaiter;
-    };
-
-#endif // R_WSFSESSION_H
--- a/wlanutilities/wlansniffer/engine/client/inc/wsfstatechangeobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,91 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:   Class header for MWsfStateChangeObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFSTATECHANGEOBSERVER_H
-#define M_WSFSTATECHANGEOBSERVER_H
-
-//  EXTERNAL INCLUDES
-#include <e32std.h>
-
-
-//  CLASS DEFINITION
-/**
- * Mixin class to handle server events
- *
- * MWsfStateChangeObserver provides an interface through which 
- * the implementing class can receive notifications of different server events
- * communicated by the client-side event handler.
- *
- * @since S60 5.0
- */
-class MWsfStateChangeObserver
-    {
-    public:
-        /**
-        * The current wlan data has changed and it is ready to be retrieved
-        * @since S60 5.0
-        */
-        virtual void WlanListChangedL() = 0;
-
-        /**
-        * Engine error occured
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        virtual void NotifyEngineError( TInt aError ) = 0;
-
-        /**
-        * Scanning has been disabled
-        * @since S60 5.0
-        */
-        virtual void ScanDisabledL() = 0;
-
-        /**
-        * Scanning has been enabled
-        * @since S60 5.0
-        */
-        virtual void ScanEnabledL() = 0;
-        
-        /**
-        * A WLAN connection has been established
-        * @since S60 5.0
-        * @param aAccesspointName The name of the active connection
-        */
-        virtual void WlanConnectionActivatedL( 
-                                          const TDesC& aAccessPointName ) = 0;
-
-        /**
-        * A WLAN connection has been closed
-        * @since S60 5.0
-        */
-        virtual void WlanConnectionClosedL() = 0;
-        
-        /**
-        * A WLAN connection creation finished
-        * @since S60 5.2
-        * @param aError System wide error code
-        */
-        virtual void ConnectionCreationProcessFinishedL( TInt aError ) = 0;
-        
-        
-    };
-
-
-#endif // M_WSFSTATECHANGEOBSERVER_H
--- a/wlanutilities/wlansniffer/engine/client/rom/wsfclient.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project Engine/Client
-*
-*/
-
-
-
-
-#ifndef WSFCLIENT_IBY
-#define WSFCLIENT_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferClient
-
-#include <data_caging_paths_for_iby.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfclient.dll        SHARED_LIB_DIR\wsfclient.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFCLIENT_IBY
--- a/wlanutilities/wlansniffer/engine/client/src/wsfactivewaiter.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfActiveWaiter.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL( )
-    {
-    CWsfActiveWaiter* self = 
-                         new ( ELeave ) CWsfActiveWaiter( );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;        
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::ConstructL()
-    {     
-    CActiveScheduler::Add( this );            
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter()
-: CActive( EPriorityNormal )
-    {
-    }
-    
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter()
-// ---------------------------------------------------------
-//    
-CWsfActiveWaiter::~CWsfActiveWaiter()
-    {
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel()
-// ---------------------------------------------------------
-// 
-void CWsfActiveWaiter::DoCancel()
-    {
-    }
-     
- 
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL()
-// ---------------------------------------------------------
-//     
-void CWsfActiveWaiter::RunL()
-    {
-    LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
-    if ( iWait.IsStarted() )
-        {
-        LOG_WRITE("async call completed, resuming.");
-        iWait.AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest()
-// ---------------------------------------------------------
-// 
-TInt CWsfActiveWaiter::WaitForRequest()
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
-    SetActive(); 
-    iWait.Start();
-
-    return iStatus.Int();
-    }    
-// End of File
-
--- a/wlanutilities/wlansniffer/engine/client/src/wsfeventhandler.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,329 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfEventHandler
-*
-*/
-
-
-
-
-//  CLASS HEADER
-#include "wsfeventhandler.h"
-
-//  INTERNAL INCLUDES
-#include "wsfstatechangeobserver.h"
-#include "wsflogger.h"
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfEventHandler* CWsfEventHandler::NewL( RWsfSession& aSession, 
-                                          MWsfStateChangeObserver& aObserver )
-    {
-    CWsfEventHandler* thisPtr = new (ELeave) CWsfEventHandler( aSession, 
-                                                               aObserver );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::~CWsfEventHandler
-// ---------------------------------------------------------------------------
-//
-CWsfEventHandler::~CWsfEventHandler()
-    {
-    Cancel();
-    iSession = NULL;
-    iObserver = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::CWsfEventHandler
-// ---------------------------------------------------------------------------
-//
-CWsfEventHandler::CWsfEventHandler( RWsfSession& aSession, 
-                                    MWsfStateChangeObserver& aObserver ): 
-    CActive( CActive::EPriorityStandard )
-    {
-    iSession = &aSession;
-    iObserver = &aObserver;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::DoRunL
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::DoRunL()
-    {
-    LOG_ENTERFN( "CWsfEventHandler::DoRunL" );    
-    LOG_WRITEF( "CWsfEventHandler::DoRunL event = %d", iEvent().iEvent );    
-
-    switch ( iEvent().iEvent )
-        {
-        case EEngineWlanDataChanged:
-            {
-            iObserver->WlanListChangedL();
-            break;
-            }
-
-        case EEngineScanDisabled:
-            {
-            iObserver->ScanDisabledL();
-            break;
-            }
-
-        case EEngineScanEnabled:
-            {
-            iObserver->ScanEnabledL();
-            break;
-            }
-
-        case EEngineConnected:
-            {
-            if ( !iBlockConnectedEvent )
-                {
-                // if the event wasn't blocked, notify the observer
-                // get the connection name
-                HBufC* accessPointName = iSession->ConnectedAccountNameL();
-                CleanupStack::PushL( accessPointName );
-                iObserver->WlanConnectionActivatedL( *accessPointName );
-                CleanupStack::PopAndDestroy( accessPointName );
-                }
-            else
-                {
-                // if it was blocked, just clear the flag
-                iBlockConnectedEvent = EFalse;
-                }
-                
-            // anyhow, connecting process is finished
-            if ( iConnecting )
-                {
-                iConnecting = EFalse;
-                iSession->StopConnectingWait();
-                iObserver->ConnectionCreationProcessFinishedL( 
-                                        KErrNone );
-                }
-            break;
-            }
-
-        case EEngineDisconnected:
-            {
-            iObserver->WlanConnectionClosedL();
-            break;
-            }
-
-        case EEngineError:
-            {
-            iObserver->NotifyEngineError( iEvent().iError );
-            break;
-            }
-            
-        case EEngineConnectingFailed:
-            {
-            if ( iConnecting )
-                {
-                // connecting is over
-                iConnecting = EFalse;
-
-                // make client return with KErrCancel
-                iSession->iConnectingResult = iEvent().iError;
-                iSession->StopConnectingWait();
-                iObserver->ConnectionCreationProcessFinishedL( 
-                        iSession->iConnectingResult );
-                }
-            break;
-            }
-
-        default:
-            __ASSERT_DEBUG(0, _L("CWsfEventHandler - Invalid EngineEvent"));
-            break;        
-        }
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::RunL()
-    {
-    LOG_ENTERFN( "CWsfEventHandler::RunL" );
-    TInt notifyError( KErrNone );
-    TBool reissue( ETrue );
-    
-    if ( iStatus.Int() >= KErrNone && iObserver )
-        {
-        TRAP( notifyError, DoRunL() );
-        }
-        
-    if ( notifyError )
-        {
-        // notified class leaved
-        LOG_WRITEF( "CWsfEventHandler::RunL notify error %d", notifyError );
-        }
-    else if ( iStatus.Int() != KErrNone )
-        {
-        if ( iStatus.Int() == KErrCancel )
-            {
-            // KErrCancel is the signal that we are going down
-            LOG_WRITE( "going down..." );
-            reissue = EFalse;
-            }
-        else
-            {
-            // error on the server side
-            LOG_WRITEF( "CWsfEventHandler::RunL engine error %d", 
-                        iStatus.Int() );
-
-            TBool notify( ETrue );
-                      
-            if ( iStatus.Int() == KErrServerTerminated )
-                {
-                reissue = EFalse;
-                
-                if ( iObserver
-                        && iSession->RecoverFromServerTermination( *iObserver ) )
-                    {
-                    // no need to reissue if recovered since it is already
-                    // done in the recovery process
-                    notify = EFalse;
-                    }
-                }
-
-            if ( notify && iObserver )
-                {
-                // let the client decide what to do
-                iObserver->NotifyEngineError( iStatus.Int() );
-                }
-            }
-        }
-        
-
-    if ( reissue && iObserver )
-        {
-        // reissue callback request
-        iSession->NotifyEventL( *iObserver );
-        }
-    }
-  
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::DoCancel()
-    {
-    LOG_ENTERFN( "CWsfEventHandler::DoCancel" );
-    iSession->DoCancelNotifyEvent();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWsfEventHandler::RunError( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfEventHandler::RunError" );
-    LOG_WRITEF( "CWsfEventHandler::RunError error = %d", aError );
-    if ( iObserver )
-        {
-        iObserver->NotifyEngineError( aError ) ;
-        }
-    return KErrNone; // we don't wan't to panic euser-47 - do we?
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::Start
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::Start()
-    {
-    SetActive();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::EventContainer
-// ---------------------------------------------------------------------------
-//
-TPckgBuf<TWsfNotifyEventContainer>& CWsfEventHandler::EventContainer()
-    {
-    return iEvent;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::ResetObserver
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::ResetObserver( MWsfStateChangeObserver& aObserver )
-    {
-    LOG_ENTERFN( "CWsfEventHandler::ResetObserver" );
-    iObserver = &aObserver;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::BlockNextConnectedEvent
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::BlockNextConnectedEvent()
-    {
-    if ( iConnecting )
-        {
-        // set the flag only if we are the ones who are connecting
-        iBlockConnectedEvent = ETrue;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::SetConnecting
-// ---------------------------------------------------------------------------
-//
-void CWsfEventHandler::SetConnecting( TBool aConnecting )
-    {
-    iConnecting = aConnecting;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfEventHandler::Connecting
-// ---------------------------------------------------------------------------
-//
-TBool CWsfEventHandler::Connecting() const
-    {
-    return iConnecting;
-    }
-
--- a/wlanutilities/wlansniffer/engine/client/src/wsfsession.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,723 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of RWsfSession
-*
-*/
-
-
-
-//  CLASS HEADER
-#include "wsfsession.h"
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-#include "wsfeventhandler.h"
-#include "wsfactivewaiter.h"
-#include "wsfservercommon.h"
-#include "wsflogger.h"
-
-
-
-//  LOCAL DEFINITIONS
-/**
-* Number of message slots at the server
-*/
-static const TInt KIPCSlots = 6;
-
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::RWsfSession
-// ---------------------------------------------------------------------------
-EXPORT_C RWsfSession::RWsfSession(): 
-    RSessionBase(), 
-    iEventHandler( 0 ),
-    iConnectingResult( KErrNone )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::StartServer
-// ---------------------------------------------------------------------------
-TInt RWsfSession::StartServer()
-    {
-    LOG_ENTERFN( "RWsfSession::StartServerL" );
-    
-    TInt res( KErrNone );
-    // create server - if one of this name does not already exist
-    TFindServer findServer( KWlanSnifferServerName );
-    TFullName name;
-
-    if ( findServer.Next( name ) != KErrNone ) // we don't exist already
-        {
-        RProcess server;
-        // Create the server process
-        res = server.Create( KWlanSnifferServerExe, KNullDesC );
-
-        if ( res != KErrNone ) // thread created ok - now start it going
-            {
-            return res;
-            }
-
-        // Rendezvous is used to detect server start
-        TRequestStatus status;
-        server.Rendezvous( status );                                                 
-                                                                                   
-        if ( status != KRequestPending )                                             
-            {
-            LOG_WRITEF( "StartServer Rendezvous ERROR: %d", status.Int() );
-            server.Kill( 0 );    // abort startup                                 
-            }                                                                      
-        else                                                                       
-            {                                                                      
-            server.Resume();    // logon OK - start the server                     
-            }                                                                      
-        
-        LOG_WRITE( "StartServer wait for start" );
-        User::WaitForRequest( status ); // wait for start or death
-
-        // We can't use the 'exit reason' if the server paniced as this                                                          
-        // is the panic 'reason' and may be '0' which cannot be distinguished                                        
-        // from KErrNone                                                                                             
-        res = ( server.ExitType() == EExitPanic ) ? KErrGeneral : status.Int();
-        
-        // we're no longer interested in the other process
-        server.Close(); 
-        }
-        
-    return res;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::Connect
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RWsfSession::Connect()
-    {
-    LOG_ENTERFN( "RWsfSession::Connect" );
-    TInt err = StartServer();
-    
-    if ( err == KErrNone )
-        {
-        LOG_WRITE( "server started" );
-
-        err = CreateSession( KWlanSnifferServerName, Version(), KIPCSlots );
-
-        LOG_WRITEF( "CreateSession() returned %d", err );
-        
-        if ( err == KErrNone )
-            {
-            TRAP( err, iConnWaiter = new (ELeave) CActiveSchedulerWait() );
-            }
-        }
-    else
-        {
-        LOG_WRITEF( "server starting failed with error %d", err );
-        }
-
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::Version
-// ---------------------------------------------------------------------------
-//
-TVersion RWsfSession::Version() const
-    {
-    return TVersion( KWlanSnifferServerMajor, 
-                     KWlanSnifferServerMinor, 
-                     KWlanSnifferServerBuild );
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::CancelNotifyEvent
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::CancelNotifyEvent()
-    {
-    LOG_ENTERFN( "RWsfSession::CancelNotifyEvent" );
-    if ( iEventHandler )
-        {
-        iEventHandler->Cancel();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ConnectedAccountNameL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C HBufC* RWsfSession::ConnectedAccountNameL()
-    {
-    LOG_ENTERFN("RWsfSession::ConnectedAccountNameL");
-    TPckgBuf<TWsfQueryConnectedAccount> package;
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-    SendReceive( ESnifferCmdConnectionName, TIpcArgs( &package ), 
-                                                            waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdConnectionName,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-    
-    if ( package().iConnected )
-        {
-        return package().iConnectedAccountName.AllocL();
-        }
-    return KNullDesC().AllocL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::GetConnectedWlanDetailsL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN("RWsfSession::GetConnectedWlanDetailsL");
-    TPckgBuf<TBool> ret( EFalse );
-    TPckg<TWsfWlanInfo> package( aWlanInfo );
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdConnectedDetails, TIpcArgs( &ret, &package ), 
-                                                             waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdConnectedDetails,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-
-    return ret();
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::NotifyEventL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::NotifyEventL( MWsfStateChangeObserver& aObserver )
-    {
-    LOG_ENTERFN("RWsfSession::NotifyEventL");
-    if ( !iEventHandler )
-        {
-        iEventHandler = CWsfEventHandler::NewL( *this, aObserver );
-        }
-    iEventHandler->ResetObserver( aObserver );
-    if ( !iEventHandler->IsActive() )
-        {
-        iEventHandler->Start();
-        SendReceive( ESnifferCmdNotifyEvents, 
-                     TIpcArgs( &iEventHandler->EventContainer() ), 
-                     iEventHandler->iStatus );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::EnableScanL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::EnableScanL()
-    {
-    LOG_ENTERFN("RWsfSession::EnableScanL");
-
-    TInt err = Send( ESnifferCmdActivateScan );
-    LOG_WRITEF( "message[%d] call returned %d", ESnifferCmdActivateScan, err );
-    
-    User::LeaveIfError( err );
-                                                         
-    return !err;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// RWsfSession::DisableScanL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::DisableScanL()
-    {
-    LOG_ENTERFN("RWsfSession::DisableScanL");    
-
-    TInt err = Send( ESnifferCmdDisableScan );
-    LOG_WRITEF( "message[%d] call returned %d", ESnifferCmdDisableScan, err );
-
-    User::LeaveIfError( err );
-
-    return !err;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// RWsfSession::IsScanEnabledL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::IsScanEnabledL()
-    {
-    LOG_ENTERFN("RWsfSession::IsScanEnabledL");
-    TBool res = 0;
-    TPckgBuf<TInt> pckg;
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-    
-    SendReceive( ESnifferCmdIsScanEnabled, TIpcArgs( &pckg ), 
-                                                            waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdIsScanEnabled,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-                                                         
-    res = pckg();
-    return res;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// RWsfSession::UpdateWlanListL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::UpdateWlanListL( CWsfWlanInfoArray* aInfoArray )
-    {
-    LOG_ENTERFN("RWsfSession::UpdateWlanListL");    
-    // first request the buffer size for wlan data...
-    TPckgBuf<TUint> pckg;
-    TUint infoArrayElementCount = aInfoArray->Count();
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdWlanDataSize, TIpcArgs( &pckg ), waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdWlanDataSize,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-
-    // alloc the required size buffer...
-    TInt requiredSize = pckg();
-    LOG_WRITEF( "WLAN data buffer size = %d", requiredSize );
-
-    if ( !requiredSize ) 
-        {
-        // no data ...
-        CleanupStack::PopAndDestroy( waiter );
-        return;
-        }
-
-    HBufC8* buffer = HBufC8::NewLC( requiredSize );
-    TPtr8 ptr = buffer->Des();
-    
-    SendReceive( ESnifferCmdGetWlanInfo, TIpcArgs( &pckg, &ptr ), 
-                                                            waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdGetWlanInfo,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-                                                    
-    
-    LOG_WRITEF( "actual bytes occupied = %d", pckg() );
-    
-    if ( requiredSize != pckg() )
-        {
-        // the buffer is not long enough... we must try again...
-        User::Leave( KErrOverflow );
-        }
-    
-    // Check that aInfoArray has not been modified 
-    // while we waited server response
-    if ( aInfoArray->Count() != infoArrayElementCount )
-        {
-        LOG_WRITEF( "aInfoArray data has changed %d != %d ", 
-                aInfoArray->Count(), infoArrayElementCount );
-        aInfoArray->Reset();
-        }
-    
-    aInfoArray->AppendFromStreamBufferL( ptr );
-    CleanupStack::PopAndDestroy( buffer );
-    CleanupStack::PopAndDestroy( waiter );
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::MonitorAccessPointL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::MonitorAccessPointL( TUint32 aMonitoredIap )
-    {
-    LOG_ENTERFN("RWsfSession::MonitorAccessPointL");
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdMonitorAp, TIpcArgs( aMonitoredIap ), 
-                                                            waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdMonitorAp,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    
-    CleanupStack::PopAndDestroy( waiter );
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::RequestScanL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::RequestScanL()
-    {
-    LOG_ENTERFN("RWsfSession::RequestScanL");
-    TPckgBuf<TBool> pckg;
-    
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdRequestScan, TIpcArgs( &pckg ), waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdRequestScan,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-    return pckg();
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ConnectWlanBearerL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RWsfSession::ConnectWlanBearerL( TUint32 aIapId, 
-                                              TWsfIapPersistence aPersistence )
-    {
-    LOG_ENTERFN( "RWsfSession::ConnectWlanBearerL" );
-    LOG_WRITEF( "IAP id = %d", aIapId );
-
-    // mark the beginning of the connection process
-    iEventHandler->SetConnecting( ETrue );
-
-    TInt res( KErrNone );
-    TPckgBuf<TInt> pckg;
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdConnect, TIpcArgs( &pckg, aIapId, aPersistence ), 
-                                                             waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdConnect,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-    
-    res = pckg();
-    
-    if ( res != KErrNone )
-        {
-        // on any error the flag should be cleared
-        iEventHandler->SetConnecting( EFalse );
-        }
-    else
-        {
-        // otherwise we must wait until the connected signal arrives
-        iConnWaiter->Start();
-        }
-    
-    if ( iConnectingResult )
-        {
-        // the caller must know if the connecting process was cancelled
-        res = iConnectingResult;
-        iConnectingResult = KErrNone;
-        }
-        
-    return res;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ConnectWlanBearerWithoutConnWaiterL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TInt RWsfSession::ConnectWlanBearerWithoutConnWaiterL( TUint32 aIapId, 
-                                              TWsfIapPersistence aPersistence )
-    {
-    LOG_ENTERFN( "RWsfSession::ConnectWlanBearerWithoutConnWaiterL" );
-    LOG_WRITEF( "IAP id = %d", aIapId );
-
-    // mark the beginning of the connection process
-    iEventHandler->SetConnecting( ETrue );
-
-    TInt res( KErrNone );
-    TPckgBuf<TInt> pckg;
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdConnect, TIpcArgs( &pckg, aIapId, aPersistence ), 
-                                                             waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdConnect,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-    
-    res = pckg();
-    
-    if ( res != KErrNone )
-        {
-        // on any error the flag should be cleared
-        iEventHandler->SetConnecting( EFalse );
-        }
-        
-    return res;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::StopConnectingWait
-// ---------------------------------------------------------------------------
-//
-void RWsfSession::StopConnectingWait()
-    {
-    LOG_ENTERFN( "RWsfSession::StopConnectingWait" );
-    if ( iConnWaiter->IsStarted() )
-        {
-        iConnWaiter->AsyncStop();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::DisconnectWlanBearerL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::DisconnectWlanBearerL()
-    {
-    LOG_ENTERFN("RWsfSession::DisconnectWlanBearerL");
-    TBool res = 0;
-    TPckgBuf<TInt> pckg;
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdDisconnect, TIpcArgs( &pckg ), waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdDisconnect,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-
-    CleanupStack::PopAndDestroy( waiter );
-
-    res = pckg();
-    return res;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::Close
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::Close()
-    {
-    LOG_ENTERFN("RWsfSession::Close");
-    delete iEventHandler; iEventHandler = NULL;
-    delete iConnWaiter; iConnWaiter = NULL;
-    
-    RSessionBase::Close();
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::DoCancelNotifyEvent
-// ---------------------------------------------------------------------------
-//
-void RWsfSession::DoCancelNotifyEvent()
-    {
-    LOG_ENTERFN("RWsfSession::DoCancelNotifyEvent");    
-    // used only by CWsfEventHandler
-    TInt err = Send( ESnifferCmdCancelNotifyEvents );
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdCancelNotifyEvents, err );
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::CancelAll
-// ---------------------------------------------------------------------------
-//
-void RWsfSession::CancelAll()
-    {
-    LOG_ENTERFN("RWsfSession::CancelAll");
-    TInt err = Send( ESnifferCmdCancelAll );
-
-    LOG_WRITEF( "message[%d] call returned %d", ESnifferCmdCancelAll, err );
-    }
-    
-
-// ---------------------------------------------------------------------------
-// RWsfSession::IsConnectedL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::IsConnectedL()
-    {
-    LOG_ENTERFN("RWsfSession::IsConnectedL");
-    TPckgBuf<TBool> pckg;
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdIsConnected, TIpcArgs( &pckg ), waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdIsConnected,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-    
-    return pckg();
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::RecoverFromServerTermination
-// ---------------------------------------------------------------------------
-//
-TBool RWsfSession::RecoverFromServerTermination( 
-                                           MWsfStateChangeObserver& aObserver )
-    {
-    RSessionBase::Close();
-    
-    TBool ret( EFalse );
-    
-    ret = ( Connect() == KErrNone );
-    if ( ret )
-        {
-        TRAPD( err, NotifyEventL( aObserver ) );
-        ret = ( err == KErrNone );
-        }
-        
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::AbortConnectingL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::AbortConnectingL()
-    {
-    LOG_ENTERFN("RWsfSession::AbortConnectingL");
-
-    if ( iEventHandler->Connecting() )
-        {
-        iConnectingResult = KErrCancel;
-        iEventHandler->BlockNextConnectedEvent();
-
-        TInt err = Send( ESnifferCmdAbortConnecting );
-        LOG_WRITEF( "message[%d] call returned %d", 
-                    ESnifferCmdAbortConnecting, err );
-        
-        User::LeaveIfError( err );
-        StopConnectingWait();
-        }
-    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// RWsfSession::AbortScanningL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C void RWsfSession::AbortScanningL()
-    {
-    LOG_ENTERFN("RWsfSession::AbortScanningL");    
-
-    TInt err = Send( ESnifferCmdAbortScanning );
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdAbortScanning, err );
-
-    User::LeaveIfError( err );
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::SetIapPersistenceL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::SetIapPersistenceL( 
-                                              TWsfIapPersistence aPersistence )
-    {
-    LOG_ENTERFN("RWsfSession::SetIapPersistenceL");
-    TPckgBuf<TBool> ret( EFalse );
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdSetIapPersistence, TIpcArgs( &ret, aPersistence ), 
-                                                             waiter->iStatus );
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdSetIapPersistence,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-    
-    return ret();    
-    }
-
-
-// ---------------------------------------------------------------------------
-// RWsfSession::ControlDisconnectTimerL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C TBool RWsfSession::ControlDisconnectTimerL( TUint aAdcCommand )
-    {
-    LOG_ENTERFN("RWsfSession::ControlDisconnectTimerL"); 
-    
-    TPckgBuf<TBool> ret( EFalse );
-
-    CWsfActiveWaiter *waiter = CWsfActiveWaiter::NewL();
-    CleanupStack::PushL( waiter );
-
-    SendReceive( ESnifferCmdControlDisconnectTimer, 
-                 TIpcArgs( &ret, aAdcCommand ), 
-                 waiter->iStatus );
-                 
-    waiter->WaitForRequest();
-    LOG_WRITEF( "message[%d] call returned %d", 
-                ESnifferCmdControlDisconnectTimer,
-                waiter->iStatus.Int() );
-    User::LeaveIfError( waiter->iStatus.Int() );
-    CleanupStack::PopAndDestroy( waiter );
-    
-    return ret();    
-    }
-
-
--- a/wlanutilities/wlansniffer/engine/server/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project Server
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-../inc/wsfservercommon.h          |../../inc/wsfservercommon.h
-../inc/wsfcommon.h                |../../../../inc/wsfcommon.h
-
-../rom/wsfserver.iby        CORE_MW_LAYER_IBY_EXPORT_PATH(wsfserver.iby)
-
-
-PRJ_MMPFILES
-server.mmp
-
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/group/server.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project Server
-*
-*/
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-
-TARGET                  wsfserver.exe
-TARGETTYPE              exe
-UID                     0x00000000 0x10281CAB 
-
-
-CAPABILITY ReadDeviceData NetworkServices NetworkControl ProtServ \
-           ReadUserData WriteDeviceData WriteUserData AllFiles
-
-EPOCSTACKSIZE 0x5000
-
-// Source files
-SOURCEPATH              ../src
-SOURCE                  wsfwlanscanner.cpp
-SOURCE                  wsfengine.cpp
-SOURCE                  wsfwlansettingsaccessor.cpp
-SOURCE                  wsfserver.cpp
-SOURCE                  wsfsession.cpp
-SOURCE                  wsfservercloser.cpp
-SOURCE                  wsfwlanbearerconnectionmonitor.cpp
-SOURCE                  wsfactivewaiter.cpp
-
-
-// own headers
-USERINCLUDE             ../inc 
-
-// client-server common headers
-USERINCLUDE             ../../inc
-
-// inner API
-USERINCLUDE             ../../../inc
-
-// private API
-USERINCLUDE             ../../../../inc
-
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-
-// Used system libraries
-LIBRARY     euser.lib
-LIBRARY     bafl.lib 
-LIBRARY     estor.lib 
-LIBRARY     ecom.lib
-LIBRARY     commsdat.lib
-LIBRARY     commdb.lib
-LIBRARY     cmmanagerdatabase.lib
-LIBRARY     cmmanager.lib
-
-LIBRARY     esock.lib 
-LIBRARY     charconv.lib
-LIBRARY     connmon.lib
-LIBRARY     wsfwlaninfo.lib
-LIBRARY     centralrepository.lib
-LIBRARY     FeatMgr.lib
-
-DEBUGLIBRARY     flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfactivewaiter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,117 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfActiveWaiter
-*
-*/
-
-
-#ifndef C_WSFACTIVEWAITER_H
-#define C_WSFACTIVEWAITER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-//  CLASS DEFINITION
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest()
- * 
- * Usage:
- * @code
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest() == KErrNone )
- *      {
- *      // handle success
- *      }
- *      else 
- *      {
- *      // handle failure
- *      }
- * CleanupStack::PopAndDestroy( waiter );
- * @endcode
- *
- * @lib wsfserver.exe
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfActiveWaiter ): public CActive
-    {
-    public:
-        /**
-        * Factory function
-        * @since S60 5.0
-        * @return CWsfActiveWaiter instance.
-        */
-        static CWsfActiveWaiter* NewL();
-
-        /**
-        * Factory function
-        * @since S60 5.0
-        * @return CWsfActiveWaiter instance.
-        */
-        static CWsfActiveWaiter* NewLC();
-
-        /**
-        * Destructor
-        * @since S60 5.0
-        */    
-        virtual ~CWsfActiveWaiter();          
-
-    protected:
-        /**
-        * Constructor
-        * @since S60 5.0
-        */    
-        CWsfActiveWaiter();
-
-        /**
-        * Second-phase constructor.
-        * @since S60 5.0 
-        */
-        void ConstructL();
-        
-    protected:  // from CActive
-
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-        */
-        void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-        */
-        void RunL();
-
-    public:     // new methods
-        /**
-        * Waits for its TRequestStatus to be completed
-        * @since S60 5.0
-        * @return Error code returned from server after request is completed
-        */
-        TInt WaitForRequest();
-    
-    protected:  // data
-        /**
-        * Nested waitloop
-        */
-        CActiveSchedulerWait iWait;
-    };     
-
-#endif // C_WSFACTIVEWAITER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfcommon.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,92 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Header for common client-server constants and enums
-*
-*/
-
-
-
-#ifndef WSFCOMMON_H
-#define WSFCOMMON_H
-
-/**
-* Possible values for the persistence property of monitored IAPs 
-*/
-enum TWsfIapPersistence
-    {
-    /**
-    * Default persistence value
-    */
-    EIapDeleted,
-    
-    /**
-    * The IAP won't be deleted at all.
-    */
-    EIapPersistent,
-    
-    /**
-    * There is an owned active connection whose IAP will be invalidated 
-    * when a disconnect event occurs.
-    */
-    EIapExpireOnDisconnect,
-    
-    /**
-    * There is an owned active connection being used by the browser. 
-    * The IAP will be invalidated when a disconnect event occurs.
-    */
-    EIapNestedExpireOnDisconnect,
-
-    /**
-    * The IAP is invalidated only if the server is forced to terminate.
-    */
-    EIapExpireOnShutdown,
-
-    /**
-    * The IAP is invalidated when the browser exits or a disconnect occurs.
-    */
-    EIapExpireOnBrowserExit,
-    
-    /**
-    * Transient state to mark the IAP as immediately invalidated
-    */
-    EIapForcedExpiry
-
-    };
-
-
-/**
-* Possible values for the auto-disconnect timer control commands.
-* Start/stop and Reset can be combined with usual bitfield operations.
-*/
-enum TWsfAutoDisconnectCommand
-    {
-    /**
-    * Stops the timer but does not change its current value
-    */
-    EAdcStopTimer           =   0x0000,
-    
-    /**
-    * Starts the timer from its previous value
-    */
-    EAdcStartTimer          =   0x0001,
-    
-    /**
-    * Resets the value
-    */
-    EAdcTimerReset          =   0x0002
-    };
-
-
-
-#endif // WSFCOMMON_H
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfengine.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,348 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfModel
-*
-*/
-
-
-
-#ifndef C_WSFENGINE_H
-#define C_WSFENGINE_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <commsdattypesv1_1.h>
-#include <cmmanagerext.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlanscannerobserver.h"
-#include "wsfwlanmonitorobserver.h"
-#include "wsfcommon.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfWlanScanner;
-class MWsfEngineObserver;
-class CWsfWlanBearerConnectionMonitor;
-class TWsfWlanInfo;
-class MWsfServerCloserAdapter;
-
-//  CLASS DEFINITION
-/**
- * Sniffer engine class.
- * This class manages the objects responsible for connection creation, 
- * closing and monitoring, communication with the WLAN engine etc.
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfEngine ): public CBase, 
-                                 public MWsfWlanScannerObserver, 
-                                 public MWsfWlanMonitorObserver
-    {
-    public:     // Constructors and destructor
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aServerCloser Reference to the server closer object.
-        *                      Ownership not passed.
-        * @return Server instance
-        */
-        static CWsfEngine* NewL( MWsfServerCloserAdapter& aServerCloser );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aServerCloser Reference to the server closer object.
-        *                      Ownership not passed.
-        * @return Server instance
-        */
-        static CWsfEngine* NewLC( MWsfServerCloserAdapter& aServerCloser );
-
-        /**
-        * Destructor
-        */        
-        ~CWsfEngine();
-        
-
-    private:    // Constructors
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aServerCloser Reference to the server closer object.
-        *                      Ownership not passed.
-        */
-        CWsfEngine( MWsfServerCloserAdapter& aServerCloser );
-
-        /**
-        * Second-phase constructor.
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-
-    public:     // New methods
- 
-        /** 
-        * Gets the result of complete wlan scan
-        * @since S60 5.0
-        * @return Buffer pointer containing a serialized array of 
-        *         wlaninfo items
-        */ 
-        HBufC8* GetScanResults();
-
-        /**
-        * Sets wlan scanning on
-        * @since S60 5.0
-        */
-        void EnableScanningL();
-        
-        /**
-        * Sets wlan scanning off
-        * @since S60 5.0
-        */ 
-        void DisableScanningL();
-        
-        /**
-        * Returns whether scanning is enabled
-        * @since S60 5.0
-        * @return ETrue if scanning has been enabled, EFalse otherwise
-        */
-        TBool IsScanning();
-
-        /**
-        * Checks if there is an active wlan connection and returns connection
-        * name (SSID) if appropriate.
-        * @since S60 5.0
-        * @return The SSID of connected access point or empty descriptor 
-        *         if not connected
-        */
-        HBufC* ConnectedWlanSsidL();
-
-        /**
-        * Fills the wlaninfo with the details of the active WLAN connection
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo record to be filled
-        *                  Ownership not passed.
-        * @return ETrue if success, EFalse on failure
-        */
-        TBool ConnectedWlanConnectionDetailsL( TWsfWlanInfo& aWlanInfo );
-
-        /**
-        * Connects to the given IAP
-        * @since S60 5.0
-        * @param aIapId The IAP to connect to
-        * @param aPersistence Persistence property of the IAP
-        * @return KErrNone if successful, otherwise error code
-        */
-        TInt ConnectWlanL( TUint32 aIapId, TWsfIapPersistence aPersistence );
-
-        /**
-        * Disconnects the active WLAN connection
-        * @since S60 5.0
-        * @return ETrue on success, EFalse if there was nothing to disconnect
-        */
-        TBool DisconnectWlan();
-    
-        /**
-        * Requests a wlan scan
-        * @since S60 5.0
-        * @return ETrue if scanning is restarted
-        */
-        TBool RefreshScanResults();
-        
-        /**
-        * Requests the server to monitor an access point
-        * @since S60 5.0
-        * @param aApId Access Point to be monitored
-        */
-        void MonitorAccessPointL( TUint32 aApId );
-
-        /**
-        * Queries if there is an active WLAN connection.
-        * @since S60 5.0
-        * @return ETrue if there is an active WLAN connection, 
-        *         EFalse otherwise.
-        */
-        TBool IsConnected();
-        
-        /**
-        * Aborts the currently ongoing connecting process 
-        * @since S60 5.0
-        */
-        void AbortConnectingL();
-        
-        /**
-        * Aborts the currently ongoing scanning process 
-        * @since S60 5.0
-        */
-        void AbortScanning();
-        
-        /**
-        * Sets the persistence property for the currently monitored IAP
-        * @since S60 5.0
-        * @param aPersistence The value of the property
-        * @return ETrue on success
-        */
-        TBool SetIapPersistenceL( TWsfIapPersistence aPersistence );
-
-        /**
-        * Controls the auto-disconnect timer in the server 
-        * for owned connections
-        * @since S60 5.0
-        * @param aAdcCommand Command for the timer,
-        *                    see TWsfAutoDisconnectCommand
-        * @return ETrue if the timer has been started (also if it had been 
-        *         started earlier), EFalse if the timer couldn't be started
-        *         (e.g. because there is no owned connection).
-        */
-        TBool ControlDisconnectTimer( TUint aAdcCommand );
-        
-        /**
-         * Resets the iSuppressIapDeletion flag.
-         * @since S60 5.0
-         */
-        void ResetSuppressIapDeletion ();
-                
-    
-    public:  // new methods
-
-        /**
-        * Adds the given observer to the notification list
-        * @since S60 5.0
-        * @param aObserver The observer to add. Ownership not passed.
-        */
-        void AttachL( MWsfEngineObserver* aObserver );
-
-        /**
-        * Deletes the given observer from the notification list
-        * @since S60 5.0
-        * @param aObserver The observer to remove. Ownership not passed.
-        */
-        void Detach( MWsfEngineObserver* aObserver );
-   
-
-       protected: // from MWsfWlanScannerObserver
-       
-        /**
-        * When the scan cycle has completed this function is called to report 
-        * the completion.
-        * @since S60 5.0
-        */
-        void WlanScanCompleteL();
-
-        /**
-        * Called when the scan cycle has started  
-        * @since S60 5.0
-        */
-        void WlanScanStarted();
-
-        /**
-        * Called when an error occured while scanning wlan data  
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        void NotifyError( TInt aError );        
-           
-          
-       protected: // from MWsfWlanMonitorObserver       
-
-        /**
-        * Called when a wlan connection is established
-        * @since S60 5.0
-        * @param aConnectionName WLAN connection name (SSID)
-        */
-        virtual void ConnectionEstablishedL( const TDesC& aConnectionName );
-
-        /**
-        * Called when wlan connection has been lost
-        * @since S60 5.0
-        */
-        virtual void ConnectionLostL();
-        
-        /**
-        * Called when the connection process failed for some reason
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        virtual void ConnectingFailedL( TInt aError );
-        
-        /**
-        * Called when the connection no longer needs the IAP it was using
-        * @since S60 5.0
-        */
-        virtual void ConnectedIapReleasedL();
-
-        
-    private:
-    
-        /**
-        * Tries to delete the corresponding IAP
-        * @since S60 5.0
-        * @param aIapId The IAP to be deleted
-        */
-        void DeleteIapL( TUint32 aIapId );
-
-
-    private:    // Data
-        /**
-        * Reference to the server closer (not owned)
-        */
-        MWsfServerCloserAdapter& iServerCloser;
-        
-        /**
-        * WLAN scanner object (owned)
-        */
-        CWsfWlanScanner* iScanner;
-        
-        /**
-        * Handle to the commsdat database (owned)
-        */
-        CommsDat::CMDBSession* iDbSession;
-        
-        /**
-        * WLAN connection monitor object (owned)
-        */
-        CWsfWlanBearerConnectionMonitor* iWlanBearerMonitor;
- 
-        /**
-        * Reference counter for scan enabling requests
-        */
-        TInt iEnableScanning;
-        
-        /**
-        * Array of references to the observers of the engine 
-        * (elements not owned)
-        */        
-        RPointerArray<MWsfEngineObserver> iObservers;
-        
-        /**
-        * Accesspoint to be monitored
-        */
-        TUint32 iMonitoredIap;
-
-        /**
-        * Indicates the persistence property of monitored IAP
-        */
-        TWsfIapPersistence iIapPersistence;
-
-        /**
-        * Indicates whether to postpone IAP deletion
-        */
-        TBool iSuppressIapDeletion;
-    };
-
-#endif      //  C_WSFENGINE_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfengineobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,86 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfEngineObserver
-*
-*/
-
-
-
-#ifndef M_WSFENGINEOBSERVER_H
-#define M_WSFENGINEOBSERVER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-//  CLASS DEFINITION
-/*
-* Class acts as an interface for the CWsfEngine to be able to call back 
-* its clients in case of different events.
-*
-* @since S60 5.0
-*/
-class MWsfEngineObserver
-    {
-    public:     // Abstract methods
-    
-        /**
-        * Called when the WLAN scanning is finished and results are available
-        * @since S60 5.0
-        */
-        virtual void WlanListChangedL() = 0;
-
-        /**
-        * Called when an error occured in the engine
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        virtual void NotifyErrorL( TInt aError ) = 0;
-
-        /**
-        * Called when the WLAN scanning has been enabled
-        * @since S60 5.0
-        */
-        virtual void ScanEnabledL() = 0;
-        
-        /**
-        * Called when the WLAN scanning has been disabled
-        * @since S60 5.0
-        */
-        virtual void ScanDisabledL() = 0;
-        
-        /**
-        * Called when a WLAN connection has been established
-        * @since S60 5.0
-        */
-        virtual void ConnectedL() = 0;
-        
-        /**
-        * Called when the active WLAN connection has been terminated
-        * @since S60 5.0
-        */
-        virtual void DisconnectedL() = 0;
-        
-        /**
-        * Called when an error occured during the connecting process
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        virtual void ConnectingFailedL( TInt aError ) = 0;
-
-    };
-
-#endif      //  M_WSFENGINEOBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,273 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfServer
-*
-*/
-
-
-
-#ifndef C_WSFSERVER_H
-#define C_WSFSERVER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfservercloseradapter.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfEngine;
-class CWsfSession;
-
-
-//  CLASS DEFINITION
-/**
-* CWsfServer is the server class that realises the necessary server functions 
-*
-* @since S60 5.0
-* @lib wsfserver.exe
-*/
-NONSHARABLE_CLASS( CWsfServer ): public CPolicyServer
-    {
-    private:
-        
-        /**
-        * CWsfServerCloser is an auxiliary class that is responsible for 
-        * closing the server when there is no need for it any more
-        *
-        * @since S60 5.0
-        * @lib wsfserver.exe
-        */
-        NONSHARABLE_CLASS( CWsfServerCloser ): public CTimer, 
-                                               public MWsfServerCloserAdapter
-            {
-            public:
-                /**
-                * Factory function.
-                * @since S60 5.0
-                * @return Server closer instance
-                */
-                static CWsfServerCloser* NewL();
-                
-                /**
-                * Destructor.
-                */
-                ~CWsfServerCloser();
-            
-            public:     // from MWsfServerCloserAdapter
-            
-                /**
-                * Sets whether the server closer should wait for the 
-                * termination of the owned connection
-                * @since S60 5.0
-                * @param aWait If ETrue, the server closer will wait.
-                */
-                void WaitForOwnedConnection( TBool aWait );
-
-                /**
-                * Sets whether the server closer should wait for the 
-                * termination of the browser
-                * @since S60 5.0
-                * @param aWait If ETrue, the server closer will wait.
-                */
-                void WaitForBrowserExit( TBool aWait );
-
-                /**
-                * Sets whether the server closer should wait for the 
-                * clients of the owned connection to detach
-                * @since S60 5.0
-                * @param aWait If ETrue, the server closer will wait.
-                */
-                void WaitForClients( TBool aWait );
-                
-            private:
-                
-                /**
-                * Constructor.
-                * @since S60 5.0
-                */
-                CWsfServerCloser();
-                
-                /**
-                * Second-phase constructor.
-                * @since S60 5.0
-                */
-                void ConstructL();
-                
-                           
-            private:    // from CActive
-
-                /**
-                * Handles an active object's request completion event.
-                * @since S60 5.0
-                */
-                void RunL();
-                
-
-            private:    // new methods
-                /** 
-                * Start the closing timer
-                */    
-                void StartClosureWait();
-                
-            private:
-                /**
-                * Indicates whether the server should wait for the owned
-                * connection to terminate.
-                */
-                TBool iWaitForOwnedConnection;
-                
-                /**
-                * Indicates whether the server should wait for the browser
-                * to exit.
-                */
-                TBool iWaitForBrowserExit;
-
-                /**
-                * Indicates whether the server should wait for the clients
-                * of the owned connection to detach.
-                */
-                TBool iWaitForClients;
-            };
-
-    public:     // Constructors and destructor
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Server instance
-        */        
-        static CWsfServer* NewLC();
-        
-        /**
-        * Destructor.
-        * @since S60 5.0
-        */
-        ~CWsfServer();
-
-    private:    // Constructors
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aPriority Active object priority value
-        */
-        CWsfServer( TInt aPriority );
-        
-        /**
-        * Second-phase constructor.
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-
-    private:    // from CActive
-        /**
-        * Handles a leave occurring in RunL().
-        * @since S60 5.0
-        * @param aError Leave code
-        * @return aError
-        */    
-        TInt RunError( TInt aError );
-
-
-    private:  // from CPolicyServer
-    
-        /**
-        * Performs a custom security check for IPCs marked with 
-        * TSpecialCase::ECustomCheck.
-        * @since S60 5.0
-        * @param aMsg The message to check. 
-        * @param aAction A reference to the action to take if the security 
-        *                check fails.
-        * @param aMissing A reference to the list of security attributes 
-        *                 missing from the checked process
-        * @return The result of the security check 
-        *         (TCustomResult::EPass/TCustomResult::EFail).
-        */
-        TCustomResult CustomSecurityCheckL( const RMessage2& aMsg, 
-                                            TInt& aAction, 
-                                            TSecurityInfo& aMissing );
-    
-    public:  // from CServer2
-    
-        /**
-        * Creates a server-side session object.
-        * @since S60 5.0
-        * @param aVersion The version information supplied by the client. 
-        * @param aMessage Represents the details of the client request that is
-        *                 requesting the creation of the session.
-        * @return A pointer to the newly created server-side session object. 
-        */
-        CSession2 *NewSessionL( const TVersion& aVersion, 
-                                const RMessage2& /*aMessage*/) const;
-
-    public:                                        
-        /** 
-        * The entry point for server startup. 
-        * Creates the cleanupstack and continues to RunServerL
-        * @since S60 5.0
-        * @return KErrNone if success, otherwise error code
-        */
-        static TInt RunServer();
-
-        /**
-        * Reduce client count and start server shutdown sequence if no client 
-        * sessions are available
-        * @since S60 5.0
-        */
-        void ClientRelease();
-     
-        /**
-        * Increment the client count counter by one
-        * @since S60 5.0
-        */
-        void ClientAttach();
-
-        /**
-        * Returns pointer to the engine
-        * @since S60 5.0
-        * @return Pointer to the engine object
-        */
-        CWsfEngine* Engine();
-        
-    private:        
-        /**
-        * Creates active schduler and thread for server and start waiting for 
-        * client requests
-        * @since S60 5.0
-        */
-        static void RunServerL();
-        
-   
-    private:    // Data       
-        /**
-        * Sniffer engine instance (owned)
-        */
-        CWsfEngine *iEngine;
-        
-        /**
-        * Server closer object (owned)
-        */
-        CWsfServerCloser* iCloser;
-
-        /**
-        * Number of currently attached clients
-        */
-        TInt iClientCount;
-
-    };
-
-
-#endif // C_WSFSERVER_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfservercloseradapter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfServerCloserAdapter
-*
-*/
-
-
-
-
-#ifndef M_WSFSERVERCLOSERADAPTER_H
-#define M_WSFSERVERCLOSERADAPTER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
- 
-
-//  CLASS DEFINITION
-/**
-* Class acts as an interface for the Sniffer server closer to let different 
-* parts of the engine modify the default closing behaviour. Basically, the 
-* functions set the appropriate semaphore in the server closer.
-* 
-* @since S60 5.0
-*/
-class MWsfServerCloserAdapter
-    {
-    public:     // Abstract methods
-
-        /**
-        * Tells the server whether to shut down if there are no clients
-        * connected to it.
-        * @since S60 5.0
-        * @param aWait If ETrue, the server must wait for the clients to
-        *              disconnect first before closing up.
-        */
-        virtual void WaitForClients( TBool aWait ) = 0;
-
-        /**
-        * Tells the server whether to shut down while there is an owned
-        * connection open.
-        * @since S60 5.0
-        * @param aWait If ETrue, the server must wait for the connection to
-        *              terminate first before closing up.
-        */
-        virtual void WaitForOwnedConnection( TBool aWait ) = 0;
-
-        /**
-        * Tells the server whether to shut down while there is an IAP
-        * whose deletion is the server's responsibility.
-        * @since S60 5.0
-        * @param aWait If ETrue, the server must wait for the IAP to be
-        *              deleted first before closing up.
-        */
-        virtual void WaitForBrowserExit( TBool aWait ) = 0;
-        
-    };
-
-
-#endif      //  M_WSFSERVERCLOSERADAPTER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfservercommon.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Header for common client-server constants and enums
-*
-*/
-
-
-
-
-#ifndef WSFSERVERCOMMON_H
-#define WSFSERVERCOMMON_H
-
-
-#include <e32base.h>
-
-/**
-* Published name of the sniffer server
-*/
-_LIT( KWlanSnifferServerName, "WlanSnifferServer" );
-
-/**
-* Filename of the server binary
-*/
-_LIT( KWlanSnifferServerExe, "wsfserver.exe" );
-
-/**
-* Version numbers for the sniffer server
-*/
-const TUint KWlanSnifferServerMajor = 1;
-const TUint KWlanSnifferServerMinor = 0;
-const TUint KWlanSnifferServerBuild = 0;
-
-
-/**
-* IPC commands recognised by the sniffer server
-*/
-enum TWsfWlanSnifferCmds
-    {
-    /**
-    * Asks for the size of the scan results in bytes
-    */
-    ESnifferCmdWlanDataSize,
-
-    /**
-    * Asks to be notified of server events
-    */
-    ESnifferCmdNotifyEvents,
-
-    /**
-    * Asks to cancel notifications
-    */
-    ESnifferCmdCancelNotifyEvents,
-
-    /**
-    * Asks for the wlan scan results
-    */
-    ESnifferCmdGetWlanInfo,
-
-    /**
-    * Asks to create a connection
-    */
-    ESnifferCmdConnect,
-
-    /**
-    * Asks to disconnect the current connection
-    */
-    ESnifferCmdDisconnect,
-
-    /**
-    * Asks to start scanning for WLAN networks
-    */
-    ESnifferCmdActivateScan,
-
-    /**
-    * Asks to disable WLAN scanning
-    */
-    ESnifferCmdDisableScan,
-
-    /**
-    * Asks for the name of the active WLAN connection
-    */
-    ESnifferCmdConnectionName,
-
-    /**
-    * Asks to cancel every operation
-    */
-    ESnifferCmdCancelAll,
-
-    /**
-    * Asks explicitly for an immediate scan
-    */
-    ESnifferCmdRequestScan,
-
-    /**
-    * Asks to monitor the given IAP
-    */
-    ESnifferCmdMonitorAp,
-
-    /**
-    * Queries the scanning status
-    */
-    ESnifferCmdIsScanEnabled,
-
-    /**
-    * Queries the connection status
-    */
-    ESnifferCmdIsConnected,
-
-    /**
-    * Queries the details of the active WLAN connection
-    */
-    ESnifferCmdConnectedDetails,
-
-    /**
-    * Aborts the ongoing scanning
-    */
-    ESnifferCmdAbortScanning,
-
-    /**
-    * Aborts the ongoing connection process
-    */
-    ESnifferCmdAbortConnecting,
-
-    /**
-    * Sets the persistence property of the currently monitored IAP
-    */
-    ESnifferCmdSetIapPersistence,
-
-    /**
-    * Sets the behaviour of the auto-disconnect timer
-    */
-    ESnifferCmdControlDisconnectTimer
-    };
-    
-
-
-/**
-* Structure for passing back the active connection name
-*/    
-class TWsfQueryConnectedAccount
-    {
-    public:
-        /**
-         * Maximal length of IAP name that the class should be able to store
-         */    
-        static const TInt KWlanNameMaxLength = 50;
-        
-    public:
-        /**
-        * Indicates whether there was a connection
-        */
-        TBool iConnected;
-        
-        /**
-        * Name of the active WLAN connection
-        */
-        TBuf<KWlanNameMaxLength> iConnectedAccountName;
-    
-    };    
-
-
-/**
-* Events in the server that clients are notified of
-*/
-enum TWsfEngineEvent
-    {
-    /**
-    * There is a new scan result available.
-    */
-    EEngineWlanDataChanged,
-
-    /**
-    * Notifies that scanning has been disabled
-    */
-    EEngineScanDisabled,
-
-    /**
-    * Notifies that scanning has been enabled
-    */
-    EEngineScanEnabled,
-
-    /**
-    * Notifies that a WLAN connection has been established
-    */
-    EEngineConnected,
-
-    /**
-    * Notifies that the active connection was disconnected
-    */
-    EEngineDisconnected,
-
-    /**
-    * Notifies that an error occured in the server
-    */
-    EEngineError,
-
-    /**
-    * Notifies that the connecting process failed for some reason
-    */
-    EEngineConnectingFailed
-    };
-
-
-/**
-* Data structure for client notification
-*/
-class TWsfNotifyEventContainer
-    {
-    public:
-        /**
-        * Server event
-        */
-         TWsfEngineEvent iEvent;
-         
-         /**
-         * Error code
-         */
-         TInt iError;    
-    };
-    
-
-
-    
-#endif 
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfsession.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,323 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfSession
-*
-*/
-
-
-
-#ifndef C_WSFSESSION_H
-#define C_WSFSESSION_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfengineobserver.h"
-#include "wsfservercommon.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfServer;
-
-//  CLASS DEFINITION
-/**
- * Server-side session class.
- * This class is instantiated and used each time a client connects to the 
- * sniffer server.
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfSession ): public CSession2, 
-                                  public MWsfEngineObserver
-    {
-    public: // Construction and destruction
-        
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aServer Reference to the server object. Ownership not passed.
-        * @return Session instance
-        */
-        static CWsfSession* NewL( CWsfServer& aServer );
-
-        /**
-        * Destructor.
-        */
-         ~CWsfSession();
-
-    private:
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aServer Reference to the server object. Ownership not passed.
-        */
-        CWsfSession( CWsfServer& aServer );
-        
-        /**
-        * Second-phase constructor.
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-
-    public: // from CSession2
-        /**
-        * Handles the servicing of a client request that has been passed to 
-        * the server.
-        * @since S60 5.0
-        * @param aMessage The message containing the details of the 
-        *                 client request
-        */
-        void ServiceL( const RMessage2& aMessage );
-        
-
-    public: // new functions
-        /**
-        * Handles messages by reading the function id and passing 
-        * the request forward.
-        * @since S60 5.0
-        * @param aMessage The received message containing function and 
-        *                 descriptors.
-        */
-        void DispatchMessageL( const RMessage2& aMessage );
-
-
-    private: // new functions
-        /**
-        * Returns whether wlan scanning is scheduled at the moment
-        * @since S60 5.0
-        * @param aMessage The message to process
-        * @return ETrue if active or efalse.
-        */
-        TBool ScanActiveL( const RMessage2& aMessage );    
-
-        /**
-        * Enables the engine scanning 
-        * @since S60 5.0
-        */
-        void ActivateScanL();
-
-        /**
-        * Disables the engine scanning 
-        * @since S60 5.0
-        */
-        void DisableScanL();
-
-        /**
-        * Returns the wlan bearer status
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void IsConnectedL( const RMessage2& aMessage );
-        
-        /**
-        * Activates asynchronous request to engine events
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void RequestNotifyL( const RMessage2& aMessage );
-        
-        /**
-        * Cancels pending notify request
-        * @since S60 5.0
-        */
-        void CancelNotifyEvents();
-
-        /**
-        * Cancels all pending tasks
-        * @since S60 5.0
-        */ 
-        void CancelPendingTasks();
-
-        /**
-        * Gets the connected wlan connection name
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void GetConnectedAccountNameL( const RMessage2& aMessage );  
-        
-        /**
-        * Gets the connected wlan's details in a TWsfWlanInfo
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void GetConnectedDetailsL( const RMessage2& aMessage );
-        
-        /**
-        * Checks the required buffer size for serialized wlan data 
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */        
-        void ReplyWlanDataSizeL( const RMessage2& aMessage );
-
-        /**
-        * Copies serialized wlan data
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void WriteWlanDataL( const RMessage2& aMessage );
-
-        /**
-        * Passes connect wlan commands to engine
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */ 
-        void ConnectWlanL( const RMessage2& aMessage );
-
-        /**
-        * Passes disconnect wlan commands to engine
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */ 
-        void DisconnectWlanL( const RMessage2& aMessage );
-
-        /**
-        * Request the engine to scan asap
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void RequestScanL( const RMessage2& aMessage );
-
-        /**
-        * Starts to monitor UI defined AP
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void MonitorApL( const RMessage2& aMessage );
-        
-        /**
-        * Aborts the currently ongoing connecting process 
-        * @since S60 5.0
-        */
-        void AbortConnectingL();
-        
-        /**
-        * Aborts the currently ongoing scanning process 
-        * @since S60 5.0
-        */
-        void AbortScanning();
-        
-        /**
-        * Sets the persistence property for the currently monitored IAP
-        * @param aMessage The message to process
-        * @since S60 5.0
-        */
-        void SetIapPersistenceL( const RMessage2& aMessage );
-        
-        /**
-        * Controls the auto-disconnect timer in the server 
-        * for owned connections
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void ControlDisconnectTimerL( const RMessage2& aMessage );
-
-        /**
-        * Returns whether scanning is enabled
-        * @since S60 5.0
-        * @param aMessage The message to process
-        */
-        void ReplyIsScanningL( const RMessage2& aMessage );
-                
-
-    public: // from MWsfEngineObserver
-        /**
-        * Called when the WLAN scanning is finished and results are available
-        * @since S60 5.0
-        */
-        void WlanListChangedL();
-
-        /**
-        * Called when an error occured in the engine
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        void NotifyErrorL( TInt aError );
-
-        /**
-        * Called when the WLAN scanning has been enabled
-        * @since S60 5.0
-        */
-        void ScanEnabledL();
-        
-        /**
-        * Called when the WLAN scanning has been disabled
-        * @since S60 5.0
-        */
-        void ScanDisabledL();
-        
-        /**
-        * Called when a WLAN connection has been established
-        * @since S60 5.0
-        */
-        void ConnectedL();
-        
-        /**
-        * Called when the active WLAN connection has been terminated
-        * @since S60 5.0
-        */
-        void DisconnectedL();
-        
-        /**
-        * Called when an error occured during the connecting process
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        void ConnectingFailedL( TInt aError );
-
-
-    private:    // new methods
-        /**
-        * Notifies the client of the next server event in the event queue
-        * @since S60 5.0
-        */
-        void NotifyClientL();
-        
-
-    private:    // data
-        /**
-        * Reference to the server object (not owned)
-        */
-        CWsfServer& iServer;
-        
-        /**
-        * Indicates if notification has been requested
-        */
-        TBool iRequestNotify;
-        
-        /**
-        * Client message to complete when notifying
-        */
-        RMessage2 iNotifyChangesMessage;
-        
-        /**
-        * Queue of server events
-        */
-        RArray<TWsfNotifyEventContainer> iEventQueue;
-        
-        /**
-        * Indicates whether scanning is enabled
-        */
-        TBool iEnabledScanning;
-        
-        /**
-        * Indicates if an event is being processed
-        */
-        TBool iProcessingEvent;
-    };
-
-#endif // C_WSFSESSION_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanbearerconnectionmonitor.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,407 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanBearerConnectionMonitor
-*
-*/
-
-
-
-#ifndef C_WSFWLANBEARERCONNECTIONMONITOR_H
-#define C_WSFWLANBEARERCONNECTIONMONITOR_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-#include <es_sock.h>
-#include <cmdefconnvalues.h>
-#include <cmmanagerext.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfwlanconnectiondetailsprovider.h"
-
-
-//  FORWARD DECLARATIONS
-class MWsfWlanMonitorObserver;
-class MWsfServerCloserAdapter;
-
-
-//  CLASS DEFINITION
-/**
- * Class to monitor and control all WLAN bearer related events and actions
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfWlanBearerConnectionMonitor ): public CActive, 
-                                     public MConnectionMonitorObserver, 
-                                     public MWsfWlanConnectionDetailsProvider
-    {
-    private:
-        /**
-        * Connecting states when creating an owned connection
-        */
-        enum TWsfConnectingState 
-            {
-            /**
-            * Not connected, neither requested
-            */
-            ECsIdle,
-            
-            /**
-            * Requested to connect
-            */
-            ECsNotConnected,
-            
-            /**
-            * Socket server and connection handler opened
-            */
-            ECsSocketOpened,
-            
-            /**
-            * Connection has been established
-            */
-            ECsConnectionCreated,
-            
-            /**
-            * Connection environment fully initialized
-            */
-            ECsConnected
-            };
-        
-        
-    public:     // Constructors and destructor
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aServerCloser Reference to the server closer object. 
-        *                      Ownership not passed.
-        * @return Class instance
-        */
-        static CWsfWlanBearerConnectionMonitor* NewL( 
-                                 MWsfServerCloserAdapter& aServerCloser );
-                                 
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aServerCloser Reference to the server closer object. 
-        *                      Ownership not passed.
-        * @return Class instance
-        */
-        static CWsfWlanBearerConnectionMonitor* NewLC( 
-                                 MWsfServerCloserAdapter& aServerCloser );
-                                 
-        /**
-        * Destructor.
-        */
-        ~CWsfWlanBearerConnectionMonitor();
-
-    private:    // Constructors
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aServerCloser Reference to the server closer object. 
-        *                      Ownership not passed.
-        */
-        CWsfWlanBearerConnectionMonitor( 
-                                 MWsfServerCloserAdapter& aServerCloser );
-
-        /**
-        * Second-phase constructor.
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-    public:     // New methods
-        
-        /**
-        * Returns the name of the active wlan connection
-        * @since S60 5.0
-        * @return Connection name or KNullDesC if not connected
-        */
-        const TDesC& GetWlanBearerNameL();
-
-        /* 
-        * Starts monitoring WLAN events through the given observer
-        * @since S60 5.0
-        * @param aObserver The object to use for monitoring. Ownership 
-        *                  not passed.
-        */    
-        void StartMonitoringL( MWsfWlanMonitorObserver* aObserver );
-        
-        /*
-        * Stops monitoring WLAN events
-        * @since S60 5.0
-        */
-        void StopMonitoring();
-        
-        /*
-        * Connects to the given IAP
-        * @since S60 5.0
-        * @return KErrNone on success, error code otherwise
-        */
-        TInt ConnectBearer( TUint32 aIapId );
-
-        /*
-        * Disconnects active connection
-        * @since S60 5.0
-        * @return ETrue if the was something to disconnect otherwise EFalse
-        */
-        TBool DisconnectBearer();
- 
-        /**
-        * Starts to monitor Access Point
-        * @since S60 5.0
-        * @param aIapId Access point to be monitored
-        */
-        void MonitorAccessPoint( TUint32 aIapId );   
-        
-        /**
-        * Queries if there is an active WLAN connection.
-        * @since S60 5.0
-        * @return ETrue if there is an active WLAN connection, 
-        *         EFalse otherwise.
-        */
-        TBool IsConnected();
-
-        /**
-        * Aborts the currently ongoing connecting process
-        * @since S60 5.0
-        */
-        void AbortConnecting();
-    
-        /**
-        * Controls the auto-disconnect timer in the server 
-        * for owned connections
-        * @since S60 5.0
-        * @param aAdcCommand Command for the timer,
-        *                    see TWsfAutoDisconnectCommand
-        * @return ETrue if the timer has been started (also if it had been 
-        *         started earlier), EFalse if the timer couldn't be started
-        *         (e.g. because there is no owned connection).
-        */
-        TBool ControlDisconnectTimer( TUint aAdcCommand );
-        
-   
-    private:    // From CActive
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-        */
-        void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-        */
-        void RunL();
-
-        /**
-        * Handles a leave occurring in RunL().
-        * @since S60 5.0
-        * @param aError Leave code
-        * @return aError
-        */
-        TInt RunError( TInt aError );
-    
-    
-    protected:  // From MConnectionMonitorObserver
-    
-        /**
-        * Event method is called every time an event occures.
-        * @since S60 5.0
-        * @param aConnMonEvent The event information.
-        */        
-        void EventL( const CConnMonEventBase& aConnMonEvent );
-    
-        
-    public: // from MWsfWlanConnectionDetailsProvider
-    
-        /**
-        * Fills TWsfWlanInfo with the connected wlan's properties
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo structure to be filled
-        * @return ETrue if there is a connection and returned data is valid, 
-        *         EFalse otherwise
-        */ 
-        TBool ConnectedWlanConnectionDetailsL( TWsfWlanInfo* aWlanInfo );
-    
-        
-    private:    // New methods
-    
-        /**
-        * Loops through the list of current connections and searches for one
-        * with wlan bearer
-        * @since S60 5.0
-        */ 
-        void FindWlanBearerConnectedL();
-
-        /**
-        * Checks connection details and retrieves WLAN connection name
-        * @since S60 5.0
-        * @param aConnectionId The connection in question
-        * @return ETrue on success (WLAN connection was found), 
-        *         EFalse otherwise
-        */
-        TBool CheckConnectionDetailsL( TUint aConnectionId );
-        
-        /**
-        * Shuts down the owned connection 
-        * @since S60 5.0
-        */
-        void ShutdownOwnedConnectionL();
-
-        /**
-        * Cleanup function to release the shutdown mutex if shutdown leaves
-        * @since S60 5.0
-        * @param aPtr Pointer for this class
-        */
-        static void ReleaseShutdownMutex( TAny* aPtr );
-
-        /**
-        * Callback for CPeriodic to check the client count and 
-        * start inactivity timer if needed.
-        * @since S60 5.0
-        * @param aPtr Pointer for this class
-        * @return KErrNone if successful, system-wide error code otherwise.
-        */
-        static TInt CheckClientCount( TAny* aPtr );
-
-        /**
-        * Function that does actual processing in checking the client count.
-        * Called by CheckClientCount().
-        * @since S60 5.0
-        */
-        void CheckClientCountL();
-        
-        
-    private:    // Data
-        
-        /**
-        * Reference to the observer of this class (not owned)
-        */
-        MWsfWlanMonitorObserver* iObserver;
-        
-        /**
-        * Handle to the connection monitor
-        */
-        RConnectionMonitor iMonitor;
-        
-        /**
-        * Name of the currently active WLAN connection
-        */
-        TBuf<KWlanMaxAccessPointNameLength> iWlanNetworkName;
-        
-        /**
-        * Id of the currently active WLAN connection
-        */
-        TInt iConnectionId;
-        
-        /**
-        * Indicates whether connection monitoring is on
-        */
-        TBool iMonitoring;
-        
-        /**
-        * The access point to be monitored
-        */
-        TUint32 iMonitoredAp;
-
-        /**
-        * Handle to the socket server for making a connection
-        */
-        RSocketServ iSocketServ;
-        
-        /**
-        * Handle to the owned connection
-        */
-        RConnection iConnection;
-        
-        /**
-        * Indicates whether the connection was initiated from within Sniffer
-        */
-        TBool iConnectionOwned;
-        
-        /**
-        * Default connection settings before creating an own connection
-        */
-        TCmDefConnValue iOriginalDefConn;
-        
-        /**
-        * Default connection settings after the owned connection has been
-        * established
-        */
-        TCmDefConnValue iCurrentDefConn;
-        
-        /**
-        * Periodic polling for connection client count
-        */    
-        CPeriodic* iClientPoll;
-        
-        /**
-        * Indicates whether timer-based auto-disconnect is enabled
-        */
-        TBool iAutoDisconnect;
-        
-        /**
-        * Count of clients using the connection
-        */
-        TInt iClientCount;
-        
-        /**
-        * Timer to measure time elapsed without activity          
-        */
-        TTime iInactivityStart;
-    
-        /**
-        * Status of currently ongoing connecting process
-        */
-        TWsfConnectingState iConnectingState;
-
-        /**
-        * IAP id to connect to. Used by the connecting active object.
-        */
-        TUint32 iConnIap;        
-        
-        /**
-        * Indicates whether the connection is being aborted
-        */
-        TBool iAborting;
-        
-        /**
-        * Asserts that the shutdown process is not reentered
-        */
-        TBool iShutdownMutex;
-        
-        /**
-        * Asserts that the client counting process is not reentered
-        */
-        TBool iClientCountMutex;
-        
-        /**
-        * Handle to the CmManager
-        */
-        RCmManagerExt iCmMgr;
-        
-        /**
-        * Reference to the server closer (not owned)
-        */
-        MWsfServerCloserAdapter& iServerCloser;
-        
-    };
-
-
-#endif // C_WSFWLANBEARERCONNECTIONMONITOR_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanconnectiondetailsprovider.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,65 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfWlanConnectionDetailsProvider
-*
-*/
-
-
-
-#ifndef M_WSFWLANCONNECTIONDETAILSPROVIDER_H
-#define M_WSFWLANCONNECTIONDETAILSPROVIDER_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-//  FORWARD DECLARATIONS
-class TWsfWlanInfo;
-
-
-//  CLASS DEFINITION
-/**
-* Class acts as an interface to the WLAN bearer monitor to let different 
-* parts of the engine query the properties of the current WLAN connection.
-* 
-* @since S60 5.0
-*/
-class MWsfWlanConnectionDetailsProvider
-    {
-    public:     // Abstract methods
-        
-        /**
-        * Fills TWsfWlanInfo with the connected wlan's properties
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo structure to be filled
-        * @return ETrue if there is a connection and returned data is valid, 
-        *         EFalse otherwise
-        */ 
-        virtual TBool ConnectedWlanConnectionDetailsL( 
-                                                TWsfWlanInfo* aWlanInfo ) = 0;
-        
-        /**
-        * Queries if there is an active WLAN connection.
-        * @since S60 5.2
-        * @return ETrue if there is an active WLAN connection, 
-        *         EFalse otherwise.
-        */ 
-        virtual TBool IsConnected() = 0;
-
-    };
-
-#endif      //  M_WSFWLANCONNECTIONDETAILSPROVIDER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanmonitorobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfWlanMonitorObserver
-*
-*/
-
-
-
-#ifndef M_WSFWLANMONITOROBSERVER_H
-#define M_WSFWLANMONITOROBSERVER_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-//  CLASS DEFINITION
-/**
- * Abstact interface definition class for wlan connection detection
- * @since S60 5.0
- */
-class MWsfWlanMonitorObserver
-    {
-    public:     // Abstract methods
-    
-        /**
-        * Called when a wlan connection is established
-        * @since S60 5.0
-        * @param aConnectionName WLAN connection name (SSID)
-        */
-        virtual void ConnectionEstablishedL( 
-                                        const TDesC& aConnectionName ) = 0;
-
-        /**
-          * Called when wlan connection has been lost
-          * @since S60 5.0
-         */
-        virtual void ConnectionLostL() = 0;
-        
-        /**
-        * Called when the connection process failed for some reason
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        virtual void ConnectingFailedL( TInt aError ) = 0;
-        
-        /**
-        * Called when the connection no longer needs the IAP it was using
-        * @since S60 5.0
-        */
-        virtual void ConnectedIapReleasedL() = 0;
-
-    };
-
-
-#endif // M_WSFWLANMONITOROBSERVER_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscaninfodefines.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Header for WLAN scaninfo related constants and enums
-*
-*/
-
-
-
-#ifndef WSFWLANSCANINFODEFINES_H
-#define WSFWLANSCANINFODEFINES_H
-
-/**
-* Maximal number of data rate types
-*/
-const TUint8 KMaxNumberOfRates = 8;
-
-/**
-* Bit masks for Capability Information field.
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11CapabilityBitMask
-    {
-    E802Dot11CapabilityEssMask          = 0x0001,
-    E802Dot11CapabilityIbssMask         = 0x0002,
-    E802Dot11CapabilityCfPollableMask   = 0x0004,
-    E802Dot11CapabilityCfPollRequestMask= 0x0008,
-    E802Dot11CapabilityPrivacyMask      = 0x0010,
-    // these little critters are from 802.11b spec
-    E802Dot11ShortPreambleMask          = 0x0020,
-    E802Dot11PbccMask                   = 0x0040,
-    E802Dot11ChannelAgilityMask         = 0x0080
-    };
-
-/**
-* Management frame information element IDs.
-* (from \S60\osext\wlan\wlanldd\wlan_common\umac_common\inc\802dot11.h)
-*/
-enum TWsf802Dot11InformationElementID
-    {
-    E802Dot11SsidIE                 = 0,
-    E802Dot11SupportedRatesIE       = 1,
-    E802Doi11FhParameterSetIE       = 2,
-    E802Dot11DsParameterSetIE       = 3,
-    E802Dot11CfParameterSetIE       = 4,
-    E802Dot11TimIE                  = 5,
-    E802Dot11IbssParameterSetIE     = 6,
-    E802Dot11CountryIE              = 7,
-    E802Dot11HoppingPatternParamIE  = 8,
-    E802Dot11HoppingPatternTableIE  = 9,
-    E802Dot11RequestIE              = 10,
-
-    E802Dot11ChallengeTextIE        = 16,
-    // Reserved for challenge text extension 17 - 31
-    E802Dot11ErpInformationIE       = 42,
-    E802Dot11ExtendedRatesIE        = 50,
-    E802Dot11AironetIE              = 133,
-    E802Dot11ApIpAddressIE          = 149,
-    E802Dot11RsnIE                  = 221
-    };
-
-
-#endif // WSFWLANSCANINFODEFINES_H
-
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanintervalchangeobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,50 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfWlanScanIntervalChangeObserver
-*
-*/
-
-
-#ifndef M_WSFWLANSCANINTERVALCHANGEOBSERVER_H
-#define M_WSFWLANSCANINTERVALCHANGEOBSERVER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-//  CLASS DEFINITION
-/**
-* Class acts as an interface for the class monitoring the background scan 
-* interval to notify its clients of changes in that property.
-* 
-* @since S60 5.0
-*/
-class MWsfWlanScanIntervalChangeObserver
-    {
-    public:     // Abstract methods
-        /**
-        * Called when the value of the background scan interval or the
-        * show availability flag has been changed
-        * @since S60 5.0
-        * @param aNewScanInterval The new value for the scan interval
-        * @param aShowAvailability The new value for the 
-        *                          Show WLAN availability flag
-        */
-        virtual void WlanScanIntervalChangedL( TUint aNewScanInterval,
-                                               TBool aShowAvailability ) = 0;
-       
-    };
-
-#endif      //  M_WSFWLANSCANINTERVALCHANGEOBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscanner.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,504 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanScanner
-*
-*/
-
-
-
-#ifndef C_WSFWLANSCANNER_H
-#define C_WSFWLANSCANNER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <wlanmgmtcommon.h>
-#include <commsdattypesv1_1.h>
-#include <cmmanagerext.h>
-
-
-
-//  INTERNAL INCLUDES
-#include "wsfwlanscannerobserver.h"
-#include "wsfwlanmonitorobserver.h"
-#include "wsfwlanscanintervalchangeobserver.h"
-#include "wsfwlaninfo.h"
-
-
-//  FORWARD DECLARATIONS
-class CWlanMgmtClient;
-class CWlanScanInfo;
-class CWsfWlanSettingsAccessor;
-class CWsfWlanInfoArray;
-class TWsfWlanInfo;
-class MWsfWlanConnectionDetailsProvider;
-class MWsfKnownIapRecognizer;
-
-
-//  CLASS DEFINITION
-/**
- * Class to schedule WLAN scanning and process the resultant data
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfWlanScanner ): public CActive, 
-                                      public MWlanMgmtNotifications, 
-                                      public MWsfWlanMonitorObserver,
-                                      public MWsfWlanScanIntervalChangeObserver
-    {
-    private:     // Type definitions
-    
-        /**
-        * States of the scanning process
-        */
-        enum TWsfScanState 
-            {
-            /**
-            * Not scanning but scheduled
-            */
-            EIdle,
-            
-            /**
-            * Processing broadcast scan results
-            */
-            EBroadcastScan,
-            
-            /**
-            * Processing direct scan results
-            */
-            EDirectScan,
-            
-            /**
-            * Scanning finished, cleanup and notification
-            */
-            EFinished
-            };
-            
-    public:     // Constructors and destructor
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aDbSession Reference to the database session to use
-        * @return Class instance
-        */
-        static CWsfWlanScanner* NewL( CommsDat::CMDBSession& aDbSession );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aDbSession Reference to the database session to use
-        * @return Class instance
-        */
-        static CWsfWlanScanner* NewLC( CommsDat::CMDBSession& aDbSession );
-
-        /**
-        * Destructor.
-        */
-        ~CWsfWlanScanner();
-
-
-    private:    // Constructors
-    
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aDbSession Reference to the database session to use
-        */
-        CWsfWlanScanner( CommsDat::CMDBSession& aSession );
-
-        /**
-        * Second-phase constructor.
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-
-    public:     // New methods
-        /**
-        * Sets the observer of this class
-        * @since S60 5.0
-        * @param aObserver The observer to be notified of scanning events
-        */
-        void SetObserver( MWsfWlanScannerObserver& aObserver );
-
-        /**
-        * Enables scanning for wlans
-        * @since S60 5.0
-        */
-        void StartScanningL();
-
-        /**
-        * Stops the activation timer and cancels the mgmt client to 
-        * give notifications
-        * @since S60 5.0
-        */
-        void StopScanning();      
-        
-        /**
-        * Initiates a new scanning if it was already enabled but was idle.
-        * @since S60 5.0
-        * @return ETrue if scanning was in fact restarted
-        */
-        TBool RestartScanning();
-
-        /**
-        * Aborts the scanning process if it was active. However, it does not 
-        * disable scanning
-        * @since S60 5.0
-        */
-        void AbortScanning();
-        
-        /**
-        * Returns the serialized contents of scan results 
-        * @since S60 5.0
-        * @return A serialized array of wlaninfo items
-        */       
-        HBufC8* ScanResults();
-        
-        /**
-        * Sets ConnectionDetails provider handle to get data about 
-        * connected wlans
-        * @since S60 5.0
-        * @param aProvider The object to be asked for connection details
-        */ 
-        void SetConnectionDetailProvider( 
-                               MWsfWlanConnectionDetailsProvider& aProvider );
-
-
-    public:     // From MWlanMgmtNotifications
-        /**
-        * Connection status has changed.
-        * @since S60 5.0
-        * @param aNewState The new connection state
-        */
-        void ConnectionStateChanged( TWlanConnectionMode aNewState );
-    
-        /**
-        * BSSID has changed (i.e. AP handover).
-        * @since S60 5.0
-        * @param aNewBssid The new BSSID
-        */
-        void BssidChanged( TWlanBssid& aNewBssid );
-
-        /**
-        * Connection has been lost.
-        * @since S60 5.0
-        */
-        void BssLost();
-
-        /**
-        * Connection has been regained.
-        * @since S60 5.0
-        */
-        void BssRegained();
-
-        /**
-        * New networks have been detected during scan.
-        * @since S60 5.0
-        */
-        void NewNetworksDetected();
-
-        /**
-        * One or more networks have been lost since the last scan.
-        * @since S60 5.0
-        */
-        void OldNetworksLost();
-
-        /**
-        * The used transmit power has been changed.
-        * @since S60 5.0
-        * @param aPower The transmit power in mW.
-        */
-        void TransmitPowerChanged( TUint aPower );
-        
-        /**
-        * Received signal strength level has been changed.
-        * @since S60 5.0
-        * @param aRssClass specifies the current class of the received signal
-        * @param aRss RSS level in absolute dBm values.
-        */
-        void RssChanged( TWlanRssClass aRssClass, TUint aRss );
-        
-
-    private:    // New methods
-        /** 
-        * Processes the results of the broadcast scan
-        * @since S60 5.0
-        */
-        void DoScanForNetworksL();
-           
-        /**
-        * Compares two SSIDs
-        * @since S60 5.0
-        * @param aSsid1 First SSID
-        * @param aSsid2 Second SSID
-        * @return ETrue if the SSIDs are the same, EFalse otherwise
-        */
-        static TBool SsidIdentity( const TWlanSsid& aSsid1, 
-                                   const TWlanSsid& aSsid2 );
-
-#ifdef _DEBUG
-        /**
-        * Dumps the scan results to the log
-        * @since S60 5.0
-        * @param aArray Array of wlaninfo items added during scanning
-        */
-        static void DumpScanResultsL( CWsfWlanInfoArray* aArray );
-#endif
-
-        /**
-        * Check if the given SSID implies a hidden WLAN
-        * @since S60 5.0
-        * @param aSsidLength Length of the SSID passed
-        * @param aSsid SSID as array of bytes
-        * @return ETrue if the network in question is hidden, EFalse otherwise
-        */
-        TBool IsHiddenSsid( TUint aSsidLength, const TUint8* aSsid );
-
-        /**
-        * Parses the scan results for the network name
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo to put the results in
-        * @return ETrue if the network is a hidden one
-        */
-        TBool RefreshNetworkNameL( TWsfWlanInfo& aWlanInfo );
-
-        /**
-        * Parses the scan results for the wlan signal stregth 
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo to put the results in
-        */
-        void RefreshSignalStrength( TWsfWlanInfo& aWlanInfo );
-
-        /**
-        * Parses the scan results for the network mode
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo to put the results in
-        */
-        void RefreshNetworkMode( TWsfWlanInfo& aWlanInfo );
-
-        /**
-        * Parses the scan results for the security mode
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo to put the results in
-        */
-        void RefreshSecurityMode( TWsfWlanInfo& aWlanInfo );
-
-        /**
-        * Parses the scan results for the transfer rate
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo to put the results in
-        */
-        void RefreshMaxRate( TWsfWlanInfo& aWlanInfo );
-
-        /**
-        * Prepares for direct scanning
-        * @since S60 5.0
-        */
-        void PrepareDirectScan();
-
-        /**
-        * Processes the result of the last direct scan
-        * @since S60 5.0
-        */
-        void ProcessDirectScanResultL();
-        
-        /**
-        * Checks iScanArray and replaces SSIDs of known networks
-        * with their IAP names. 
-        * @param aWlanInfo The wlaninfo to put the results in
-        * @since S60 5.0
-        */
-        void ReplaceSsidsWithIapName(TWsfWlanInfo& aWlanInfo);
-        
-        /**
-        * Updates IAPs priority
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo to put the results in
-        */
-        void UpdatePriorityL( TWsfWlanInfo& aWlanInfo );
-        
-        /**
-         * Finds the security mode, network mode from WLAN table
-         * with their IAP names. 
-         * @param aWlanInfo The wlaninfo to put the results in
-         * @since S60 5.0
-         */
-        void GetWlanInfoFromIapL( TWsfWlanInfo& aWlanInfo );
-        
-        /**
-         * Add connected wlan info to scan results
-         * @since S60 5.0
-         */
-        void AddConnectedWLANInfoL();
-        
-     private:    // From CActive
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-        */
-        void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-        */
-        void RunL();
-
-        /**
-        * Handles a leave occurring in RunL().
-        * @since S60 5.0
-        * @param aError Leave code
-        * @return aError
-        */
-        TInt RunError( TInt aError );
-        
-
-    public: // from MWsfWlanMonitorObserver
-
-        /**
-        * Called when a wlan connection is established
-        * @since S60 5.0
-        * @param aConnectionName WLAN connection name (SSID)
-        */
-        void ConnectionEstablishedL( const TDesC& aConnectionName );
-
-        /**
-        * Called when wlan connection has been lost
-        * @since S60 5.0
-        */
-        void ConnectionLostL();
-        
-        /**
-        * Called when the connection process failed for some reason
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        void ConnectingFailedL( TInt aError );
-        
-        /**
-        * Called when the connection no longer needs the IAP it was using
-        * @since S60 5.0
-        */
-        void ConnectedIapReleasedL();
-        
-        
-    public: // from MWsfWlanScanIntervalChangeObserver
-        /**
-        * Called when the value of the background scan interval or the
-        * show availability flag has been changed
-        * @since S60 5.0
-        * @param aNewScanInterval The new value for the scan interval
-        * @param aShowAvailability The new value for the 
-        *                          Show WLAN availability flag
-        */
-        void WlanScanIntervalChangedL( TUint aNewScanInterval,
-                                       TBool aShowAvailability );
-
-    private:    // Data
-        /**
-        * Reference to the observer of this class (not owned)
-        */
-        MWsfWlanScannerObserver* iObserver; 
-        
-        /**
-        * Reference to the database session to use (not owned)
-        */
-        CommsDat::CMDBSession* iDbSession; 
-        
-        /**
-        * Reference to the connection details providing object (not owned)
-        */
-        MWsfWlanConnectionDetailsProvider* iConnectionDetailsProvider;
-        
-        /**
-        * Handle to the WLAN management client (owned)
-        */
-        CWlanMgmtClient* iWlanMgmtClient;
-        
-        /**
-        * Scan info object (owned)
-        */
-        CWlanScanInfo* iScanInfo;
-        
-        /**
-        * WLAN settings monitoring object (owned)
-        */        
-        CWsfWlanSettingsAccessor* iWlanSettingsAccessor;
-        
-        /**
-        * The array containing the wlaninfo items found during scanning 
-        * (owned)
-        */
-        CWsfWlanInfoArray* iScanArray;
-        
-        /**
-        * Name of the active connection (owned)
-        */
-        HBufC* iActiveConnectionName;
-        
-        /**
-        * Timer for scheduling WLAN scans
-        */
-        RTimer iTimer;
-        
-        /**
-        * Handle to the CmManager
-        */
-        RCmManagerExt iCmManagerExt;
-        
-        /**
-        * Buffer to store the serialized array of wlaninfo items (owned)
-        */
-        HBufC8* iScanResults;
-        
-        /**
-        * The background scan interval in microseconds
-        */
-        TUint iScanningInterval;
-
-        /**
-        * Value of Show WLAN availability flag
-        */
-        TBool iShowAvailability;
-        
-        /**
-        * Array of SSIDs that are in CommsDat but have not been found 
-        * by broadcast scan
-        */
-        RArray<TWlanSsid> iDirectScanSsids;
-        
-        /**
-        * Array of IapIDs that are in CommsDat but have not been found 
-        * by broadcast scan
-        */
-        RArray<TUint> iDirectScanIapIDs;
-        
-        /**
-        * Indicates the scanning state
-        */
-        TWsfScanState iScanState;
-             
-        /**
-        * Connected SSID or IAP name
-        */
-        TBuf8<KWlanMaxAccessPointNameLength> iConnectedSsidOrIap;
-        
-    };
-
-
-#endif      //  C_WSFWLANSCANNER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlanscannerobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfWlanScannerObserver
-*
-*/
-
-
-
-#ifndef M_WSFWLANSCANNEROBSERVER_H
-#define M_WSFWLANSCANNEROBSERVER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-//  CLASS DEFINITION
-/**
-* Class acts as an interface for the CWsfWlanScanner to be able to call back 
-* its clients in case of different scanning events.
-*
-* @since S60 5.0
-*/
-class MWsfWlanScannerObserver
-    {
-    public:     // Abstract methods
-        /**
-        * When the scan cycle has completed this function is called to report 
-        * the completion.
-        * @since S60 5.0
-        */
-        virtual void WlanScanCompleteL() = 0;
-
-        /**
-        * Called when the scan cycle has started  
-        * @since S60 5.0
-        */
-        virtual void WlanScanStarted() = 0;
-
-        /**
-        * Called when an error occured while scanning wlan data  
-        * @since S60 5.0
-        * @param aError System wide error code
-        */
-        virtual void NotifyError( TInt aError ) = 0;        
-        
-    };
-
-#endif      //  M_WSFWLANSCANNEROBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/inc/wsfwlansettingsaccessor.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,209 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanScanner
-*
-*/
-
-
-#ifndef C_WSFWLANSETTINGSACCESSOR_H
-#define C_WSFWLANSETTINGSACCESSOR_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <commsdattypesv1_1.h>
-
-//  INTERNAL INCLUDES
-#include "wlanmgmtcommon.h"
-#include "wlanscaninfo.h"
-
-
-//  FORWARD DECLARATIONS
-class CCDWlanDeviceSettingsRecord;
-class MWsfWlanScanIntervalChangeObserver;
-
-
-//  CLASS DEFINITION
-/**
- * Class to monitor WLAN background scan interval and Show WLAN availability 
- * flag value
- *
- * @since S60 5.0
- * @lib wsfserver.exe
- */
-NONSHARABLE_CLASS( CWsfWlanSettingsAccessor ): public CActive
-    {
-    public:     // Constructors and destructor
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aDbSession Reference to the database session to use
-        * @return Class instance
-        */
-        static CWsfWlanSettingsAccessor* NewL( 
-                                          CommsDat::CMDBSession& aDbSession );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aDbSession Reference to the database session to use
-        * @return Class instance
-        */
-        static CWsfWlanSettingsAccessor* NewLC( 
-                                          CommsDat::CMDBSession& aDbSession );
-
-        /**
-        * Destructor.
-        */
-        ~CWsfWlanSettingsAccessor();
-        
-
-    private:    // Constructors
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aDbSession Reference to the database session to use
-        * @return Class instance
-        */
-        CWsfWlanSettingsAccessor( CommsDat::CMDBSession& aDbSession );
-
-        /**
-        * Second-phase constructor.
-        * @since S60 5.0
-        */
-        void ConstructL();
-
-
-    public: // new methods
-        /**
-        * Returns the value of the scan interval
-        * @since S60 5.0
-        * @return The value of the scan interval in seconds
-        */ 
-        TUint ScanInterval() const;
-
-        /**
-        * Returns the value of the show WLAN availability flag
-        * @since S60 5.0
-        * @return The value of the flag
-        */ 
-        TBool ShowAvailability() const;
-
-        /**
-        * Requests notification for when the scan interval changes
-        * @since S60 5.0
-        * @param aObserver The observer object to be notified
-        */
-        void RequestNotificationL( 
-                              MWsfWlanScanIntervalChangeObserver& aObserver );
-            
-        /**
-        * Cancels the change notifications
-        * @since S60 5.0
-        */
-        void CancelNotifications();
-
-
-    private:    // New methods
-        /**
-        * Does the actual setting check
-        * @since S60 5.0
-        * @param aBgScanInterval Variable to store the latest background scan 
-        *                        interval value
-        * @param aShowAvailability Variable to store the latest Show WLAN 
-        *                        availability flag value
-        */
-        void DoCheckSettingL( TUint& aBgScanInterval, 
-                              TBool& aShowAvailability);
-
-        /**
-        * Checks if the current bgscaninterval/availability flag is different 
-        * from the previously retrieved value
-        * @since S60 5.0
-        * @return ETrue if the settings has been changed
-        */
-        TBool CheckIfSettingChangedL();
-
-        /**
-        * Reissues the request for database notification
-        * @since S60 5.0
-        */
-        void IssueNotificationRequestL();
-
-
-    private:  // from CActive
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-        */
-        void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-        */
-        void RunL();
-
-        /**
-        * Handles a leave occurring in RunL().
-        * @since S60 5.0
-        * @param aError Leave code
-        * @return aError
-        */
-        TInt RunError( TInt aError );
-        
-    
-    private:    // Data
-        /**
-        * Handle to the database session (not owned)
-        */
-        CommsDat::CMDBSession* iDbSession;
-        
-        /**
-        * Reference to the observer object (not owned)
-        */
-        MWsfWlanScanIntervalChangeObserver* iChangeObserver;
-        
-        /**
-        * Instance of the WLAN settings record (owned)
-        */
-        CCDWlanDeviceSettingsRecord* iWlanSettingsRecord;
-        
-        /**
-        * The last retrieved bgscaninterval value (in seconds)
-        */
-        TUint iScanInterval;
-        
-        /**
-        * Table ID for the WLAN settings table
-        */
-        CommsDat::TMDBElementId iTableId;
-        
-        /**
-        * Hold-up timer to avoid notification bursts
-        */
-        RTimer iTimer;
-        
-        /**
-        * Indicates whether the processing has been activated but got held up
-        */
-        TBool iBeingHeldUp;
-        
-        /**
-        * Indicates whether show wlan availability flag is on
-        */
-        TBool iShowAvailability;
-    };
-
-#endif // C_WSFWLANSETTINGSACCESSOR_H
-
--- a/wlanutilities/wlansniffer/engine/server/rom/wsfserver.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project Server
-*
-*/
-
-
-
-#ifndef WSFSERVER_IBY
-#define WSFSERVER_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferServer
-
-#include <data_caging_paths_for_iby.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfserver.exe        PROGRAMS_DIR\wsfserver.exe
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFSERVER_IBY
--- a/wlanutilities/wlansniffer/engine/server/src/wsfactivewaiter.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfActiveWaiter
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-    {
-    CWsfActiveWaiter* self = NewLC();
-    CleanupStack::Pop( self );
-    
-    return self;        
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewLC
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewLC()
-    {
-    CWsfActiveWaiter* self = new ( ELeave ) CWsfActiveWaiter();
-    CleanupStack::PushL( self );
-    
-    return self;        
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter(): 
-    CActive( CActive::EPriorityStandard )
-    {
-    CActiveScheduler::Add( this );
-    }
-    
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter
-// ---------------------------------------------------------
-//    
-CWsfActiveWaiter::~CWsfActiveWaiter()
-    {
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel
-// ---------------------------------------------------------
-// 
-void CWsfActiveWaiter::DoCancel()
-    {
-    }
-     
- 
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL
-// ---------------------------------------------------------
-//     
-void CWsfActiveWaiter::RunL()
-    {
-    LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
-    if ( iWait.IsStarted() )
-        {
-        LOG_WRITE("async call completed, resuming.");
-        iWait.AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest
-// ---------------------------------------------------------
-// 
-TInt CWsfActiveWaiter::WaitForRequest()
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
-    SetActive(); 
-    iWait.Start();
-
-    return iStatus.Int();
-    }    
-    
-// End of File
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfengine.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,705 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfEngine
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <commsdattypesv1_1.h>
-#include <commsdat.h>
-#include <cmconnectionmethodext.h>
-#include <cmpluginwlandef.h>
-
-//  CLASS HEADER
-#include "wsfengine.h"
-
-
-//  INTERNAL INCLUDES
-#include "wsfwlanscanner.h"
-#include "wsfwlansettingsaccessor.h"
-#include "wsfwlanbearerconnectionmonitor.h"
-#include "wsfengineobserver.h"
-#include "wsfservercloseradapter.h"
-#include "wsfactivewaiter.h"
-
-#include "wsflogger.h"
-
-
-
-//  LOCAL DEFINITIONS
-using namespace CommsDat;
-
-
-/**
-* Maximum number of retries when trying to delete a temporary IAP but
-* the connection is locking it
-*/
-static const TInt KMaxIapDeletionRetries = 10;
-
-
-/**
-* Time to wait betweed two IAP deletion retries, in microseconds
-*/
-static const TUint KDelayBetweenDeletionRetries = 500 * 1000;
-
-
-
-
-
-//  CONSTRUCTION AND DESTRUCTION
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfEngine* CWsfEngine::NewL( MWsfServerCloserAdapter& aServerCloser )
-    {
-    CWsfEngine* self = CWsfEngine::NewLC( aServerCloser );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfEngine* CWsfEngine::NewLC( MWsfServerCloserAdapter& aServerCloser )
-    {
-    CWsfEngine* self = new ( ELeave ) CWsfEngine( aServerCloser );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::~CWsfEngine
-// ----------------------------------------------------------------------------
-//
-CWsfEngine::~CWsfEngine()
-    {
-    LOG_ENTERFN( "CWsfEngine::~CWsfEngine" );
-    
-    delete iWlanBearerMonitor;
-    delete iScanner;
-    delete iDbSession;
-    iObservers.Reset();
-    
-    if ( iMonitoredIap && 
-         ( iIapPersistence == EIapExpireOnDisconnect ||
-           iIapPersistence == EIapNestedExpireOnDisconnect ||
-           iIapPersistence == EIapExpireOnBrowserExit ||
-           iIapPersistence == EIapExpireOnShutdown ) )
-        {
-        TRAP_IGNORE( DeleteIapL( iMonitoredIap ) );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::CWsfEngine
-// ----------------------------------------------------------------------------
-//
-CWsfEngine::CWsfEngine( MWsfServerCloserAdapter& aServerCloser ):
-    iServerCloser( aServerCloser ),
-    iEnableScanning( 0 ),
-    iIapPersistence( EIapDeleted )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConstructL()
-    {
-    LOG_CREATE;
-    LOG_ENTERFN( "CWsfEngine::ConstructL" );
-    iDbSession = CMDBSession::NewL( CMDBSession::LatestVersion() );
-    iScanner = CWsfWlanScanner::NewL( *iDbSession );
- 
-    iScanner->SetObserver( *this );
-
-    iWlanBearerMonitor = CWsfWlanBearerConnectionMonitor::NewL( iServerCloser );
-    iScanner->SetConnectionDetailProvider( *iWlanBearerMonitor );
-
-    iWlanBearerMonitor->StartMonitoringL( this );
-
-    if ( iWlanBearerMonitor->GetWlanBearerNameL() != KNullDesC() )
-        {
-        HBufC* name = ConnectedWlanSsidL();
-        CleanupStack::PushL( name );
-        iScanner->ConnectionEstablishedL( *name );
-        CleanupStack::PopAndDestroy( name );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::AttachL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::AttachL( MWsfEngineObserver* aObserver )
-    {
-    LOG_ENTERFN( "CWsfEngine::AttachL" );
-    
-    iObservers.AppendL( aObserver );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::Detach
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::Detach( MWsfEngineObserver* aObserver )
-    {
-    LOG_ENTERFN( "CWsfEngine::Detach" );
-    TInt index = iObservers.Find( aObserver );
-    if ( index != KErrNotFound )
-        {
-        iObservers.Remove( index );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::GetScanResults
-// ----------------------------------------------------------------------------
-//
-HBufC8* CWsfEngine::GetScanResults()
-    {
-    LOG_ENTERFN( "CWsfEngine::GetScanResults" );
-    return iScanner->ScanResults();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::EnableScanningL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::EnableScanningL()
-    {
-    LOG_ENTERFN( "CWsfEngine::EnableScanningL" );
-
-    iEnableScanning++;
-    LOG_WRITEF( "++iEnableScanning = %d", iEnableScanning );
-    
-    if ( iEnableScanning == 1 )
-        {
-        LOG_WRITE( "CWsfEngine::EnableScanningL - start scanner" );
-        if ( !iScanner->IsActive() )
-            {
-            iScanner->StartScanningL();
-            }
-        LOG_WRITE( "CWsfEngine::EnableScanningL start scanner done" );
-        for ( TInt i( 0 ); i< iObservers.Count(); ++i )
-            {
-            (iObservers[i])->ScanEnabledL();
-            }
-        }
-    else 
-        {
-        // the scanning is already active - stop and reactivate to complete the
-        // new monitor in sensible time        
-        if ( iScanner->IsActive() )
-            {
-            iScanner->StopScanning();
-            }
-        iScanner->StartScanningL();
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::IsScanning
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::IsScanning()
-    {
-    return iEnableScanning;
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::RefreshScanResults
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::RefreshScanResults()
-    {
-    LOG_ENTERFN( "CWsfEngine::RefreshScanResults" );
-    return iScanner->RestartScanning();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::MonitorAccessPointL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::MonitorAccessPointL( TUint32 aIapId )
-    {
-    LOG_ENTERFN( "CWsfEngine::MonitorAccessPointL" );
-    
-    iMonitoredIap = aIapId;
-
-    if ( iIapPersistence == EIapExpireOnShutdown )
-        {
-        // web browsing with a temporary IAP
-        LOG_WRITE( "EIapExpireOnShutdown => EIapExpireOnBrowserExit" );
-        SetIapPersistenceL( EIapExpireOnBrowserExit );
-        iServerCloser.WaitForBrowserExit( ETrue );
-        
-        // semaphore to keep the order of calls
-        iSuppressIapDeletion = ETrue;  
-        }
-    else if ( iIapPersistence == EIapExpireOnDisconnect )
-        {
-        LOG_WRITE( "EIapExpireOnDisconnect => EIapNestedExpireOnDisconnect" );
-        SetIapPersistenceL( EIapNestedExpireOnDisconnect );
-        }
- 
-    
-    LOG_WRITEF( "iMonitoredIap = %d", iMonitoredIap );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::DisableScanningL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::DisableScanningL()
-    {
-    LOG_ENTERFN( "CWsfEngine::DisableScanningL" );
-
-    iEnableScanning--;
-    LOG_WRITEF( "--iEnableScanning = %d", iEnableScanning );
-
-    if ( !iEnableScanning )
-        {
-        LOG_WRITE( "CWsfEngine::DisableScanning stop scanner" );
-
-        iScanner->StopScanning();
-        LOG_WRITE( "CWsfEngine::DisableScanning stopped scanner" );
-
-        for ( TInt i( 0 ); i < iObservers.Count(); ++i )
-            {
-            (iObservers[i])->ScanDisabledL();
-            }
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectedWlanSsidL
-// ----------------------------------------------------------------------------
-//
-HBufC* CWsfEngine::ConnectedWlanSsidL()
-    {
-    LOG_ENTERFN( "CWsfEngine::ConnectedWlanIapNameL" );
-    return iWlanBearerMonitor->GetWlanBearerNameL().AllocL();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectedWlanConnectionDetailsL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::ConnectedWlanConnectionDetailsL( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfEngine::ConnectedWlanConnectionDetailsL" );
-    return iWlanBearerMonitor->ConnectedWlanConnectionDetailsL( &aWlanInfo );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::WlanScanCompleteL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::WlanScanCompleteL()
-    {
-    LOG_ENTERFN( "CWsfEngine::WlanScanCompleteL" );
-
-    for ( TInt i( 0 ); i < iObservers.Count(); ++i )
-        {
-        (iObservers[i])->WlanListChangedL();
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::WlanScanStarted
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::WlanScanStarted()
-    {
-    LOG_ENTERFN( "CWsfEngine::WlanScanStarted" );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::NotifyError
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::NotifyError( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfEngine::NotifyError" );
-
-    for ( TInt i( 0 ); i < iObservers.Count(); ++i )
-        {
-        TRAP_IGNORE( (iObservers)[i]->NotifyErrorL( aError ) );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectionEstablishedL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectionEstablishedL( const TDesC& aConnectionName )
-    {
-    LOG_ENTERFN( "CWsfEngine::ConnectionEstablishedL" );
-    // set the scanner to check connected accounts
-    iScanner->ConnectionEstablishedL( aConnectionName );
-    
-    iScanner->RestartScanning();
-
-    // notify the observers
-    for ( TInt i( 0 ); i < iObservers.Count(); ++i )
-        {
-        (iObservers)[i]->ConnectedL();
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectionLostL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectionLostL()
-    {
-    LOG_ENTERFN( "CWsfEngine::ConnectionLostL" );
-
-    // check temporarity here as well since it is not guaranteed that 
-    // the connection was owned and ConnectedIapReleasedL was called
-    if ( iSuppressIapDeletion )
-        {
-        // web browsing with a temporary IAP
-        LOG_WRITE( "IAP deletion suppressed" );
-        iSuppressIapDeletion = EFalse;
-        }
-    else if ( iMonitoredIap )
-        {
-        if ( iIapPersistence == EIapExpireOnDisconnect ||
-             iIapPersistence == EIapExpireOnBrowserExit )
-            {
-            DeleteIapL( iMonitoredIap );
-            iIapPersistence = EIapDeleted;
-            iMonitoredIap = 0;        
-            }
-        else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
-            {
-            iIapPersistence = EIapExpireOnBrowserExit;
-            }
-        }
-
-    iScanner->ConnectionLostL();
-    iScanner->RestartScanning();
-
-    // notify the observers
-    for ( TInt i( 0 ); i < iObservers.Count(); ++i )
-        {
-        (iObservers)[i]->DisconnectedL();
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectingFailedL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectingFailedL( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfEngine::ConnectingFailedL" );
-
-    for ( TInt i( 0 ); i < iObservers.Count(); ++i )
-        {
-        (iObservers)[i]->ConnectingFailedL( aError );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectedIapReleasedL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::ConnectedIapReleasedL()
-    {
-    LOG_ENTERFN( "CWsfEngine::ConnectedIapReleasedL" );
-    
-    // deleting temporary IAP if necessary
-    if ( !iSuppressIapDeletion && iMonitoredIap )
-        {
-        if ( iIapPersistence == EIapExpireOnDisconnect ||
-             iIapPersistence == EIapExpireOnBrowserExit )
-            {
-            DeleteIapL( iMonitoredIap );
-            iIapPersistence = EIapDeleted;
-            iMonitoredIap = 0;        
-            }
-        else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
-            {
-            iIapPersistence = EIapExpireOnBrowserExit;
-            iSuppressIapDeletion = ETrue;
-            }
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::DeleteIapL
-// ----------------------------------------------------------------------------
-//
-void CWsfEngine::DeleteIapL( TUint32 aIapId )
-    {
-    LOG_ENTERFN( "CWsfEngine::DeleteIapL" );
-
-    LOG_WRITEF( "deleting temporary IAP id = %d", aIapId );
-    RCmManagerExt cmMgr;
-    cmMgr.OpenLC();
-    
-    RCmConnectionMethodExt ictCm = cmMgr.ConnectionMethodL( aIapId );
-    CleanupClosePushL( ictCm );
-
-    CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
-
-    RTimer timer;
-    timer.CreateLocal();
-
-    // trying to delete the temporary IAP
-    // sometimes the RConnection is still locking the IAP when 
-    // we want to delete it, so we might have to try a couple of times
-    TInt counter( KMaxIapDeletionRetries );
-    TInt err( KErrNone );
-    
-    while ( counter )
-        {
-        LOG_WRITEF( "trying to delete (#%d)", 
-                    KMaxIapDeletionRetries - counter );
-                    
-        TRAP( err, ictCm.DeleteL() );
-
-        if ( !err || err == KErrNotFound )
-            {
-            // if success or the IAP was not found (strange but happens), break
-            break;
-            }
-
-        --counter;
-        if ( err && counter )
-            {
-            LOG_WRITEF( "deletion failed with error = %d", err );
-            LOG_WRITE( "RConnection is still locking the IAP, waiting..." );
-            
-            timer.After( waiter->iStatus, TTimeIntervalMicroSeconds32( 
-                                      KDelayBetweenDeletionRetries ) );
-            waiter->WaitForRequest();
-            }
-        }
-    
-
-    timer.Close();
-    CleanupStack::PopAndDestroy( waiter );
-    
-    if ( !err )
-        {
-        LOG_WRITE( "IAP deleted." );
-        }
-    else
-        {
-        LOG_WRITE( "IAP couldn't be deleted!" );
-        }
-        
-    CleanupStack::PopAndDestroy( &ictCm );
-    CleanupStack::PopAndDestroy( &cmMgr );    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::ConnectWlanL
-// ----------------------------------------------------------------------------
-//
-TInt CWsfEngine::ConnectWlanL( TUint32 aIapId, 
-                               TWsfIapPersistence aPersistence )
-    {
-    LOG_ENTERFN( "CWsfEngine::ConnectWlanL" );
-    LOG_WRITEF( "iapId = %d, persistence = %d", aIapId, aPersistence );
-    
-    // if we have already been monitoring an IAP (different from the 
-    // new one), clean that one up properly
-    if ( iMonitoredIap && iIapPersistence == EIapExpireOnBrowserExit )
-        {
-        // user switched back from browser to sniffer and issued connect
-        if ( iMonitoredIap != aIapId )
-            {
-            // selected network is different, so we must clean up the old one
-            DeleteIapL( iMonitoredIap );
-            iIapPersistence = EIapDeleted;
-            iMonitoredIap = 0;        
-            }
-        else if ( iMonitoredIap == aIapId )
-            {
-            // selected networks are the same
-            aPersistence = EIapNestedExpireOnDisconnect;
-            }
-        iSuppressIapDeletion = EFalse;
-        }
-
-    TInt ret = iWlanBearerMonitor->ConnectBearer( aIapId );
-    
-    if ( !ret )
-        {
-        // successfully initiated connection
-        LOG_WRITE( "connection init succeded" );
-        iMonitoredIap = aIapId;
-        SetIapPersistenceL( aPersistence );
-        }
-    
-    return ret;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::DisconnectWlan
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::DisconnectWlan()
-    {
-    LOG_ENTERFN( "CWsfEngine::DisconnectWlan" );
-    return iWlanBearerMonitor->DisconnectBearer();
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfEngine::IsConnected
-// ----------------------------------------------------------------------------
-//
-TBool CWsfEngine::IsConnected()
-    {
-    return iWlanBearerMonitor->IsConnected();
-    } 
-
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::AbortConnectingL
-// ---------------------------------------------------------------------------
-//
-void CWsfEngine::AbortConnectingL()
-    {
-    LOG_ENTERFN("CWsfEngine::AbortConnectingL");
-
-    iWlanBearerMonitor->AbortConnecting();
-    
-    if ( iMonitoredIap )
-        {
-        if ( iIapPersistence == EIapExpireOnDisconnect )
-            {
-            LOG_WRITE( "EIapNestedExpireOnDisconnect => EIapDeleted" );
-            DeleteIapL( iMonitoredIap );
-            iIapPersistence = EIapDeleted;
-            iMonitoredIap = 0;        
-            }
-        else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
-            {
-            LOG_WRITE( "EIapNestedExpireOnDisconnect => "
-                       L"EIapExpireOnBrowserExit" );
-            iIapPersistence = EIapExpireOnBrowserExit;
-            }
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::AbortScanning
-// ---------------------------------------------------------------------------
-//
-void CWsfEngine::AbortScanning()
-    {
-    LOG_ENTERFN("CWsfEngine::AbortScanning");    
-    
-    iScanner->AbortScanning();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::SetIapPersistenceL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfEngine::SetIapPersistenceL( TWsfIapPersistence aPersistence )
-    {
-    LOG_ENTERFN("CWsfEngine::SetIapPersistenceL");
-    if ( aPersistence == EIapForcedExpiry )
-        {
-        if ( iMonitoredIap && 
-             ( iIapPersistence == EIapExpireOnBrowserExit ||
-               iIapPersistence == EIapExpireOnShutdown ) )
-            {
-            LOG_WRITE( "forced IAP expiry" );
-            DeleteIapL( iMonitoredIap );
-            iIapPersistence = EIapDeleted;
-            iMonitoredIap = 0;
-            }
-        else if ( iIapPersistence == EIapNestedExpireOnDisconnect )
-            {
-            LOG_WRITE( "reverting to EIapExpireOnDisconnect" );
-            iIapPersistence = EIapExpireOnDisconnect;
-            }
-
-        iServerCloser.WaitForBrowserExit( EFalse );
-        }
-    else 
-        {
-        LOG_WRITEF( "persistence = %d", aPersistence );
-        iIapPersistence = aPersistence;
-        }        
-    
-    return ( iMonitoredIap );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::ControlDisconnectTimer
-// ---------------------------------------------------------------------------
-//
-TBool CWsfEngine::ControlDisconnectTimer( TUint aAdcCommand )
-    {
-    LOG_ENTERFN("CWsfEngine::ControlDisconnectTimer");    
-    
-    return iWlanBearerMonitor->ControlDisconnectTimer( aAdcCommand );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfEngine::ResetSuppressIapDeletion
-// ---------------------------------------------------------------------------
-//
-void CWsfEngine::ResetSuppressIapDeletion()
-    {
-    LOG_ENTERFN( "CWsfEngine::ResetSuppresIapDeletion" );
-    
-    iSuppressIapDeletion = EFalse;
-    }
-
-// End of file
--- a/wlanutilities/wlansniffer/engine/server/src/wsfserver.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,351 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfServer
-*
-*/
-
-
-//  CLASS HEADER
-#include "wsfserver.h"
-
-//  INTERNAL INCLUDES
-#include "wsfengine.h"
-#include "wsfsession.h"
-#include "wsfservercommon.h"
-#include "wsflogger.h"
-
-
-//  LOCAL DEFINITIONS
-/**
-* Number of security ranges
-*/
-static const TInt KRangeCount = 1;
-
-
-/**
-* Security ranges
-*/
-static const TInt KSecurityRanges[KRangeCount] = 
-	{
-	0,
-	};
-
-
-/**
-* Policy for the security ranges
-*/	
-static const TUint8 KSecurityRangesPolicy[KRangeCount] =
-	{
-	CPolicyServer::ECustomCheck
-	};
-
-
-/**
-* The complete policy structure
-*/
-static const CPolicyServer::TPolicy KPolicy =
-	{
-	CPolicyServer::EAlwaysPass,
-	KRangeCount,
-	KSecurityRanges,
-	KSecurityRangesPolicy,
-	NULL,
-	};
-	
-
-/**
-* Secure ID of the Active Idle (ailaunch.exe)
-*/
-static _LIT_SECURE_ID( KSidActiveIdle, 0x102750F0 );
-
-	
-	
-// ---------------------------------------------------------------------------
-// CWsfServer::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfServer* CWsfServer::NewLC()
-	{
-	CWsfServer* snifferServer = new (ELeave) CWsfServer( 
-	                                                  CActive::EPriorityHigh );
-	CleanupStack::PushL( snifferServer );
-	snifferServer->ConstructL();
-	snifferServer->StartL( KWlanSnifferServerName );
-	
-	return snifferServer;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::NewSessionL
-// ---------------------------------------------------------------------------
-//
-CSession2* CWsfServer::NewSessionL( const TVersion& aVersion, 
-                                    const RMessage2& /*aMessage*/) const
-	{
-	LOG_ENTERFN( "CWsfServer::NewSessionL" );
-	// check we're the right version
-	TVersion v( KWlanSnifferServerMajor, 
-	            KWlanSnifferServerMinor, 
-	            KWlanSnifferServerBuild );
-	
-	if ( !User::QueryVersionSupported( v, aVersion ) )
-	    {
-	    User::Leave( KErrNotSupported );
-	    }
-	
-	// make new session
-	CSession2* newSession = CWsfSession::NewL( 
-	                                        const_cast<CWsfServer&>( *this ) );
-	
-	return newSession;
-	}
-	
-	
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServer
-// ---------------------------------------------------------------------------
-//
-CWsfServer::CWsfServer( TInt aPriority ): 
-    CPolicyServer( aPriority, KPolicy ),
-	iClientCount( 0 )
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::~CWsfServer
-// ---------------------------------------------------------------------------
-//
-CWsfServer::~CWsfServer()
-	{
-	delete iCloser;
-	delete iEngine;
-	}	
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::ConstructL()
-	{
-	iCloser = CWsfServerCloser::NewL();
-
-	iEngine = CWsfEngine::NewL( *iCloser );
-
-	// start the closing up procedure
-	// so we won't be left running if no clients would appear
-	iCloser->WaitForClients( EFalse );
-	
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::ClientRelease
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::ClientRelease()
-	{
-	LOG_ENTERFN( "CWsfServer::ClientRelease" );
-	--iClientCount;
-	
-	// even if there are no clients, we might need to keep the server alive
-	// to maintain the connection or clean up IAPs properly
-	if ( !iClientCount )
-		{
-		
-		// The last client is released.
-        // Iap deletion must not suppress anymore. Make sure the flag is off.
-        iEngine->ResetSuppressIapDeletion();
-        
-		// From this point on, the server is kept alive to wait for connection notifications if necessary. 
-		// E.g. browser could be launched by sniffer and WLAN connection still exists after sniffer shut down, 
-		// server waits for connection lost callback and cleans up temporary IAPs when connection is closed. 
-		
-	    // If no connections are available, make sure the the server is NOT kept alive to wait
-	    // browser exit, because the server is not set to monitor those notifications directly. 
-		if( !iEngine->IsConnected() )
-		    {
-		    iCloser->WaitForBrowserExit( EFalse );
-		    }
-		
-		iCloser->WaitForClients( EFalse );
-		}
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::ClientAttach
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::ClientAttach()
-	{
-	LOG_ENTERFN( "CWsfServer::ClientAttach" );
-	iCloser->Cancel();
-	++iClientCount;
-	
-	iCloser->WaitForClients( ETrue );
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::Engine
-// ---------------------------------------------------------------------------
-//
-CWsfEngine* CWsfServer::Engine()
-	{
-	return iEngine;
-	}	
-	
-
-// ---------------------------------------------------------------------------
-// CWsfServer::RunServer
-// ---------------------------------------------------------------------------
-//
-TInt CWsfServer::RunServer()
-	{
-	CTrapCleanup* cleanup = CTrapCleanup::New();
-	TInt ret = KErrNoMemory;
-	if ( cleanup )
-		{
-		TRAP( ret, CWsfServer::RunServerL() );
-		delete cleanup;
-		}
-
-	if ( ret != KErrNone )
-		{
-		// Signal the client that server creation failed
-		RProcess::Rendezvous( ret );
-		}
-
-	return KErrNone;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::RunServerL
-// ---------------------------------------------------------------------------
-//
-void CWsfServer::RunServerL()
-	{
-	// Create and install the active scheduler we need
-	CActiveScheduler *as = new (ELeave) CActiveScheduler;
-	CleanupStack::PushL( as );
-	CActiveScheduler::Install( as );
-
-	// Create server
-	CWsfServer::NewLC();
-
-	// Initialisation complete, now signal the client
-	User::LeaveIfError( RThread().RenameMe( KWlanSnifferServerName ) );
-	RProcess::Rendezvous( KErrNone );
-
-	// Ready to run
-	CActiveScheduler::Start();
-
-	// Cleanup the server and scheduler
-	CleanupStack::PopAndDestroy( 2, as );
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWsfServer::RunError( TInt /*aError*/ )
-	{
-	return KErrNone;
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfServer::E32Main
-// ---------------------------------------------------------------------------
-//
-TInt E32Main()
-	{
-	TInt error( KErrNone );
-	error = CWsfServer::RunServer();
-	return error;
-	}
-
-	
-// ---------------------------------------------------------------------------
-// CWsfServer::CustomSecurityCheckL
-// ---------------------------------------------------------------------------
-//
-CPolicyServer::TCustomResult CWsfServer::CustomSecurityCheckL( 
-                                                const RMessage2& aMsg, 
-                                                TInt& /*aAction*/, 
-                                                TSecurityInfo& /*aMissing*/ )
-	{	
-	TCustomResult ret = EFail;
-
-	switch ( aMsg.Function() )
-        {
-        // NULL CAPABILITIES
-        case ESnifferCmdNotifyEvents:
-        case ESnifferCmdCancelNotifyEvents:
-        case ESnifferCmdIsScanEnabled:
-        case ESnifferCmdCancelAll:
-        case ESnifferCmdConnectionName:	
-        case ESnifferCmdIsConnected:
-        case ESnifferCmdMonitorAp:
-            {
-        	ret = EPass;
-        	break;
-            }        	
-        	
-        // CAPABILITY NEEDED
-        case ESnifferCmdActivateScan:
-        case ESnifferCmdDisableScan:
-        case ESnifferCmdWlanDataSize:
-        case ESnifferCmdGetWlanInfo:
-        case ESnifferCmdConnectedDetails:
-        case ESnifferCmdConnect:
-        case ESnifferCmdDisconnect:
-        case ESnifferCmdRequestScan:
-        case ESnifferCmdAbortScanning:
-        case ESnifferCmdAbortConnecting:
-        case ESnifferCmdSetIapPersistence:
-        case ESnifferCmdControlDisconnectTimer:
-            {
-        	// if it is called from ailaunch.exe
-        	// disgusting workaround
-            if ( aMsg.SecureId() == KSidActiveIdle )
-            	{
-            	ret = EPass;
-            	}
-            else
-            	{
-           		ret = ( aMsg.HasCapability( ECapabilityNetworkServices ) && 
-           		        aMsg.HasCapability( ECapabilityNetworkControl ) )? 
-        			        EPass : EFail;
-        		}
-        	break;
-            }
-
-        default:
-            {
-        	ret = EPass;
-        	break;
-            }
-
-        }
-	
-	
-	return ret;
-	}
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfservercloser.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,141 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfServerCloser
-*
-*/
-
-
-//  CLASS HEADER
-#include "wsfserver.h"
-
-
-/**
-* Timeout after all closing requirements are met (in microseconds)
-*/
-static const TInt KServerClosureWaitTimer = 2 * 1000 * 1000; 
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::NewL
-// ---------------------------------------------------------------------------
-//		
-CWsfServer::CWsfServerCloser* CWsfServer::CWsfServerCloser::NewL()
-	{
-	CWsfServer::CWsfServerCloser* thisPtr = new (ELeave) CWsfServerCloser();
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	CleanupStack::Pop( thisPtr );
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::~CWsfServerCloser
-// ---------------------------------------------------------------------------
-//		
-CWsfServer::CWsfServerCloser::~CWsfServerCloser()
-	{
-	Cancel();
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::CWsfServerCloser
-// ---------------------------------------------------------------------------
-//		
-CWsfServer::CWsfServerCloser::CWsfServerCloser(): 
-    CTimer( CActive::EPriorityStandard ),
-    iWaitForOwnedConnection( EFalse ),
-    iWaitForBrowserExit( EFalse ),
-    iWaitForClients( EFalse )
-    {
-	CActiveScheduler::Add( this );
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::ConstructL
-// ---------------------------------------------------------------------------
-//		
-void CWsfServer::CWsfServerCloser::ConstructL()
-	{
-	CTimer::ConstructL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::RunL
-// ---------------------------------------------------------------------------
-//		
-void CWsfServer::CWsfServerCloser::RunL()
-	{
-	CActiveScheduler::Stop();
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::StartClosureWait
-// ---------------------------------------------------------------------------
-//		
-void CWsfServer::CWsfServerCloser::StartClosureWait()
-	{
-	Cancel();
-	
-	if ( !iWaitForClients && !iWaitForBrowserExit && !iWaitForOwnedConnection )
-	    {
-	    After( TTimeIntervalMicroSeconds32( KServerClosureWaitTimer ) );
-	    }	
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::WaitForClients
-// ---------------------------------------------------------------------------
-//		
-void CWsfServer::CWsfServerCloser::WaitForClients( TBool aWait )
-    {
-    iWaitForClients = aWait;
-    if ( !aWait )
-        {
-        StartClosureWait();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::WaitForOwnedConnection
-// ---------------------------------------------------------------------------
-//		
-void CWsfServer::CWsfServerCloser::WaitForOwnedConnection( TBool aWait )
-    {
-    iWaitForOwnedConnection = aWait;
-    if ( !aWait )
-        {
-        StartClosureWait();
-        }
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfServer::CWsfServerCloser::WaitForBrowserExit
-// ---------------------------------------------------------------------------
-//		
-void CWsfServer::CWsfServerCloser::WaitForBrowserExit( TBool aWait )
-    {
-    iWaitForBrowserExit = aWait;
-    if ( !aWait )
-        {
-        StartClosureWait();
-        }
-    }
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfsession.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,715 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfSession
-*
-*/
-
-
-//  CLASS HEADER
-#include "wsfsession.h"
-#include "wsfserver.h"
-#include "wsfengine.h"
-#include "wsfservercommon.h"
-#include "wsfwlaninfo.h"
-#include "wsflogger.h"
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::CWsfSession
-// ----------------------------------------------------------------------------
-//
-CWsfSession::CWsfSession( CWsfServer& aServer ): 
-    iServer( aServer ), 
-    iRequestNotify( EFalse ),
-    iEnabledScanning( EFalse )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfSession* CWsfSession::NewL( CWsfServer& aServer )
-    {
-    CWsfSession* thisPtr = new (ELeave) CWsfSession( aServer );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    CleanupStack::Pop( thisPtr );
-    return thisPtr; 
-    }
-
-    
-// ----------------------------------------------------------------------------
-// CWsfSession::~CWsfSession
-// ----------------------------------------------------------------------------
-//
-CWsfSession::~CWsfSession()
-    {
-    LOG_ENTERFN( "CWsfSession::~CWsfSession" );
-    CancelPendingTasks();
-    iServer.Engine()->Detach( this );
-    iServer.ClientRelease();
-    iEventQueue.Close();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ConstructL()
-    {
-    iServer.ClientAttach();
-    iServer.Engine()->AttachL( this );
-    iEnabledScanning = iServer.Engine()->IsScanning();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ServiceL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ServiceL( const RMessage2& aMessage )
-    {
-    TRAPD( err, DispatchMessageL( aMessage ) );
-    if ( err != KErrNone )
-        {
-        LOG_WRITEF( "CWsfSession::ServiceL DispatchMessageL leave error = %d", 
-                    err );
-        aMessage.Complete( err );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::DispatchMessageL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::DispatchMessageL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::DispatchMessageL" );
-    LOG_WRITEF( "CWsfSession::DispatchMessageL message = %d", 
-                aMessage.Function() );
-    
-    switch ( aMessage.Function() )
-        {
-        case ESnifferCmdWlanDataSize:
-            {
-            ReplyWlanDataSizeL( aMessage );
-            aMessage.Complete( KErrNone );
-            break;
-            }
-
-        case ESnifferCmdNotifyEvents:
-            {
-            RequestNotifyL( aMessage );    
-            break;
-            }
-
-        case ESnifferCmdCancelNotifyEvents:
-            {
-            CancelNotifyEvents();    
-            aMessage.Complete( KErrNone );
-            break;
-            }
-
-        case ESnifferCmdGetWlanInfo:
-            {
-            WriteWlanDataL( aMessage );
-            aMessage.Complete( KErrNone );
-            break;
-            }    
-
-        case ESnifferCmdConnect:
-            {
-            ConnectWlanL( aMessage );
-            aMessage.Complete( KErrNone );    
-            break;
-            }
-
-        case ESnifferCmdDisconnect:
-            {
-            DisconnectWlanL( aMessage );
-            aMessage.Complete( KErrNone );    
-            break;
-            }
-
-        case ESnifferCmdActivateScan:
-            {
-            ActivateScanL();    
-            aMessage.Complete( KErrNone );
-            break;
-            }
-
-        case ESnifferCmdDisableScan:
-            {
-            DisableScanL();
-            aMessage.Complete( KErrNone ); 
-            break;
-            }
-
-        case ESnifferCmdConnectionName:
-            {
-            GetConnectedAccountNameL( aMessage );          
-            aMessage.Complete( KErrNone );    
-            break;     
-            }
-
-        case ESnifferCmdCancelAll:
-            {
-            CancelPendingTasks();
-            aMessage.Complete( KErrNone );
-            break;
-            }             
-
-        case ESnifferCmdRequestScan:
-            {
-            RequestScanL( aMessage );
-            aMessage.Complete( KErrNone );
-            break;
-            }
-
-        case ESnifferCmdMonitorAp:
-            {
-            MonitorApL( aMessage );
-            aMessage.Complete( KErrNone );                
-            break;    
-            }
-
-        case ESnifferCmdIsScanEnabled:
-            {
-            ReplyIsScanningL(aMessage); 
-            aMessage.Complete( KErrNone );    
-            break;
-            }
-        
-        case ESnifferCmdIsConnected:
-            {
-            IsConnectedL( aMessage );
-            aMessage.Complete( KErrNone );
-            break;
-            }
-            
-        case ESnifferCmdConnectedDetails:
-            {
-            GetConnectedDetailsL( aMessage );
-            aMessage.Complete( KErrNone );
-            break;
-            }
-            
-        case ESnifferCmdAbortScanning:
-            {
-            AbortScanning();
-            aMessage.Complete( KErrNone );
-            break;
-            }
-            
-        case ESnifferCmdAbortConnecting:
-            {
-            AbortConnectingL();
-            aMessage.Complete( KErrNone );
-            break;
-            }
-            
-        case ESnifferCmdSetIapPersistence:
-            {
-            SetIapPersistenceL( aMessage );
-            aMessage.Complete( KErrNone );
-            break;
-            }
-            
-        case ESnifferCmdControlDisconnectTimer:
-            {
-            ControlDisconnectTimerL( aMessage );
-            aMessage.Complete( KErrNone );
-            break;
-            }
-            
-       
-        // requests we don't understand at all are a different thing,
-        // so panic the client here, this function also completes the message
-        default:
-            {
-            _LIT( KWsfServerPanic, "WlanSnifferServer" );
-            aMessage.Panic( KWsfServerPanic, 1 );
-            }
-            
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::RequestNotify
-// ---------------------------------------------------------------------------
-//        
-void CWsfSession::RequestNotifyL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::RequestNotifyL" );
-    if ( !iRequestNotify )
-        {
-        LOG_WRITE( "CWsfSession::RequestNotifyL first subscription" );
-        // first subscription
-        iRequestNotify = ETrue;
-        iEventQueue.Reset();
-        }
-        
-    // initial value / processing finished
-    iProcessingEvent = EFalse;
-    
-    // store the message to be completed
-    iNotifyChangesMessage = aMessage;
-    
-    // deal with the queue
-    if ( iEventQueue.Count() )
-        {
-        LOG_WRITE( "CWsfSession::RequestNotifyL queue not empty" );
-        NotifyClientL();
-        }
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfSession::CancelNotifyEvents
-// ---------------------------------------------------------------------------
-//        
-void CWsfSession::CancelNotifyEvents()
-    {
-    LOG_ENTERFN( "CWsfSession::CancelNotifyEvents" );
-    
-    // interrupt ongoing event handling
-    iProcessingEvent = EFalse;
-    if ( !iNotifyChangesMessage.IsNull() )
-        {
-        iNotifyChangesMessage.Complete( KErrCancel );
-        }
-
-    // unsubscribe
-    iRequestNotify = EFalse;
-    
-    // drop all waiting events
-    iEventQueue.Reset();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::CancelPendingTasks
-// ---------------------------------------------------------------------------
-//        
-void CWsfSession::CancelPendingTasks()
-    {
-    LOG_ENTERFN( "CWsfSession::CancelPendingTasks" );
-    if ( iEnabledScanning )
-        {
-        TRAP_IGNORE( iServer.Engine()->DisableScanningL() );
-        }
-
-    CancelNotifyEvents();
-    }
-
-    
-
-// from MWsfEngineObserver
-
-// ---------------------------------------------------------------------------
-// CWsfSession::WlanListChangedL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::WlanListChangedL()
-    {    
-    LOG_ENTERFN( "CWsfSession::WlanListChangedL" );
-    TWsfNotifyEventContainer event = { EEngineWlanDataChanged, KErrNone };
-    iEventQueue.AppendL( event );
-
-    NotifyClientL();
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CWsfSession::NotifyErrorL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::NotifyErrorL( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfSession::NotifyErrorL" );
-    TWsfNotifyEventContainer event = { EEngineError, aError };
-    iEventQueue.AppendL( event );
-
-    NotifyClientL();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ScanEnabledL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::ScanEnabledL()
-    {
-    LOG_ENTERFN( "CWsfSession::ScanEnabledL" );
-    iEnabledScanning = ETrue;
-    TWsfNotifyEventContainer event = { EEngineScanEnabled, KErrNone };
-    iEventQueue.AppendL( event );
-
-    NotifyClientL();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ScanDisabledL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::ScanDisabledL()
-    {
-    LOG_ENTERFN( "CWsfSession::ScanDisabledL" );
-    iEnabledScanning = EFalse;
-    TWsfNotifyEventContainer event = { EEngineScanDisabled, KErrNone };
-    iEventQueue.AppendL( event );
-
-    NotifyClientL();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ConnectedL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::ConnectedL()
-    {
-    LOG_ENTERFN( "CWsfSession::ConnectedL" );
-    TWsfNotifyEventContainer event = { EEngineConnected, KErrNone };
-    iEventQueue.AppendL( event );
-
-    NotifyClientL();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfSession::DisconnectedL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::DisconnectedL()
-    {
-    LOG_ENTERFN( "CWsfSession::DisconnectedL" );
-    TWsfNotifyEventContainer event = { EEngineDisconnected, KErrNone };
-    iEventQueue.AppendL( event );
-    
-    NotifyClientL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfSession::ConnectingFailedL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::ConnectingFailedL( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfSession::ConnectingFailedL" );
-    TWsfNotifyEventContainer event = { EEngineConnectingFailed, aError };
-    iEventQueue.AppendL( event );
-    
-    NotifyClientL();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfSession::NotifyClientL
-// ---------------------------------------------------------------------------
-//    
-void CWsfSession::NotifyClientL()
-    {
-    LOG_ENTERFN( "CWsfSession::NotifyClientL" );
-
-    if ( iRequestNotify && !iProcessingEvent )
-        {
-        LOG_WRITE( "CWsfSession::NotifyClientL notify" );
-        TPckgBuf<TWsfNotifyEventContainer> container( iEventQueue[0] );
-
-        iNotifyChangesMessage.WriteL( 0, container );
-
-        // remove the item that we have just handed over
-        iEventQueue.Remove( 0 );
-
-        iProcessingEvent = ETrue;
-        iNotifyChangesMessage.Complete( KErrNone );
-        }
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::GetConnectedAccountNameL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::GetConnectedAccountNameL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::GetConnectedAccountNameL" );    
-    HBufC* iapName = iServer.Engine()->ConnectedWlanSsidL();
-    CleanupStack::PushL( iapName );
-    TPckgBuf<TWsfQueryConnectedAccount> package;
-
-    TInt maxLen = package().iConnectedAccountName.MaxLength();
-
-    if ( iapName->Length() )
-        {
-        if ( iapName->Length() > maxLen )
-            {
-            package().iConnectedAccountName.Copy( iapName->Ptr(), maxLen );    
-            }
-        else
-            {
-            package().iConnectedAccountName.Copy( *iapName );
-            }
-        package().iConnected = ETrue;
-        }
-    else
-        {
-        package().iConnected = EFalse;
-        }    
-    aMessage.WriteL( 0, package );
-    CleanupStack::PopAndDestroy( iapName );        
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::GetConnectedDetailsL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::GetConnectedDetailsL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::GetConnectedDetailsL" );    
-    TPckgBuf<TWsfWlanInfo> package;
-    TPckgBuf<TBool> ret( ETrue );
-    
-    if ( !iServer.Engine()->ConnectedWlanConnectionDetailsL( package() ) )
-        {
-        LOG_WRITE( "engine returned false, so wlaninfo is marked as invalid" );
-        ret() = EFalse;
-        }
-    
-    aMessage.WriteL( 0, ret );
-    aMessage.WriteL( 1, package );
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfSession::ReplyWlanDataSizeL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ReplyWlanDataSizeL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::ReplyWlanDataSizeL" );
-    const TInt KInvalidLength = 0;
-    TPckgBuf<TUint> p( KInvalidLength );
-
-    HBufC8* results = iServer.Engine()->GetScanResults();
-    if ( results )
-        {
-        p() = results->Length();
-        }
-    
-    aMessage.WriteL( 0, p );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::WriteWlanDataL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::WriteWlanDataL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::WriteWlanDataL" );
-    TPckgBuf<TUint> sizeData;
-    
-    // don't take the ownership
-    HBufC8* scanData = iServer.Engine()->GetScanResults();
-        
-    if ( scanData )
-        {
-        if ( scanData->Length() > aMessage.GetDesMaxLength( 1 ) )
-            {
-            // the data has changed
-            // return error to client to alloc more buffer
-            sizeData() = scanData->Length();
-            aMessage.WriteL( 0, sizeData );
-            }
-        else
-            {
-             // else we have enough buffer... copy the data
-             aMessage.WriteL( 1, *scanData, 0 );
-            }
-        }
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ActivateScanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ActivateScanL()
-    {
-    LOG_ENTERFN( "CWsfSession::ActivateScanL" );    
-    iServer.Engine()->EnableScanningL();
-    iEnabledScanning = ETrue;
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::DisableScanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::DisableScanL()
-    {
-    LOG_ENTERFN( "CWsfSession::DisableScanL" );    
-    if ( iEnabledScanning )
-        {
-        iServer.Engine()->DisableScanningL();
-        iEnabledScanning = EFalse;
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ConnectWlanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ConnectWlanL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::ConnectWlanL" );    
-    TUint32 iapId( aMessage.Int1() );
-    TWsfIapPersistence persistence( TWsfIapPersistence( aMessage.Int2() ) );
-    TPckgBuf<TInt> p( iServer.Engine()->ConnectWlanL( iapId, persistence ) );
-    aMessage.WriteL( 0, p );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::DisconnectWlanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::DisconnectWlanL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::DisconnectWlanL" );    
-    TPckgBuf<TInt> p( iServer.Engine()->DisconnectWlan() );
-    aMessage.WriteL( 0, p );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::RequestScanL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::RequestScanL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::RequestScanL" );    
-    TPckgBuf<TBool> requestMade( EFalse );
-    // check if the client has enabled scanning - if not do not request scans
-    if ( !iEnabledScanning )
-        {
-        LOG_WRITE( "CWsfSession::RequestScanL error, not scanning" );
-        aMessage.WriteL( 0, requestMade );
-        return;
-        }
-    
-    requestMade = iServer.Engine()->RefreshScanResults();
-    aMessage.WriteL( 0, requestMade );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::MonitorApL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::MonitorApL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::MonitorApL" );    
-    TUint32 accessPoint( (TUint32) aMessage.Int0() );
-    iServer.Engine()->MonitorAccessPointL( accessPoint );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ReplyIsScanningL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ReplyIsScanningL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::ReplyIsScanningL" );    
-    TPckgBuf<TBool> p( iServer.Engine()->IsScanning() );
-    aMessage.WriteL( 0, p );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::IsConnectedL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::IsConnectedL( const RMessage2& aMessage )
-    {
-    TBool b = iServer.Engine()->IsConnected();
-    TPckgBuf<TBool> p( b );
-    aMessage.WriteL( 0, p );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::AbortScanning
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::AbortScanning()
-    {
-    LOG_ENTERFN( "CWsfSession::AbortScanningL" );    
-    iServer.Engine()->AbortScanning();
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::AbortConnectingL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::AbortConnectingL()
-    {
-    LOG_ENTERFN( "CWsfSession::AbortConnectingL" );    
-    iServer.Engine()->AbortConnectingL();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfSession::SetIapPersistenceL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::SetIapPersistenceL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::SetIapPersistenceL" );    
-    
-    TWsfIapPersistence persistence( TWsfIapPersistence( aMessage.Int1() ) );
-    TPckgBuf<TBool> ret( iServer.Engine()->SetIapPersistenceL( persistence ) );
-    
-    aMessage.WriteL( 0, ret );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfSession::ControlDisconnectTimerL
-// ----------------------------------------------------------------------------
-//
-void CWsfSession::ControlDisconnectTimerL( const RMessage2& aMessage )
-    {
-    LOG_ENTERFN( "CWsfSession::ControlDisconnectTimerL" );
-
-    TPckgBuf<TBool> ret( iServer.Engine()->ControlDisconnectTimer( 
-                                                 TUint( aMessage.Int1() ) ) );
-    
-    aMessage.WriteL( 0, ret );
-    }
-
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfwlanbearerconnectionmonitor.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1083 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanBearerConnectionMonitor
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <utf.h>
-#include <cmpluginwlandef.h>
-#include <commdbconnpref.h>
-#include <wlanerrorcodes.h>
-#include <cmconnectionmethodext.h>
-#include <commdb.h>
-#include <WlanCdbCols.h>
-
-
-
-//  CLASS HEADER
-#include "wsfwlanbearerconnectionmonitor.h"
-
-//  INTERNAL INCLUDES
-#include "wsfwlanmonitorobserver.h"
-#include "wsflogger.h"
-#include "wsfactivewaiter.h"
-#include "wsfservercloseradapter.h"
-#include "wsfcommon.h"
-
-
-//  LOCAL DEFINITIONS
-using namespace CMManager;
-
-
-#ifdef _DEBUG
-    _LIT( KWlanConnMonPanic, "wsfwlanconnmon" );
-    #define __ASSERTD(x) __ASSERT_DEBUG( (x), \
-                                User::Panic( KWlanConnMonPanic, __LINE__ ) );
-#else
-    #define __ASSERTD(x)
-#endif                                
-
-
-//  LOCAL CONSTANTS
-/**
-* Connection id referring to a non-existing connection
-*/
-static const TInt KNoConnection = -1;
-
-/**
-* Max allowed connection inactivity time in seconds
-*/
-static const TUint KMaxConnectionInactivityTime = 60;
-
-
-/**
-* Client polling interval in microseconds
-*/
-static const TUint KClientPollInterval = 5 * 1000 * 1000;
-
-
-/**
-* Number of trivial clients of a connection (Sniffer, AI/CP plugin etc)
-*/
-static const TUint KTrivialClientCount = 2;
-
-/**
-* List of UIDs of the trivial clients
-*/
-static const TUid KTrivialClientUids[KTrivialClientCount] = 
-    {
-    { 0x10281CAB },         // Sniffer server (wsfserver.exe)
-    { 0x101fD9C5 }          // DHCP server (dhcpserv.exe)
-    };
-
-
-
-//  CONSTRUCTION AND DESTRUCTION
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor* CWsfWlanBearerConnectionMonitor::NewL( 
-                                  MWsfServerCloserAdapter& aServerCloser )
-    {
-    CWsfWlanBearerConnectionMonitor* thisPtr = NewLC( aServerCloser );
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor* CWsfWlanBearerConnectionMonitor::NewLC( 
-                                  MWsfServerCloserAdapter& aServerCloser )
-    {
-    CWsfWlanBearerConnectionMonitor* thisPtr = 
-           new (ELeave) CWsfWlanBearerConnectionMonitor( aServerCloser );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::~CWsfWlanBearerConnectionMonitor
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor::~CWsfWlanBearerConnectionMonitor()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::"
-                 L"~CWsfWlanBearerConnectionMonitor" );
-    iMonitor.CancelNotifications();
-    iMonitor.Close();
-
-    Cancel();
-
-    if ( iConnectionOwned )
-        {
-        // in case Cancel() hasn't done the job
-        TRAP_IGNORE( ShutdownOwnedConnectionL() );
-        }
-    else if ( iMonitoredAp )
-        {
-        
-        }
-
-    delete iClientPoll;
-
-    iCmMgr.Close();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CWsfWlanBearerConnectionMonitor
-// ---------------------------------------------------------------------------
-//
-CWsfWlanBearerConnectionMonitor::CWsfWlanBearerConnectionMonitor( 
-                                MWsfServerCloserAdapter& aServerCloser ):
-    CActive( CActive::EPriorityStandard ),
-    iConnectionId( KNoConnection ),
-    iMonitoring( EFalse ),
-    iConnectingState( ECsIdle ),
-    iServerCloser( aServerCloser )
-    {
-    CActiveScheduler::Add( this );
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::ConstructL" );
-    iCmMgr.OpenL();
-    iMonitor.ConnectL();
-    iClientPoll = CPeriodic::NewL( CActive::EPriorityLow );
-    FindWlanBearerConnectedL();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::GetWlanBearerNameL
-// ---------------------------------------------------------------------------
-//
-const TDesC& CWsfWlanBearerConnectionMonitor::GetWlanBearerNameL()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::GetWlanBearerNameL" );
-    if ( iConnectionId == KNoConnection )
-        {
-        LOG_WRITE( "[no connection]" );
-        return KNullDesC();
-        }
-        
-    LOG_WRITEF( "connection name: %S", &iWlanNetworkName );
-    return iWlanNetworkName;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::FindWlanBearerConnectedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::FindWlanBearerConnectedL()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::FindWlanBearerConnectedL" );
-    CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
-    TUint connectionNumber( 0 );
-
-    iMonitor.GetConnectionCount( connectionNumber, waiter->iStatus );
-    waiter->WaitForRequest();
-    
-    if ( !waiter->iStatus.Int() )
-        {
-        TBool connectionIDFound = EFalse;
-        for ( TUint i = 1; i <= connectionNumber; ++i )
-            {
-            TUint connectionId( 0 );
-            TUint subConnectionCount( 0 );
-            
-            User::LeaveIfError( iMonitor.GetConnectionInfo( i, connectionId, 
-                                                        subConnectionCount ) );
-            if ( CheckConnectionDetailsL( connectionId ) )
-                {
-                LOG_WRITEF( "found connection %d", connectionId );
-                connectionIDFound = ETrue;
-                iConnectionId = connectionId;
-                break;
-                }
-            }
-        if ( !connectionIDFound )
-            {
-            LOG_WRITE( "Reset connection ID" );
-            iConnectionId = KNoConnection;
-            }
-        }
-    else
-        {
-        LOG_WRITEF( "GetConnectionCount failed error = %d", 
-                                                    waiter->iStatus.Int() );
-        }
-        
-    CleanupStack::PopAndDestroy( waiter );
-    }
- 
-            
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::EventL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::EventL( 
-                                       const CConnMonEventBase& aConnMonEvent )
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::EventL" );
-
-    TConnMonEvent event = TConnMonEvent( aConnMonEvent.EventType() );
-    TInt connectionId = aConnMonEvent.ConnectionId();
-
-    LOG_WRITEF( "event = %d", (TInt)event );
-    
-    switch ( event )
-        {
-        case EConnMonCreateConnection:
-            {
-            LOG_WRITEF( "EConnMonCreateConnection id = %d", 
-                        connectionId );
-            break;
-            }
-
-        case EConnMonConnectionStatusChange:
-            {
-            LOG_WRITEF( "EConnMonConnectionStatusChange id = %d", 
-                        connectionId );
-                        
-            const CConnMonConnectionStatusChange* statusChangeEvent = 
-                        static_cast<const CConnMonConnectionStatusChange*>( 
-                                                              &aConnMonEvent );
-                        
-            LOG_WRITEF( "EConnMonConnectionStatusChange status = %d", 
-                        statusChangeEvent->ConnectionStatus() );
-            
-            if ( statusChangeEvent->ConnectionStatus() == KConnectionOpen &&
-                 !iConnectionOwned )
-                {
-                LOG_WRITE( "connection status: open" );
-                TBool wlanEvent( EFalse );
-                
-                wlanEvent = CheckConnectionDetailsL( connectionId );
-                if ( wlanEvent )
-                    {
-                    LOG_WRITEF( "[%S] connected, id = %d", 
-                                &iWlanNetworkName, connectionId );
-
-                    // notify observer ...
-                    iConnectionId = connectionId;
-                    iObserver->ConnectionEstablishedL( iWlanNetworkName );
-                    }
-                }
-            break;
-            }                
-            
-        case EConnMonDeleteConnection:
-            {
-            LOG_WRITEF( "EConnMonDeleteConnection id = %d", connectionId );
-
-            if ( connectionId == iConnectionId )
-                {
-                if ( iConnectionOwned )
-                    {
-                    LOG_WRITE( "connection was owned, manual closing" );
-                    ShutdownOwnedConnectionL();
-                    }
-                else
-                    {
-                    LOG_WRITE( "connection was not owned" );
-                    iWlanNetworkName.Zero();
-                    iConnectionId = KNoConnection;
-                    
-                    // notify observer
-                    iObserver->ConnectionLostL();
-                    }
-                }
-            break;
-            }
-        
-        default:
-            {
-            }
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CheckConnectionDetailsL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::CheckConnectionDetailsL( 
-                                                         TUint aConnectionId )
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::CheckConnectionDetailsL" );
-    LOG_WRITEF( "aConnectionId: %d", aConnectionId );
-    TConnMonBearerType bearerType( EBearerUnknown );
-
-    TBool foundWlanBearer( EFalse );
-
-    // Add only connections with valid id
-    if ( aConnectionId > 0 )
-        {
-        CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
-        iMonitor.GetIntAttribute( aConnectionId, 0, KBearer, 
-                                  (TInt&)bearerType, 
-                                  waiter->iStatus );
-        waiter->WaitForRequest();
-        LOG_WRITEF( "found bearer: %d", bearerType );        
-
-        if ( waiter->iStatus.Int() == KErrNone )
-            {
-            LOG_WRITE( "status: KErrNone" );
-            if ( bearerType == EBearerWLAN )
-                {
-                
-                iMonitor.GetStringAttribute( aConnectionId, 0, KNetworkName, 
-                                         iWlanNetworkName, waiter->iStatus );
-                waiter->WaitForRequest();        
-                if ( waiter->iStatus.Int() == KErrNone )
-                    {
-                    LOG_WRITEF( "WLAN network name: %S", &iWlanNetworkName );
-                    foundWlanBearer = ETrue;
-                    }
-                
-                }
-            }
-        else
-            {
-            LOG_WRITEF( "status: %d", waiter->iStatus.Int() );
-            }
-        CleanupStack::PopAndDestroy( waiter );
-        }
-
-    return foundWlanBearer;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::StartMonitoringL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::StartMonitoringL( 
-                                           MWsfWlanMonitorObserver* aObserver )
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::StartMonitoringL" );        
-    __ASSERTD( aObserver );
-
-    iObserver = aObserver;
-    if ( !iMonitoring )
-        {
-        iMonitoring = ETrue;
-        iMonitor.NotifyEventL( *this );
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::StopMonitoring
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::StopMonitoring()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::StopMonitoring" );        
-
-    if ( iMonitoring )
-        {
-        iMonitoredAp = 0;
-        iMonitoring = EFalse;
-        iMonitor.CancelNotifications();
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ConnectBearer
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanBearerConnectionMonitor::ConnectBearer( TUint32 aIapId )
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::ConnectBearer" );
-    
-    if ( iConnectionId != KNoConnection || iConnectingState != ECsIdle )
-        {
-        // there is already a connection
-        LOG_WRITE( "there is already a WLAN connection" );
-        return KErrWlanConnAlreadyActive;
-        }
-    
-    // self-completion
-    if ( iConnectingState == ECsIdle )
-        {
-        LOG_WRITE( "initiating connection process" );
-        iConnIap = aIapId;
-        iConnectingState = ECsNotConnected;
-        iConnectionOwned = ETrue;
-        iServerCloser.WaitForOwnedConnection( ETrue );
-
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    
-    return KErrNone;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::DisconnectBearer
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::DisconnectBearer()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::DisconnectBearer" );
-
-    if ( iConnectionId != KNoConnection )
-        {
-        LOG_WRITEF( "closing connection id = %d", iConnectionId );
-        iMonitor.SetBoolAttribute( iConnectionId, 0, KConnectionStop, ETrue );
-        }
-
-    return ( iConnectionId != KNoConnection );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::AbortConnecting
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::AbortConnecting()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::AbortConnecting" );
-    
-    if ( iConnectingState != ECsIdle )
-        {
-        LOG_WRITE( "connection in progress, aborting");
-        iAborting = ETrue;
-        
-        if ( IsActive() && iConnectingState == ECsSocketOpened )
-            {
-            LOG_WRITE( "forcing connection to stop" );
-            iConnection.Stop();
-            }
-        }
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::MonitorAccessPoint
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::MonitorAccessPoint( TUint32 aIapId )    
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::MonitorAccessPoint" );
-    iMonitoredAp = aIapId;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ConnectedWlanConnectionDetailsL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::ConnectedWlanConnectionDetailsL( 
-                                                     TWsfWlanInfo* aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::"
-                 L"ConnectedWlanConnectionDetailsL" );
-    
-    LOG_WRITEF( "Monitor iConnectingState =%d and iConnectionId = %d", 
-                         iConnectingState, iConnectionId );
-    
-    if ( iConnectingState == ECsIdle )
-        {
-        // Make sure that we have connection id
-        FindWlanBearerConnectedL();
-        }
-    
-    if ( iConnectionId == KNoConnection )
-        {
-        return EFalse;
-        }
-    
-    // get the data's from the monitor add them to aWlanInfo..
-    aWlanInfo->iConnectionState = EConnected;
-    aWlanInfo->iVisibility = 1;
-    aWlanInfo->iCoverage = 1;
-    aWlanInfo->iNetworkName = KNullDesC8;
-    
-    CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewLC();
-    
-    // security mode
-    TInt securityAttribute( EWlanConnectionSecurityOpen );
-    iMonitor.GetIntAttribute( iConnectionId, 0, KSecurityMode, 
-                              securityAttribute, waiter->iStatus );
-    waiter->WaitForRequest();
-    
-    if ( waiter->iStatus.Int() != KErrNone )
-        {
-        aWlanInfo->iConnectionState = ENotConnected;
-        CleanupStack::PopAndDestroy( waiter );
-        return EFalse;
-        }
-
-    switch ( securityAttribute )
-        {
-        case EConnMonSecurityWep:
-            {
-            aWlanInfo->iSecurityMode = EWlanSecModeWep;
-            break;
-            }
-
-        case EConnMonSecurity802d1x:
-            {
-            aWlanInfo->iSecurityMode = EWlanSecMode802_1x;
-            break;
-            }
-
-        case EConnMonSecurityWpa:       // fall-through
-        case EConnMonSecurityWpaPsk:
-            {
-            aWlanInfo->iSecurityMode = EWlanSecModeWpa;
-            break;
-            }
-
-        case EConnMonSecurityOpen:      // fall-through
-        default:
-            {
-            aWlanInfo->iSecurityMode = EWlanSecModeOpen;
-            }
-        }    
-    LOG_WRITEF( "conn.secmode = %d", aWlanInfo->iSecurityMode );
-
-    // network mode    
-    TInt networkModeAttribute( 0 );
-    
-    iMonitor.GetIntAttribute( iConnectionId, 0, KNetworkMode, 
-                              networkModeAttribute, waiter->iStatus );
-    waiter->WaitForRequest();  
-    
-    if ( waiter->iStatus.Int() != KErrNone )
-        {
-        aWlanInfo->iConnectionState = ENotConnected;
-        CleanupStack::PopAndDestroy( waiter );
-        return EFalse;
-        }
-
-    if ( networkModeAttribute == EConnMonAdHoc )
-        {
-        aWlanInfo->iNetMode = EAdhoc;
-        }
-    else
-        {
-        aWlanInfo->iNetMode = EInfra;
-        }
-        
-    LOG_WRITEF( "conn.netmode = %d", aWlanInfo->iNetMode );
-
-    // iap id
-    TUint iapIdAttribute( 0 );
-    iMonitor.GetUintAttribute( iConnectionId, 0, KIAPId, 
-                              iapIdAttribute, waiter->iStatus );
-    waiter->WaitForRequest();  
-    
-    if ( waiter->iStatus.Int() != KErrNone )
-        {
-        aWlanInfo->iConnectionState = ENotConnected;
-        CleanupStack::PopAndDestroy( waiter );
-        return EFalse;
-        }
-    
-    aWlanInfo->iIapId = iapIdAttribute;
-    
-    LOG_WRITEF( "conn.iap = %d", aWlanInfo->iIapId );
-
-    // signal strength
-    TInt signStrengthAttribute( 0 );          
-    iMonitor.GetIntAttribute( iConnectionId, 0, KSignalStrength, 
-                              signStrengthAttribute, waiter->iStatus );
-    waiter->WaitForRequest(); 
-	
-	if ( waiter->iStatus.Int() != KErrNone )
-        {
-        aWlanInfo->iConnectionState = ENotConnected;
-        CleanupStack::PopAndDestroy( waiter );
-        return EFalse;
-        }
-	
-    aWlanInfo->iStrengthLevel = signStrengthAttribute;
-    LOG_WRITEF( "conn.signalstrength = %d", aWlanInfo->iStrengthLevel );
-    
-    if ( aWlanInfo->iIapId )
-        {
-        LOG_WRITE( "IAP id != 0" );
-        
-        RCmConnectionMethodExt cm = iCmMgr.ConnectionMethodL( aWlanInfo->iIapId );
-        CleanupClosePushL( cm );
-        HBufC* buf = NULL;
-        
-        if ( iCmMgr.EasyWlanIdL() != aWlanInfo->iIapId )
-            {
-            LOG_WRITE( "not EasyWLAN" );
-            buf = cm.GetStringAttributeL( ECmName );
-            }
-        else
-            {
-            LOG_WRITE("Sniffer:EasyWLAN IAP ");
-            aWlanInfo->iIapId = 0;
-            buf = cm.GetStringAttributeL( EWlanUsedSSID );
-            }
-        
-        if ( buf )
-            {
-            TInt error = CnvUtfConverter::ConvertFromUnicodeToUtf8( 
-                                                        aWlanInfo->iSsid, 
-                                                        *buf  );
-            if ( error )
-                {
-                LOG_WRITE( "ConvertFromUnicodeToUtf8 failed");
-                aWlanInfo->iSsid.Copy( *buf );
-                }
-            delete buf;
-            }
-        CleanupStack::PopAndDestroy( &cm ); //cm
-        }
-    else
-        {
-        LOG_WRITE( "IAP id = 0" );
-        }
-
-#ifdef _DEBUG
-    // Iap & Ssid logging   
-    HBufC* nameUnicode = aWlanInfo->GetIapNameAsUnicodeLC();
-    LOG_WRITEF( "aWlanInfo->iNetworkName: [%S]", nameUnicode );
-    CleanupStack::PopAndDestroy( nameUnicode );
-    
-    HBufC* ssidUnicode = aWlanInfo->GetSsidAsUnicodeLC();
-    LOG_WRITEF( "aWlanInfo->tmpSsid: [%S]", ssidUnicode );
-    CleanupStack::PopAndDestroy( ssidUnicode );
-#endif
-
-    CleanupStack::PopAndDestroy( waiter );
-    
-    return ETrue;    
-    }
-
-   
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::IsConnected
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::IsConnected()
-    {
-    return ( iConnectionId != KNoConnection );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CheckClientCount
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanBearerConnectionMonitor::CheckClientCount( TAny* aPtr )
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::CheckClientCount" );
-    CWsfWlanBearerConnectionMonitor* self = 
-                         static_cast<CWsfWlanBearerConnectionMonitor*>( aPtr );
-    TInt err( KErrNone );
-    
-    if ( !self->iClientCountMutex )
-        {
-        // in some rare cases this function is reentered because of the 
-        // active scheduler waits, so we need a mutex
-        self->iClientCountMutex = ETrue;
-        
-        TRAP( err, self->CheckClientCountL() );
-        
-        self->iClientCountMutex = EFalse;
-        }    
-
-    return err;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::CheckClientCountL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::CheckClientCountL()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::CheckClientCountL" );
-    
-    CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-    
-    TConnMonClientEnumBuf clientInfo;
-
-    iMonitor.GetPckgAttribute( iConnectionId, 0, 
-                               KClientInfo, 
-                               clientInfo, 
-                               waiter->iStatus );
-    waiter->WaitForRequest();
-    delete waiter;
-    
-    // get the client count
-    iClientCount = clientInfo().iCount;
-    
-    // decrease count by each trivial client (Sniffer server, DHCP etc)
-    for ( TInt i( 0 ); i < clientInfo().iCount; ++i )
-        {
-        for ( TInt j( 0 ); j < KTrivialClientCount; ++j )
-            {
-            if ( clientInfo().iUid[i] == KTrivialClientUids[j] )
-                {
-                --iClientCount;
-                LOG_WRITEF( "trivial client [0x%08X] discarded", 
-                            clientInfo().iUid[i].iUid );                
-                break;
-                }
-            }
-        }
-    
-    
-    LOG_WRITEF( "iClientCount = %d (trivial clients:%d)", 
-                iClientCount,
-                clientInfo().iCount - iClientCount );
-
-    if ( iAutoDisconnect )
-        {
-        if ( iClientCount )
-            {
-            // there are more clients than the default ones ->
-            // connection is considered active ->
-            // reset the inactivity start time to current time
-            iInactivityStart.UniversalTime();
-            
-            }
-        else
-            {
-            // there are only trivial clients of the connection
-            // this means inactivity, so check the time elapsed
-            LOG_WRITEF( "Connection monitor state = %d", iConnectingState );
-            TTime now;
-            now.UniversalTime();
-
-            if ( iInactivityStart + TTimeIntervalSeconds( 
-                                       KMaxConnectionInactivityTime ) <= now )
-                {
-                // inactivity time limit elapsed, connection should be stopped
-                LOG_WRITE( "inactivity threshold reached, disconnecting..." );
-                DisconnectBearer();
-                }
-            }
-        
-        }
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ControlDisconnectTimer
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanBearerConnectionMonitor::ControlDisconnectTimer( 
-                                                           TUint aAdcCommand )
-    {
-    LOG_ENTERFN("CWsfWlanBearerConnectionMonitor::ControlDisconnectTimer");    
-    
-    if ( iConnectionOwned )
-        {
-        if ( aAdcCommand & EAdcTimerReset )
-            {
-            // reset inactivity time
-            LOG_WRITE( "timer reset" );
-            iInactivityStart.UniversalTime();
-            }
-
-        if ( aAdcCommand & EAdcStartTimer ) 
-            {
-            if ( !iAutoDisconnect )
-                {
-                LOG_WRITE( "timer started" );
-                iAutoDisconnect = ETrue;
-                }
-            else
-                {
-                LOG_WRITE( "timer had already been started!" );
-                }
-            }
-        else
-            {
-            iAutoDisconnect = EFalse;
-            LOG_WRITE( "timer stopped" );
-            }
-
-        }
-    else
-        {
-        LOG_WRITE( "connection is not owned!" );
-        }
-        
-    return iAutoDisconnect;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ReleaseShutdownMutex
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::ReleaseShutdownMutex( TAny* aPtr )
-    {
-    CWsfWlanBearerConnectionMonitor* self = 
-                        static_cast<CWsfWlanBearerConnectionMonitor*>( aPtr );
-    self->iShutdownMutex = EFalse;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::ShutdownOwnedConnectionL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::ShutdownOwnedConnectionL()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::ShutdownOwnedConnectionL" );
-    
-    // Make sure that the internal status is reset.
-    iConnectionId = KNoConnection;
-    
-    if ( iShutdownMutex )
-        {
-        return;
-        }
-        
-    // make sure we don't lock ourselves forever
-    CleanupStack::PushL( TCleanupItem( ReleaseShutdownMutex, this ) );
-    iShutdownMutex = ETrue;
-    
-    
-    // roll-back the changes
-    switch ( iConnectingState )
-        {
-        case ECsConnected:
-            {
-            // cancelling the periodic callback
-            iClientPoll->Cancel();
-            }
-            
-        case ECsConnectionCreated:          // fall-through
-            {
-
-            }
-            
-        case ECsSocketOpened:               // fall-through
-            {
-            // closing the connection handle
-            LOG_WRITE( "closing the connection handle" );
-            iConnection.Close();
-            iSocketServ.Close();
-            }
-            
-        case ECsNotConnected:               // fall-through
-            {
-            // nothing to put here
-            }
-            
-        }
-
-
-    // reset the state machine
-    iConnectingState = ECsIdle;
-    iConnectionOwned = EFalse;
-
-    // tell the engine we have released the IAP 
-    iObserver->ConnectedIapReleasedL();
-
-    
-    iServerCloser.WaitForOwnedConnection( EFalse );
-    
-    if ( !iAborting )
-        {
-        // notify observers only if connection creation 
-        // was not aborted
-        iObserver->ConnectionLostL();
-        }
-
-    iAborting = EFalse;
-    
-    CleanupStack::PopAndDestroy( 1 ); // ReleaseShutdownMutex()
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::RunL()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::RunL" );
-
-    if ( iAborting )
-        {
-        // if connection creation was aborted, do the cleanup
-        ShutdownOwnedConnectionL();
-        return;
-        }
-       
-    switch ( iConnectingState )
-        {
-        case ECsNotConnected:
-            {
-#ifdef __WINSCW__
-            User::After(5000000);
-#endif
-            LOG_WRITE( "<ENotConnected>" );
-
-            TInt err( KErrNone );
-            err = iSocketServ.Connect();
-            
-            if ( !err )
-                {
-                err = iConnection.Open( iSocketServ );
-                }
-            
-            if ( err )
-                {
-                // there was an error while connecting
-                LOG_WRITEF( "connection.Open error = %d", err );
-                ShutdownOwnedConnectionL();
-        
-                iObserver->ConnectingFailedL( err );
-                break;
-                }            
-
-            TCommDbConnPref connPref;
-            connPref.SetIapId( iConnIap );
-            connPref.SetDialogPreference( ECommDbDialogPrefDoNotPrompt );
-
-            iConnectingState = ECsSocketOpened;
-            SetActive();
-            iConnection.Start( connPref, iStatus );
-            break;
-            }
-            
-        case ECsSocketOpened:
-            {
-            LOG_WRITE( "<ESocketOpened>" );
-            if ( iStatus.Int() != KErrNone )
-                {
-                // there was an error while connecting
-                LOG_WRITE( "connection.Start error" );
-                ShutdownOwnedConnectionL();
-        
-                iObserver->ConnectingFailedL( iStatus.Int() );
-
-                break;
-                }
-
-            LOG_WRITE( "connection.Start OK" );
-
-            // get the connection id
-            TRAPD( error, FindWlanBearerConnectedL(); );
-            if ( error || iConnectionId == KNoConnection )
-                {
-                // At this point we really need the connection id if it exists
-                // without connection id server is in very unbalanced state
-                LOG_WRITEF( "FindWlanBearerConnectedL error=%d", error );
-                ShutdownOwnedConnectionL();
-                        
-                iObserver->ConnectingFailedL( ( error )? error : KErrGeneral );
-
-                break;
-                }
-
-            iConnectingState = ECsConnectionCreated;
-            SetActive();
-            TRequestStatus* status = &iStatus;
-            User::RequestComplete( status, KErrNone );
-            break;
-            }
-            
-        case ECsConnectionCreated:
-            {
-            LOG_WRITE( "<EConnectionCreated>" );
-            
-            // start monitoring the iap
-            MonitorAccessPoint( iConnIap );
-            
-            // reset inactivity time
-            iInactivityStart.UniversalTime();
-            iAutoDisconnect = EFalse;
-            
-            iClientPoll->Start( 
-                           TTimeIntervalMicroSeconds32( KClientPollInterval ),
-                           TTimeIntervalMicroSeconds32( KClientPollInterval ),
-                           TCallBack( CheckClientCount, this ) );
-                                
-            LOG_WRITE( "connection client polling started" );
-
-            // notify observers of the connection name
-            iObserver->ConnectionEstablishedL( iWlanNetworkName );
-            
-            iConnectingState = ECsConnected;
-            break;
-            }
-            
-        default:
-            {
-            }
-        }
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanBearerConnectionMonitor::DoCancel()
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::DoCancel" );
-
-    // we were in the middle of a connection creation process    
-    iAborting = ETrue;
-    TRAP_IGNORE( ShutdownOwnedConnectionL() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanBearerConnectionMonitor::RunError
-// ---------------------------------------------------------------------------
-//
-#ifdef _DEBUG
-TInt CWsfWlanBearerConnectionMonitor::RunError( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfWlanBearerConnectionMonitor::RunError" );    
-    LOG_WRITEF( "error = %d", aError );
-#else
-TInt CWsfWlanBearerConnectionMonitor::RunError( TInt /*aError*/ )
-    {
-#endif
-    return KErrNone;
-    }
-
-    
--- a/wlanutilities/wlansniffer/engine/server/src/wsfwlanscanner.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1766 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanScanner
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <wlanmgmtclient.h>
-#include <centralrepository.h>
-#include <utf.h>
-#include <wlancontainer.h>
-#include <commsdattypeinfov1_1.h>
-#include <wlanscaninfo.h>
-#include <cmdestinationext.h>
-#include <commdb.h>
-
-#ifdef __WINS__
-#include <e32math.h>
-#endif
-
-//  CLASS HEADER
-#include "wsfwlanscanner.h"
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-#include "wsfwlanscaninfodefines.h"
-#include "wsfwlanconnectiondetailsprovider.h"
-#include "wsfwlansettingsaccessor.h"
-
-#include "wsflogger.h"
-
-//  LOCAL DEFINITIONS
-using namespace CMManager;
-
-
-/**
-* Microseconds in a second 
-*/
-static const TInt KMicrosecPerSecond = 1000 * 1000;
-
-
-//  CONSTRUCTION AND DESTRUCTION
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::NewL
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanScanner* CWsfWlanScanner::NewL( CommsDat::CMDBSession& aDbSession )
-    {
-    CWsfWlanScanner* self = CWsfWlanScanner::NewLC( aDbSession );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::NewLC
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanScanner* CWsfWlanScanner::NewLC( CommsDat::CMDBSession& aDbSession )
-    {
-    CWsfWlanScanner* self = new( ELeave ) CWsfWlanScanner( aDbSession );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::~CWsfWlanScanner
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanScanner::~CWsfWlanScanner()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::~CWsfWlanScanner" );
-    StopScanning();
-    Cancel();
-    iTimer.Close();
-    iCmManagerExt.Close();
-    delete iActiveConnectionName;
-    delete iScanResults;
-    delete iWlanMgmtClient;
-    delete iWlanSettingsAccessor;
-    delete iScanInfo;
-    delete iScanArray;
-    iDirectScanSsids.Close();
-    iDirectScanIapIDs.Close();
-    iDbSession = NULL; // not owning
-    iConnectionDetailsProvider = NULL;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::CWsfWlanScanner
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanScanner::CWsfWlanScanner( CommsDat::CMDBSession& aDbSession ): 
-    CActive( EPriorityStandard ),
-    iDbSession( &aDbSession ),
-    iScanState( EIdle )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConstructL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::ConstructL" );
-    
-#ifndef __WINS__ // client is not available on wins
-    iWlanMgmtClient = CWlanMgmtClient::NewL();
-
-    iScanInfo = CWlanScanInfo::NewL();
-#endif
-
-    iCmManagerExt.OpenL();
-    
-    iScanArray = CWsfWlanInfoArray::NewL();
-    
-    User::LeaveIfError( iTimer.CreateLocal() );
-    iScanResults = KNullDesC8().AllocL();
-
-    iWlanSettingsAccessor = CWsfWlanSettingsAccessor::NewL( *iDbSession );
-    iScanningInterval = iWlanSettingsAccessor->ScanInterval() * 
-                                                          KMicrosecPerSecond;
-    iShowAvailability = iWlanSettingsAccessor->ShowAvailability();
-    
-    LOG_WRITEF( "initial bgScanInterval = %d sec", 
-                iWlanSettingsAccessor->ScanInterval() );
-    LOG_WRITEF( "initial showAvailability = %d", iShowAvailability );
-    
-    CActiveScheduler::Add( this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DoCancel
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::DoCancel()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::DoCancel" );
-    iTimer.Cancel();
-#ifndef __WINS__
-    iWlanMgmtClient->CancelGetScanResults();
-#endif    
-    iScanState = EIdle;    
-    }
- 
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RunL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::RunL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RunL" );
-    
-    /*
-     * Scan logic
-     * 1. Do broadcast scan - state = EIdle
-     * 2. Get available IAPs - state = EBroadcastScan
-     * 3. Process broadcast scan results state = EBroadcastScan
-     * 4. Do direct scans for remaining known networks
-     *    from step 2. Get available IAPs - state = EDirectScan
-     * 5. Add connected network - state = EFinished
-     * 6. Set names and priorities for known networks - state = EFinished
-     */
-
-    if ( iScanState == EIdle )
-        {
-        LOG_WRITE( "broadcast scan phase" );
-
-        // prepare things for direct scans
-        PrepareDirectScan();
-          
-        // notify clients
-        if ( iObserver )
-            {
-            iObserver->WlanScanStarted();
-            }
-
-        // do broadcast scan
-#ifndef __WINS__
-        iWlanMgmtClient->GetScanResults( iStatus, *iScanInfo );
-        SetActive();
-#else
-        // for testing
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-#endif     
-        
-        iScanState = EBroadcastScan;
-        }
-        
-    else if ( iScanState == EBroadcastScan )
-        {
-        // process broadcast scan results
-        DoScanForNetworksL();
-        
-        // now it's time to initiate direct scan 
-        // for remaining known networks
-        if ( iDirectScanSsids.Count() )
-            {
-#ifdef _DEBUG
-            HBufC* ssid = TWsfWlanInfo::GetSsidAsUnicodeLC( 
-                                                        iDirectScanSsids[0] );
-            LOG_WRITEF( "requesting direct scan for [%S]", ssid );
-            CleanupStack::PopAndDestroy( ssid );
-#endif
-            
-#ifndef __WINS__
-            // run direct scan
-            iWlanMgmtClient->GetScanResults( iDirectScanSsids[0], 
-                                             iStatus, *iScanInfo );
-            SetActive();
-#else
-            // for testing
-            SetActive();
-            TRequestStatus* status = &iStatus;
-            User::RequestComplete( status, KErrNone );
-#endif                                             
-
-            iScanState = EDirectScan;
-            }
-        else
-            {
-            LOG_WRITE( "direct scan skipped" );
-            iScanState = EFinished;
-            }
-        }
-        
-    else if ( iScanState == EDirectScan )
-        {
-        LOG_WRITE( "direct scan results" );
-
-#ifndef __WINS__
-        ProcessDirectScanResultL();
-#endif
- 
-        // delete the processed item (first)
-        iDirectScanSsids.Remove( 0 );
-        iDirectScanIapIDs.Remove( 0 );
-
-        if ( iDirectScanSsids.Count() )
-            {
-            // repeated direct scans for known networks
-#ifdef _DEBUG
-            HBufC* ssid = TWsfWlanInfo::GetSsidAsUnicodeLC( 
-                                                        iDirectScanSsids[0] );
-            LOG_WRITEF( "requesting direct scan for [%S]", ssid );
-            CleanupStack::PopAndDestroy( ssid );
-#endif
-            
-#ifndef __WINS__
-            // run direct scan
-            iWlanMgmtClient->GetScanResults( iDirectScanSsids[0], 
-                                             iStatus, *iScanInfo );        
-            SetActive();
-#else
-            // for testing
-            SetActive();
-            TRequestStatus* status = &iStatus;
-            User::RequestComplete( status, KErrNone );
-#endif                                             
-            }
-        else
-            {
-            // there is nothing more to do
-            iScanState = EFinished;
-            }
-        }
-    
-    if ( iScanState == EFinished )
-        {
-        LOG_WRITE( "scanning finished" );
-#ifndef __WINS__
-        AddConnectedWLANInfoL();
-        
-        TWsfWlanInfo* info(NULL);
-        TInt scanArrayCount( iScanArray->Count() );
-        
-        for ( TInt i(0) ; i < scanArrayCount ; i++ )
-            {  
-            info = (*iScanArray)[ i ];
-            
-            if( info->iIapId )
-                {
-                TRAPD( error, UpdatePriorityL( *info ) );
-                if ( error )
-                    {
-                    // Ignore error and just continue
-                    LOG_WRITE( "Prio update failed" );
-                    }
-                }
-            
-            if( info->iIapId && info->iConnectionState != EConnected )
-                {
-                ReplaceSsidsWithIapName( *info );
-                }
-            }
-#endif //_WINS_
-        
-        // sort the array
-        iScanArray->SortArrayL();
-        
-        HBufC8* results = iScanArray->SerializeContentLC();
-        CleanupStack::Pop( results );
-        delete iScanResults;
-        iScanResults = results;
-
-        // we may let go the scan array contents...
-        iScanArray->Reset();
-    
-#ifdef _DEBUG
-        DumpScanResultsL( iScanArray );
-#endif
-        // notify clients that data is ready
-        if ( iObserver )
-            {
-            iObserver->WlanScanCompleteL();
-            }
-
-        if ( !iShowAvailability )
-            {
-            // reset the timer if we are responsible for scheduling scans
-            iTimer.Cancel();
-            iTimer.After( iStatus, 
-                          TTimeIntervalMicroSeconds32( iScanningInterval ) );
-            Cancel();
-            SetActive();
-            }
-        
-        iScanState = EIdle;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::AddConnectedWLANInfo
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::AddConnectedWLANInfoL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::AddConnectedWLANInfoL" );
-    // Get the possible connection
-    if ( iConnectionDetailsProvider )
-        {
-        TWlanSsid connectedSsid;
-        TInt error = iWlanMgmtClient->GetConnectionSsid( connectedSsid );
-        
-        LOG_WRITEF( "GetConnectionSsid returned=%d", error );
-        
-        TBool connected = ( error == KErrNone && connectedSsid.Length() );
-    
-        if ( !connected && !iConnectionDetailsProvider->IsConnected() )
-            {
-            LOG_WRITEF( "Not connected [connected=%d]", connected );
-            return;
-            }
-        
-        TWsfWlanInfo* connectedInfo = new (ELeave) TWsfWlanInfo();
-        CleanupStack::PushL( connectedInfo );
-        
-        if ( iConnectionDetailsProvider->ConnectedWlanConnectionDetailsL(
-                connectedInfo) )
-            {
-            TBuf8<KWlanMaxAccessPointNameLength> connectedSsidOrIap;
-            connectedSsidOrIap.Copy( connectedInfo->iSsid );
-            // ConnectedWlanConnectionDetailsL() may have returned an IAP name instead of SSID.
-            // make sure that we really have SSID in connectedInfo->iSSID at this phase.
-            
-            connectedInfo->iRawSsid.Copy( connectedSsid );
-            connectedInfo->iSsid.Copy( connectedSsid );
-            connectedInfo->iCoverage = 0;
-            connectedInfo->iVisibility = 1;
-
-            TBool connectedInfoAppended = EFalse;
-
-            RPointerArray<TWsfWlanInfo> matchArray;
-            CleanupClosePushL( matchArray );
-
-            if ( connectedInfo->iIapId )
-                {
-                LOG_WRITEF( "Connected iap [%d]", connectedInfo->iIapId );
-                iScanArray->MatchWithIapIDL( connectedInfo->iIapId,
-                        iScanArray->Count(), matchArray );
-                
-                if ( !matchArray.Count() )
-                    {
-                    LOG_WRITE( "Not found with Iap id" );
-                    iScanArray->MatchL( connectedInfo->iSsid,
-                                        connectedInfo->iSecurityMode,
-                                        connectedInfo->iNetMode, 
-                                        iScanArray->Count(),
-                                        matchArray );
-                    }
-                
-                }
-            else
-                {
-                LOG_WRITE( "Easy WLAN connection" );
-                iScanArray->MatchL( connectedInfo->iSsid,
-                        connectedInfo->iSecurityMode,
-                        connectedInfo->iNetMode, iScanArray->Count(),
-                        matchArray );
-                }
-
-            if ( matchArray.Count() )
-                {
-                LOG_WRITE( "Info found" );
-                TWsfWlanInfo* temp = matchArray[0];
-                temp->iConnectionState = EConnected;
-                temp->iSsid.Copy( connectedSsidOrIap );
-                temp->iNetworkName.Zero();
-                }
-            else
-                {
-                LOG_WRITE( "Info not found - append" );
-                connectedInfo->iSsid.Copy( connectedSsidOrIap );
-                iScanArray->AppendL( connectedInfo );
-                connectedInfoAppended = ETrue;
-                }
-
-            CleanupStack::PopAndDestroy( &matchArray );
-            if ( connectedInfoAppended )
-                {
-                CleanupStack::Pop( connectedInfo );
-                }
-            else
-                {
-                CleanupStack::PopAndDestroy( connectedInfo );
-                }
-            }
-        else
-            {
-            CleanupStack::PopAndDestroy( connectedInfo );
-            }
-        }
-    else
-        {
-        LOG_WRITE( "No connection details provider" );
-        }
-    }
-
-
-#ifdef _DEBUG
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DumpScanResultsL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::DumpScanResultsL( CWsfWlanInfoArray* aArray )
-    {
-    _LIT( Kopen, "open" );
-    _LIT( Kwep, "wep" );
-    _LIT( Kwpa, "wpa" );
-    _LIT( Kwpa2, "wpa2" );        
-    _LIT( K802, "802.1x" );
-    const TDesC* secModes[4] = { &Kopen, &Kwep, &K802, &Kwpa };
-    _LIT( Kpsk, "psk" );
-    _LIT( Keap, "eap" );
-    _LIT( Khidden, "<hidden>" );
-
-    for ( TInt i( 0 ); i < aArray->Count(); ++i )
-        {
-        TWsfWlanInfo* wi( (*aArray)[i] );
-        const TDesC* sm( 0 );
-
-        switch ( wi->iSecurityMode )
-            {
-            case EWlanSecModeOpen:
-                sm = &Kopen;
-                break;
-            case EWlanSecModeWep:
-                sm = &Kwep;
-                break;
-            case EWlanSecModeWpa:
-                sm = &Kwpa;
-                break;
-            case EWlanSecModeWpa2:
-                sm = &Kwpa2;
-                break;
-            case EWlanSecMode802_1x:
-                sm = &K802;
-            }
-        
-        const TDesC* psk = wi->UsesPreSharedKey()? &Kpsk:             
-                               ( ( wi->iSecurityMode == EWlanSecMode802_1x || 
-                                   wi->iSecurityMode == EWlanSecModeWpa ||
-                                   wi->iSecurityMode == EWlanSecModeWpa2 )? 
-                                      &Keap: &KNullDesC );
-        HBufC16 *ssid = TWsfWlanInfo::GetSsidAsUnicodeLC( wi->iSsid );
-        
-        LOG_WRITEF( "[%S] %S %S %S", ssid, sm, psk, 
-                    wi->iVisibility? &KNullDesC: &Khidden );
-        CleanupStack::PopAndDestroy( ssid );
-        }
-    
-    }
-#endif // _DEBUG
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RunError
-// ---------------------------------------------------------------------------
-//    
-TInt CWsfWlanScanner::RunError( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RunError" );
-    LOG_WRITEF( "error = %d", aError );
-    
-    iScanArray->Reset();
-    
-    if ( iObserver && aError != KErrNotReady )
-        {
-        // KErrNotReady is excluded as it indicates that the WLAN engine
-        // has not yet set up itself, which we cannot help
-        iObserver->NotifyError( aError );    
-        }
-
-    iScanState = EIdle;
-    
-    if ( !iShowAvailability )
-        {
-        // the scanning has failed, re-issue the scan timer
-        iTimer.Cancel();
-        iTimer.After( iStatus, 
-                      TTimeIntervalMicroSeconds32( iScanningInterval ) );
-        SetActive();    
-        }
-        
-    return KErrNone;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::SetObserver
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::SetObserver( MWsfWlanScannerObserver& aObserver )
-    {
-    iObserver = &aObserver;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::StartScanningL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::StartScanningL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::StartScanningL" );
-
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        LOG_WRITE( "request notifications" );
-#ifndef __WINS__
-        iWlanMgmtClient->CancelNotifications();
-        iWlanMgmtClient->ActivateNotificationsL( *this );
-#endif
-        iWlanSettingsAccessor->RequestNotificationL( *this );
-        
-        iScanState = EIdle;
-
-        if ( !iShowAvailability )
-            {
-            // in case show wlan availability is off, carry out a scan now
-            SetActive();
-            TRequestStatus* status = &iStatus;
-            User::RequestComplete( status, KErrNone );
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::StartScanningL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::StopScanning()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::StopScanning" );
-
-    Cancel();
-
-#ifndef __WINS__       
-    if ( iWlanMgmtClient )
-        {
-        iWlanMgmtClient->CancelNotifications();
-        }
-#endif
-  
-    if ( iWlanSettingsAccessor )
-        {
-        iWlanSettingsAccessor->CancelNotifications();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RestartScanning
-// ---------------------------------------------------------------------------
-//    
-TBool CWsfWlanScanner::RestartScanning()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RestartScanning" );
-
-    TBool restarted( EFalse );
-    
-    if ( iScanState == EIdle && ( IsActive() || iShowAvailability ) )
-        {
-        // we have been waiting for the timer to complete
-        // cancel it manually
-        Cancel();
-        
-        // then complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        restarted = ETrue;
-        }
-    
-    return restarted;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::AbortScanning
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::AbortScanning()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::AbortScanning" );
-    
-    if ( iScanState != EIdle )
-        {
-        // cancel the current scanning
-        Cancel();
-
-        if ( !iShowAvailability )
-            {
-            // still, life goes on
-            iTimer.After( iStatus, TTimeIntervalMicroSeconds32( 
-                                                        iScanningInterval ) );
-            SetActive();        
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectionStateChanged
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::ConnectionStateChanged( 
-                                            TWlanConnectionMode /*aNewState*/ )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::ConnectionStateChanged" );
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::BssidChanged
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::BssidChanged( TWlanBssid& /*aNewBSsid*/ )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::BssidChanged" );
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        // complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::BssLost
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::BssLost()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::BssLost" );
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        // complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::BssRegained
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::BssRegained()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::BssRegained" );
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        // complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::NewNetworksDetected
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::NewNetworksDetected()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::NewNetworksDetected" );
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        // complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::OldNetworksLost
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::OldNetworksLost()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::OldNetworksLost" );
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        // complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::TransmitPowerChanged
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::TransmitPowerChanged( TUint /*aPower*/ )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::TransmitPowerChanged" );
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        // complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-        
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RssChanged
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::RssChanged( TWlanRssClass /*aRssClass*/, TUint /*aRss*/ )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RssChanged" );
-    if ( iScanState == EIdle && !IsActive() )
-        {
-        // complete ourselves
-        SetActive();
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::PrepareDirectScan
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::PrepareDirectScan()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::PrepareDirectScanL" );
-
-    // flush the arrays
-    iDirectScanSsids.Reset();
-    iDirectScanIapIDs.Reset();
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ProcessDirectScanResultL
-// ---------------------------------------------------------------------------
-//   
-void CWsfWlanScanner::ProcessDirectScanResultL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::ProcessDirectScanResultL" );
-    
-    for ( iScanInfo->First(); !iScanInfo->IsDone(); iScanInfo->Next() )
-        {
-        RPointerArray<TWsfWlanInfo> matchArray;
-        CleanupClosePushL(matchArray);
-        iScanArray->MatchWithIapIDL( iDirectScanIapIDs[0], iScanArray->Count(), matchArray );
-  
-        TInt matchcount = matchArray.Count();
-
-        if ( matchcount == 0 )
-            {
-            // not found yet
-#ifdef _DEBUG
-            HBufC* ssid = TWsfWlanInfo::GetSsidAsUnicodeLC( iDirectScanSsids[0] );
-            LOG_WRITEF( "[%S] found in direct scan", ssid ); 
-            CleanupStack::PopAndDestroy( ssid );
-#endif       
-            }
-        else
-            {
-            LOG_WRITEF( "[%d] iap id is in scanarray", iDirectScanIapIDs[0] ); 
-            for( TInt i(0); i < matchcount; i++ )
-            	{
-            	//if already found increase coverage
-                TWsfWlanInfo* temp = matchArray[i];
-                ++temp->iCoverage;
-                RefreshSignalStrength( *temp );
-                RefreshMaxRate( *temp );
-             	}
-            }
-        // Close() for matchArray
-        CleanupStack::PopAndDestroy( &matchArray );  
-        } // for iScanInfo              
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ReplaceSsidsWithIapName
-// ---------------------------------------------------------------------------
-//   
-void CWsfWlanScanner::ReplaceSsidsWithIapName(TWsfWlanInfo& aWlanInfo)
-    {	
-    LOG_ENTERFN( "CWsfWlanScanner::ReplaceSsidsWithIapName" );
-    if ( aWlanInfo.iNetworkName.Length() )
-        {
-        LOG_WRITE( "Replace ssid" );
-        aWlanInfo.iSsid.Copy( aWlanInfo.iNetworkName );
-        aWlanInfo.iNetworkName.Zero();
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::UpdatePriorityL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanScanner::UpdatePriorityL( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_WRITE( "CWsfWlanScanner::updatePriority" );
-
-    TUint32 priority( 0 );
-    TInt exists( KErrNotFound );
-    TInt count( 0 );   
-
-    // search for the destination of it                                                        
-    RArray<TUint32> destinations;                                                              
-    CleanupClosePushL( destinations );
-
-    LOG_WRITE( "CWsfWlanScanner::updatePriority get all destinations" );
-    iCmManagerExt.AllDestinationsL(destinations);                                              
-
-    count = destinations.Count();                                                         
-    LOG_WRITEF( "destination count %d", count);
-
-    for( TInt i = 0; i < count && exists != KErrNone; i++ )                                    
-        {
-        RCmDestinationExt destination;                                                              
-        destination = iCmManagerExt.DestinationL( destinations[ i ] );                         
-        CleanupClosePushL( destination );  
-
-        LOG_WRITE( "check if connection method belongs to destination" );
-
-        RCmConnectionMethodExt connectionMethod;
-        TRAP( exists,                                                                      
-                connectionMethod = destination.ConnectionMethodByIDL(                            
-                        aWlanInfo.iIapId ) ); 
-
-        LOG_WRITEF( "exists %d", exists );
-        if( exists == KErrNone )                                                           
-            {   
-            CleanupClosePushL( connectionMethod ); 
-            // correct destination found                                                   
-            priority = destination.PriorityL( connectionMethod );
-            aWlanInfo.SetPriority( priority );
-
-            LOG_WRITEF( "priority %d", priority );
-            CleanupStack::PopAndDestroy( &connectionMethod ); 
-            }
-        CleanupStack::PopAndDestroy( &destination );                                           
-        }                                                                                      
-    CleanupStack::PopAndDestroy( &destinations );
-    }
-
-
-#ifndef __WINS__
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DoScanForNetworksL
-// ---------------------------------------------------------------------------
-//   
-void CWsfWlanScanner::DoScanForNetworksL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::DoScanForNetworksL" );
-        
-    // start by making sure the scan array is empty
-    iScanArray->Reset();    
-
-    LOG_WRITEF( "GetScanResults returned %d", iStatus.Int() );
-    
-    if ( iStatus.Int() )
-        {
-        // if the status is not KErrNone, we cannot be sure that iScanInfo
-        // doesn't cause a crash, so it's better to leave
-        User::Leave( iStatus.Int() );
-        }
-   
-    TInt nElem = 0;
-    TBool isHidden( EFalse );
-
-    // get available iaps
-    // (this only shows iaps with security mode matching to scan results
-    // and  also finds hidden wlans for which an iap has been configured)
-    RArray<TUint> availableIaps;
-    iWlanMgmtClient->GetAvailableIaps(availableIaps);
-    TInt avIapCount = availableIaps.Count();
-
-    LOG_WRITEF( "Available iap count %d", avIapCount ); 
-
-    for( TInt i(0); i < avIapCount; i++ )
-        {
-        TBool addToArray( ETrue ); 
-        TWsfWlanInfo* availableInfo = new ( ELeave ) TWsfWlanInfo();       
-        CleanupStack::PushL( availableInfo );
-        availableInfo->iIapId = availableIaps[i];
-        TRAPD( error, GetWlanInfoFromIapL( *availableInfo ) );
-
-        if ( error == KErrNotFound )
-            {
-            LOG_WRITEF( "Iap id = %d does not exist", availableInfo->iIapId );
-            addToArray = EFalse;
-            }
-        else if ( error )
-            {
-            LOG_WRITEF( "GetWlanInfoFromIapL failed err = %d", error );
-            User::Leave( error );
-            }
-
-        if( addToArray )
-            { 
-            LOG_WRITE( "Add to array" );
-            availableInfo->iCoverage = 0;
-            availableInfo->iVisibility = 1;
-            availableInfo->iStrengthLevel = EWlanSignalUnavailable;
-            availableInfo->iTransferRate = 0;
-            availableInfo->iConnectionState = ENotConnected;
-            iScanArray->AppendL(availableInfo);
-            nElem++;
-
-            if ( availableInfo->iIapId )
-                {
-                LOG_WRITEF( "Append available iap [%d] for direct scan", availableInfo->iIapId );
-                iDirectScanIapIDs.Append( availableInfo->iIapId );
-                iDirectScanSsids.Append( availableInfo->iSsid );
-                }
-
-            CleanupStack::Pop( availableInfo );
-            }
-        else
-            {
-            LOG_WRITE( "Info not added" );
-            CleanupStack::PopAndDestroy( availableInfo );
-            }
-        }
-      
-    // Process the scanned results
-    for( iScanInfo->First(); !iScanInfo->IsDone(); iScanInfo->Next() )
-        {
-        TWsfWlanInfo* wlanInfo = iScanArray->At( nElem );
-        if ( !wlanInfo )
-            {
-            wlanInfo = new ( ELeave ) TWsfWlanInfo();
-            CleanupStack::PushL( wlanInfo );
-            iScanArray->AppendL( wlanInfo );
-            CleanupStack::Pop( wlanInfo );
-            }
-        isHidden = RefreshNetworkNameL( *wlanInfo );
-        wlanInfo->iVisibility = !isHidden;
-        wlanInfo->iStrengthLevel = EWlanSignalUnavailable;
-        wlanInfo->iTransferRate = 0;
-        wlanInfo->iConnectionState = ENotConnected;
-
-        if( !isHidden )
-            {
-            // not hidden
-            RefreshNetworkMode( *wlanInfo );
-            RefreshSecurityMode( *wlanInfo );
-            RefreshMaxRate( *wlanInfo );
-
-            // check if we already have an entry/entries corresponding to a scan result
-            // (multiple entries for one scan result possible if GetAvailableIaps()
-            // found several iaps configured for same wlan)
-            RPointerArray<TWsfWlanInfo> matchArray;
-            CleanupClosePushL(matchArray);
-            iScanArray->MatchL( wlanInfo->iSsid, wlanInfo->iSecurityMode, 
-                    wlanInfo->iNetMode, nElem, matchArray );
-
-            TInt matchcount = matchArray.Count();
-
-            // if not found
-            if( matchcount == 0 )
-                {
-                wlanInfo->iCoverage = 1;
-                RefreshSignalStrength( *wlanInfo );
-                RefreshMaxRate( *wlanInfo );
-                ++nElem; // new entry, inc index in array
-                }
-            else // if found inc coverage and refresh signal strength and rate
-                {
-                for( TInt i(0); i < matchcount; i++ )
-                    {
-                    TWsfWlanInfo* temp = matchArray[i];
-                    ++temp->iCoverage;
-                    RefreshSignalStrength( *temp );
-                    RefreshMaxRate( *temp );
-
-                    if ( temp->iIapId )
-                        {
-                        TInt index( KErrNone );
-                        do {
-                            LOG_WRITE( "Not hidden - Searching from direct scan list.." );
-                            // remove this item from the direct scan list, if found 
-                            index = iDirectScanIapIDs.Find( temp->iIapId  );
-                            if ( index != KErrNotFound )
-                                {
-                                LOG_WRITEF( "Found - removing iap id [%d]", iDirectScanIapIDs[index] );
-                                iDirectScanSsids.Remove( index );
-                                iDirectScanIapIDs.Remove( index );
-                                }
-                        } while ( index != KErrNotFound );
-                        }
-                    }
-                }
-            CleanupStack::PopAndDestroy(); // results in Close() being called on matchArray
-            }
-        }
-    //get rid of excess items
-    iScanArray->DeleteFromTail(iScanArray->Count() - nElem);
-    }
-
-#else // __WINS__
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::DoScanForNetworksL
-// ---------------------------------------------------------------------------
-//   
-void CWsfWlanScanner::DoScanForNetworksL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::DoScanForNetworksL" );
-        
-    // start by making sure the scan array is empty
-    iScanArray->Reset();    
-
-    TWsfWlanInfo* wlan0 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan0 );    
-    wlan0->iConnectionState = EConnected;
-    wlan0->iIapId = 666;
-    wlan0->iNetMode = EInfra;
-    wlan0->iSecurityMode = EWlanSecModeWep;
-    wlan0->iSsid = _L8("[C]Known WEP");
-    wlan0->iStrengthLevel = EWlanSignalStrengthMax;  
-    wlan0->iVisibility = ETrue;
-    wlan0->iCoverage = 1;
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan0 );
-        }
-    else 
-        {
-        delete wlan0;
-        }
-        
-    CleanupStack::Pop( wlan0 );
-
-    TWsfWlanInfo* wlan1 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan1 );    
-    wlan1->iConnectionState = ENotConnected;
-    wlan1->iIapId = 666;
-    wlan1->iNetMode = EInfra;
-    wlan1->iSecurityMode = EWlanSecModeOpen;
-    wlan1->iSsid = _L8("Known open");
-    wlan1->iStrengthLevel = EWlanSignalStrengthMin;  
-    wlan1->iVisibility = ETrue;
-    wlan1->iCoverage = 3;
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan1 );
-        }
-    else
-        {
-        delete wlan1;
-        }
-
-    CleanupStack::Pop( wlan1 );
-
-    TWsfWlanInfo* wlan2 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan2 );    
-    wlan2->iConnectionState = ENotConnected;
-    wlan2->iIapId = 0;
-    wlan2->iNetMode = EInfra;
-    wlan2->iSecurityMode = EWlanSecModeWpa2;
-    wlan2->iSsid = _L8("Known WPA2 PSK");
-    wlan2->iStrengthLevel = EWlanSignalStrengthLow-7;  
-    wlan2->iVisibility = ETrue;
-    wlan2->iCoverage = 1;
-    wlan2->SetUsesPreSharedKey( ETrue );
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan2 );
-        }
-    else
-        {
-        delete wlan2;
-        }
-    CleanupStack::Pop( wlan2 );
-
-    TWsfWlanInfo* wlan3 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan3 );    
-    wlan3->iConnectionState = ENotConnected;
-    wlan3->iIapId = 0;
-    wlan3->iNetMode = EInfra;
-    wlan3->iSecurityMode = EWlanSecModeOpen;
-    wlan3->iSsid = _L8("Unknown open");
-    wlan3->iStrengthLevel = EWlanSignalStrengthMax;  
-    wlan3->iVisibility = 1;
-    wlan3->iCoverage = 1;    
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan3 );
-        }
-    else
-        {
-        delete wlan3;
-        }
-    CleanupStack::Pop( wlan3 );
-    
-    TWsfWlanInfo* wlan4 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan4 );    
-    wlan4->iConnectionState = ENotConnected;
-    wlan4->iIapId = 0;
-    wlan4->iNetMode = EAdhoc;
-    wlan4->iSecurityMode = EWlanSecModeWpa;
-    wlan4->iSsid = _L8("Unknown WPA");
-    wlan4->iStrengthLevel = EWlanSignalStrengthMin;  
-    wlan4->iVisibility = 1;
-    wlan4->iCoverage = 1;
-    wlan2->SetUsesPreSharedKey( ETrue );
-
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan4 );    
-        }
-    else
-        {
-        delete wlan4;
-        }
-    CleanupStack::Pop( wlan4 );
-
-    TWsfWlanInfo* wlan5 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan5 );    
-    wlan5->iConnectionState = ENotConnected;
-    wlan5->iIapId = 12;
-    wlan5->iNetMode = EInfra;
-    wlan5->iSecurityMode = EWlanSecModeOpen;
-    wlan5->iSsid = _L8("SES");
-    wlan5->iStrengthLevel = EWlanSignalStrengthLow-5;  
-    wlan5->iVisibility = 0;
-    wlan5->iCoverage = 1;    
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan5 );
-        }
-    else
-        {
-        delete wlan5;
-        }
-    
-    CleanupStack::Pop( wlan5 );
-    
-    TWsfWlanInfo* wlan6 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan6 );    
-    wlan6->iConnectionState = ENotConnected;
-    wlan6->iIapId = 666;
-    wlan6->iNetMode = EInfra;
-    wlan6->iSecurityMode = EWlanSecModeWpa;
-    wlan6->iSsid = _L8("Sunny 22");
-    wlan6->iStrengthLevel = EWlanSignalStrengthMin;  
-    wlan6->iVisibility = 1;
-    wlan6->iCoverage = 2;    
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan6 );
-        }
-    else
-        {
-        delete wlan6;
-        }
-    CleanupStack::Pop( wlan6 );
-
-
-    wlan5 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan5 );    
-    wlan5->iConnectionState = ENotConnected;
-    wlan5->iIapId = 0;
-    wlan5->iNetMode = EInfra;
-    wlan5->iSecurityMode = EWlanSecModeOpen;
-    wlan5->iSsid = _L8("FON_accesspoint");
-    wlan5->iStrengthLevel = EWlanSignalStrengthLow-8;  
-    wlan5->iVisibility = 1;
-    wlan5->iCoverage = 1;    
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan5 );
-        }
-    else
-        {
-        delete wlan5;
-        }
-    CleanupStack::Pop( wlan5 );
-    
-    
-    TWsfWlanInfo* wlan7 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan7 );    
-    wlan7->iConnectionState = ENotConnected;
-    wlan7->iIapId = 667;
-    wlan7->iNetMode = EAdhoc;
-    wlan7->iSecurityMode = EWlanSecModeWpa;
-    wlan7->iSsid = _L8("Ad-hoc WPA");
-    wlan7->iStrengthLevel = EWlanSignalStrengthMax;  
-    wlan7->iVisibility = ETrue;
-    wlan7->iCoverage = 1;    
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan7 );
-        }
-    else
-        {
-        delete wlan7;
-        }
-    CleanupStack::Pop( wlan7 );
-    
-    TWsfWlanInfo* wlan8 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan8 );    
-    wlan8->iConnectionState = ENotConnected;
-    wlan8->iIapId = 667;
-    wlan8->iNetMode = EInfra;
-    wlan8->iSecurityMode = EWlanSecModeOpen;
-    wlan8->iSsid = _L8("Known pri 1");
-    wlan8->iStrengthLevel = EWlanSignalStrengthMax;  
-    wlan8->iVisibility = ETrue;
-    wlan8->iCoverage = 1;   
-    wlan8->iPriority = 1;
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan8 );
-        }
-    else
-        {
-        delete wlan8;
-        }
-    CleanupStack::Pop( wlan8 );
-    
-    TWsfWlanInfo* wlan9 = new (ELeave) TWsfWlanInfo();
-    CleanupStack::PushL( wlan9 );    
-    wlan9->iConnectionState = ENotConnected;
-    wlan9->iIapId = 668;
-    wlan9->iNetMode = EInfra;
-    wlan9->iSecurityMode = EWlanSecModeOpen;
-    wlan9->iSsid = _L8("Known pri 2");
-    wlan9->iStrengthLevel = EWlanSignalStrengthMax;  
-    wlan9->iVisibility = ETrue;
-    wlan9->iCoverage = 1;  
-    wlan9->iPriority = 2;
-    if ( Math::Random() % 2 == 0 )
-        {
-        iScanArray->AppendL( wlan9 );
-        }
-    else
-        {
-        delete wlan9;
-        }
-    CleanupStack::Pop( wlan9 );
-    
-
-    }
-
-#endif // __WINS__
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::GetWlanInfoFromIapL()
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::GetWlanInfoFromIapL( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::GetWlanInfoFromIapL" );
-
-    CCommsDatabase* commsDb = CCommsDatabase::NewL();    
-    CleanupStack::PushL( commsDb );
-    
-    CCommsDbTableView* commsDbIapTableView = commsDb->OpenViewMatchingUintLC(
-        TPtrC( IAP ), TPtrC( COMMDB_ID ), aWlanInfo.iIapId );
-    User::LeaveIfError( commsDbIapTableView->GotoFirstRecord() );
-    
-    // network name
-    TBuf<KCommsDbSvrMaxFieldLength> iapName;
-    commsDbIapTableView->ReadTextL( TPtrC( COMMDB_NAME ), iapName);
-
-    TInt error = CnvUtfConverter::ConvertFromUnicodeToUtf8( 
-                                                        aWlanInfo.iNetworkName, 
-                                                        iapName  );
-    if ( error )
-        {
-        LOG_WRITE( "ConvertFromUnicodeToUtf8 failed");
-        aWlanInfo.iNetworkName.Copy( iapName );
-        }
-    
-	// service Id
-    TUint32 serviceId(0);
-    commsDbIapTableView->ReadUintL(TPtrC( IAP_SERVICE), serviceId);
-    CCommsDbTableView* wlanTableView = commsDb->OpenViewMatchingUintLC(
-             TPtrC( WLAN_SERVICE), TPtrC( WLAN_SERVICE_ID), serviceId);
-    User::LeaveIfError(wlanTableView->GotoFirstRecord() );
-
-    // ssid
-    wlanTableView->ReadTextL( TPtrC( NU_WLAN_SSID ), aWlanInfo.iSsid );
-    aWlanInfo.iRawSsid.Copy( aWlanInfo.iSsid );
-    
-    // security mode
-    TUint32 secMode(0);
-    wlanTableView->ReadUintL(TPtrC( WLAN_SECURITY_MODE), secMode);
-    // Map Wpa2 to Wpa
-    secMode = ( secMode == EWlanSecModeWpa2 )? EWlanSecModeWpa : secMode;
-    aWlanInfo.iSecurityMode = static_cast<TWlanSecMode>(secMode);
-
-    // net mode
-    TUint32 netMode(0);
-    wlanTableView->ReadUintL(TPtrC( WLAN_CONNECTION_MODE), netMode);
-    aWlanInfo.iNetMode = static_cast<TWlanNetMode>(netMode);
-    
-    CleanupStack::PopAndDestroy(wlanTableView);
-    CleanupStack::PopAndDestroy(commsDbIapTableView);
-    CleanupStack::PopAndDestroy(commsDb); 
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::SsidIdentity
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanScanner::SsidIdentity( const TWlanSsid& aSsid1, 
-                                     const TWlanSsid& aSsid2 )
-    {
-    return !aSsid1.Compare( aSsid2 );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshNetworkNameL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanScanner::RefreshNetworkNameL( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RefreshNetworkNameL" );
-
-    TBool isHidden( EFalse );
-
-    TUint8 ieLen( 0 );
-    const TUint8* ieData;
-    TBuf8<KWlanMaxSsidLength> ssid8;
-
-    TInt ret = iScanInfo->InformationElement( E802Dot11SsidIE, ieLen,
-                                              &ieData );
-
-    if ( ret == KErrNone )
-        {
-        isHidden = IsHiddenSsid( ieLen, ieData );
-
-        if ( ieLen )
-            {
-            ssid8.Copy( ieData, ieLen );
-            aWlanInfo.iSsid.Copy( ssid8 );
-            aWlanInfo.iRawSsid.Copy( ssid8 );
-            TBuf<KWlanMaxSsidLength> ssid16;
-            ssid16.Copy( ssid8 );
-            LOG_WRITEF( "SSID: [%S]", &ssid16 );
-            }
-        else
-            {
-            LOG_WRITE( "SSID: <hidden>" );
-            }
-        }
-    else
-        {
-        User::Leave( ret );
-        }
-
-    return isHidden;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::IsHiddenSsid
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanScanner::IsHiddenSsid( TUint aSsidLength, const TUint8* aSsid )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::IsHiddenSsid" );
-
-
-    if ( !aSsidLength )
-        {
-        LOG_WRITEF( "result: %d", ETrue );
-        return ETrue;
-        }
-
-    TInt count( 0 );
-    for ( TUint i( 0 ); i < aSsidLength; ++i )
-        {
-        count |= aSsid[i]; // in hidden networks characters are: 0x00
-        }
-
-    LOG_WRITEF( "result: %d", !count );
-
-    return !count;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshSignalStrength
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshSignalStrength( TWsfWlanInfo& aWlanInfo  )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RefreshSignalStrength" );
-
-    TInt rxLevel = iScanInfo->RXLevel();
-    
-    LOG_WRITEF( "rxLevel = %d", rxLevel );
-    
-    // yes, it is < and not >, because smaller value means stronger signal
-
-    if ( rxLevel < aWlanInfo.iStrengthLevel )
-        {
-        LOG_WRITEF( "updating %d to %d", aWlanInfo.iStrengthLevel, rxLevel );
-        aWlanInfo.iStrengthLevel = rxLevel;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshNetworkMode
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshNetworkMode( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RefreshNetworkMode" );
-
-    aWlanInfo.iNetMode = ( iScanInfo->Capability() & 
-                               E802Dot11CapabilityEssMask ) ?
-                                   EInfra : EAdhoc ;
-
-    LOG_WRITEF( "netmode = %d", TInt( aWlanInfo.iNetMode ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshSecurityMode
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshSecurityMode( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RefreshSecurityMode" );
-    
-  	TWlanConnectionExtentedSecurityMode extSecMode = iScanInfo->ExtendedSecurityMode(); 
-        
-    switch ( extSecMode )
-        {
-        case EWlanConnectionExtentedSecurityModeWepOpen:
-        case EWlanConnectionExtentedSecurityModeWepShared:
-            {
-            aWlanInfo.iSecurityMode = EWlanSecModeWep;
-            break;
-            }
-
-        case EWlanConnectionExtentedSecurityMode802d1x:
-            {
-            aWlanInfo.iSecurityMode = EWlanSecMode802_1x;
-            break;
-            }
-
-        case EWlanConnectionExtentedSecurityModeWpa:
-        case EWlanConnectionExtentedSecurityModeWpa2:
-            {
-            aWlanInfo.iSecurityMode = EWlanSecModeWpa;
-            break;
-            }
-
-        case EWlanConnectionExtentedSecurityModeWpaPsk:
-        case EWlanConnectionExtentedSecurityModeWpa2Psk:
-            {
-            aWlanInfo.iSecurityMode = EWlanSecModeWpa;
-            break;
-            }
-            
-        case EWlanConnectionExtentedSecurityModeWapi:
-        case EWlanConnectionExtentedSecurityModeWapiPsk:
-            {
-            aWlanInfo.iSecurityMode = EWlanSecModeWAPI;
-            break;
-            }
-
-        case EWlanConnectionExtentedSecurityModeOpen:
-        default:
-            {
-            aWlanInfo.iSecurityMode = EWlanSecModeOpen;
-            }
-        }
-
-    aWlanInfo.SetUsesPreSharedKey( 
-            extSecMode == EWlanConnectionExtentedSecurityModeWpa2Psk || 
-            extSecMode == EWlanConnectionExtentedSecurityModeWpaPsk );
-
-    LOG_WRITEF( "security mode %d (PSK: %d)", 
-                (TInt)aWlanInfo.iSecurityMode,
-                (TInt)aWlanInfo.UsesPreSharedKey() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::RefreshMaxRate
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::RefreshMaxRate( TWsfWlanInfo& aWlanInfo )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::RefreshMaxRate" );
-
-    TUint8 ieLen( 0 );
-    const TUint8* ieData;
-    TUint8 dataRates[KMaxNumberOfRates];
-    TUint8 maxDataRate( aWlanInfo.iTransferRate * 2 );
-
-    Mem::FillZ( &dataRates[0], sizeof( dataRates ) );
-
-    // Supported Rates
-    iScanInfo->InformationElement( E802Dot11SupportedRatesIE, ieLen, &ieData );
-
-    Mem::Copy( dataRates, ieData, ieLen );
-
-    for ( TInt a = 0; a < ieLen; a++ )
-        {
-        // ignore the highest bit
-        dataRates[a] &= 0x7f;
-        if ( maxDataRate < dataRates[a] )
-            {
-            maxDataRate = dataRates[a];
-            }
-        }
-
-    // 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 );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectionEstablishedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectionEstablishedL( const TDesC& aConnectionName )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::ConnectionEstablishedL" );
-    LOG_WRITEF( "aConnectionName: [%S]", &aConnectionName );
-    
-    HBufC* temp = aConnectionName.AllocL();
-    if ( iActiveConnectionName )
-        {
-        delete iActiveConnectionName;
-        iActiveConnectionName = NULL;
-        }
-    iActiveConnectionName = temp;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectionLostL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectionLostL()
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::ConnectionLostL" );
-    if ( iActiveConnectionName )
-        {
-        delete iActiveConnectionName;
-        iActiveConnectionName = NULL;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectingFailedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectingFailedL( TInt /*aError*/ )
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ConnectedIapReleasedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::ConnectedIapReleasedL()
-    {
-    // no implementation required
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::ScanResults
-// ---------------------------------------------------------------------------
-//
-HBufC8* CWsfWlanScanner::ScanResults()
-    {
-    return iScanResults;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::SetConnectionDetailProvider
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::SetConnectionDetailProvider( 
-                                MWsfWlanConnectionDetailsProvider& aProvider )
-    {
-    iConnectionDetailsProvider = &aProvider;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanScanner::WlanScanIntervalChangedL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanScanner::WlanScanIntervalChangedL( TUint aNewScanInterval,
-                                                TBool aShowAvailability )
-    {
-    LOG_ENTERFN( "CWsfWlanScanner::WlanScanIntervalChangedL" );
-    LOG_WRITEF( "bgScanInterval = %d sec", aNewScanInterval );
-    LOG_WRITEF( "showAvailability = %d", aShowAvailability );
-    iScanningInterval = aNewScanInterval * KMicrosecPerSecond;
-    
-    if ( iShowAvailability != aShowAvailability )
-        {
-        // background WLAN scanning status changed
-        iShowAvailability = aShowAvailability;        
-
-        if ( iShowAvailability )
-            {
-            // bgscan is now enabled
-            // no reissuing, we rely on the WLAN engine callbacks 
-            // from now on
-            LOG_WRITE( "background scan enabled" );
-
-            if ( iScanState == EIdle && IsActive() )
-                {
-                // reset the timer only if we are not in the middle 
-                // of another scanning
-                iTimer.Cancel();
-                }
-            }
-        else
-            {
-            // bgscan is now disabled
-            // reset the timer with the new interval
-            LOG_WRITE( "background scan disabled" );
-
-            if ( iScanState == EIdle )
-                {
-                LOG_WRITE( "reissuing timer request" );
-                // reset the timer only if we are not in the middle 
-                // of another scanning 
-                // otherwise RunL will take care of the timer
-                // doCancel resets timer
-                if ( IsActive() )
-                    {
-                    Cancel();
-                    }
-                iTimer.After( iStatus, TTimeIntervalMicroSeconds32( 
-                        iScanningInterval ) );
-                SetActive();
-                } 
-            }
-        }
-    else if ( !iShowAvailability )
-        {
-        // only the scan interval has changed
-        LOG_WRITE( "scan interval changed" );
-        if ( iScanState == EIdle && IsActive() )
-            {
-            // reset the timer only if we are not in the middle of 
-            // another scanning 
-            // doCancel resets timer
-            LOG_WRITE( "reissuing timer request" );
-            Cancel();
-            iTimer.After( iStatus, TTimeIntervalMicroSeconds32( 
-                    iScanningInterval ) );
-            SetActive();
-            }        
-        }
-    }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/engine/server/src/wsfwlansettingsaccessor.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,350 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanSettingsAccessor
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <d32dbms.h> 
-#include <WlanCdbCols.h>
-#include <wlancontainer.h>
-
-#include <centralrepository.h>
-#include <wlandevicesettingsinternalcrkeys.h>
-#include <featmgr.h>
-
-//  CLASS HEADER
-#include "wsfwlansettingsaccessor.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlanscanintervalchangeobserver.h"
-#include "wsflogger.h"
-
-
-using namespace CommsDat;
-
-// background scan disabled value
-static const TUint KWlanBgScanIntervalNever = 0;
-
-// background scan automatic scanning value
-static const TUint KWlanBgScanIntervalAuto = 0xffffffff;
-
-// default background scan interval in seconds
-static const TUint KWlanBgScanIntervalDefault = 300;
-
-// hold-up time after first DB notification to prevent bursts (in microseconds)
-static const TUint KDbNotificationHoldupTime = 1000 * 1000;
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor* CWsfWlanSettingsAccessor::NewL( 
-                                                     CMDBSession& aDbSession )
-    {
-    CWsfWlanSettingsAccessor *thisPtr = NewLC( aDbSession );
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor* CWsfWlanSettingsAccessor::NewLC( 
-                                                     CMDBSession& aDbSession )
-    {
-    CWsfWlanSettingsAccessor *thisPtr = 
-                          new (ELeave) CWsfWlanSettingsAccessor( aDbSession );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr; 
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::CWsfWlanSettingsAccessor
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor::CWsfWlanSettingsAccessor( CMDBSession& aDbSession ): 
-    CActive( CActive::EPriorityStandard ), 
-    iDbSession( &aDbSession ),
-    iBeingHeldUp( EFalse )
-    {
-    }
-
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::ConstructL()
-    {
-    CActiveScheduler::Add( this );
-    
-    // get WLAN table id
-    TRAP_IGNORE( iTableId = CCDWlanDeviceSettingsRecord::TableIdL( 
-                                                              *iDbSession ) );
-
-    if ( !iTableId )
-        {
-        iTableId = CCDWlanDeviceSettingsRecord::CreateTableL( *iDbSession );
-        }
-
-    iWlanSettingsRecord = new (ELeave) CCDWlanDeviceSettingsRecord( iTableId );
-    iWlanSettingsRecord->iWlanDeviceSettingsType = KWlanUserSettings;
-    
-    if ( !iWlanSettingsRecord->FindL( *iDbSession ) )
-        {
-        User::Leave( KErrNotFound );
-        }
-    
-    User::LeaveIfError( iTimer.CreateLocal() );
-    
-    DoCheckSettingL( iScanInterval, iShowAvailability );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::~CWsfWlanSettingsAccessor
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSettingsAccessor::~CWsfWlanSettingsAccessor()
-    {
-    Cancel();
-    iTimer.Close();
-    iDbSession = NULL; // not owning
-    iChangeObserver = NULL; // not owning 
-    delete iWlanSettingsRecord; // own
-    iWlanSettingsRecord = NULL;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::ScanInterval
-// ----------------------------------------------------------------------------
-//
-TUint CWsfWlanSettingsAccessor::ScanInterval() const
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::ScanInterval" );
-    return iScanInterval;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::ShowAvailability
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanSettingsAccessor::ShowAvailability() const
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::ShowAvailability" );
-    return iShowAvailability;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::RequestNotificationL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::RequestNotificationL( 
-                                MWsfWlanScanIntervalChangeObserver& aObserver )
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::RequestNotificationL" );
-    iChangeObserver = &aObserver;
-    IssueNotificationRequestL();
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::IssueNotificationRequestL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::IssueNotificationRequestL()
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::IssueNotificationRequestL" );
-    if ( iChangeObserver )
-        {
-        if ( !IsActive() )
-            {
-            LOG_WRITE( "issuing..." );
-            User::LeaveIfError( iWlanSettingsRecord->RequestNotification( 
-                                                     *iDbSession, iStatus ) );
-            SetActive();    
-            }
-        }
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::CancelNotifications
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::CancelNotifications()
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::CancelNotifications" );
-    Cancel();
-    iChangeObserver = NULL;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::DoCheckSettingL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::DoCheckSettingL( TUint& aBgScanInterval, 
-                                                TBool& aShowAvailability )
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::DoCheckSettingL" );
-    // open the wlan settings table
-    
-    iWlanSettingsRecord->RefreshL( *iDbSession );
-    FeatureManager::InitializeLibL();
-    
-    aShowAvailability = ( iWlanSettingsRecord->iBgScanInterval != 
-                                                    KWlanBgScanIntervalNever );
-
-    // read the common value
-    if ( iWlanSettingsRecord->iBgScanInterval == KWlanBgScanIntervalNever )
-        {
-        if ( iWlanSettingsRecord->iSavedBgScanInterval == 
-                                                     KWlanBgScanIntervalNever )
-            {
-            TInt defaultScanInterval( KWlanBgScanIntervalDefault );
-
-							if (FeatureManager::FeatureSupported( KFeatureIdPowerSave ))
-							{
-         	   // Read the default value from CenRep (different in PSM mode)
-          	  CRepository* cenrep = CRepository::NewL( 
-                                      KCRUidWlanDeviceSettingsRegistryId );
-          	  cenrep->Get( KWlanDefaultBGScanInterval, defaultScanInterval );
-         		  delete cenrep;
-         			 } 
-
-            aBgScanInterval = TUint( defaultScanInterval );
-            }
-        else
-            {
-            aBgScanInterval = iWlanSettingsRecord->iSavedBgScanInterval;
-            }
-        }   
-    else
-        {
-        aBgScanInterval = iWlanSettingsRecord->iBgScanInterval;
-        }
-    
-    // Set scan interval to default value if adaptive scanning value is
-    // found from db
-    if (aBgScanInterval == KWlanBgScanIntervalAuto )
-        {
-        TInt defaultScanInterval( KWlanBgScanIntervalDefault );
-        aBgScanInterval = TUint( defaultScanInterval );
-        }
-    
-  	FeatureManager::UnInitializeLib();  
-    LOG_WRITEF( "current bgScanInterval = %d sec", aBgScanInterval );
-    LOG_WRITEF( "current showAvailability = %d", aShowAvailability );
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::CheckIfSettingChangedL
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanSettingsAccessor::CheckIfSettingChangedL()
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::CheckIfSettingChangedL" );
-    LOG_WRITEF( "previous bgScanInterval = %d", iScanInterval );
-    LOG_WRITEF( "previous showAvailability = %d", iShowAvailability );
-    TUint newBgsi( 0 );
-    TBool newSaf( EFalse );
-    
-    DoCheckSettingL( newBgsi, newSaf );
-    
-    TBool retval( newBgsi != iScanInterval || newSaf != iShowAvailability );
-    iScanInterval = newBgsi;
-    iShowAvailability = newSaf;
-    
-    return retval;    
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::RunL()
-    {
-    LOG_ENTERFN( "CWsfWlanSettingsAccessor::RunL" );
-    LOG_WRITEF( "iStatus.Int() = %d", iStatus.Int() );
-
-    // Symbian DB notifiers are triggered by everything that may happen in 
-    // commsdat, so it would be very resource-consuming to check the value on 
-    // each database event
-    // Workaround: 1-sec delay when first callback is received
-
-    if ( !iBeingHeldUp )
-        {
-        LOG_WRITE( "starting anti-burst delay" );
-        iBeingHeldUp = ETrue;
-        iTimer.After( iStatus, TTimeIntervalMicroSeconds32( 
-                                                 KDbNotificationHoldupTime ) );
-        SetActive();
-        }
-    else
-        {
-        LOG_WRITE( "checking changes" );
-        iBeingHeldUp = EFalse;
-        if ( CheckIfSettingChangedL() )
-            {
-            LOG_WRITE( "setting changed, notifying observer" );
-            iChangeObserver->WlanScanIntervalChangedL( iScanInterval, 
-                                                       iShowAvailability );
-            }
-            
-        IssueNotificationRequestL();
-        }
-
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSettingsAccessor::DoCancel()
-    {
-    iTimer.Cancel();
-    iBeingHeldUp = EFalse;
-    
-    if ( iWlanSettingsRecord )
-        {
-        iWlanSettingsRecord->CancelNotification( *iDbSession, iStatus );
-        }
-    }
-    
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSettingsAccessor::RunError
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanSettingsAccessor::RunError( TInt /*aError*/ )
-    {
-    TRAP_IGNORE( IssueNotificationRequestL() );
-    return KErrNone;
-    }
-
--- a/wlanutilities/wlansniffer/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,74 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project WlanSniffer
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-//  Help exports
-#include "../help/group/bld.inf"
-
-
-PRJ_EXPORTS
-// export iby file
-../rom/wlansniffer.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(wlansniffer.iby)
-
-
-PRJ_MMPFILES
-// gnumakefile wsficons.mk
-// gnumakefile wsficons_aif.mk
-
-
-#include "../aiplugin/group/bld.inf"
-#include "../aihelper/group/bld.inf"
-#include "../apwizard/group/bld.inf"
-#include "../engine/client/group/bld.inf"
-#include "../engine/server/group/bld.inf"
-#include "../mainapplication/group/bld.inf"
-#include "../model/group/bld.inf"
-#include "../widget/group/bld.inf"
-#include "../wlaninfo/group/bld.inf"
-#include "../wlaninfosorting/group/bld.inf"
-
-PRJ_EXTENSIONS
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wsficons.mif
-OPTION HEADERFILE wsficons.mbg
-OPTION SOURCES -c8,1 qgn_indi_wlan_secure_network_add \
-	 	-c8,1 empty13x13 \
-	 	-c8,1 qgn_indi_wlan_signal_low_add \
- 		-c8,1 qgn_indi_wlan_signal_med_add \
-	 	-c8,1 qgn_indi_wlan_signal_good_add \
-	 	-c8,1 qgn_prop_cmon_wlan_conn \
-	 	-c8,1 qgn_prop_wlan_bearer \
-		-c8,1 qgn_prop_empty \
-	 	-c8,1 qgn_indi_wlan_sniffer_plugin_off \
-	 	-c8,1 qgn_indi_wlan_sniffer_plugin_on \
-	 	-c8,1 qgn_indi_wlan_sniffer_plugin_on_0 \
-	 	-c8,1 qgn_indi_wlan_sniffer_plugin_on_1 \
-	 	-c8,1 qgn_menu_wlan_sniffer 
-END
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wsficons_aif.mif
-OPTION SOURCES -c8,1 qgn_menu_wlan_sniffer
-END
-
-// End of file
--- a/wlanutilities/wlansniffer/group/wsficons.mk	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-#
-# Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:  scalable icons makefile for project WlanSniffer
-#
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\wsficons.mif
-
-HEADERDIR=$(EPOCROOT)epoc32\include
-HEADERFILENAME=$(HEADERDIR)\wsficons.mbg
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-	
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-	 	/c8,1 qgn_indi_wlan_secure_network_add.svg \
-	 	/c8,1 empty13x13.svg \
-	 	/c8,1 qgn_indi_wlan_signal_low_add.svg \
- 		/c8,1 qgn_indi_wlan_signal_med_add.svg \
-	 	/c8,1 qgn_indi_wlan_signal_good_add.svg \
-	 	/c8,1 qgn_prop_cmon_wlan_conn.svg \
-	 	/c8,1 qgn_prop_wlan_bearer.svg \
-		/c8,1 qgn_prop_empty.svg \
-	 	/c8,1 qgn_indi_wlan_sniffer_plugin_off.svg \
-	 	/c8,1 qgn_indi_wlan_sniffer_plugin_on.svg \
-	 	/c8,1 qgn_indi_wlan_sniffer_plugin_on_0.svg \
-	 	/c8,1 qgn_indi_wlan_sniffer_plugin_on_1.svg \
-	  /c8,1 qgn_menu_wlan_sniffer.svg
-
-	
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
--- a/wlanutilities/wlansniffer/group/wsficons_aif.mk	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-#
-# Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:  scalable icons makefile for project WlanSniffer
-#
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32\release\$(PLATFORM)\$(CFG)\Z
-else
-ZDIR=$(EPOCROOT)epoc32\data\z
-endif
-
-
-TARGETDIR=$(ZDIR)\RESOURCE\APPS
-ICONTARGETFILENAME=$(TARGETDIR)\wsficons_aif.mif
-
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-RESOURCE :
-	mifconv $(ICONTARGETFILENAME) \
-		/c8,1 qgn_menu_wlan_sniffer.svg
-
-FREEZE : do_nothing
- 
-SAVESPACE : do_nothing 
-
-RELEASABLES :
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
- 
Binary file wlanutilities/wlansniffer/help/data/xhtml.zip has changed
--- a/wlanutilities/wlansniffer/help/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - Initial contribution
-* 
-* Contributors:
-* 
-* 
-* Description:
-* Export help related files.
-*
-*/
-
-#include <platform_paths.hrh>				
-PRJ_EXPORTS
-:zip ../data/xhtml.zip   /epoc32/data/z/resource/ overwrite
-:zip ../data/xhtml.zip   /epoc32/winscw/c/resource/ overwrite
-
-../inc/sniffer.hlp.hrh	MW_LAYER_PLATFORM_EXPORT_PATH(csxhelp/sniffer.hlp.hrh)
-../rom/wlansnifferhelps_variant.iby		CUSTOMER_APP_LAYER_IBY_EXPORT_PATH(wlansnifferhelps_variant.iby)
--- a/wlanutilities/wlansniffer/help/inc/sniffer.hlp.hrh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,27 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-* 
-* Description:
-*
-*/
-	
-//
-// sniffer.hlp.hrh generated by CSXHelp Utilities.
-//           
-
-#ifndef __SNIFFER_HLP_HRH__
-#define __SNIFFER_HLP_HRH__
-
-_LIT(KSNIFFER_HLP_MAIN, "SNIFFER_HLP_MAIN"); // 
-
-#endif 
\ No newline at end of file
--- a/wlanutilities/wlansniffer/help/rom/wlansnifferhelps_variant.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,28 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  IBY file for Wlan Sniffer helps
- *
-*/
-
-#ifndef __WLANSNIFFERHELPS_VARIANT_IBY__
-#define __WLANSNIFFERHELPS_VARIANT_IBY__
-
-#if defined(FF_S60_HELPS_IN_USE)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\contents.zip, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\contents.zip)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\index.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\index.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\keywords.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\keywords.xml)
-    data=LOCALISE(DATAZ_\resource\xhtml\%02d\0x10281CAA\meta.xml, RESOURCE_FILES_DIR\xhtml\%02d\0x10281CAA\meta.xml)
-#endif
-
-#endif
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/inc/wlansniffer.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,57 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANSNIFFER_H
+#define WLANSNIFFER_H
+
+#include <HbApplication>
+
+class QTranslator;
+class WlanSnifferMainWindow;
+class WlanQtUtils;
+
+class WlanSniffer : public HbApplication
+    {
+    Q_OBJECT
+    
+public:
+    WlanSniffer(int argc, char* argv[]);
+    virtual ~WlanSniffer();
+    
+    /**
+     * This function (from QObject) handles timers. Initiates a new WLAN scan.
+     * 
+     * @param Unused.
+     */
+    void timerEvent(QTimerEvent *event);
+
+    WlanQtUtils *wlanQtUtils() const;
+    
+private slots:
+    void exitApplication();
+    
+private:
+    QTranslator* mTranslator;
+    WlanQtUtils *mWlanQtUtils;
+    // Todo: why does the example use QSharedPointer for these?
+    WlanSnifferMainWindow *mMainWindow; // owned
+    int mScanTimerId;
+    };
+
+#endif
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/inc/wlansnifferlistview.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANSNIFFERLISTVIEW_H
+#define WLANSNIFFERLISTVIEW_H
+
+#include <HbView>
+#include "wlanqtutilscommon.h"
+
+class HbListWidget;
+class HbListWidgetItem;
+class HbLabel;
+class WlanSniffer;
+class WlanQtUtilsWlanIap;
+class WlanQtUtilsWlanAp;
+
+class WlanSnifferListView : public HbView
+    {
+    Q_OBJECT
+    
+public:
+    WlanSnifferListView(WlanSniffer *appRef);
+    virtual ~WlanSnifferListView();
+    
+    void update();
+    void updateConnectionOpened(int iapId);
+    void updateConnectionClosed(int iapId);
+
+signals:
+    void detailsTriggered(int);
+    void completeServiceTriggered();
+
+private slots:
+    void handleListItemActivated(HbListWidgetItem *item);
+    void handleListItemLongPressed(HbListWidgetItem *item, const QPointF &coords);
+    void handleDisconnect();
+    
+private:
+    QString signalStrengthIconChoose(int signalStrength, WlanQtUtilsWlanSecMode secMode);
+    HbListWidgetItem *wlanListItemIapCreate(const WlanQtUtilsWlanIap *iap);
+    HbListWidgetItem *wlanListItemApCreate(const WlanQtUtilsWlanAp *ap);
+    
+private:
+    HbListWidget *mWlanList;
+    HbLabel *mStatusLabel;
+    WlanSniffer *mAppRef;
+    int mConnectingIapId;
+    bool mIapItemMenuOpen;
+    };
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/inc/wlansniffermainwindow.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,62 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANSNIFFERMAINWINDOW_H
+#define WLANSNIFFERMAINWINDOW_H
+
+#include <QObject>
+
+#include <HbMainWindow>
+
+class HbAction;
+class WlanSnifferListView;
+class WlanSniffer;
+class WlanSnifferService;
+
+class WlanSnifferMainWindow : public HbMainWindow
+    {
+    Q_OBJECT
+
+public:
+    WlanSnifferMainWindow(WlanSniffer *appRef);
+    virtual ~WlanSnifferMainWindow();
+
+public slots:
+    void toListView();
+    void toDetailsView(int iapId);
+    
+    void updateListView();
+    void updateListViewConnectionOpened(int iapId);
+    void updateListViewConnectionClosed(int iapId);
+
+signals:
+    void exitTriggered();
+
+private slots:
+    void completeService();
+
+private:
+    // Methods to add views to the main window
+    void addListView();
+    
+private:
+    WlanSniffer *mAppRef;
+    WlanSnifferListView *mListView;
+    WlanSnifferService* mService;
+    };
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/inc/wlansnifferservice.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0""
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+*
+*/
+
+#ifndef WLANSNIFFERSERVICE_H
+#define WLANSNIFFERSERVICE_H
+
+#include <xqserviceprovider.h>
+
+class WlanSnifferService: public XQServiceProvider
+{
+    Q_OBJECT
+
+public:
+    WlanSnifferService( QObject *parent = 0 );
+    ~WlanSnifferService();
+    void complete();
+
+signals:
+    void toListView();
+    void exitTriggered();
+    
+public slots:
+    void listView();
+    
+private:
+    int mAsyncRequestIndex;
+};
+
+#endif // WLANSNIFFERSERVICE_H
--- a/wlanutilities/wlansniffer/inc/wsflogger.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,257 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfModel
-*
-*/
-
-#ifndef WSFLOGGER_H
-#define WSFLOGGER_H
-
-
-#ifdef _DEBUG
-#define USE_WSFLOGGER
-#endif
-
-
-#ifdef USE_WSFLOGGER
-
-// undef this if you want logs into file
-#define WSFLOGGER_LOGGING_METHOD_RDEBUG
-
-//  EXTERNAL INCLUDES
-#include <flogger.h>
-#include <e32debug.h>
-
-
-//  CONSTANTS
-_LIT( KLogDir,                  "Sniffer" );
-_LIT( KLogFile,                 "Sniffer.txt" );
-_LIT( KLogBanner,               "Sniffer 0.1.0" );
-_LIT( KLogEnterFn,              "%04x\t% *S-> %S" );
-_LIT( KLogLeaveFn,              "%04x\t% *S<- %S" );
-_LIT( KLogExit,                 "Sniffer: Application exit" );
-_LIT( KLogFormat,               "%04x\t% *S%S" );
-
-
-//  CLASS DEFINITION
-/**
-* Class to log functionentry/exit
-*
-* Example usage:
-*
-* @code
-* #include "wsflogger.h"
-*
-* ...
-* 
-* void MyClass::DoIt() 
-*     {
-*     LOG_ENTERFN( "MyClass::DoIt" );
-*     // doing it...
-*     }
-*
-* @endcode
-*
-* Since the macros create instances on the stack, the class is destructed when
-* the stack is unwound. Thus, if LOG_ENTERFN was called at the highest level 
-* within the function then the destructor can detect the exit from the 
-* function without the need of an explicit "LOG_LEAVEFN" to each exit point.
-*
-* Note: the destructor is not called if a leave occurs.
-*
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CFunctionEntryExit ): public CBase
-    {
-    public:
-
-        /**
-        * Constructor
-        * @since S60 5.0
-        * @param aFunc Name of the function being entered
-        */
-        CFunctionEntryExit( TRefByValue<const TDesC> aFunc )
-            {
-            iFunc.Set( aFunc );
-
-            RThread thread;
-            TUint tid = TUint( thread.Id() ) & 0xffff;
-
-#ifndef WSFLOGGER_LOGGING_METHOD_RDEBUG
-            RFileLogger::WriteFormat( KLogDir, 
-                                      KLogFile, 
-                                      EFileLoggingModeAppend, 
-                                      KLogEnterFn, 
-                                      tid,
-                                      4*((tid>>2)&0x3),
-                                      &KNullDesC,
-                                      &iFunc);
-#else
-            RDebug::Print( KLogEnterFn, tid,
-                           4*((tid>>2)&0x3),
-                           &KNullDesC,
-                           &iFunc);
-#endif
-            }
-    
-        /**
-        * Destructor
-        * @since S60 5.0
-        */
-        ~CFunctionEntryExit()
-            {
-            RThread thread;
-            TUint tid = TUint( thread.Id() ) & 0xffff;
-
-#ifndef WSFLOGGER_LOGGING_METHOD_RDEBUG
-            RFileLogger::WriteFormat( KLogDir, 
-                                      KLogFile, 
-                                      EFileLoggingModeAppend, 
-                                      KLogLeaveFn, 
-                                      tid,
-                                      4*((tid>>2)&0x3),
-                                      &KNullDesC,
-                                      &iFunc);
-#else
-            RDebug::Print( KLogLeaveFn, 
-                           tid,
-                           4*((tid>>2)&0x3),
-                           &KNullDesC,
-                           &iFunc );
-#endif
-            }
-
-    public:     // data
-        /**
-        * Function name
-        */
-        TPtrC iFunc;
-    };
-       
-
-//  LOG MACROS       
-#ifndef WSFLOGGER_LOGGING_METHOD_RDEBUG
-// Create/overwrite the log file
-#define LOG_CREATE                                                      \
-            {                                                           \
-            TFileName path( _L( "c:\\logs\\" ) );                       \
-            path.Append( KLogDir );                                     \
-            path.Append( _L( "\\" ) );                                  \
-            RFileLogger::WriteFormat( KLogDir, KLogFile,                \
-                           EFileLoggingModeOverwrite, KLogBanner );     \
-            }
-
-
-// Close the log
-#define LOG_DELETE                                                      \
-            RFileLogger::Write( KLogDir, KLogFile,                      \
-                           EFileLoggingModeAppend, KLogExit );          \
-
-
-// Place a function entry/exit watchdog            
-#define LOG_ENTERFN(a)                                                  \
-            CFunctionEntryExit entryExit( _L(a) );
-
-
-// Write a solid string to the log
-#define LOG_WRITE(a)                                                    \
-            {                                                           \
-            _LIT( temp, a );                                            \
-            RThread thread;                                             \
-            TUint tid = TUint( thread.Id() ) & 0xffff;                  \
-            TBuf<5+12+sizeof(L##a)/2-1> buf;                            \
-            buf.Format( KLogFormat,                                     \
-                        tid, 4*((tid>>2)&0x3), &KNullDesC, &temp );     \
-            RFileLogger::Write( KLogDir, KLogFile,                      \
-                                EFileLoggingModeAppend, buf );          \
-            }
-            
-
-// Write a formatted string to the log
-#define LOG_WRITEF(a, s...)                                             \
-            {                                                           \
-            _LIT( temp, a );                                            \
-            RThread thread;                                             \
-            TUint tid = TUint( thread.Id() ) & 0xffff;                  \
-            TBuf<5+12+sizeof(L##a)/2-1> buf;                            \
-            buf.Format( KLogFormat,                                     \
-                        tid, 4*((tid>>2)&0x3), &KNullDesC, &temp );     \
-            RFileLogger::WriteFormat( KLogDir, KLogFile,                \
-                        EFileLoggingModeAppend, buf, s );               \
-            }
-
-#else // WSFLOGGER_LOGGING_METHOD_RDEBUG
-
-// Create/overwrite the log file
-#define LOG_CREATE                                                      \
-            RDebug::Print(_L("%S"), &KLogBanner);
-
-
-// Close the log
-#define LOG_DELETE                                                      \
-            RDebug::Print(_L("%S"), &KLogExit);
-
-
-// Place a function entry/exit watchdog            
-#define LOG_ENTERFN(a)                                                  \
-            CFunctionEntryExit entryExit( _L(a) );
-
-
-// Write a solid string to the log
-#define LOG_WRITE(a)                                                    \
-            {                                                           \
-            _LIT( temp, a );                                            \
-            RThread thread;                                             \
-            TUint tid = TUint( thread.Id() ) & 0xffff;                  \
-            TBuf<5+12+sizeof(L##a)/2-1> buf;                            \
-            buf.Format( KLogFormat,                                     \
-                        tid, 4*((tid>>2)&0x3), &KNullDesC, &temp );     \
-            RDebug::Print(buf);                                         \
-            }
-            
-
-// Write a formatted string to the log
-#define LOG_WRITEF(a, s...)                                             \
-            {                                                           \
-            _LIT( temp, a );                                            \
-            RThread thread;                                             \
-            TUint tid = TUint( thread.Id() ) & 0xffff;                  \
-            TBuf<5+12+sizeof(L##a)/2-1> buf;                            \
-            buf.Format( KLogFormat,                                     \
-                        tid, 4*((tid>>2)&0x3), &KNullDesC, &temp );     \
-            RDebug::Print( buf, s);                                     \
-            }
-
-#endif // WSFLOGGER_LOGGING_METHOD_RDEBUG
-
-
-#else // _DEBUG
-
-
-#define LOG_CREATE
-#define LOG_DELETE
-#define LOG_ENTERFN(a)
-#define LOG_WRITE(a)
-#define LOG_WRITEF(a, s...)
-
-
-#endif // _DEBUG
-
-
-
-
-#endif // WSFLOGGER_H
-
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/data/wlansniffer.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,697 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project MainApplication
- *
-*/
-
-NAME HELL
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.loc>
-#include <avkon.hrh>
-#include <avkon.mbg>
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-#include <wsfmainapplication.loc>
-
-#include "wsfmainapplication.hrh"
-
-// ---------------------------------------------------------
-//   
-//    Define the resource file signature 
-//    This resource should be empty.
-//
-// ---------------------------------------------------------
-//
-RESOURCE RSS_SIGNATURE
-    {}
-
-// ---------------------------------------------------------
-//   
-//    Default Document Name
-//
-// ---------------------------------------------------------
-//
-RESOURCE TBUF r_default_document_name
-    {
-    buf="";
-    }
-
-// ---------------------------------------------------------
-//   
-//    Define default menu and CBA key.
-//
-// ---------------------------------------------------------
-//
-RESOURCE EIK_APP_INFO
-    {
-    menubar = r_sniffer_menubar;
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_sniffer_cp_mainview
-//   Control Panel Mainview
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_sniffer_cp_options_back_menu
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id=EAknSoftkeyOptions; txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id=EAknSoftkeyExit; txt = text_softkey_back;
-            },
-        CBA_BUTTON
-            {
-            id=EAknSoftkeyContextOptions; txt = text_softkey_option;
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_sniffer_cp_mainview
-    {
-    menubar = r_sniffer_menubar;
-    cba = r_sniffer_cp_options_back_menu;
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_Sniffer_mainview
-//   Mainview
-//
-// ---------------------------------------------------------
-//
-RESOURCE CBA r_sniffer_options_back_menu
-    {
-    buttons =
-        {
-        CBA_BUTTON
-            {
-            id=EAknSoftkeyOptions; txt = text_softkey_option;
-            },
-        CBA_BUTTON
-            {
-            id=EAknSoftkeyExit; txt = text_softkey_exit;
-            },
-        CBA_BUTTON
-            {
-            id=EAknSoftkeyContextOptions; txt = text_softkey_option;
-            }
-        };
-    }
-
-RESOURCE AVKON_VIEW r_sniffer_mainview
-    {
-    menubar = r_sniffer_menubar;
-    cba = r_sniffer_options_back_menu;
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_Sniffer_menubar
-//   Menubar for Sniffer example
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_BAR r_sniffer_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_sniffer_menu;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_Sniffer_menu
-//   Menu for "Options"
-//
-// ---------------------------------------------------------
-//
-RESOURCE MENU_PANE r_sniffer_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = ESnifferCmdStartBrowsing; 
-            txt = qtn_sniffer_opt_start_web_browsing;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdContinueBrowsing; 
-            txt = qtn_sniffer_opt_continue_web_browsing;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdConnect; 
-            txt = qtn_sniffer_opt_connect;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdDisconnect; 
-            txt = qtn_sniffer_opt_disconnect_wlan;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdRefresh; 
-            txt = qtn_sniffer_opt_refresh;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdFilterWlans; 
-            txt = qtn_sniffer_opt_filter_out_wlans;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdDetails;
-            txt = qtn_sniffer_opt_details;
-            flags = EEikMenuItemSpecific;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdSettings;
-            txt = qtn_sniffer_opt_settings;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdHelp;
-            txt = qtn_options_help;
-            },
-        MENU_ITEM
-            {
-            command = EAknCmdExit;
-            txt = qtn_options_exit;
-            }
-        };
-    }
-
-RESOURCE MENU_BAR r_sniffer_context_menubar
-    {
-    titles =
-        {
-        MENU_TITLE
-            {
-            menu_pane = r_sniffer_context_menu;
-            }
-        };
-    }
-
-RESOURCE MENU_PANE r_sniffer_context_menu
-    {
-    items =
-        {
-        MENU_ITEM
-            {
-            command = ESnifferCmdStartBrowsing;
-            txt = qtn_sniffer_opt_start_web_browsing;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdContinueBrowsing;
-            txt = qtn_sniffer_opt_continue_web_browsing;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdConnect;
-            txt = qtn_sniffer_opt_connect;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdDisconnect;
-            txt = qtn_sniffer_opt_disconnect_wlan;
-            },
-        MENU_ITEM
-            {
-            command = ESnifferCmdDetails;
-            txt = qtn_sniffer_opt_details;
-            }
-        };
-    }
-
-// ---------------------------------------------------------
-//   
-//   r_sniffer_detailsview
-//   Details
-//
-// ---------------------------------------------------------
-//
-RESOURCE AVKON_VIEW r_sniffer_detailsview
-    {
-    menubar = r_sniffer_detailsview_menubar;
-    cba = R_AVKON_SOFTKEYS_OK_EMPTY;
-    }
-
-
-// ---------------------------------------------------------
-//
-// r_sniffer_detailsview_menubar
-//
-// ---------------------------------------------------------
-//  
-RESOURCE MENU_BAR r_sniffer_detailsview_menubar
-    {
-    titles =
-         {
-         MENU_TITLE
-             {
-             menu_pane = R_AVKON_MENUPANE_EMPTY;
-             }
-         };
-     }
-
-//-----------------------------------------------------------------------------
-//
-// Details view listbox headings resources
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_cmon_heading_conn_name
-    {
-    buf = qtn_cmon_heading_conn_name;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_network_name
-    {
-    buf = qtn_cmon_heading_wlan_network_name;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_signal_strength
-    {
-    buf = qtn_cmon_heading_wlan_signal_strength;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_network_mode
-    {
-    buf = qtn_cmon_heading_wlan_network_mode;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_security_mode
-    {
-    buf = qtn_cmon_heading_wlan_security_mode;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_nw_ap_amount
-    {
-    buf = qtn_cmon_heading_wlan_nw_ap_amount;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_heading_wlan_nw_max_rate
-    {
-    buf = qtn_cmon_heading_wlan_nw_max_rate;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Details View signal strength detail definitions
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_low
-    {
-    buf = qtn_cmon_wlan_signal_strength_low;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_medium
-    {
-    buf = qtn_cmon_wlan_signal_strength_medium;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_strong
-    {
-    buf = qtn_cmon_wlan_signal_strength_good;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_signal_strength_no_signal
-    {
-    buf = qtn_cmon_wlan_signal_strength_no_signal;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan mode definitions  
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_newtwork_mode_adhoc
-    {
-    buf = qtn_cmon_wlan_network_mode_adhoc;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_newtwork_mode_infra
-    {
-    buf = qtn_cmon_wlan_network_mode_infra;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan security definitions  
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_open
-    {
-    buf = qtn_wlan_sett_security_mode_open;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_wep
-    {
-    buf = qtn_wlan_sett_security_mode_wep;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_802_1x
-    {
-    buf = qtn_wlan_sett_security_mode_802_1x;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_wpa
-    {
-    buf = qtn_wlan_sett_security_mode_wpa;
-    }
-    
-RESOURCE TBUF r_qtn_sniffer_wlan_sett_security_mode_wapi
-    {
-    buf = qtn_wlan_sett_security_mode_wapi;
-    }
-    
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan security definitions  
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_ap_amount_in_range
-    {
-    buf = qtn_cmon_wlan_ap_amount_in_range_1;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_wlan_ap_amount_in_range_many
-    {
-    buf = qtn_cmon_wlan_ap_amount_in_range_many;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Details View Wlan speed definitions  
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE TBUF r_qtn_sniffer_wlan_max_data_rate
-    {
-    buf = qtn_cmon_wlan_max_data_rate;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Pop-up heading text:
-//
-//-----------------------------------------------------------------------------
-RESOURCE TBUF r_qtn_wlan_heading_connection_details
-    {
-    buf = qtn_wlan_heading_connection_details;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Pop-up item heading texts:
-//
-//-----------------------------------------------------------------------------
-RESOURCE TBUF r_qtn_wlan_item_heading_text_wlan
-    {
-    buf = qtn_wlan_item_heading_text_wlan;
-    }
-
-RESOURCE TBUF r_qtn_wlan_item_heading_duration
-    {
-    buf = qtn_wlan_item_heading_duration;
-    }
-
-RESOURCE TBUF r_qtn_wlan_item_heading_transf
-    {
-    buf = qtn_wlan_item_heading_transf;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Pop-up item texts:
-//
-//-----------------------------------------------------------------------------
-RESOURCE TBUF r_qtn_wlan_item_kb
-    {
-    buf = qtn_wlan_item_kb;
-    }
-
-RESOURCE TBUF r_qtn_wlan_item_mb
-    {
-    buf = qtn_wlan_item_mb;
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Waitnote
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE DIALOG r_waitnote_searching_wlans
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EWaitNoteSearchingWlans;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                singular_label = qtn_wlan_wait_searching_networks;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Connecting waitnote
-//
-//-----------------------------------------------------------------------------
-
-RESOURCE DIALOG r_waitnote_connecting
-    {
-    flags = EAknWaitNoteFlags;
-    buttons = R_AVKON_SOFTKEYS_CANCEL;
-    items =
-        {
-        DLG_LINE
-            {
-            type = EAknCtNote;
-            id = EWaitNoteConnecting;
-            control = AVKON_NOTE
-                {
-                layout = EWaitLayout;
-                animation = R_QGN_GRAF_WAIT_BAR_ANIM;
-                };
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Dialog
-//
-//-----------------------------------------------------------------------------
-RESOURCE AVKON_LIST_QUERY r_qtn_connected_details_dialog
-    {
-    softkeys = R_AVKON_SOFTKEYS_OK_EMPTY__OK;
-    items =
-        {
-        AVKON_LIST_QUERY_DLG_LINE
-            {
-            control = AVKON_LIST_QUERY_CONTROL
-                {
-                listtype = EAknCtSingleHeadingPopupMenuListBox;
-                listbox = AVKON_LIST_QUERY_LIST
-                    {
-                    flags = EAknListBoxMenuList |
-                    EAknListBoxDisableHighlight;
-                    };
-                heading = qtn_wlan_heading_connection_details;
-                };
-            }
-        };
-    }
-
-//-----------------------------------------------------------------------------
-//
-// Connected Details Dialog
-//
-//-----------------------------------------------------------------------------
-RESOURCE DIALOG r_restart_browsing_confirmation_query
-    {
-    flags=EGeneralQueryFlags;
-    buttons=R_AVKON_SOFTKEYS_YES_NO__YES;
-    items=
-        {
-        DLG_LINE
-            {
-            type=EAknCtQuery;
-            id = EGeneralQuery;
-            control= AVKON_CONFIRMATION_QUERY
-                {
-                layout = EConfirmationQueryLayout;
-                };
-            }
-        };
-    }
-
-RESOURCE TBUF r_qtn_options_exit
-    {
-    buf = qtn_options_exit;
-    }
-
-RESOURCE TBUF r_qtn_options_help
-    {
-    buf = qtn_options_help;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_opt_settings
-    {
-    buf = qtn_sniffer_opt_settings;
-    }
-
-RESOURCE TBUF r_sniffer_opt_define_access_point
-    {
-    buf = qtn_sniffer_opt_define_access_point;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_opt_details
-    {
-    buf = qtn_sniffer_opt_details;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_opt_refresh
-    {
-    buf = qtn_sniffer_opt_refresh;
-    }
-RESOURCE TBUF r_qtn_sniffer_opt_filter_out_wlans
-    {
-    buf = qtn_sniffer_opt_filter_out_wlans;
-    }
-RESOURCE TBUF r_qtn_sniffer_opt_disconnect
-    {
-    buf = qtn_sniffer_opt_disconnect_wlan;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_opt_start_web_browsing
-    {
-    buf = qtn_sniffer_opt_start_web_browsing;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_opt_continue_web_browsing
-    {
-    buf = qtn_sniffer_opt_continue_web_browsing;
-    }
-
-RESOURCE TBUF r_text_softkey_exit
-    {
-    buf = text_softkey_exit;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_unknown
-    {
-    buf = qtn_sniffer_unknown;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_known
-    {
-    buf = qtn_sniffer_known;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_connecting
-    {
-    buf = qtn_sniffer_connecting;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_connected
-    {
-    buf = qtn_sniffer_connected;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_hidden_wlan
-    {
-    buf = qtn_sniffer_plug_in_hidden_ssid_label;
-    }
-
-RESOURCE TBUF r_qtn_wlan_info_no_networks_found
-    {
-    buf = qtn_wlan_info_no_networks_found;
-    }
-
-RESOURCE TBUF r_qtn_wlan_info_connection_already_active
-    {
-    buf = qtn_wlan_info_connection_already_active;
-    }
-
-RESOURCE TBUF r_qtn_wlan_wait_searching_networks
-    {
-    buf = qtn_wlan_wait_searching_networks;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_title
-    {
-    buf = qtn_sniffer_title;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_navi_one_wlan_nw_available
-    {
-    buf = qtn_cmon_navi_one_wlan_nw_available;
-    }
-
-RESOURCE TBUF r_qtn_sniffer_navi_many_wlan_nws_available
-    {
-    buf = qtn_cmon_navi_many_wlan_nws_available;
-    }
-
-//-----------------------------------------------------------------------------
-
-RESOURCE LOCALISABLE_APP_INFO r_sniffer_localisable_app_info
-    {
-    short_caption = qtn_sniffer_title;
-    caption_and_icon =
-    CAPTION_AND_ICON_INFO
-        {
-        caption = qtn_sniffer_title;
-        icon_file = "Z:"APP_BITMAP_DIR"\\wsficons_aif.mif";
-        };
-    }
-
-// END OF FILE
--- a/wlanutilities/wlansniffer/mainapplication/data/wlansniffer_reg.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project MainApplication
-*
-*/
-
-
-//Sniffer application's registration resource file 
-#include <appinfo.rh>
-#include <data_caging_paths_strings.hrh>
-
-#include <wlansniffer.rsg>
-
-UID2 KUidAppRegistrationResourceFile
-UID3 0x10281CAA
-
-RESOURCE APP_REGISTRATION_INFO 
-    {
-    app_file="wlansniffer";
-    localisable_resource_file = APP_RESOURCE_DIR"\\wlansniffer";
-    localisable_resource_id = R_SNIFFER_LOCALISABLE_APP_INFO;
-    }
--- a/wlanutilities/wlansniffer/mainapplication/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project MainApplication
-*
-*/
-
-#include <platform_paths.hrh>
-
-PRJ_EXPORTS
-// export localised loc file
-../loc/wsfmainapplication.loc	MW_LAYER_LOC_EXPORT_PATH(wsfmainapplication.loc)
-
-../rom/wsfmainapplication.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(wsfmainapplication.iby)
-../rom/wsfmainapplicationresources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfmainapplicationresources.iby)
-
-
-PRJ_MMPFILES
-mainapplication.mmp
-
-
-
--- a/wlanutilities/wlansniffer/mainapplication/group/mainapplication.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,111 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project MainApplication
-*
-*/
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-CAPABILITY ReadDeviceData NetworkServices NetworkControl ProtServ \
-           ReadUserData WriteDeviceData WriteUserData SwEvent
-
-TARGET          wlansniffer.exe
-TARGETTYPE exe
-UID               0x100039CE 0x10281CAA
-
-EPOCSTACKSIZE	  0x5000
-
-SOURCEPATH        ../src 
-SOURCE            wsfentrypoint.cpp
-SOURCE            wsfapplication.cpp 
-SOURCE            wsfmainview.cpp
-SOURCE            wsfappui.cpp
-SOURCE            wsfdocument.cpp 
-
-SOURCE            wsfactivewaiter.cpp
-SOURCE            wsfmaincontroller.cpp 
-SOURCE            wsfmainviewcontroller.cpp 
-SOURCE            wsfmainviewmodel.cpp
-SOURCE            wsfmainviewcontainer.cpp
-
-// Details View Sources
-SOURCE            wsfdetailsview.cpp
-SOURCE            wsfdetailscontainer.cpp
-SOURCE            wsfdetailsviewmodel.cpp
-SOURCE            wsfdetailsviewcontroller.cpp
-
-// Connected Details Popup Sources 
-SOURCE            wsfconnecteddetailsdialog.cpp
-SOURCE            wsfconnecteddetailsmodel.cpp
-SOURCE            wsfconnecteddetailscontroller.cpp
-SOURCE            wsfactivetimeupdater.cpp
-
-
-// own headers
-USERINCLUDE     ../inc
-
-// inner API
-USERINCLUDE     ../../inc
-
-// private API
-USERINCLUDE     ../../../inc
-
-
-//Macro to /epoc32 headers
-APP_LAYER_SYSTEMINCLUDE
-
-LIBRARY             euser.lib
-LIBRARY             apparc.lib
-LIBRARY             cone.lib 
-LIBRARY             bafl.lib 
-LIBRARY             eikcore.lib  
-LIBRARY             avkon.lib  
-LIBRARY             eikcoctl.lib 
-LIBRARY             eikctl.lib 
-LIBRARY             egul.lib
-LIBRARY             aknicon.lib 
-LIBRARY             eikdlg.lib
-LIBRARY             eikcdlg.lib
-LIBRARY             FeatMgr.lib
-LIBRARY             hlplch.lib
-LIBRARY             ConnMon.lib
-LIBRARY             aknskins.lib
-LIBRARY             commonengine.lib
-LIBRARY             cmmanager.lib
-LIBRARY             wlansettingsui.lib
-LIBRARY             charconv.lib
-LIBRARY             apgrfx.lib
-LIBRARY             commonui.lib
-
-LIBRARY             wsfwlaninfo.lib
-LIBRARY             wsfwlaninfosorting.lib
-LIBRARY             wsfmodel.lib
-LIBRARY             connectionuiutilities.lib
-
-// Logger
-DEBUGLIBRARY        flogger.lib
-
-START RESOURCE    ../data/wlansniffer.rss
-HEADER
-TARGETPATH        APP_RESOURCE_DIR
-LANGUAGE_IDS
-END
-
-START RESOURCE    ../data/wlansniffer_reg.rss
-DEPENDS wlansniffer.rsg
-TARGETPATH        /private/10003a3f/apps
-END
-
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfactivetimerhandler.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfActiveTimerHandler
-*
-*/
-
-#ifndef M_WSFACTIVETIMERHANDLER_H
-#define M_WSFACTIVETIMERHANDLER_H
-
-/**
- *  Interface between details view controller and timer for active time update
- */
-class MWsfActiveTimerHandler
-    {
-
-    public:
-
-        /**
-         * Updates the details view active time
-         */
-        virtual void UpdateActiveTimeL() = 0;
-    };
-
-#endif // M_WSFACTIVETIMERHANDLER_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfactivetimeupdater.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfActiveTimeUpdater
-*
-*/
-
-#ifndef C_WSFACTIVETIMEUPDATER_H
-#define C_WSFACTIVETIMEUPDATER_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-
-//  FORWARD DECLARATIONS
-class MWsfActiveTimerHandler;
-
-
-/**
- *  Responsible for time updating by using a customizable time interval.
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWsfActiveTimeUpdater ) : public CBase
-    {
-    public:     // Constructors and destructor
-        
-        /**
-         * Two-phased constructor
-         * @since S60 5.0 
-         * @param aActiveTimerHandler interface details views controller
-         * @return instance of CWsfActiveTimeUpdater class
-         */
-        static CWsfActiveTimeUpdater* NewL(
-                MWsfActiveTimerHandler* aActiveTimerHandler );
-
-
-        /**
-         * Two-phased constructor. Leaves the object on CleanupStack
-         * @since S60 5.0 
-         * @param aActiveTimerHandler interface details views controller
-         * @return instance of CWsfActiveTimeUpdater class
-         */
-        static CWsfActiveTimeUpdater* NewLC( 
-                MWsfActiveTimerHandler* aActiveTimerHandler );
-        
-        /**
-         * Destructor of CWsfActiveTimeUpdater class
-         * @since S60 5.0     
-         */
-        ~CWsfActiveTimeUpdater();
-        
-    private:    // Constructors
-        
-        /**
-         * Default C++ constructor 
-         * @since S60 5.0 
-         * @param aActiveTimerHandler interface details views controller
-         */
-        CWsfActiveTimeUpdater( MWsfActiveTimerHandler* aActiveTimerHandler );
-        
-        /**
-         * 2nd phase constructor
-         * @since S60 5.0 
-         */
-        void ConstructL();
-    
-    public:     // New methods
-    
-        /**
-         * Start update timer
-         * @since S60 5.0 
-         * @param aUpdateInterval refresh time interval
-         */
-        void Start( TInt aUpdateInterval );
-        
-        /**
-         * Stop update timer
-         * @since S60 5.0 
-         */
-        void Stop();
-    
-        /**
-         * Called from static call back of CPeriodic.
-         * The actual update process starts here
-         * @since S60 5.0 
-         */
-        void DoUpdateTimeL();
-        
-    private:    // New methods
-        /**
-         * Function to called when periodic timer releases
-         * @since S60 5.0 
-         * @param aUpdater pointer to this
-         */
-        static TInt UpdateTimeL( TAny* aUpdater );
-    
-    private: 
-    
-        /**
-         * Pointer to the Active Timer handler interface 
-         * Own.
-         */
-        MWsfActiveTimerHandler* iActiveTimerHandler;
-
-        /**
-         * Timer, to refresh the details views
-         * Own.
-         */
-        CPeriodic* iPeriodic;
-    };
-
-#endif // C_WSFACTIVETIMEUPDATER_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfactivewaiter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declaration of CWsfActiveWaiter
-*
-*/
-
-
-
-#ifndef __WSFMAINAPPLICATION_ACTIVE_WAITER_H__
-#define __WSFMAINAPPLICATION_ACTIVE_WAITER_H__
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest
- * 
- * Usage:
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest == KErrNone )
- *      {
- *      // handle success
- *      }
- *      else 
- *      {
- *      // handle failure
- *      }
- * CleanupStack::PopAndDestroy( waiter );
- * 
- */     
-NONSHARABLE_CLASS( CWsfActiveWaiter ) : public CActive
-    {
-    public:
-
-        /**
-        * Two-phased constructor
-        * @since S60 5.0 
-        * @return instance of CWsfActiveWaiter class
-        */
-        static CWsfActiveWaiter* NewL();
-
-        /**
-        * Destructor of CWsfActiveWaiter class
-        * @since S60 5.0     
-        */  
-        virtual ~CWsfActiveWaiter();          
-
-        /**
-        * Waits for it's TRequestStatus to be completed
-        * @since S60 5.0     
-        * @return Error code returned from server after request is
-        * completed
-        */
-        TInt WaitForRequest();
-        
-    private:
-
-        /**
-        * 2nd phase constructor
-        * @since S60 5.0 
-        */
-        void ConstructL();
-    
-        /**
-        * Default C++ constructor 
-        * @since S60 5.0 
-        */ 
-        CWsfActiveWaiter();
-            
-        /**
-        * DoCancel from CActive
-        * @since S60 5.0 
-        */    
-        virtual void DoCancel();
-      
-        /**
-        * RunL from CActive
-        * @since S60 5.0 
-        */      
-        virtual void RunL();
-    
-    private:
-
-        /**
-        * Used to make asynchronous call synchronous
-        */
-        CActiveSchedulerWait iWait;
-    };     
-
-#endif // __WSFMAINAPPLICATION_ACTIVE_WAITER_H__
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfapplication.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfApplication
-*
-*/
-
-
-#ifndef C_WSFAPPLICATION_H
-#define C_WSFAPPLICATION_H
-
-#include <aknapp.h>
-
-
-//  CLASS DEFINITION
-/** 
-* An instance of CWsfApplication is the application part of the
-* AVKON application framework for the Sniffer example application
-* 
-* @since S60 5.0
-* @lib wlansniffer.exe
-*/
-NONSHARABLE_CLASS( CWsfApplication ): public CAknApplication
-    {
-    public:  // from CAknApplication
-    
-        /** 
-        * Returns the application DLL UID value
-        * @since S60 5.0
-        * @return The UID of this Application/Dll
-        */
-        TUid AppDllUid() const;
-    
-    protected: // from CAknApplication
-        /** 
-        * Creates a CApaDocument object and return a pointer to it
-        * @since S60 5.0
-        * @return A pointer to the created document
-        */
-        CApaDocument* CreateDocumentL();
-    };
-
-#endif // C_WSFAPPLICATION_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfappui.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,292 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAppUi
-*
-*/
-
-#ifndef C_WSFAPPUI_H
-#define C_WSFAPPUI_H
-
-#include <e32std.h>
-#include <AknWaitDialog.h>
-#include <aknViewAppUi.h>
-
-
-//  FORWARD DECLARATIONS
-class CWsfMainView;
-class MWsfMainUiObserver;
-class MWsfMainViewControllerIf;
-class MWsfDetailsViewControllerIf;
-class CAknWaitDialog;
-class CWsfDocument;
-class CWsfConnectedDetailsDialog;
-class CWsfWlanInfoArray;
-
-/**
- * 'AppUi' class.
- *
- * @since S60 v5.0
- * @lib wlansniffer.exe
- */
-NONSHARABLE_CLASS( CWsfAppUi ): public CAknViewAppUi, 
-                                public MProgressDialogCallback
-    {
-    public:
-        
-        /**
-        * 2nd phase constructor
-        * @since S60 5.0 
-        */
-        void ConstructL();
-    
-        /**
-        * Default C++ constructor 
-        * @since S60 5.0 
-        */
-        CWsfAppUi();
-    
-        /**
-        * Destructor of CWsfAppUi class
-        * @since S60 5.0     
-        */
-        ~CWsfAppUi();
-    
-    
-    public: // from CAknAppUi
-        /**
-        * Handle user menu selections
-        * @since S60 5.0     
-        * @param aCommand The enumerated code for the option selected
-        */
-        void HandleCommandL( TInt aCommand );
-    
-        /**
-        * Handles a change to the application's resources
-        * which are shared across the environment.
-        * @since S60 5.0     
-        * @param aType type of resources that have changed. 
-        */
-        void HandleResourceChangeL( TInt aType );
-
-        /**
-        * Handles changes in keyboard focus when an application switches to, 
-        * or from, the foreground.
-        * @since S60 5.0     
-        * @param aForeground ETrue if the application is in the foreground,
-        * otherwise EFalse.
-        */
-        void HandleForegroundEventL( TBool aForeground );    
-
-        
-    public:
-    
-        /**
-        * Set an interface to the main controller for the AppUI.
-        * @since S60 5.0   
-        * @param aObserver Observer object
-        */
-        void SetUiObserver( MWsfMainUiObserver* aObserver );
-        
-        /**
-        * Activate the Details View
-        * @since S60 5.0   
-        * @param aDetailsViewId View ID of Details View
-        */
-        void ActivateDetailsViewL( TUid aDetailsViewId );
-        
-        /**
-        * Activate the Main View
-        * @since S60 5.0   
-        */
-        void ActivateMainViewL();    
-    
-        /**
-        * Create the Main View 
-        * @since S60 5.0
-        * @return reference to the Main View's controller
-        */
-        MWsfMainViewControllerIf& MainView();
-    
-        /**
-        * Create the Details View
-        * @since S60 5.0
-        * @return reference to the Details View's controller
-        */
-        MWsfDetailsViewControllerIf& DetailsView( TInt aDetailsViewType );
-        
-        /**
-        * Starts the wait note dialog
-        * @since S60 5.0
-        * @param aVisibilityDelayOff set the visibility of the dialog
-        */
-        void StartWaitNoteL( TBool aVisibilityDelayOff );
-    
-        /**
-        * Dismiss the wait note dialog
-        * @since S60 5.0
-        */
-        void HideWaitNoteL();
-
-        /**
-        * Displays the Main View's menu bar.
-        * @since S60 5.0
-        */
-        void ShowMenuBarL();
-    
-        /**
-        * Displays "No WLAN found" note.
-        * @since S60 5.0
-        */
-        void ShowNoWlansFoundInfoL();
-        
-        /**
-        * Displays an error note.
-        * @since S60 5.0
-        * @param aResourceId the text of the error note
-        */
-        void ShowErrorNoteL( TInt aResourceId ); 
-        
-        /**
-        * Displays a Global error note.
-        * @since S60 5.0
-        * @param aError error ID
-        */
-        void ShowGlobalErrorNoteL( TInt aError );
-        
-        /**
-        * Returns a pointer to the CWsfDocument
-        * @since S60 5.0
-        * @return pointer to the CWsfDocument
-        */
-        CWsfDocument* Doc();
-        
-        /**
-        * Returns CWlanSettingsUi is in foreground
-        * @since S60 5.0
-        * @return ETrue if CWlanSettingsUi is in foreground
-        *         EFalse if CWlanSettingsUi is in background
-        */
-        TBool Foreground();
-        
-        /**
-        * Starts the Connected Details View 
-        * @since S60 5.0
-        * @param aWlanArray pointer to the Wlan Info Array
-        * @param aSelectedWlanSsid string of the selected Wlan SSID
-        */
-        void StartConnectedDetailsL( CWsfWlanInfoArray* aWlanArray,
-                                     const TDesC8& aSelectedWlanSsid );
-    
-        /**
-        * Update content of the Connected Details View 
-        * @since S60 5.0
-        * @param aWlanArray pointer to the Wlan Info Array
-        */
-        void UpdateConnectedDetailsL( CWsfWlanInfoArray* aWlanArray );
-
-        /**
-         * Returns the value of key event suppression flag
-         * @since S60 5.0
-         * @return ETrue if key events are suppressed
-         */
-        TBool SuppressingKeyEvents() const;
-        
-        /**
-         * Sets the value of key event suppression flag
-         * @since S60 5.0
-         * @param aSuppressing The new value of the flag
-         */
-        void SetSuppressingKeyEvents( TBool aSuppressing );
-        
-        
-    protected:  // from MProgressDialogCallback
-    
-        /**
-        * Callback function for MProgressDialogCallback
-        * @since S60 5.0
-        * @param aButtonId the ID of the button that was activated
-        */
-        void DialogDismissedL( TInt aButtonId ); 
-    
-        
-    private:    // new methods
-        
-        /**
-        * This function is used for querying whether the application
-        * is launched in embedded mode or not.
-        * @return ETrue:  The application is launched in embedded mode.
-        *         EFalse: The application is launched in standalone mode.
-        */
-        TBool IsEmbedded() const;
-    
-        /**
-        * Callback for CIdle. 
-        * @since S60 5.0 
-        * @param aObject pointer to this
-        * @return zero value means not be called again.(Stops timer)
-        */
-        static TInt AppLaunchCompleteL( TAny* aObject );
-    
-    
-    private:
-    
-        /**
-        * Reference to UI observer
-        * Not own.
-        */
-        MWsfMainUiObserver* iObserver;
-    
-        /**
-        * Wait dialog
-        * Own.
-        */
-        CAknWaitDialog* iWaitDialog;
-    
-        /**
-        * Connected details view dialog
-        * Own.
-        */
-        CWsfConnectedDetailsDialog* iConnectedDetailsDialog;
-        
-        /**
-        * Used to launch wait dialog when application has been 
-        * fully started and screen has been drawn
-        * Own.
-        */
-        CIdle* iIdle;
-        
-        /*
-        * Used to check CWlanSettingsUi is in foreground
-        */
-        TBool iForeground;
-        
-        /**
-        * indicates whether the launching has ended
-        */
-        TBool iAppLaunchCompleted;
-        
-        /**
-        * Indicates Featuremanger is initialized or not.
-        */
-        TBool iFeatureManagerInitialized;
-        
-        /**
-         * Indicates whether keypress events are suppressed
-         */
-        TBool iSuppressingKeyEvents;
-    };
-
-
-#endif // C_WSFAPPUI_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailscontroller.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for TWsfConnectedDetailsController
-*
-*/
-
-#ifndef T_WSFCONNECTEDDETAILSCONTROLLER_H
-#define T_WSFCONNECTEDDETAILSCONTROLLER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-//  INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfwlaninfo.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfactivetimerhandler.h"
-
-//  FORWARD DECLARATIONS
-class CWsfConnectedDetailsModel;
-class MWsfActiveTimerHandler;
-class CWsfConnectedDetailsDialog;
-
-//  CLASS DEFINITION
-/**
- * Details view controller
- * 
- * @since S60 5.0
- * @lib wlansniffer.exe
- */
-class TWsfConnectedDetailsController: public MWsfDetailsViewControllerIf, 
-                                      public MWsfActiveTimerHandler
-    {
-    public:     // New methods
-
-        /**
-         * Dialog setter
-         * @since S60 5.0
-         * @param aDialog Dialog pointer
-         */        
-        inline void SetDialog( CWsfConnectedDetailsDialog* aDialog );
-        
-        /**
-         * Model setter
-         * @since S60 5.0
-         * @param aModel Model pointer
-         */
-        inline void SetModel( CWsfConnectedDetailsModel* aModel );
-
-        
-    public: //From MWsfDetailsViewControllerIf
-
-        /**
-         * Set the Wlan array & selected item from main view to details view
-         * @since S60 5.0
-         * @param aWlanArray - Current Wlan Array
-         * @param aSelectedWlanSsid - Selected Wlan from Main view
-         */
-        void SetWlanListL( CWsfWlanInfoArray* aWlanArray, 
-                           const TDesC8& aSelectedWlanSsid );
-
-        /**
-         * Wlan array has been chaged eg. some wlan dropped or new found
-         * @since S60 5.0
-         * @param aWlanArray - Current Wlan Array
-         */
-        void WlanListChangedL( CWsfWlanInfoArray* aWlanArray );
-
-        /**
-         * Refresh -> draw current model to view
-         * @since S60 5.0
-         */
-        void RefreshL();
-        
-        /**
-        * Sets partner object
-        * @since S60 5.0
-        * @param aPartner The new partner object
-        */
-        void SetPartner( MWsfDetailsViewPartner& aPartner );
-
-        
-    public:     // From MWsfActiveTimerHandler
-    
-        /**
-         * Updates the details view active time
-         * @since S60 5.0
-         */
-        void UpdateActiveTimeL();
-   
-        
-    private:    // Data
-
-        /**
-         * Details dialog model (not owned)
-         */
-        CWsfConnectedDetailsModel* iModel;
-        
-        /**
-         * Details dialog (not owned)
-         */
-        CWsfConnectedDetailsDialog* iDialog;
-    };
-
-
-
-#include "wsfconnecteddetailscontroller.inl"
-
-
-
-#endif  //  T_WSFCONNECTEDDETAILSCONTROLLER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailscontroller.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,40 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline for TWsfConnectedDetailsController
-*
-*/
-
-
-
-//  INLINE FUNCTIONS
-
-// ---------------------------------------------------------------------------
-// TWsfConnectedDetailsController::SetDialog
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::SetDialog( 
-                                    CWsfConnectedDetailsDialog* aDialog )
-    {
-    iDialog = aDialog;
-    }
-    
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::SetModel
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::SetModel( 
-                                        CWsfConnectedDetailsModel* aModel )
-    {
-    iModel = aModel;
-    }
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailsdialog.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,137 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfConnectedDetailsDialog
-*
-*/
-
-#ifndef C_WSFCONNECTEDDETAILSDIALOG_H
-#define C_WSFCONNECTEDDETAILSDIALOG_H
-
-
-//  INCLUDES
-#include <aknlistquerydialog.h>
-
-// INTERNAL INCLUDES
-#include "wsfconnecteddetailscontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfConnectedDetailsModel;
-class TWsfConnectedDetailsController;
-class CWsfActiveTimeUpdater;
-
-
-// CLASS DECLARATION
-
-/**
-*  CWsfConnectedDetailsDialog class.
-*  This class is used to display the Connected Details information
-*/
-class CWsfConnectedDetailsDialog : public CAknListQueryDialog
-    {
-    public:     // Constructors and destructor
-
-        /**
-        * Two-phase construction.
-        */
-        static CWsfConnectedDetailsDialog* NewL();
-        
-        /**
-        * Two-phased constructor.
-        */
-        static CWsfConnectedDetailsDialog* NewLC();
-                            
-        /**
-        * Destructor.
-        */
-        virtual ~CWsfConnectedDetailsDialog();
-        
-    private:
-        
-        /*
-        * Second-phase constructor.
-        */        
-        void ConstructL();
-
-        /**
-        * C++ default constructor.
-        * @param aSelectionIndexArray The items which are selected within 
-        *        the dialogs list box list.
-        */
-        CWsfConnectedDetailsDialog( 
-                CListBoxView::CSelectionIndexArray* aSelectionIndexArray );
-
-    public:     // New functions
-    
-        /**
-        * Refresh the content list box of the dialog
-        * @param aItemTextArray - items to be show on listbox
-        */
-        void UpdateListBox( MDesCArray* aItemTextArray );
-        
-        /**
-        * Return controller interface
-        * @return controller interface
-        */
-        MWsfDetailsViewControllerIf& Controller();               
-
-        
-        /**
-         * Set list model of the dialog.
-         * @param aModel List model of the dialog
-         */
-        void SetListModel( CWsfConnectedDetailsModel* aModel );
-        
-    private:    // from CEikDialog
-
-        /**
-        * sets the default value to the dialog.
-        */
-        void  PreLayoutDynInitL();
-
-    private:    // Data
-
-        /**
-        * Reference for listbox
-        * Not own.
-        */
-        CEikListBox*                        iList;
-       
-        /**
-        * Reference for list box model
-        * Not own.
-        */
-        CTextListBoxModel*                  iModel;
-
-        /*
-        * Connected Details Dilaog Controller 
-        */
-        TWsfConnectedDetailsController  iController;
-        
-        /*
-        * Reference for the connected details model
-        * Not own. 
-        */
-        CWsfConnectedDetailsModel*      iListModel;
-        
-        /*
-        * Reference for the time updater
-        * Own. 
-        */
-        CWsfActiveTimeUpdater*              iActiveUpdater;
-    };
-
-#endif // C_WSFCONNECTEDDETAILSDIALOG_H
-
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfconnecteddetailsmodel.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,235 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfConnectedDetailsModel
-*
-*/
-
-
-#ifndef C_WSFCONNECTEDDETAILSMODEL_H
-#define C_WSFCONNECTEDDETAILSMODEL_H
-
-//EXTERNAL INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-#include <badesca.h>
-
-//INTERNAL INCLUDES
-
-//FORWARD DECLARATIONS
-class CCoeEnv;
-class CWsfWlanInfoArray;
-class TWsfWlanInfo;
-
-
-/**
- *  Details view Model
- *
- *  Holds & formats TWsfWlanInfo for list box showable format
- *
- *  @since S60 v5.0
- */
-class CWsfConnectedDetailsModel : public CBase
-    {
-
-    public: // Constructors and destructor
-    
-        /**
-        * Two-phase construction.
-        */
-        static CWsfConnectedDetailsModel* NewL();
-    
-        /**
-        * Two-phased construction.
-        */
-        static CWsfConnectedDetailsModel* NewLC();
-        
-        /**
-        * Destructor.
-        */
-        ~CWsfConnectedDetailsModel();
-    
-    
-    public: // New methods
-        
-        /**
-         * Finds out the current WLAN connection id
-         * @since S60 5.0
-         */
-        void FindWlanConnectionL();
-
-        /**
-         * Formats Wlan info for showing
-         *
-         * @since S60 v5.0
-         * @param aWlanInfo - selected Wlan info
-         * @param aWlanArray - Wlan info array
-         * @return formated text array
-         */
-        CDesCArrayFlat* FormatWlanInfoL( TWsfWlanInfo* aWlanInfo,
-                                         CWsfWlanInfoArray* aWlanArray );
-        
-        /**
-         * Refresh current Wlan info for showing
-         *
-         * @since S60 v5.0
-         * @return refreshed text array
-         */
-        CDesCArrayFlat* RefreshCurrentWlanInfoL();
-    
-        /**
-         * Creates listbox items from header and value (formatter %S\t%S)
-         * @since S60 v5.0
-         * @param aResourceId - id of loaded header string
-         * @param aValueText - string containing value data 
-         * @return formated string 
-         */        
-        HBufC* FormatListBoxItemLC( const TUint aResourceId,
-                                    const TDesC& aValueText ) const;
-        
-        /**
-         * Returns WLAN details that has already formatted
-         * @since S60 v5.0
-         * @return Formatted WLAN details 
-         */        
-        CDesCArrayFlat* GetWlanDetails();  
-    
-        /**
-         * Returns current Wlan Ssid
-         * @since S60 v5.0
-         * @return Ssid
-         */        
-        const TDesC8& WlanSsid() const;
-    
-    private:
-    
-        /**
-        * C++ default constructor.
-        */
-        CWsfConnectedDetailsModel();
-        
-        /*
-        * Second-phase constructor.
-        */       
-        void ConstructL();
-        
-        // New methods
-    
-    private:
-        /**
-         * Appends Wlan Ssid to 
-         * iFormattedConnectedWlanInfo
-         * @since S60 v5.0
-         */            
-        void FormatAndAppendConnectedWlanSsidL();
-     
-        /**
-         * Appends duration of connection
-         * to iConnectedFormattedWlanInfo
-         * @since S60 v5.0
-         */            
-        void FormatAndAppendDurationL();
-        
-        /**
-         * Appends amount of transferred data 
-         * to iConnectedFormattedWlanInfo
-         * @since S60 v5.0
-         */     
-        void FormatAndAppendTransferredL();
-    
-        /**
-         * Formats connection duration
-         * to string 
-         * @since S60 v5.0
-         * @return formated string
-         */        
-        HBufC* FormatDurationLC();
-    
-        /**
-         * Formats amount of transferred
-         * data to string 
-         * @since S60 v5.0
-         * @return formated string
-         */        
-        HBufC* FormatTransferredLC();
-    
-        /**
-        * Calculate number of visible (Not hidden) WLANs
-        * @since S60 v.5.0
-        * @param aArray Array of WLAN passed as reference
-        * @return Number of visible WLANs
-        */ 
-        TInt VisibleWlans( CWsfWlanInfoArray& aArray );
-    
-    private: // Data
-    
-        /**
-         * Copy of showed Wlan info
-         */
-        TWsfWlanInfo iWlanInfo;
-        
-        /**
-         * Formater Wlan info
-         * Own.
-         */
-        CDesCArrayFlat* iFormattedWlanInfo;    
-        
-        /**
-         * Time when connection started
-         */    
-        TTime iStartTime;
-    
-        /**
-         * True if the connection is still active
-         */    
-        TBool iIsConnActive;
-    
-        /**
-         * Duration of the connection
-         */    
-        TTimeIntervalMicroSeconds iDuration;
-    
-        /**
-         * Total number of bytes transmitted
-         */    
-        TUint iBytesTransmitted;    
-            
-        /**
-         * The Connection Monitor
-         */    
-        RConnectionMonitor iConnectionMonitor;
-            
-        /**
-         * The Connection ID of the WLAN
-         */    
-        TInt iConnectionId;
-        
-        /**
-         * Coe env for loading string from resource
-         * Ref.
-         */
-        CCoeEnv* iCoeEnv; 
-        
-        /**
-         * Reference to Wlan array
-         * ref.
-         */
-        CWsfWlanInfoArray* iWlanArray;
-
-        /**
-         * Acts as a mutex for refreshing functions
-         */
-        TBool iRefreshing;
-    };
-
-#endif // C_WSFCONNECTEDDETAILSMODEL_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailscontainer.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfDetailsContainer
-*
-*/
-
-#ifndef C_WSFDETAILSCONTAINER_H
-#define C_WSFDETAILSCONTAINER_H
-
-//  EXTERNAL INCLUDES
-#include <aknlists.h>
-#include <AknNaviDecoratorObserver.h>
-
-//  INTERNAL INCLUDES
-#include "wsfdetailscontainerif.h"
-
-// FORWARD DECLARATIONS
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-class MWsfDetailsViewControllerPartner;
-class CWsfDetailsViewModel;
-class CWsfActiveTimeUpdater;
-class MWsfActiveTimerHandler;
-
-// CLASS DECLARATION
-/**
-* CWsfDetailsContainer  container control class.
-* 
-* @since S60 5.0
-* @lib wlansniffer.exe
-*/
-class CWsfDetailsContainer : public CCoeControl, 
-                             public MWsfDetailsContainerIf,
-                             public MAknNaviDecoratorObserver
-
-    {
-    public: // Constructors and destructor
-    
-        /**
-         * Two-phased constructor
-         * @since S60 5.0 
-         * @param aRect gives the correct TRect for construction.
-         * @param aController reference for the MWsfActiveTimerHandler
-         * @return instance of CWsfDetailsContainer class  
-         */
-        static CWsfDetailsContainer* NewL( 
-                                      const TRect& aRect,
-                                      MWsfActiveTimerHandler& aController );
-        
-        /**
-         * Two-phased constructor. Leaves the object on CleanupStack
-         * @since S60 5.0 
-         * @param aRect gives the correct TRect for construction.
-         * @param aController reference for the MWsfActiveTimerHandler
-         * @return instance of CWsfDetailsContainer class  
-         */
-        static CWsfDetailsContainer* NewLC( 
-                                      const TRect& aRect,
-                                      MWsfActiveTimerHandler& aController );
-        
-        /**
-         * Destructor of CWsfDetailsContainer class
-         * @since S60 5.0     
-         */
-        ~CWsfDetailsContainer();
-
-    private:  // Constructors and destructor
-
-        /**
-         * Default C++ constructor 
-         * @since S60 5.0 
-         */
-        CWsfDetailsContainer();
-
-        /**
-         * 2nd phase constructor
-         * @since S60 5.0 
-         * @param aRect gives the correct TRect for construction.
-         * @param aController reference for the MWsfActiveTimerHandler
-         */
-        void ConstructL( const TRect& aRect,
-                         MWsfActiveTimerHandler& aController );
-
-    public: // New functions
-
-        /**
-        * Set partner interface to container
-        * @param aPartner - partner interface
-        */
-        void SetPartner( MWsfDetailsViewControllerPartner& aPartner );
-        
-        /**
-        * Set Model to container
-        * @param aModel
-        */
-        void SetDetailsModel( CWsfDetailsViewModel* aModel );
-
-    public: // from CCoeControl
-    
-        /**
-        * Handles key events.
-        * @since S60 5.0
-        * @param aKeyEvent The key event
-        * @param aType The type of key event: EEventKey, EEventKeyUp or 
-        *        EEventKeyDown
-        * @return Indicates whether or not the key event was used 
-        *         by this control
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                     TEventCode aType );
-
-        /**
-        * Gets an indexed component of a compound control
-        * @since S60 5.0
-        * @param aIndex The index of the control
-        * @return The component control with an index of aIndex
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-        
-        /**
-        * Handles a change to the control's resources.
-        * @since S60 5.0
-        * @param aType A message UID value
-        */        
-        void HandleResourceChange( TInt aType );        
-
-        
-    public:  // From MWsfDetailsContainerIf
-    
-        /**
-        * Refresh the content of Navi pane and 
-        * Push it to stack.
-        * @since S60 5.0
-        * @param aPaneText Text to be show on pane
-        */
-        void UpdateNaviPaneL( const TDesC& aPaneText );
-
-        /**
-        * Refresh the content list box
-        * @since S60 5.0
-        * @param aItemTextArray Items to be show on listbox
-        */
-        void UpdateListBoxL( MDesCArray* aItemTextArray );
-    
-
-    private: // Methods from CoeControl
-    
-        /**
-        * Responds to changes to the size and position of 
-        * the contents of this control.
-        * @since S60 5.0
-        */
-        void SizeChanged();
-
-        /**
-        * Gets the number of controls contained in a compound control.
-        * @since S60 5.0
-        * @return The number of component controls contained by this control
-        */
-        TInt CountComponentControls() const;
-        
-        /**
-        * Responds to a change in focus
-        * @since S60 5.0
-        * @param aDrawNow Contains the value that was passed to it 
-        *                 by SetFocus(). 
-        */        
-        void FocusChanged( TDrawNow aDrawNow );
-    
-        
-    private: // From MAknNaviDecoratorObserver
-    
-        /**
-         * Handles events in the navipane
-         * @since S60 5.0
-         * @param aEventID The id of the event
-         */
-        void HandleNaviDecoratorEventL( TInt aEventID );        
-
-        
-    private: // New methods
-    
-        /**
-        * Gets the title panes.
-        * @since S60 5.0
-        */
-        void GetPanesL();
-
-        /**
-        * Pop the NaviPane from stack.
-        * @since S60 5.0
-        */
-        void PopNaviPane();
-
-        
-    private: // data       
-    
-        /**
-        * Listbox contains details a connection
-        * Own.
-        */
-        CAknSingleHeadingStyleListBox* iListBox;
-        
-        /**
-        * Partner reference
-        * Ref.
-        */
-        MWsfDetailsViewControllerPartner* iPartner;
-
-        /**
-        * For NaviPane.
-        * Own.
-        */
-        CAknNavigationDecorator* iNaviDecorator;
-
-        /**
-        * For NaviPane.
-        * Ref.
-        */
-        CAknNavigationControlContainer* iNaviPane;
-        
-        /**
-        * For CWsfDetailsViewModel.
-        * Ref.
-        */
-        CWsfDetailsViewModel* iDetailsModel;
-        
-        /**
-        * For CWsfActiveTimeUpdater.
-        * Own.
-        */
-        CWsfActiveTimeUpdater* iActiveUpdater;
-    };
-
-#endif // C_WSFDETAILSCONTAINER_H
-
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailscontainerif.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,53 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfDetailsContainerIf
-*
-*/
-
-#ifndef M_WSFDETAILSCONTAINERIF_H
-#define M_WSFDETAILSCONTAINERIF_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-//  FORWARD DECLARATIONS
-class MDesCArray;
-
-//  CLASS DEFINITION
-/**
- *  An interface to the Details view’s container for updating
- *  its listbox or navigation pane.
- *  @since S60 v5.0
- */
-class MWsfDetailsContainerIf
-    {
-    public:     // Abstract methods
-        
-        /*
-        * Refresh the content list box.
-        * @param aItemTextArray - items to be show on listbox
-        */
-        virtual void UpdateListBoxL( MDesCArray* aItemTextArray ) = 0;
-        
-        /**
-        * Refresh the content of Navi pane.
-        * @param aPaneText - text to be show on pane
-        */
-        virtual void UpdateNaviPaneL( const TDesC& aPaneText ) = 0;
-
-    };
-
-#endif      //  M_WSFDETAILSCONTAINERIF_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsview.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,165 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfDetailsView
-*
-*/
-
-#ifndef C_WSFDETAILSVIEW_H
-#define C_WSFDETAILSVIEW_H
-
-// EXTERNAL INCLUDES
-#include <aknview.h>
-#include <aknlists.h>
-
-// INTERNAL INCLUDES
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfdetailsviewcontroller.h"
-
-// FORWARD DECLARATIONS
-class CWsfDetailsContainer;
-class MDetailsViewPartner;
-class CWsfDetailsViewModel;
-class TWsfDetailsViewController;
-
-// CLASS DECLARATION
-/**
-*  CWsfDetailsView view class.
-*/
-class CWsfDetailsView : public CAknView, 
-                        public MEikListBoxObserver
-    {
-    
-    public: 
-    
-            // Constructors and destructor
-        /**
-        * Two-phased constructor
-        * @since S60 5.0 
-        * @return instance of CWsfDetailsView class
-        */
-        static CWsfDetailsView* NewL();
-        
-        /**
-        * Two-phased constructor. Leaves the object on CleanupStack
-        * @since S60 5.0 
-        * @return instance of CWsfDetailsView class
-        */
-        static CWsfDetailsView* NewLC();
-        
-        /**
-        * Destructor of CWsfDetailsView class
-        * @since S60 5.0     
-        */
-        ~CWsfDetailsView();
-            
-        // Methods from CAknView       
-            
-        /**
-        * Returns views id.
-        * @since S60 5.0     
-        * @return id for this view.
-        */
-        TUid Id() const;
-    
-        /** 
-        * Command handling function. 
-        * @since S60 5.0     
-        * @param aCommand ID of the command to respond to. 
-        */
-        void HandleCommandL( TInt aCommand );
-            
-    
-        // Methods from MEikListBoxObserver       
-            
-        /**
-        * From MEikListBoxObserver.
-        * Handles listbox events.
-        * @since S60 5.0     
-        * @param aListBox listbox pointer.
-        * @param aEventType event type.
-        */
-        void HandleListBoxEventL( CEikListBox* aListBox, 
-                                  TListBoxEvent aEventType );
-            
-        // New methods
-           
-        /**
-        * Return controller interface
-        * @since S60 5.0     
-        * @return controiller interface
-        */
-        MWsfDetailsViewControllerIf& Controller();
-            
-    
-    protected: 
-    
-        // Functions from CAknView 
-                
-        /**
-        * From CAknView.
-        * Called when view is activated.
-        * @since S60 5.0     
-        * @param aPrevViewId previous view id.
-        * @param aCustomMessageId custom message id.
-        * @param aCustomMessage custom message content.
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId, 
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-                              
-        /**
-        * From CAknView.
-        * Called when view is deactivated.
-        */
-        void DoDeactivate();
-    
-    private: // Constructors and destructor
-        
-        /**
-         * Default C++ constructor 
-         * @since S60 5.0 
-         */
-        CWsfDetailsView();
-        
-        /**
-        * 2nd phase constructor
-        * @since S60 5.0 
-        */
-        void ConstructL();
-    
-    private: // Data
-    
-        /**
-        * Details view container
-        * Own.
-        */
-        CWsfDetailsContainer* iContainer;
-    
-        /**
-        * Controller of Details view
-        * Own.
-        */
-        TWsfDetailsViewController iController;
-            
-        /**
-        * Details view Model
-        * Own.
-        */
-        CWsfDetailsViewModel* iModel;
-
-    };
-
-#endif // C_WSFDETAILSVIEW_H
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontroller.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,151 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for TWsfDetailsViewController
-*
-*/
-
-#ifndef T_WSFDETAILSVIEWCONTROLLER_H
-#define T_WSFDETAILSVIEWCONTROLLER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-//  INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfwlaninfo.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfdetailsviewcontrollerpartner.h"
-#include "wsfactivetimerhandler.h"
-
-//  FORWARD DECLARATIONS
-class CWsfDetailsViewModel;
-class MWsfDetailsContainerIf;
-class MWsfDetailsViewPartner;
-class MWsfActiveTimerHandler;
-
-//  CLASS DEFINITION
-/**
- * Details view controller
- * 
- * @since S60 5.0
- * @lib wlansniffer.exe
- */
-class TWsfDetailsViewController : public MWsfDetailsViewControllerIf, 
-                                  public MWsfDetailsViewControllerPartner,
-                                  public MWsfActiveTimerHandler
-    {
-    public:     // New methods
-    
-        /**
-         * Model setter
-         * @since S60 5.0
-         * @param aModel Model pointer
-         */
-        void SetModel( CWsfDetailsViewModel* aModel );
-
-        /**
-         * container setter
-         * @since S60 5.0
-         * @param aContainer Container pointer
-         */
-        void SetContainer( MWsfDetailsContainerIf* aContainer );
-
-        
-    public: //From MWsfDetailsViewControllerIf
-        /**
-         * Set the Wlan array & selected item from main view to details view
-         * @since S60 5.0
-         * @param aWlanArray Current Wlan Array
-         * @param aSelectedWlanSsid Selected Wlan from Main view
-         */
-        void SetWlanListL( CWsfWlanInfoArray* aWlanArray, 
-                           const TDesC8& aSelectedWlanSsid );
-
-        /**
-         * Wlan array has been chaged eg. some wlan dropped or new found
-         * @since S60 5.0
-         * @param aWlanArray Current Wlan Array
-         */
-        void WlanListChangedL( CWsfWlanInfoArray* aWlanArray );
-
-        /**
-         * Refresh -> draw current model to view
-         * @since S60 5.0
-         */
-        void RefreshL();
-        
-        /**
-        * Sets partner object
-        * @since S60 5.0
-        * @param aPartner The new partner object
-        */
-        void SetPartner( MWsfDetailsViewPartner& aPartner );
-
-        
-    public: //Method from MWsfDetailsViewControllerPartner
-    
-        /**
-         * Handles left key presses
-         * @since S60 5.0
-         */
-        void HandleLeftKeyPressedL();
-        
-        /**
-         * Handles right key presses
-         * @since S60 5.0
-         */
-        void HandleRightKeyPressedL();
-
-        /**
-         * Handles selection key presses
-         * @since S60 5.0
-         */
-        void HandleSelectionKeyPressedL();
-        
-
-    public:     // From MWsfActiveTimerHandler
-    
-        /**
-         * Updates the details view active time
-         * @since S60 5.0
-         */
-        void UpdateActiveTimeL();
-        
-        
-    private:    // New methods
-    
-        /**
-         * Handles pane text update on container
-         * @since S60 5.0
-         */
-        void HandlePaneTextUpdateL();
-    
-        
-    private:    // Data
-
-        //Ref: details view model
-        CWsfDetailsViewModel* iModel;
-        
-        //Ref: details view container
-        MWsfDetailsContainerIf* iContainer;
-        
-        //Ref: Details view partner
-        MWsfDetailsViewPartner* iPartner;
-        
-    };
-
-#endif      //  T_WSFDETAILSVIEWCONTROLLER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontrollerif.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfDetailsViewControllerIf
-*
-*/
-
-#ifndef M_WSFDETAILSVIEWCONTROLLERIF_H
-#define M_WSFDETAILSVIEWCONTROLLERIF_H
-
-// INCLUDES
-#include <e32base.h>
-
-
-//FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class MWsfDetailsViewPartner;
-
-/**
- *  Interface between app level controller and details view controller
- */
-class MWsfDetailsViewControllerIf
-    {
-
-    public:
-
-        /**
-         * Set the Wlan array & selected item from main view to details view
-         * @since S60 5.0
-         * @param aWlanArray Current Wlan Array
-         * @param aSelectedWlanSsid Selected Wlan from Main view
-         */
-        virtual void SetWlanListL( CWsfWlanInfoArray* aWlanArray, 
-                                   const TDesC8& aSelectedWlanSsid ) = 0;
-
-        /**
-         * Wlan array has been chaged eg. some wlan dropped or new found
-         * @since S60 5.0
-         * @param aWlanArray Current Wlan Array
-         */
-        virtual void WlanListChangedL( CWsfWlanInfoArray* aWlanArray ) = 0;
-
-        /**
-         * Refresh -> draw current model to view
-         * @since S60 5.0
-         */
-        virtual void RefreshL() = 0;
-        
-        /**
-         * Sets partner object
-         * @since S60 5.0
-         * @param aPartner The current partner object
-         */
-        virtual void SetPartner( MWsfDetailsViewPartner& aPartner ) = 0;
-
-    };
-
-
-#endif // M_WSFDETAILSVIEWCONTROLLERIF_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewcontrollerpartner.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfDetailsViewControllerPartner
-*
-*/
-
-#ifndef M_WSFDETAILSVIEWCONTROLLERPARTNER_H
-#define M_WSFDETAILSVIEWCONTROLLERPARTNER_H
-
-/**
- * An interface to the main controller for the Details view controller.
- *
- * @since S60 v5.0
- */
-class MWsfDetailsViewControllerPartner
-    {
-    public:
-    
-        /**
-         * Handles left key presses
-         * @since S60 5.0
-         */
-        virtual void HandleLeftKeyPressedL() = 0;
-        
-        /**
-         * Handles right key presses
-         * @since S60 5.0
-         */
-        virtual void HandleRightKeyPressedL() = 0;
-    
-        /**
-         * Handles selection key presses
-         * @since S60 5.0
-         */
-        virtual void HandleSelectionKeyPressedL() = 0;
-
-    };
-
-#endif // M_WSFDETAILSVIEWCONTROLLERPARTNER_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewmodel.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,282 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfDetailsViewModel
-*
-*/
-
-#ifndef C_WSFDETAILSVIEWMODEL_H
-#define C_WSFDETAILSVIEWMODEL_H
-
-//EXTERNAL INCLUDES
-#include <e32base.h>
-#include <rconnmon.h>
-
-
-//INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-//FORWARD DECLARATIONS
-class CCoeEnv;
-class CWsfWlanInfoArray;
-
-
-/**
- *  Details view Model
- *
- *  Holds & formats TWlanInfo for list box showable format
- *
- *  @lib Sniffer.app
- *  @since S60 v5.0
- */
-NONSHARABLE_CLASS( CWsfDetailsViewModel ): public CBase
-    {
-
-    public: 
-    
-        // Constructors and the C++ destructor
-        /**
-         * Two-phased constructor
-         * @since S60 5.0 
-         * @return instance of CWsfDetailsViewModel class
-         */
-        IMPORT_C static CWsfDetailsViewModel* NewL();
-        
-        /**
-         * Two-phased constructor. Leaves the object on CleanupStack
-         * @since S60 5.0 
-         * @return instance of CWsfDetailsViewModel class
-         */
-        IMPORT_C static CWsfDetailsViewModel* NewLC();
-        
-        /**
-         * Destructor of CWsfDetailsViewModel class
-         * @since S60 5.0     
-         */
-        ~CWsfDetailsViewModel();
-    
-    
-        // New methods
-        
-        /**
-         * Formats Wlan info for showing
-         *
-         * @since S60 v5.0
-         * @param iWlanInfo - selected Wlan info
-         * @param aWlanArray - Wlan info array
-         * @return formated text array
-         */
-        CDesCArrayFlat* FormatWlanInfoL( TWsfWlanInfo* aWlanInfo, 
-                                         CWsfWlanInfoArray* aWlanArray );
-    
-        /**
-         * Formats next Wlan info from array
-         *
-         * @since S60 v5.0
-         * @return formated text array
-         */
-        CDesCArrayFlat* FormatNextWlanInfoL();
-    
-        /**
-         * Formats previous Wlan info from array
-         *
-         * @since S60 v5.0
-         * @return formated text array
-         */
-        CDesCArrayFlat* FormatPreviousWlanInfoL();
-    
-        /**
-         * Formats text for pane to show
-         *
-         * @since S60 v5.0
-         * @return formated text array
-         */
-        HBufC* FormatPaneTextLC();
-        
-        /**
-         * Formats Left Scroll Button for pane to show
-         *
-         * @return boolen (EFalse show the arrow, ETrue hide it)
-         */
-        TBool FormatLeftScrollButton();
-        
-        /**
-         * Formats Right Scroll Button for pane to show
-         *
-         * @return boolen (EFalse show the arrow, ETrue hide it)
-         */
-        TBool FormatRightScrollButton();
-        
-        /**
-         * Returns WLAN details that has already formatted
-         * @since S60 v5.0
-         * @return Formatted WLAN details 
-         */        
-        CDesCArrayFlat* GetWlanDetails();  
-    
-        /**
-         * Returns current Wlan Ssid
-         * @since S60 v5.0
-         * @return Ssid
-         */        
-        const TDesC8& WlanSsid() const;
-    
-    private:
-    
-        // Constructors and the C++ destructor
-        
-        /**
-         * Default C++ constructor 
-         * @since S60 5.0 
-         */
-        CWsfDetailsViewModel();
-        
-        /**
-         * 2nd phase constructor
-         * @since S60 5.0 
-         */
-        void ConstructL();
-        
-        // New methods
-        
-        /**
-         * Creates listbox items from header and value (formatter %S\t%S)
-         * @since S60 v5.0
-         * @param aResourceId - id of loaded header string
-         * @param aValueText - string containing value data 
-         * @return formated string 
-         */        
-        HBufC* FormatListBoxItemLC( const TUint aResourceId,
-                                    const TDesC& aValueText ) const;
-    
-        /**
-         * Appends Wlan IAP Name to iFormattedWlanInfo
-         * @since S60 v5.0
-         */        
-        void FormatAndAppenWlanIapNameL();
-    
-        /**
-         * Appends Wlan Ssid to iFormattedWlanInfo
-         * @since S60 v5.0
-         */        
-        void FormatAndAppenWlanSsidL();
-    
-        /**
-         * Appends singnal strength to iFormattedWlanInfo
-         * @since S60 v5.0
-         */        
-        void FormatAndAppenSingnalL();
-    
-        /**
-         * Appends wlan mode to iFormattedWlanInfo
-         * @since S60 v5.0
-         */        
-        void FormatAndAppenModeL();
-    
-        /**
-         * Appends wlan security to iFormattedWlanInfo
-         * @since S60 v5.0
-         */        
-        void FormatAndAppenSecurityL();
-    
-        /**
-         * Appends wlan coverage to iFormattedWlanInfo
-         * @since S60 v5.0
-         */        
-        void FormatAndAppenCoverageL();
-    
-        /**
-         * Appends wlan speed to iFormattedWlanInfo
-         * @since S60 v5.0
-         */        
-        void FormatAndAppenSpeedL();
-    
-        /**
-         * Formats signal strenth to string 
-         * @since S60 v5.0
-         * @return formated string
-         */        
-        HBufC* FormatSingnalStrenghtLC();
-        
-        /**
-         * Formats wlan mode to string 
-         * @since S60 v5.0
-         * @return formated string
-         */        
-        HBufC* FormatModeLC();
-    
-        /**
-         * Formats wlan security to string 
-         * @since S60 v5.0
-         * @return formated string
-         */        
-        HBufC* FormatSecurityLC();
-    
-        /**
-         * Formats wlan coverage to string 
-         * @since S60 v5.0
-         * @return formated string
-         */        
-        HBufC* FormatCoverageLC();
-    
-        /**
-         * Formats wlan speed to string 
-         * @since S60 v5.0
-         * @return formated string
-         */        
-        HBufC* FormatSpeedLC();
-    
-        /**
-        * Calculate number of visible (Not hidden) WLANs
-        * @since S60 v.3.0
-        * @param aArray Array of WLAN passed as reference
-        * @return Number of visible WLANs
-        */ 
-        TInt VisibleWlans( CWsfWlanInfoArray& aArray );
-    
-    private: // data
-    
-        /**
-         * Copy of showed Wlan info
-         * Own.
-         */
-        TWsfWlanInfo iWlanInfo;
-        
-        /**
-         * Formater Wlan info
-         * Own.
-         */
-        CDesCArrayFlat* iFormattedWlanInfo;    
-    
-        /**
-         * Current List index;
-         * Own.
-         */
-        TInt iIndex;
-    
-        /**
-         * Coe env for loading string from resource
-         * Ref.
-         */
-        CCoeEnv* iCoeEnv; 
-        
-        /**
-         * Reference to Wlan array
-         * ref.
-         */
-        CWsfWlanInfoArray* iWlanArray;
-
-    };
-
-#endif // C_WSFDETAILSVIEWMODEL_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdetailsviewpartner.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,48 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfDetailsViewPartner
-*
-*/
-
-#ifndef M_WSFDETAILSVIEWPARTNER_H
-#define M_WSFDETAILSVIEWPARTNER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-//  CLASS DEFINITION
-/**
- * Details view's controller notifies application level controller 
- * throught this interface
- * @since S60 5.0
- */
-class MWsfDetailsViewPartner
-    {
-    public:     // Abstract methods
-
-        /**
-        * Detailsview requests to close view
-        * @since S60 5.0
-        */        
-        virtual void CloseDetailsViewL() = 0;
-
-        /**
-        * Refresh scanning
-        */
-        virtual void DetailsScanL() = 0;
-    };
-
-#endif      //  M_WSFDETAILSVIEWPARTNER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdocument.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,135 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfDocument
-*
-*/
-
-#ifndef C_WSFDOCUMENT_H
-#define C_WSFDOCUMENT_H
-
-//External includes
-#include <AknDoc.h>
-
-//Internal includes
-#include "wsfmaincontroller.h"
-
-
-// Forward references
-class CWsfAppUi;
-class CEikApplication;
-class CWsfModel;
-class CWsfWlanInfoArrayVisitor;
-
-
-/**
- * The document class of the Symbian OS application’s architecture.
- * 
- * @since S60 v5.0
- * @lib wlansniffer.exe
- */
-NONSHARABLE_CLASS( CWsfDocument ) : public CAknDocument
-    {
-    public:
-    
-        /**
-         * Two-phased constructor
-         * @since S60 5.0 
-         * @param aApp application creating this document
-         * @return a pointer to the created instance of CWsfDocument
-         */
-        static CWsfDocument* NewL( CEikApplication& aApp );
-    
-        /**
-         * Two-phased constructor. Leaves the object on CleanupStack
-         * @since S60 5.0 
-         * @param aApp application creating this document
-         * @return a pointer to the created instance of CWsfDocument
-         */
-        static CWsfDocument* NewLC( CEikApplication& aApp );
-    
-        /**
-         * Destructor of CWsfDocument class
-         * @since S60 5.0     
-         */
-        ~CWsfDocument();
-        
-    public:
-
-        /**
-         * The handle for iWlanInfoBranding 
-         * (reference for CWsfWlanInfoArrayVisitor)
-         * @since S60 5.0    
-         * @return reference for CWsfWlanInfoArrayVisitor
-         */
-        inline CWsfWlanInfoArrayVisitor& WlanInfoBranding() const;
-        
-        /**
-         * Returns a reference for the model (CWsfModel)
-         * @since S60 5.0    
-         * @return reference to CWsfModel
-         */
-        inline CWsfModel& Model() const;
-    
-    public: // from CAknDocument
-        
-        /**
-         * From CAknDocument.
-         * Function to create the AppUi.
-         *
-         * @since S60 v5.0
-         * @return the created AppUi instance
-         */
-        CEikAppUi* CreateAppUiL();
-        
-    
-    private:
-    
-        /**
-         * 2nd phase constructor
-         * @since S60 5.0 
-         */
-        void ConstructL();
-    
-        /**
-         * Default C++ constructor 
-         * @since S60 5.0 
-         * @param aApp application creating this document
-         */
-        CWsfDocument( CEikApplication& aApp );
-    
-    private: 
-    
-        /**
-         * Main Controller
-         */
-        TWsfMainController iMainController;
-        
-        /**
-         * Model
-         * Own.
-         */
-        CWsfModel* iModel;
-        
-        /**
-         * WlanInfoArrayVisitor
-         * Own.
-         */
-        CWsfWlanInfoArrayVisitor *iWlanInfoBranding;
-    };
-
-
-#include "wsfdocument.inl"
-
-
-#endif // C_WSFDOCUMENT_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfdocument.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline for CWsfDocument
-*
-*/
-
-
-
-//  INLINE FUNCTIONS
-
-// ---------------------------------------------------------------------------
-// CWsfDocument::Model
-// ---------------------------------------------------------------------------
-//
-inline CWsfModel& CWsfDocument::Model() const
-    {
-    return *iModel;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfDocument::WlanInfoBranding
-// ---------------------------------------------------------------------------
-//
-inline CWsfWlanInfoArrayVisitor& CWsfDocument::WlanInfoBranding() const
-    {
-    return *iWlanInfoBranding;
-    }
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainapplication.hrh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource headers for project MainApplication
-*
-*/
-
-#ifndef WSFMAINAPPLICATION_HRH
-#define WSFMAINAPPLICATION_HRH
-
-/** Sniffer enumerate command codes */
-enum TWsfSnifferIds
-    {
-    ESnifferCmdStartBrowsing = 5000,
-    ESnifferCmdContinueBrowsing,    
-    ESnifferCmdConnect,
-    ESnifferCmdDisconnect,
-    ESnifferCmdRefresh,    
-    ESnifferCmdFilterWlans,
-    ESnifferCmdDetails,
-    ESnifferCmdSettings,
-    ESnifferCmdShowWlans
-    };
-
-/** Dialog IDs */
-enum TWsfDialogIds
-    {       
-    EWaitNoteSearchingWlans = 6000,
-    EWaitNoteConnecting
-    };
-    
-/** View IDs */
-enum TWsfViewIds
-    {
-    EMainViewId = 0x1000,    
-    EDetailsViewId = 0x1001,
-    EConnectedDetailsViewId = 0x1002    
-    };
-
-
-#endif // WSFMAINAPPLICATION_HRH
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmaincontroller.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for TWsfMainController
-*
-*/
-
-#ifndef T_WSFMAINCONTROLLER_H
-#define T_WSFMAINCONTROLLER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-//  INTERNAL INCLUDES
-#include "wsfmainuiobserver.h" 
-#include "wsfmodelobserver.h"
-#include "wsfmainviewpartner.h"
-#include "wsfstatechangeobserver.h"
-#include "wsfdetailsviewpartner.h"
-#include "wsfwlaninfo.h"
-
-
-
-//  FORWARD DECLARATIONS
-class CWsfAppUi;
-class CWsfModel;
-class MWsfMainViewControllerIf;
-class MWsfDetailsViewControllerIf;
-class CWsfWlanInfoArray;
-class CWsfWlanInfoArrayVisitor; 
-
-//  CLASS DEFINITION
-/**
- *  The main control class of the component. It is responsible for all
- *  the WLAN related functionalities.
- *  @since S60 v5.0
- */
-class TWsfMainController: public MWsfMainUiObserver, 
-                          public MWsfModelObserver, 
-                          public MWsfMainViewPartner,
-                          public MWsfDetailsViewPartner,
-                          public MWsfStateChangeObserver
-    {
-    public:     // New methods
-
-        /**
-         * PreInitialization for this class
-         * @since S60 5.0 
-         * @param aAppUi reference for the AppUI
-         * @param aModel reference for the Model
-         * @param aWlanInfoBranding reference for the WlanInfoArrayVisitor
-         */
-        void Initialize( CWsfAppUi& aAppUi, 
-                         CWsfModel& aModel, 
-                         CWsfWlanInfoArrayVisitor& aWlanInfoBranding );
-        
-        /**
-         * Updating the active View 
-         * @since S60 5.0 
-         */
-        void UpdateViewL();
-        
-        /**
-         * Updating the active View 
-         * @since S60 5.0 
-         * @param aInfoArray - Current Wlan Array
-         */
-        void UpdateViewL( CWsfWlanInfoArray* aInfoArray );
-
-    public:     //From MWsfMainUiObserver
-        
-        /**
-         * Activate (Switch back to) the Main View
-         * @since S60 5.0 
-         */
-        void ShowWlanListL();            
-        
-        /**
-         * Incialize Main View 
-         * @since S60 5.0 
-         */
-        void MainViewCreatedL();
-        
-        /**
-         * Sarts the Borwser
-         * @since S60 5.0 
-         */
-        void StartBrowsingL();
-        
-        /**
-         * Continues browsing (browser launched if needed)
-         * @since S60 5.0 
-         */
-        void ContinueBrowsingL();
-              
-        /**
-         * Connect to an IAP and create a WLAN connection
-         * @since S60 5.0 
-         */
-        void ConnectL();
-        
-        /**
-         * Disconnect a connection
-         * @since S60 5.0 
-         */
-        void DisconnectL();
-        
-        /**
-         * Start a refresh scanning 
-         * @since S60 5.0 
-         */
-        void RefreshL();
-        
-        /**
-         * Start to display the diteils view of the selected connection
-         * @since S60 5.0 
-         */
-        void ShowDetailsL();           
-
-        /**
-         * Create an Access Point
-         * @since S60 5.0 
-         */
-        void CreateAccessPointL(); 
-
-        /**
-         * Used in AppUi side to check if the 
-         * wait dialog should be shown
-         * @since S60 5.0 
-         * @return ETrue if first refreshing
-         */
-        TBool EngineRefreshing();        
-
-        /**
-         * Callback function, when the Sniffer started 
-         * @since S60 5.0 
-         */
-        void AppLaunchCompleteL();
-
-        /**
-         * Enable Scanning 
-         * @since S60 5.0 
-         */
-        void AppSwitchedForegroundL();
-
-        /**
-         * Disable Scanning 
-         * @since S60 5.0 
-         */
-        void AppSwitchedBackgroundL();  
-
-        /**
-         * Displays the "Filter out Wlan" dialog  
-         * @since S60 5.0 
-         */
-        void EditBlackListItemsL();
-           
-
-    public:     //From MWsfModelObserver
-    
-        /**
-         * Called if the launch has been completed successfully
-         * @since S60 5.0 
-         */
-        void BrowserLaunchCompleteL();
-        
-        /**
-         * Called if the browser launch failed for some reason
-         * @since S60 5.0 
-         * @param aError error code
-         */
-        void BrowserLaunchFailed( TInt aError );
-
-        /**
-        * Called when the previously launched browser exits
-        * @since S60 5.0
-        */
-        void BrowserExitL();
-        
-        /**
-        * Notification that connection is going to be created
-        * @since S60 5.0
-        * @param aIapId The IAP id of the connection being created
-        */
-        void ConnectingL( TUint32 aIapId );
-
-        /**
-        * Notification that the connection creation process ended
-        * @since S60 5.0
-        * @param aResult The result of the connection creation
-        */
-        void ConnectingFinishedL( TInt aResult );
-
-    
-    public:     //From MWsfMainViewPartner
-
-        /**
-         * Mainview request to show manubar
-         * @since S60 5.0
-         */
-        void ShowMenuBarL();
-       
-    public:     //From MWsfDetailsViewPartner
-        
-        /**
-        * Detailsview requests to close view
-        * @since S60 5.0
-        */    
-        void CloseDetailsViewL();
-        
-        /**
-        * Refresh scanning
-        */
-        void DetailsScanL();       
-        
-    public:     // From MWsfStateChangeObserver
-
-        /**
-        * The current wlan data has changed and it is ready to be retrieved
-        * @since S60 5.0
-        */
-        void WlanListChangedL();
-
-        /**
-         * Engine error occured
-         * @since S60 5.0
-         * @param aError System wide error code
-         */
-        void NotifyEngineError( TInt aError );
-        
-        /**
-        * Scanning has been disabled
-        * @since S60 5.0
-        */
-        void ScanDisabledL();
-        
-        /**
-        * Scanning has been enabled
-        * @since S60 5.0
-        */
-        void ScanEnabledL();
-        
-        /**
-        * A WLAN connection has been established
-        * @since S60 5.0
-        * @param aAccesspointName The name of the active connection
-        */
-        void WlanConnectionActivatedL( const TDesC& aAccessPointName );
-        
-        /**
-        * A WLAN connection has been closed
-        * @since S60 5.0
-        */
-        void WlanConnectionClosedL();
-        
-        /**
-        * Connection creation process finished
-        * @since S60 5.2
-        * @param aError System wide error code
-        */
-        void ConnectionCreationProcessFinishedL( TInt aError );
-        
-    private:
-        
-        /**
-        * Cleanup function to release the key events suppressing
-        * @since S60 5.0
-        * @param aPtr Pointer for this class
-        */
-        static void ReleaseSuppressingKeyEvents( TAny* aPtr );
-        
-        /**
-        * Updates iap id to wlan list
-        * @since S60 5.2
-        * @param aInfo reference of TWsfWlanInfo class
-        */
-        void UpdateIapIdToInfoArray( TWsfWlanInfo & aInfo );
-        
-    private:    // Data
-
-        /**
-        * Reference to AppUi
-        */
-        CWsfAppUi* iAppUi;
-
-        /**
-        * Reference to Model
-        */
-        CWsfModel* iModel;
-        
-        /**
-        * Reference to Main View
-        */
-        MWsfMainViewControllerIf* iMainView;
-        
-        /**
-        * Reference to WlanInfoArrayVisitor
-        */
-        CWsfWlanInfoArrayVisitor* iWlanInfoBranding; 
-        
-        /**
-        * Reference to Deatils View
-        */
-        MWsfDetailsViewControllerIf* iDetailsView;
-
-        /**
-        * Reference to WlanInfoArray
-        */
-        CWsfWlanInfoArray* iInfoArray;
-
-    };
-
-
-#endif      //  T_WSFMAINCONTROLLER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainuiobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,118 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfMainUiObserver
-*
-*/
-
-#ifndef M_WSFMAINUIOBSERVER_H
-#define M_WSFMAINUIOBSERVER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-//  CLASS DEFINITION
-/**
- *  An interface to the main controller for the AppUI.
- * 
- *  @since S60 v5.0
- */
-class MWsfMainUiObserver
-    {
-    public:     // Abstract methods
-
-        /**
-         * Called when the main view has been created.
-         * @since S60 5.0
-         */
-        virtual void MainViewCreatedL() = 0;
-        
-        /**
-         * Brings the main wlan list to the foreground
-         * @since S60 5.0
-         */
-        virtual void ShowWlanListL() = 0;
-        
-        /**
-         * Issues a refresh on the wlan list
-         * @since S60 5.0
-         */
-        virtual void RefreshL() = 0;
-        
-        /**
-         * Invokes the details view
-         * @since S60 5.0
-         */
-        virtual void ShowDetailsL() = 0;        
-        
-        /**
-         * Starts the browser with the currently selected wlan
-         * @since S60 5.0
-         */
-        virtual void StartBrowsingL() = 0;
-        
-        /**
-         * Continues browsing with the currently selected wlan
-         * @since S60 5.0
-         */
-        virtual void ContinueBrowsingL() = 0;
-
-        /**
-         * Connects to the currently selected wlan
-         * @since S60 5.0
-         */
-        virtual void ConnectL() = 0;
-        
-        /**
-         * Disconnects the currently selected wlan
-         * @since S60 5.0
-         */
-        virtual void DisconnectL() = 0;
-
-        /**
-         * Called when the application has completely started
-         * @since S60 5.0
-         */
-        virtual void AppLaunchCompleteL() = 0;
-
-        /**
-         * Called when the application is brought to the foreground
-         * @since S60 5.0
-         */
-        virtual void AppSwitchedForegroundL() = 0;
-
-        /**
-         * Called when the application is sent to the background
-         * @since S60 5.0
-         */
-        virtual void AppSwitchedBackgroundL() = 0;
-        
-        /**
-         * Invokes the wlan list filtering dialog
-         * @since S60 5.0
-         */
-        virtual void EditBlackListItemsL() = 0;
-        
-        /**
-         * Queries whether the engine is refreshing
-         * @since S60 5.0
-         * @return ETrue if the engine is refreshing, EFalse otherwise
-         */
-        virtual TBool EngineRefreshing() = 0;
-
-    };
-
-#endif      //  M_WSFMAINUIOBSERVER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainview.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,200 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfMainView
-*
-*/
-
-#ifndef C_WSFMAINVIEW_H
-#define C_WSFMAINVIEW_H
-
-//  EXTERNAL INCLUDES
-#include <aknview.h>
-#include <aknlists.h>
-
-//  INTERNAL INCLUDES
-#include "wsfmainviewcontroller.h"
-
-//  FORWARD DECLARATIONS
-class CWsfMainViewContainer;        
-class CWsfMainViewModel;
-
-
-
-//  CLASS DEFINITION
-/**
- * The view class of the Main view.
- * @since S60 5.0 
- */
-NONSHARABLE_CLASS( CWsfMainView ): public CAknView, 
-                                   public MEikListBoxObserver
-    {
-    public:
-
-        /**
-         * Two-phased constructor
-         * @since S60 5.0 
-         * @param aIsEmbedded check application started 
-         *        as an embedded application
-         * @return instance of CWsfMainView class
-         */
-        static CWsfMainView* NewL( TBool aIsEmbedded );
-
-        /**
-         * Two-phased constructor. Leaves the object on CleanupStack
-         * @since S60 5.0 
-         * @param aIsEmbedded check application started 
-         *        as an embedded application
-         * @return instance of CWsfMainView class
-         */
-        static CWsfMainView* NewLC( TBool aIsEmbedded );
-
-
-        /**
-        * Destructor of CWsfMainView class
-        * @since S60 5.0     
-        */
-        ~CWsfMainView(); 
-    
-    private:
-
-        /**
-        * 2nd phase constructor
-        * @since S60 5.0 
-        */
-        void ConstructL( TBool aIsEmbedded );
-
-        /**
-        * Default C++ constructor 
-        * @since S60 5.0 
-        */
-        CWsfMainView();
-
-
-    public: //From CAknView
-        
-        /**
-        * From CAknView returns Uid of View
-        * @since S60 5.0 
-        * @return TUid uid of the view
-        */
-        TUid Id() const;
-
-        /**
-        * From MEikMenuObserver delegate commands from the menu
-        * @since S60 5.0 
-        * @param aCommand a command emitted by the menu 
-        */
-        void HandleCommandL( TInt aCommand );
-
-        /**
-        * From CAknView reaction if size change
-        * @since S60 5.0 
-        */
-        void HandleClientRectChange();
-        
-
-    private:    //From CAknView
-
-        /**
-        * From CAknView activate the view
-        * @since S60 5.0 
-        * @param aPrevViewId 
-        * @param aCustomMessageId 
-        * @param aCustomMessage 
-        */
-        void DoActivateL( const TVwsViewId& aPrevViewId, 
-                          TUid aCustomMessageId,
-                          const TDesC8& aCustomMessage );
-
-        /**
-        * From CAknView deactivate the view (free resources)
-        * @since S60 5.0 
-        */
-        void DoDeactivate();
-
-    private: // from MEikMenuObserver
-        
-        /** 
-        * From MEikCommandObserver
-        * Control the menu pane commands
-        * @since S60 5.0 
-        * @param aResourceId resource id of the menu pane to be modified
-        * @param aMenuPane pointer to menu pane to be modified
-        */
-        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
-
-    protected: 
-        /**
-        * From MEikListBoxObserver.
-        * Handles listbox events.
-        * @since S60 5.0     
-        * @param aListBox listbox pointer.
-        * @param aEventType event type.
-        */
-        void HandleListBoxEventL( CEikListBox* aListBox, 
-                                  TListBoxEvent aEventType );
-
-    public:  //New functions
-        
-        /**
-        * Return controller interface
-        * @since S60 5.0     
-        * @return controiller interface
-        */
-        MWsfMainViewControllerIf& Controller();
-        
-        /*
-         * Sets the iSelectionKey True
-         * @since S60 5.0 
-         */
-        void SelectionKeyPressed();
-    
-    private:
-        
-        /**
-        * 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
-        */
-        TBool StartWebBrowsingVisibleL();
-        
-    private:
-
-        /**
-        * Main view's controller
-        */
-        TWsfMainViewController iController;
-        
-        /**
-        * Main view's container
-        * Own.
-        */
-        CWsfMainViewContainer* iContainer;
-        
-        /**
-        * Main view's model
-        * Own.
-        */
-        CWsfMainViewModel* iModel;
-
-        /**
-        * Indicates FSelectionKey is pressed or not.
-        */
-        TBool iSelectionKey;
-    };
-
-
-#endif // C_WSFMAINVIEW_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontainer.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,318 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfMainViewContainer
-*
-*/
-
-#ifndef C_WSFMAINVIEWCONTAINER_H
-#define C_WSFMAINVIEWCONTAINER_H
-
-//  EXTERNAL INCLUDES
-#include <coecntrl.h>
-#include <AknIconArray.h>
-#include <AknsConstants.h>
-
-//  FORWARD DECLARATIONS
-class CAknDoubleGraphicStyleListBox;
-class MWsfMainViewControllerPartner;
-class CAknNavigationDecorator;
-class CAknNavigationControlContainer;
-
-//  CLASS DEFINITION
-/**
- *  The container of the Main view.
- *  @since S60 v5.0
- */
-class CWsfMainViewContainer : public CCoeControl
-    {
-    public:     // Constructors and destructor
-
-        /**
-         * Two-phased constructor
-         * @since S60 5.0 
-         * @param aRect gives the correct TRect for construction.
-         * @return instance of CWsfMainViewContainer class  
-         */
-        static CWsfMainViewContainer* NewL( const TRect& aRect );
-
-        /**
-         * Two-phased constructor. Leaves the object on CleanupStack
-         * @since S60 5.0 
-         * @param aRect gives the correct TRect for construction.
-         * @return instance of CWsfMainViewContainer class  
-         */
-        static CWsfMainViewContainer* NewLC( const TRect& aRect );
-
-        /**
-         * Destructor of CWsfMainViewContainer class
-         * @since S60 5.0     
-         */
-        ~CWsfMainViewContainer();
-
-    private:    // Constructors
-
-        /**
-         * Default C++ constructor 
-         * @since S60 5.0 
-         */
-        CWsfMainViewContainer();
-
-        /**
-         * 2nd phase constructor
-         * @since S60 5.0 
-         * @param aRect gives the correct TRect for construction.
-         */
-        void ConstructL( const TRect& aRect );
-
-    public:     // New methods
-
-        /**
-        * Update the contents of control
-        * Set the focus on aCurrentImte
-        * @param aItemTextArray text of the current item
-        * @param aCurrentItem index of the current item
-        */ 
-        void UpdateHotSpotsL( MDesCArray* aItemTextArray, 
-                              TInt aCurrentItem ); 
-        
-        /**
-        * Gives back the index of the selected item
-        * @return the index of the selected item
-        */ 
-        TInt SelectedItem();
-
-        /**
-        * Set partner interface to container
-        * @param aPartner - partner interface
-        */
-        void SetPartner( MWsfMainViewControllerPartner& aPartner );   
-
-        /**
-        * Refresh the content of Navi pane and 
-        * Push it to stack.
-        * @param aPaneText - text to be show on pane
-        */
-        void UpdateNaviPaneL( const TDesC& aPaneText );
-        
-        /**
-        * Returns pointer to the listbox.
-        * @return pointer to the listbox.
-        */
-        CAknDoubleGraphicStyleListBox* ListBox() const;
-
-    protected: // Functions from CoeControl
-
-        /**
-        * From CCoeControl.
-        * Responds to changes to the size and position of the contents 
-        * of this control.
-        */
-        void SizeChanged();
-
-        /**
-        * From CCoeControl.
-        * Gets the number of controls contained in a compound control.
-        * @return the number of controls this component contains.
-        */
-        TInt CountComponentControls() const;
-
-        /**
-        * From CCoeControl.
-        * Gets an indexed component of a compound control.
-        * @return The required component control.
-        */
-        CCoeControl* ComponentControl( TInt aIndex ) const;
-
-        /**
-        * From CCoeControl.
-        * Handles key events.
-        * @param aKeyEvent key event.
-        * @param aType type of key event.
-        */
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                     TEventCode aType );
-
-        /**
-        * From CCoeControl, 
-        * used for sclable ui and landscape support.
-        * Handles a change to the control's resources.
-        * @param aType type of change.
-        */    
-        void HandleResourceChange( TInt aType );        
-        
-        /**
-        * From CCoeControl.
-        * Returns the help context
-        * @param aContext the returned help context
-        */
-        void GetHelpContext( TCoeHelpContext& aContext ) const;
-
-
-    private:    // New methods
-
-        /**
-        * Create the iconarray. Derived classes please don't forget that the
-        * 0th icon must be the markable listbox's mark icon.
-        * @return The created iconarray. Owner is the caller.
-        */
-        CAknIconArray* LoadGraphicsL();
-
-        /**
-         * Creates a new icon of desired type.
-         * @param aIconId UID Icon type UID of the icon to be created.
-         * @return Pointer of the icon.
-         */
-        CGulIcon* LoadIconLC( TInt aIconId );
-        
-        /**
-         * Creates a new icon of desired type.
-         * @param aIconId UID Icon type UID of the icon to be created.
-         * @return Pointer of the icon.
-         */
-        CGulIcon* LoadBlackIconLC( TInt aIconId );
-        
-        /**
-         * Creates a new icon of desired type.
-         * @param aAknItemId An Akvon skin item ID of the graphical item 
-         *        (e.g. an icon) to load.
-         * @param aIconId UID Icon type UID of the icon to be created.
-         * @return Pointer of the icon.
-         */
-        CGulIcon* LoadSkinnableIconLC( const TAknsItemID aAknItemId, 
-                const TInt aIconId );
-
-        /**
-         * Creates a new icon of desired type.
-         * @param aAknItemId An Akvon skin item ID of the graphical item 
-         *        (e.g. an icon) to load.
-         * @param aIconId UID Icon type UID of the icon to be created.
-         * @return Pointer of the icon.
-         */
-        CGulIcon* LoadSkinnableBlackIconLC( const TAknsItemID aAknItemId, 
-                const TInt aIconId );
-        
-        /**
-         * CleanUp for NaviPane
-         */
-        void PopNaviPane();
-        
-        /**
-         * Get the Navipane from the framework 
-         */
-        void GetPanesL();        
-        
-        /**
-         * Set the icons for the ListBox 
-         */
-        void SetListboxIconsL();
-        
-        /**
-         * Cleanup function for a flat pointer array
-         * @since S60 5.0
-         * @param aArray The array whose elements are to be cleaned up
-         */
-        static void CleanUpResetAndDestroy( TAny* aArray );
-        
-        /*
-         * Parses the string into ui component data
-         * @param aString - a string into ui
-         * @return - TBool - ETrue if connecting is found
-         */
-        TBool ParseStringForAnimationL( TDes& aString );
-        
-        /**
-         * Set connecting status on.
-         */
-        void StartConnectingAnimationL();
-
-        /**
-         * Set connecting status off.
-         */
-        void StopConnectingAnimation();
-
-        /**
-         * Steps the connecting animation
-         * @param ptr Pointer to an instance of this class
-         */
-        static TInt CWsfMainViewContainer::DoConnectingAnimationStepL( 
-                                                                TAny* ptr );
-        
-        /**
-         * Steps the connecting animation
-         */                
-        void CWsfMainViewContainer::DoConnectingAnimationStepL();
-
-        /**
-         *  Initialize the connecting animation
-         */
-        void InitializeConnectingAnimation();
-
-        /*
-         * Step the animation
-         */
-        void AnimateConnecting();
-
-    private:    // Data
-
-        /*
-         * Pointer to the listbox
-         */
-        CAknDoubleGraphicStyleListBox* iListBox;
-
-        /**
-         * Partner reference
-         * Ref.
-         */
-        MWsfMainViewControllerPartner* iPartner;
-
-        /**
-         * NaviDecorator pointer for NaviPane.
-         * Own.
-         */
-        CAknNavigationDecorator* iNaviDecorator;
-
-        /**
-         * NaviDecorator's default control pointer For NaviPane.
-         * Ref.
-         */
-        CAknNavigationControlContainer* iNaviPane;
-
-        /**
-         * List of animation states of connecting icon
-         */
-        TFixedArray<TInt, 4> iConnectingIcons;
-
-        /**
-         * The connecting animation frame index
-         */
-        TInt iConnectingIndex;
-
-        /*
-         * The periodic that steps the animation
-         */
-        CPeriodic* iAnimationPeriodic;
-
-        /**
-         * Constants for 'Connecting' text
-         * Own.
-         */
-        HBufC* iStatusConnecting;
-
-    };
-
-
-
-#endif      //  C_WSFMAINVIEWCONTAINER_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontroller.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,158 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for TWsfMainViewController
-*
-*/
-          
-#ifndef T_WSFMAINVIEWCONTROLLER_H
-#define T_WSFMAINVIEWCONTROLLER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-
-
-//  INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfwlaninfo.h"
-#include "wsfmainviewcontrollerif.h"
-#include "wsfmainviewpartner.h"
-#include "wsfmainviewcontrollerpartner.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfMainViewModel;
-class CWsfMainViewContainer;
-class CWsfWlanInfoArray;
-class MWsfMainViewPartner;
-
-//  CLASS DEFINITION
-/**
- * TWsfMainViewController acts as a view level controller
- * @since S60 5.0
- */
-class TWsfMainViewController : public MWsfMainViewControllerIf, 
-                               public MWsfMainViewControllerPartner
-    {
-
-    public:     // New methods
-
-
-        /**
-        * Set view level model
-        * @since S60 5.0
-        * @param aModel - model pointer
-        */
-        void SetModel( CWsfMainViewModel* aModel );
-
-        /**
-        * Set view level view
-        * @param aContainer - container pointer
-        */
-        void SetContainer( CWsfMainViewContainer* aContainer );
-
-        /**
-        * Updates available WLAN list to the display
-        * @param aWlanList - Current Wlan Array
-        */
-        void UpdateHotSpotsL( CWsfWlanInfoArray* aWlanList );
-
-        /**
-         * Updates the local copy of the selected wlaninfo
-         * @since S60 5.0
-         */
-        void UpdateSelectedItemL();
-
-        
-    public: //From MWsfMainViewControllerIf
-
-        /**
-         * Updates WLAN list with values passed as parameter
-         * @param aWlanArray list of WLAN
-         * @since S60 5.0
-         */
-        void UpdateWlanListL( CWsfWlanInfoArray* aWlanArray );
-
-        /**
-         * Request to refresh the mainview
-         * @since S60 5.0
-         */
-        void RefreshL();
-        
-        /**
-         * Request to refresh the mainview
-         * @return Details of selected WLAN
-         * @since S60 5.0
-         */
-        TWsfWlanInfo* SelectedItem();
-
-        /**
-         * Sets partner object
-         * @aPartner The partner
-         * @since S60 5.0
-         */
-        void SetPartner( MWsfMainViewPartner& aPartner );
-
-
-    public: //MWsfMainViewControllerPartner
-
-        /**
-         * Handles up key presses
-         * @since S60 5.0
-         */
-        void HandleUpKeyPressedL();
-
-        /**
-         * Handles down key presses
-         * @since S60 5.0
-         */
-        void HandleDownKeyPressedL();
-
-        /**
-         * Handles selection key presses
-         * @since S60 5.0
-         */
-        void HandleSelectionKeyPressedL();
-
-    private:   
-        
-        /**
-        * Updated navipane
-        */
-        void UpdateNaviPaneL();
-        
-
-    private:    // Data
-    
-        //Ref: View level model
-        CWsfMainViewModel* iModel;
-
-        //Ref: View level view
-        CWsfMainViewContainer* iContainer;
-
-        //Ref: Partner
-        MWsfMainViewPartner* iPartner;
-        
-        // Temporary storage for the current wlaninfo
-        TWsfWlanInfo iSelectedItem;
-        
-        // Indicates whether a real wlaninfo is selected
-        TBool iValidItem;
-    };
-
-//  INLINE FUNCTIONS
-
-#endif      // T_WSFMAINVIEWCONTROLLER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontrollerif.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,68 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfMainViewControllerIf
-*
-*/
-
-#ifndef M_WSFMAINVIEWCONTROLLERIF_H
-#define M_WSFMAINVIEWCONTROLLERIF_H
-
-
-#include <e32std.h>
-
-//Forward declarations
-class CWsfWlanInfoArray;
-class TWsfWlanInfo;
-class MWsfMainViewPartner;
-
-/**
- *  Mainview controlling interface (Internal)
- *
- *  @lib Sniffer.exe
- *  @since S60 v5.0
- */
-class MWsfMainViewControllerIf
-    {
-    public:
-    
-        /**
-         * Updates WLAN list with values passed as parameter
-         * @param aWlanArray list of WLAN
-         * @since S60 5.0
-         */
-        virtual void UpdateWlanListL( CWsfWlanInfoArray* aWlanArray ) = 0;
-    
-        /**
-         * Request to refresh the mainview
-         * @since S60 5.0
-         */
-        virtual void RefreshL( ) = 0;
-    
-        /**
-         * Request to refresh the mainview
-         * @return Details of selected WLAN
-         * @since S60 5.0
-         */
-        virtual TWsfWlanInfo* SelectedItem() = 0;
-       
-        /**
-         * Sets partner object
-         * @aPartner The partner
-         * @since S60 5.0
-         */
-        virtual void SetPartner( MWsfMainViewPartner& aPartner ) = 0;
-    };
-
-
-#endif // M_WSFMAINVIEWCONTROLLERIF_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewcontrollerpartner.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,49 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfMainViewControllerPartner
-*
-*/
-
-#ifndef M_WSFMAINVIEWCONTROLLERPARTNER_H
-#define M_WSFMAINVIEWCONTROLLERPARTNER_H
-
-/**
- *  An interface to the Main view controller for the Main view container.
- *  @since S60 v5.0
- */
-class MWsfMainViewControllerPartner
-    {
-    public:
-    
-        /**
-         * Handles up key presses
-         * @since S60 5.0
-         */
-        virtual void HandleUpKeyPressedL() = 0;
-    
-        /**
-         * Handles down key presses
-         * @since S60 5.0
-         */
-        virtual void HandleDownKeyPressedL() = 0;
-    
-        /**
-         * Handles selection key presses
-         * @since S60 5.0
-         */
-        virtual void HandleSelectionKeyPressedL() = 0;
-    };
-
-#endif // M_WSFMAINVIEWCONTROLLERPARTNER_H
-
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewinternals.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  MainView internals
-*
-*/
-
-#ifndef WSFMAINVIEWINTERNALS_H
-#define WSFMAINVIEWINTERNALS_H
-
-//Constants
-/** Icon ID constants */
-
-//Animation Icons
-const TInt KWlanOnIcon = 0;
-const TInt KWlanOnIcon_0 = 1;
-const TInt KWlanOnIcon_1 = 2;
-
-const TInt KSecureNetworkIcon = 3;
-const TInt KNoSignalIcon = 4;
-const TInt KPoorSignal = 5;
-const TInt KAverageSignal = 6;
-const TInt KExcelentSignal = 7;
-const TInt KConnectedNWIcon = 8;
-const TInt KKnownNWIcon = 9;
-const TInt KTransparentIcon = 10;
-
-#endif // WSFMAINVIEWINTERNALS_H
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewmodel.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,191 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfMainViewModel
-*
-*/
-
-#ifndef C_WSFMAINVIEWMODEL_H
-#define C_WSFMAINVIEWMODEL_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <badesca.h>
-#include <gulicon.h>
-#include <AknIconArray.h>
-#include "wsfwlaninfo.h"
-
-
-
-//  FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-class CCoeEnv;
-
-//  CLASS DEFINITION
-/**
- * View (Main view) level model.
- *  
- * @since S60 5.0
- * @lib wlansniffer.exe
- */
-NONSHARABLE_CLASS( CWsfMainViewModel ): public CBase
-    {
-    public:     // Constructors and destructor
-        
-        /**
-         * Two-phased constructor
-         * @since S60 5.0 
-         * @return instance of CWsfMainViewModel class
-         */
-        static CWsfMainViewModel* NewL();
-        
-        /**
-         * Two-phased constructor. Leaves the object on CleanupStack
-         * @since S60 5.0 
-         * @return instance of CWsfMainViewModel class
-         */
-        static CWsfMainViewModel* NewLC();
-        
-        /**
-         * Destructor of CWsfMainViewModel class
-         * @since S60 5.0     
-         */
-        ~CWsfMainViewModel();
-
-    private:    // Constructors
-        
-        /**
-         * Default C++ constructor 
-         * @since S60 5.0 
-         */
-        CWsfMainViewModel();
-        
-        /**
-         * 2nd phase constructor
-         * @since S60 5.0 
-         */
-        void ConstructL();
-
-    public:     // New methods
-
-        /**
-        * Creates array for the listbox.
-        * @param Array of WLAN that will be formatted.
-        * @return Formatted WLAN list 
-        */
-        CDesCArrayFlat* FormatWlanListL( CWsfWlanInfoArray* aWlanList );
-        
-        /*
-        * Returns WLAN list that has already formatted
-        * @return Formatted WLAN list 
-        */        
-        CDesCArrayFlat* GetWlanList();        
-        
-        /**
-        * 
-        * @return non-formatted WLAN list
-        */
-        CWsfWlanInfoArray* GetInfoArray();
-        
-        /**
-        * Store Ssid of selected WLAN
-        * Get ownership of parameter
-        * @param aSsid WLAN name
-        */
-        void SetSelectedWlan( HBufC8* aSsid );
-
-        /**
-        * Return Ssid of selected WLAN
-        * @return WLAN name
-        */
-        const TDesC8& SelectedWlan();
-
-        /**
-        * Stored current listbox index
-        * @param aIndex Listbox iden
-        */        
-        void SetSelectedIndex( TInt aIndex );
-
-        /**
-        * Return stored index listbox
-        * @return Previously stored listbox index
-        */        
-        TInt SelectedIndex();
-
-        /**
-        * Returns navipane text
-        * @return Navipane text
-        */        
-        HBufC* FormatNaviPaneLC();  
-
-    private:    // New methods        
-        
-        /**
-         * Format the Hidden WLANs for the listbox.(text and icon)
-         * @since S60 v5.0
-         * @param aWlan - Reference to wlaninfo
-         * @param aItem - Listbox item
-         */     
-        void FormatHiddenWlanItemL( TWsfWlanInfo& aWlan, TDes& aItem );
-
-        /**
-         * Format the WlanInfo (visible networks) items for the 
-         * listbox.(text and icon)
-         * @since S60 v5.0
-         * @param aWlan - reference to wlaninfo
-         * @param aItem - listbox item
-         */  
-        void FormatVisibleWlanItemL( TWsfWlanInfo& aWlan, TDes& aItem );
-        
-    private:    // Data
-       
-        /**
-        * The wlaninfo array we are currently working on. 
-        * Not Own. (Ref.)
-        */
-        CWsfWlanInfoArray* iWlanInfoArray;
-        
-        /**
-         * Coe env for loading string from resource
-         * Not Own. (Ref.)
-         */
-        CCoeEnv* iCoeEnv;
-
-        /**
-        * List that contains the WLAN items 
-        * Own.
-        */
-        CDesCArrayFlat* iFormattedWlanList;  
-        
-        /**
-        * Store name of focused WLAN 
-        * Own.
-        */
-        HBufC8* iSelectedWlan;
-        
-        /**
-        * Index of the selected listbox item.
-        */
-        TInt iListboxIndex;
-        
-        /**
-         * It contains the number of the Visible WLANs
-         */
-        TUint iVisibleWlans;
-    };
-
-
-
-#endif      //  C_WSFMAINVIEWMODEL_H
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/inc/wsfmainviewpartner.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfMainViewPartner
- *
-*/
-
-#ifndef M_WSFMAINVIEWPARTNER_H
-#define M_WSFMAINVIEWPARTNER_H
-
-/**
- * An interface to the Main view controller for the Main view container
- * @since S60 5.0
- */
-class MWsfMainViewPartner
-    {
-    public:
-
-        /**
-         * Mainview request to show manubar
-         * @since S60 5.0
-         */
-        virtual void ShowMenuBarL() = 0;
-    };
-
-#endif // M_WSFMAINVIEWPARTNER_H
--- a/wlanutilities/wlansniffer/mainapplication/loc/wsfmainapplication.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,415 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for project Wlan Sniffer 
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-//------------------------------------------------------------------------------
-// Connected Details Pop-up heading texts				       *
-//------------------------------------------------------------------------------
-//d: Heading text for Connected Details Pop-up
-//l: heading_pane_t1
-//r:3.0
-//
-#define qtn_wlan_heading_connection_details "Connection details:"
-
-//------------------------------------------------------------------------------
-// Connected Details Pop-up item heading texts				       *
-//------------------------------------------------------------------------------
-//d:The name of the connected WLAN network (Ssid)
-//d:%U is a name of a connected WLAN.
-//l:list_single_heading_pane_t2_cp2
-//r:3.0
-//
-#define qtn_wlan_item_heading_text_wlan "WLAN"
-
-//d:The duration of connection of the WLAN (Active time)
-//d:%N is a duration time in format hh.mm.ss
-//l:list_single_heading_pane_t2_cp2
-//r:3.0
-//
-#define qtn_wlan_item_heading_duration "Duration"
-
-//d:The amount of the transferred data
-//l:list_single_heading_pane_t2_cp2
-//r:3.0
-//
-#define qtn_wlan_item_heading_transf "Transfd."
-
-//------------------------------------------------------------------------------
-// Connected Details Pop-up item texts				       	       *
-//------------------------------------------------------------------------------
-
-//d:The amount of the transferred data
-//d:%U is an amount of transferred data e.g. "250 kB"
-//l:list_single_heading_pane_t1_cp2
-//r:3.0
-//
-#define qtn_wlan_item_kb "%U kB"
-
-//d:The amount of the transferred data
-//d:%U is an amount of transferred data e.g. "250MB"
-//l:list_single_heading_pane_t1_cp2
-//r:3.0
-//
-#define qtn_wlan_item_mb "%U MB"
-
-
-//-----------------------------------------------------------------------------
-// Main View                                                                  *
-//-----------------------------------------------------------------------------
-
-//d:Navi pane text in Available WLAN networks main view, if only one network is available. 
-//d:copied from S60: qtn_cmon_navi_one_wlan_nw_available
-//l:navi_navi_text_pane_t1 
-//r:3.0
-//
-#define qtn_cmon_navi_one_wlan_nw_available "1 network available"
-
-
-//d:Navi pane text in Available WLAN networks main view, if more than one network is available 
-//d:(%N is the amount of networks).
-//d:copied from S60: qtn_cmon_navi_many_wlan_nws_available
-//l:navi_navi_text_pane_t1
-//r:3.0
-//
-#define qtn_cmon_navi_many_wlan_nws_available "%N networks available"
-
-
-//d: Menu item to disconnect WLAN network 
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_disconnect_wlan "Disconnect WLAN"
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to open WLAN settings view 
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_settings "Settings"
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to define new access point for the selected WLAN
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_define_access_point "Define access point"
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to edit access point for the selected WLAN
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_edit_access_point "Edit access point"
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to view details of WLAN networks
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_details "Details"
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to refresh list of WLAN hotspots
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_refresh "Refresh"
-
-
-//d: Menu item. 
-//d: The command is used to connect WLAN using selected IAP
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_connect "Connect"
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to start web browser
-//l: list_single_pane_t1_cp2
-//r:3.0
-//
-#define qtn_sniffer_opt_start_web_browsing "Start Web browsing" 
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to continue web browsing with selected IAP
-//l: list_single_pane_t1_cp2
-//r:3.0
-#define qtn_sniffer_opt_continue_web_browsing "Continue Web browsing"
-
-//d: Text for unknown WLAN network
-//l:list_double_graphic_pane_t2
-//r:3.0
-//
-#define qtn_sniffer_unknown "Unknown"
-
-
-//d: Text for known WLAN network
-//l:list_double_graphic_pane_t2
-//r:3.0
-//
-#define qtn_sniffer_known "Known" 
-
-
-//d: Text for a network that a connection is being established
-//l:list_double_graphic_pane_t2
-//r:5.2
-//
-#define qtn_sniffer_connecting "Connecting"
-
-
-//d: Text for connected WLAN network
-//l:list_double_graphic_pane_t2
-//r:3.0
-//
-#define qtn_sniffer_connected "Connected"
-
-
-// d:label text for hidden ssid at select wlan network dialog list
-// d:(one row)
-// l:list_double_graphic_pane_t1
-#define qtn_sniffer_plug_in_hidden_ssid_label "Other (hidden netw.)"
-
-//d: Application title
-//l: title_pane_t2/opt9
-//r:3.0
-//
-#define qtn_sniffer_title "WLAN" 
-
-//d: If no WLAN network have been found, The information note is displayed.
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_wlan_info_no_networks_found "No WLAN networks found"
-
-//d: This error note is displayed if the user wants to connect but 
-//d: there is already an active WLAN connection.
-//l: popup_note_window/opt1
-//r:3.0
-//
-#define qtn_wlan_info_connection_already_active "A WLAN connection is already active. Close connection and try again."
-
-
-//d:The main view is empty and the application starts to search available WLAN
-//d:networks. During scanning a wait note Searching WLAN networks...
-//l:popup_note_wait_window
-//r:3.0
-//
-#define qtn_wlan_wait_searching_networks "Searching WLAN networks" 
- 
-//d: This confirmation query is displayed if the user selected Start web browsing
-//d: on a WLAN network but the browser is already running and using 
-//d: a different connection.
-//l: popup_note_window
-//r:3.0
-//
-#define qtn_sniffer_quest_restart_browsing_with_wlan "Web application needs to be restarted for WLAN usage. Continue?"
-
-
-//d: Menu item of WLAN Sniffer’s main view options menu 
-//d: The command is used to set/edit wlans which are blocked away
-//l: list_single_pane_t1_cp2
-//r:3.0
-#define qtn_sniffer_opt_filter_out_wlans "Filter out networks"
-
-//d: Title of Filter out wlans list
-//l: heading_pane_t1
-//r:3.0
-//
-#define qtn_note_title_filter_out_wlans "Hide selected networks:"
-
-
-
-
-//------------------------------------------------------------------------------
-// Details view texts (specified in Networking spec)				       *
-//------------------------------------------------------------------------------
-
-
-//d:Navi pane text in Available WLAN networks details view. 
-//d:The navi pane displays the “serial number” (%0N) of the
-//d:network in question and the total amount of the connections
-//d:(%1N) using the navigation text component: %0N/%1N
-//l:navi_navi_text_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_navi_nof_wlan_network "%0N/%1N"
-
-//d:The name of the WLAN IAP
-//l:list_single_heading_pane_t2 
-//w:
-//r:5.0
-//
-#define qtn_cmon_heading_conn_name "Name"
-
-//d: WLAN network name (SSID) detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_network_name "Network"
-
-//d: WLAN network signal strength detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_signal_strength "Signal"
-
-//d: WLAN network mode detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_network_mode "Mode"
-
-//d:WLAN network  Security mode used by the WLAN network detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_security_mode "Security"
-
-//d:WLAN network  Amount of physical WLAN access points detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_nw_ap_amount "Coverage"
-
-//d:WLAN network  Maximum data rate detail of the network
-//l:list_single_heading_pane_t2 
-//w:
-//r:3.0
-//
-#define qtn_cmon_heading_wlan_nw_max_rate "Max. rate"
-
-//d:WLAN network Amount of physical WLAN access points (AP) in range, if a single AP is in range
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_ap_amount_in_range_1 "1 access point"
-
-//d:WLAN network Amount of physical WLAN access points (AP) in range, if multiple APs in range (%N is the amount)
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_ap_amount_in_range_many "%N access points"
-
-//d:WLAN network Maximum data rate in network (of best AP in range)
-//d:in megabits per secondin
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_max_data_rate "%U Mbit/s"
-
-//d:In details view, if a certain detail becomes unavailable this string is displayed
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_parameter_unavailable "(unavailable)"
-
-//d: WLAN network signal strength text  if the network in question becomes unavailable while
-//d:in details view,
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_no_signal "No signal"
-
-//d: WLAN network signal strength value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_low "Low (%N%)"
-
-//d: WLAN network signal strength value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_medium "Medium (%N%)"
-
-//d: WLAN network signal strength value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.0
-//
-#define qtn_cmon_wlan_signal_strength_good "Good (%N%)"
-
-//d: WLAN network security mode value text 
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_open "Open network"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode 
-//l:list_single_heading_pane_t1  
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_wep "WEP"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode  
-//l:list_single_heading_pane_t1 
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_802_1x "802.1x"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode  
-//l:list_single_heading_pane_t1  
-//w:
-//r:3.1
-//
-#define qtn_wlan_sett_security_mode_wpa "WPA/WPA2"
-
-//d: WLAN network security mode value text, this is the abbrevation of a kind of security mode  
-//l:list_single_heading_pane_t1  
-//w:
-//r:5.2
-//
-#define qtn_wlan_sett_security_mode_wapi "WAPI"
-
-//d: WLAN network network mode: with AP
-//l:list_single_heading_pane_t1  
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_network_mode_infra "Infrastructure"
-
-//d: WLAN network network mode: without AP
-//l:list_single_heading_pane_t1  
-//w:
-//r:3.1
-//
-#define qtn_cmon_wlan_network_mode_adhoc "Ad-hoc"
-
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/rom/wsfmainapplication.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project Wlan Sniffer
-*
-*/
-
-#ifndef WSFMAINAPPLICATION_IBY
-#define WSFMAINAPPLICATION_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApplication
-
-#include <bldvariant.hrh>
-
-S60_APP_AIF_RSC(wlansniffer)
-
-S60_APP_EXE(wlansniffer)
-
-#endif //__PROTOCOL_WLAN
-
-#endif // WSFMAINAPPLICATION_IBY
--- a/wlanutilities/wlansniffer/mainapplication/rom/wsfmainapplicationresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,31 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project Wlan Sniffer
-*
-*/
-
-#ifndef WSFMAINAPPLICATIONRESOURCES_IBY
-#define WSFMAINAPPLICATIONRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferApplicationResources
-
-#include <bldvariant.hrh>
-
-S60_APP_RESOURCE(wlansniffer)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFMAINAPPLICATIONRESOURCES_IBY
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfactivetimeupdater.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,139 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfActiveTimeUpdater.
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfactivetimeupdater.h"
-#include "wsfactivetimerhandler.h"
-
-#include "wsflogger.h"
-
-// CONSTANTS
-
-//  CONSTRUCTION AND DESTRUCTION
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::NewL
-// ---------------------------------------------------------------------------
-//   
-CWsfActiveTimeUpdater* CWsfActiveTimeUpdater::NewL( 
-                                MWsfActiveTimerHandler* aActiveTimerHandler )
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::NewL" );
-    CWsfActiveTimeUpdater* thisPtr = NewLC( aActiveTimerHandler );
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;
-    }
-    
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::NewLC
-// ---------------------------------------------------------------------------
-//   
-CWsfActiveTimeUpdater* CWsfActiveTimeUpdater::NewLC( 
-                                MWsfActiveTimerHandler* aActiveTimerHandler )
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::NewLC" );
-    CWsfActiveTimeUpdater* thisPtr = 
-                new ( ELeave ) CWsfActiveTimeUpdater( aActiveTimerHandler );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr;
-    }
-    
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater
-// ---------------------------------------------------------------------------
-//   
-CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater()
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::~CWsfActiveTimeUpdater" );
-    if( iPeriodic )
-        {
-        iPeriodic->Cancel();
-        }
-    delete iPeriodic;
-    }
-    
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::CWsfActiveTimeUpdater
-// ---------------------------------------------------------------------------
-//
-CWsfActiveTimeUpdater::CWsfActiveTimeUpdater( 
-                                MWsfActiveTimerHandler* aActiveTimerHandler )
-    : iActiveTimerHandler( aActiveTimerHandler )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::ConstructL
-// ---------------------------------------------------------------------------
-//       
-void CWsfActiveTimeUpdater::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::ConstructL" );
-    iPeriodic = CPeriodic::NewL( CActive::EPriorityStandard );
-    }
-    
-//  METHODS
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::Start
-// ---------------------------------------------------------------------------
-//   
-void CWsfActiveTimeUpdater::Start( TInt aUpdateInterval )
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::Start" );
-    // Start periodic timer
-    iPeriodic->Start( TTimeIntervalMicroSeconds32( 0 ), 
-                      TTimeIntervalMicroSeconds32( aUpdateInterval ), 
-                      TCallBack( UpdateTimeL, this ) );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::Stop
-// ---------------------------------------------------------------------------
-//       
-void CWsfActiveTimeUpdater::Stop()
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::Stop" );
-    // Cancel the timer request
-    iPeriodic->Cancel();
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::DoUpdateTimeL
-// ---------------------------------------------------------------------------
-//   
-void CWsfActiveTimeUpdater::DoUpdateTimeL()
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::DoUpdateTimeL" );
-    iActiveTimerHandler->UpdateActiveTimeL();
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfActiveTimeUpdater::UpdateTimeL
-// ---------------------------------------------------------------------------
-//    
-TInt CWsfActiveTimeUpdater::UpdateTimeL( TAny* aUpdater )
-    {
-    LOG_ENTERFN( "CWsfActiveTimeUpdater::UpdateTimeL" );
-    static_cast<CWsfActiveTimeUpdater*>( aUpdater )->DoUpdateTimeL();
-    return 0;
-    } 
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfactivewaiter.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,110 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfActiveWaiter.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL( )
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::NewL");
-    CWsfActiveWaiter* self = 
-                         new ( ELeave ) CWsfActiveWaiter( );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;        
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::ConstructL()
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::ConstructL");     
-    CActiveScheduler::Add( this );            
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter()
-: CActive( EPriorityNormal )
-    {
-    }
-    
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter()
-// ---------------------------------------------------------
-//    
-CWsfActiveWaiter::~CWsfActiveWaiter()
-    {
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel()
-// ---------------------------------------------------------
-// 
-void CWsfActiveWaiter::DoCancel()
-    {
-    }
-     
- 
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL()
-// ---------------------------------------------------------
-//     
-void CWsfActiveWaiter::RunL()
-    {
-    LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
-    if ( iWait.IsStarted() )
-        {
-        LOG_WRITE("async call completed, resuming.");
-        iWait.AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest()
-// ---------------------------------------------------------
-// 
-TInt CWsfActiveWaiter::WaitForRequest()
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
-    SetActive(); 
-    iWait.Start();
-
-    return iStatus.Int();
-    }    
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfapplication.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfApplication.
-*
-*/
-
-
-#include "wsfdocument.h"
-#include "wsfapplication.h"
-
-// UID for the application, this should correspond 
-// to the uid defined in the mmp file
-static const TUid KUidSnifferApp = {0x10281CAA};
-
-// ---------------------------------------------------------
-// CWsfApplication::CreateDocumentL()
-// ---------------------------------------------------------
-//
-CApaDocument* CWsfApplication::CreateDocumentL()
-    {  
-    // Create an Sniffer document, and return a pointer to it
-    CApaDocument* document = CWsfDocument::NewL( *this );
-    return document;
-    }
-
-// ---------------------------------------------------------
-// CWsfApplication::AppDllUid()
-// ---------------------------------------------------------
-//
-TUid CWsfApplication::AppDllUid() const
-    {
-    // Return the UID for the Sniffer application
-    return KUidSnifferApp;
-    }
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfappui.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,542 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAppUi.
-*
-*/
-
-#include <avkon.hrh>
-#include <aknnotewrappers.h> 
-#include <eikmenub.h> 
-#include <hlplch.h>
-#include <featmgr.h>
-#include <StringLoader.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <centralrepository.h>
-#include <ErrorUI.h>
-#include <wlansniffer.rsg>
-#include <ConnectionUiUtilities.h>
-
-#include "wlansettingsui.h"
-#include "wsfappui.h"
-#include "wsfmainview.h"
-#include "wsfdetailsview.h"
-#include "wsfmainviewcontrollerif.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfmainuiobserver.h"
-#include "wsfmainapplication.hrh"
-#include "wsfdocument.h"
-#include "wsfconnecteddetailsdialog.h"
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfmodel.h"
-#include "wsflogger.h"
-
-//  LOCAL DEFINITIONS
-#ifdef _DEBUG
-    _LIT( KAppUi, "CWsfAppUi" );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KAppUi, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ConstructL()
-    {
-    LOG_CREATE;
-    LOG_WRITE( "Constructing Wlan Sniffer" );
-    LOG_ENTERFN( "CWsfAppUi::ConstructL" );
-    
-    BaseConstructL( EAknEnableSkin | EAknEnableMSK | EAknSingleClickCompatible );
-    
-    // Initialize feature manager
-    FeatureManager::InitializeLibL();
-    iFeatureManagerInitialized = ETrue;
-    
-    iIdle = CIdle::NewL( CActive::EPriorityIdle );
-    
-    // check if the app. launched in embedded mode
-    TBool isEmbeddedApp = IsEmbedded();
-    LOG_WRITEF( "IsEmbedded(): %d", isEmbeddedApp );
-     
-    //Create mainview
-    LOG_WRITE( "Creating main view" );
-    CWsfMainView* mainView = CWsfMainView::NewLC( isEmbeddedApp );
-    LOG_WRITE( "Adding main view" );    
-    AddViewL( mainView );           // transfer ownership to CAknViewAppUi
-    CleanupStack::Pop( mainView );
-    LOG_WRITE( "main view creating done" );
-    SetDefaultViewL( *mainView );
-    iObserver->MainViewCreatedL();
-
-    //Create details view (not connected)
-    LOG_WRITE( "Create details view (not connected)" );    
-    CWsfDetailsView* detailsView = CWsfDetailsView::NewLC();    
-    LOG_WRITE( "Adding details view (not connected)" );    
-    AddViewL( detailsView );        // transfer ownership to CAknViewAppUi
-    CleanupStack::Pop( detailsView );
-    LOG_WRITE( "details view (not connected) creating done" );
-    
-    ActivateMainViewL();
-
-    iIdle->Start( TCallBack( AppLaunchCompleteL, this ) );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::CWsfAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAppUi::CWsfAppUi():
-    iConnectedDetailsDialog( NULL ),
-    iForeground( ETrue ),
-    iFeatureManagerInitialized( EFalse )
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::~CWsfAppUi
-// ---------------------------------------------------------------------------
-//
-CWsfAppUi::~CWsfAppUi()
-    {
-    if ( iWaitDialog )
-        {
-        iWaitDialog->SetCallback( NULL );
-        TRAP_IGNORE( iWaitDialog->ProcessFinishedL() );
-        }
-
-    if ( iFeatureManagerInitialized )
-        {
-        FeatureManager::UnInitializeLib();
-        }
-    
-    delete iIdle;
-    delete iConnectedDetailsDialog;
-    LOG_WRITE( "CWsfAppUi::~CWsfAppUi" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HandleCommandL( TInt aCommand )
-    {
-    LOG_ENTERFN( "CWsfAppUi::HandleCommandL" );
-    switch ( aCommand )
-        {
-        case EEikCmdExit:
-        case EAknCmdExit:
-        case EAknSoftkeyExit:
-            {
-            if ( iAppLaunchCompleted )
-                {
-                Exit();
-                }
-            break;
-            }
-
-        case ESnifferCmdStartBrowsing:
-            {
-            iObserver->StartBrowsingL();
-            break;       
-            }
-
-        case ESnifferCmdContinueBrowsing:
-            {
-            iObserver->ContinueBrowsingL();
-            break;       
-            }
-
-        case ESnifferCmdShowWlans:
-            {
-            iObserver->ShowWlanListL();
-            break;       
-            }
-            
-        case ESnifferCmdConnect:
-            {
-            iObserver->ConnectL();
-            break;           
-            }
-        case ESnifferCmdDisconnect:
-            {
-            iObserver->DisconnectL();
-            break;                           
-            }        
-        case ESnifferCmdRefresh:
-            {
-            iObserver->RefreshL();  
-            break;  
-            }
-        case ESnifferCmdDetails:
-            {
-            iObserver->ShowDetailsL();
-            break;    
-            }
-        case ESnifferCmdFilterWlans:
-            {
-            iObserver->EditBlackListItemsL();
-            break;    
-            }
-        case ESnifferCmdSettings:
-            {
-            // launch settings dialog
-            CWlanSettingsUi* wlanSettings = 
-                                 CWlanSettingsUi::NewL( *CEikonEnv::Static() );
-            CleanupStack::PushL( wlanSettings );
-            iForeground = EFalse;
-            wlanSettings->RunSettingsL();
-            iForeground = ETrue;
-            CleanupStack::PopAndDestroy( wlanSettings );
-            break;
-            }
-        case EAknCmdHelp:
-            {
-            if ( FeatureManager::FeatureSupported( KFeatureIdHelp ) )
-                {
-                HlpLauncher::LaunchHelpApplicationL( iEikonEnv->WsSession(), 
-                                                     AppHelpContextL() );
-                }
-            break;
-            }
-        
-        default:
-            {                             
-            break;
-            }            
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::SetUiObserver
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::SetUiObserver( MWsfMainUiObserver* aObserver )
-    {
-    iObserver = aObserver;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HandleResourceChangeL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HandleResourceChangeL( TInt aType )
-    {
-    CAknAppUi::HandleResourceChangeL( aType );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HandleForegroundEventL( TBool aForeground )
-    {
-    LOG_ENTERFN( "CWsfAppUi::HandleForegroundEventL" );
-    //Application switched to foreground.
-    if ( aForeground )
-        {
-        if ( iObserver )
-            {
-            iObserver->AppSwitchedForegroundL();
-            }
-        }
-    else
-        {
-        if ( iObserver )
-            {            
-            iObserver->AppSwitchedBackgroundL();
-            }
-            
-        }
-        
-    CAknViewAppUi::HandleForegroundEventL( aForeground );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ActivateDetailsViewL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ActivateDetailsViewL( TUid aDetailsViewId )
-    {
-    ActivateLocalViewL( aDetailsViewId );
-    LOG_WRITE( "CWsfAppUi::ActivateDetailsViewL" );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ActivateMainViewL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ActivateMainViewL()
-    {
-    ActivateLocalViewL( TUid::Uid( EMainViewId ) );
-    LOG_WRITE( "CWsfAppUi::ActivateMainViewL" );    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::MainView
-// ---------------------------------------------------------------------------
-//
-MWsfMainViewControllerIf& CWsfAppUi::MainView()
-    {   
-    CWsfMainView* mainView = static_cast<CWsfMainView*>( 
-                                  View( TUid::Uid( EMainViewId ) ) ); 
-    return mainView->Controller();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::DetailsView
-// ---------------------------------------------------------------------------
-//
-MWsfDetailsViewControllerIf& CWsfAppUi::DetailsView( TInt aDetailsViewType )
-    {
-    CWsfDetailsView* detailsView = static_cast<CWsfDetailsView*>( 
-                                   View( TUid::Uid( aDetailsViewType ) ) ); 
-    return detailsView->Controller();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::StartWaitNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::StartWaitNoteL( TBool aVisibilityDelayOff )
-    {
-    LOG_ENTERFN( "CWsfAppUi::StartWaitNoteL" );
-    // wait dialog shown only if engine updating
-    // the wlan list
-    if( iObserver->EngineRefreshing() )
-        {
-        iWaitDialog = new (ELeave) CAknWaitDialog( 
-                              reinterpret_cast<CEikDialog**>( &iWaitDialog ), 
-                              aVisibilityDelayOff );
-        iWaitDialog->SetCallback( this );
-        iWaitDialog->ExecuteLD( R_WAITNOTE_SEARCHING_WLANS );
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::HideWaitNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::HideWaitNoteL()
-    {
-    LOG_ENTERFN( "CWsfAppUi::HideWaitNoteL" );
-    if ( iWaitDialog )
-        {        
-        iWaitDialog->ProcessFinishedL();
-        iWaitDialog = NULL;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::DialogDismissedL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::DialogDismissedL( TInt aButtonId )
-    {
-    LOG_ENTERFN( "CWsfAppUi::DialogDismissedL" );
-    iWaitDialog = NULL;
-    
-    if ( aButtonId == EEikBidCancel )
-        {
-        // dialog was cancelled by the user
-        
-        if ( Doc()->Model().IsConnecting() )
-            {
-            // connecting wait note was active
-            LOG_WRITE( "cancelling 'connecting' wait note" );
-            Doc()->Model().AbortConnectingL();
-            Doc()->Model().SetConnecting( EFalse );
-            }
-        else
-            {
-            // searching for wlan wait note was active
-            LOG_WRITE( "cancelling 'searching for wlan' wait note" );
-            Doc()->Model().AbortScanningL();
-            Doc()->Model().SetRefreshState( EFalse );
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowMenuBarL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowMenuBarL()
-    {
-    CWsfMainView* mainview = static_cast<CWsfMainView*>( iView );
-    mainview->SelectionKeyPressed();
-    iView->MenuBar()->TryDisplayMenuBarL();
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowNoWlansFoundInfoL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowNoWlansFoundInfoL()
-    {
-    LOG_ENTERFN( "CWsfAppUi::ShowNoWlansFoundInfoL" );
-    
-    CConnectionUiUtilities* connUiUtils = CConnectionUiUtilities::NewL();                                
-    connUiUtils->NoWLANNetworksAvailableNote();
-    delete connUiUtils;
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowErrorNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowErrorNoteL( TInt aResourceId )
-    {
-    LOG_ENTERFN( "CWsfAppUi::ShowErrorNoteL" );
-    HBufC* txt = StringLoader::LoadLC( aResourceId );
-    
-    CAknErrorNote* errorNote = new (ELeave) CAknErrorNote;
-    errorNote->ExecuteLD( *txt );
-    
-    CleanupStack::PopAndDestroy( txt );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::ShowGlobalErrorNoteL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::ShowGlobalErrorNoteL( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfAppUi::ShowGlobalErrorNoteL" );
-    CErrorUI* errorUi = CErrorUI::NewLC( *CCoeEnv::Static() );
-    errorUi->ShowGlobalErrorNoteL( aError );
-    CleanupStack::PopAndDestroy( errorUi );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::AppLaunchCompleteL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAppUi::AppLaunchCompleteL( TAny* aObject )
-    {
-    LOG_ENTERFN( "CWsfAppUi::AppLaunchCompleteL" );
-    _ASSERTD( aObject );
-    CWsfAppUi* appUi = static_cast<CWsfAppUi*>( aObject );
-    appUi->iAppLaunchCompleted = ETrue;
-    appUi->StartWaitNoteL( EFalse );
-    return 0;   // Return false (zero) value not be called again. (Stops timer)
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::IsEmbedded
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppUi::IsEmbedded() const
-    {
-    LOG_ENTERFN( "CWsfAppUi::IsEmbedded" );
-    return iEikonEnv->StartedAsServerApp();
-    }    
-    
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::Doc
-// ---------------------------------------------------------------------------
-//
-CWsfDocument* CWsfAppUi::Doc()
-     {
-     return static_cast<CWsfDocument*>( Document() );
-     }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::Foreground
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppUi::Foreground()
-    {
-    return iForeground;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::StartConnectedDetailsL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::StartConnectedDetailsL( CWsfWlanInfoArray* aWlanArray, 
-                                        const TDesC8& aSelectedWlanSsid )
-    {
-    LOG_ENTERFN( "CWsfAppUi::StartConnectedDetailsL" );
-    CWsfConnectedDetailsModel* model = CWsfConnectedDetailsModel::NewLC();
-    iConnectedDetailsDialog = CWsfConnectedDetailsDialog::NewL();
-    iConnectedDetailsDialog->SetListModel(model);
-    iConnectedDetailsDialog->Controller().SetWlanListL( aWlanArray, 
-                                                        aSelectedWlanSsid );
-    iConnectedDetailsDialog->ExecuteLD( R_QTN_CONNECTED_DETAILS_DIALOG );
-    iConnectedDetailsDialog = NULL;
-    CleanupStack::PopAndDestroy(model);
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfAppUi::UpdateConnectedDetailsL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::UpdateConnectedDetailsL( CWsfWlanInfoArray* aWlanArray )
-    {
-    LOG_ENTERFN( "CWsfAppUi::UpdateConnectedDetailsL" );
-    if ( iConnectedDetailsDialog != NULL )
-        {
-        iConnectedDetailsDialog->Controller().WlanListChangedL( aWlanArray );
-        }
-    }    
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::SuppressingKeyEvents
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppUi::SuppressingKeyEvents() const
-    {
-    return iSuppressingKeyEvents;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppUi::SetSuppressingKeyEvents
-// ---------------------------------------------------------------------------
-//
-void CWsfAppUi::SetSuppressingKeyEvents( TBool aSuppressing )
-    {
-    iSuppressingKeyEvents = aSuppressing;
-    }
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailscontroller.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,136 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of TWsfConnectedDetailsController.
-*
-*/
-
-
-//  CLASS HEADER
-#include "wsfconnecteddetailscontroller.h"
-
-//  EXTERNAL INCLUDES
-
-//  INTERNAL INCLUDES
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfconnecteddetailsdialog.h"
-
-#include "wsflogger.h"
-
-
-//  LOCAL DEFINITIONS
-#ifdef _DEBUG
-    _LIT( KDetailsViewControllerPanic, "TWsfConnectedDetailsController" );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KDetailsViewControllerPanic, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-
-
-
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::SetWlanListL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::SetWlanListL(
-                                        CWsfWlanInfoArray* aWlanArray, 
-                                        const TDesC8& aSelectedWlanSsid )
-    {
-    LOG_ENTERFN( "TWsfConnectedDetailsController::SetWlanListL" );
-    _ASSERTD( aWlanArray );
-        
-    //Get selected Wlan info 
-    TWsfWlanInfo* info = aWlanArray->Match( aSelectedWlanSsid, 
-                                         aWlanArray->Count() );
-
-    CDesCArray* formattedList = NULL;                                         
-                                         
-    // if view active && and something to show
-    if ( iDialog && iModel)
-        {
-        // Update model
-        formattedList = iModel->FormatWlanInfoL( info, aWlanArray );
-
-        //Draw view
-        iDialog->UpdateListBox( formattedList );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::WlanListChangedL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::WlanListChangedL( 
-                                        CWsfWlanInfoArray* aWlanArray )
-    {
-    LOG_ENTERFN( "TWsfConnectedDetailsController::WlanListChangedL" );    
-    _ASSERTD( aWlanArray );
-                    
-    //If view active
-    if ( iDialog && iModel )
-        {
-        //Get selected Wlan info 
-        TWsfWlanInfo* info = aWlanArray->Match( iModel->WlanSsid(), 
-                                             aWlanArray->Count() );
-
-        CDesCArray* formattedList = NULL;
-        
-        //Current info found from new list
-        // Update model
-        formattedList = iModel->FormatWlanInfoL( info, aWlanArray );
-            
-        //Draw view            
-        iDialog->UpdateListBox( formattedList );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::RefreshL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::RefreshL()
-    {
-    LOG_ENTERFN( "TWsfConnectedDetailsController::RefreshL" );
-    
-    if ( iDialog && iModel)
-        {        
-        CDesCArray* formattedDetails = iModel->GetWlanDetails();
-        
-        iDialog->UpdateListBox( formattedDetails );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// void TWsfConnectedDetailsController::UpdateActiveTimeL
-// ---------------------------------------------------------------------------
-//
-void TWsfConnectedDetailsController::UpdateActiveTimeL()
-    {
-    LOG_ENTERFN( "TWsfConnectedDetailsController::UpdateActiveTimeL" );
-    if (iModel)
-        {
-        iModel->RefreshCurrentWlanInfoL();
-        RefreshL();
-        }
-    }
-
-void TWsfConnectedDetailsController::SetPartner( 
-                                    MWsfDetailsViewPartner& /*aPartner*/ )
-    {
-    }
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailsdialog.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfConnectedDetailsDialog.
-*
-*/
-
-
-// INCLUDE FILES
-#include <avkon.hrh>
-#include <aknlists.h>
-#include <StringLoader.h>
-#include <wlansniffer.rsg>
-#include "wsfconnecteddetailsdialog.h"
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfconnecteddetailscontroller.h"
-#include "wsfactivetimeupdater.h"
-
-#include "wsflogger.h"
-
-// CONSTANTS
-LOCAL_D const TInt KUpdateInterval = 1000000; // in micro seconds (1 sec)
-// Time item's place in the listbox.
-LOCAL_D const TInt  KActiveTimeItem = 1;
-// Transferred data item's place in the listbox.
-LOCAL_D const TInt  KTransferredAmountItem = 2;
-
-    
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsDialog::ConstructL" );    
-    iController.SetDialog( this );
-    // Create and start Active Object 'Active Updater'
-    iActiveUpdater = CWsfActiveTimeUpdater::NewL( &iController );
-    iActiveUpdater->Start( KUpdateInterval );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog* CWsfConnectedDetailsDialog::NewL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsDialog::NewL" );    
-    CWsfConnectedDetailsDialog* self = CWsfConnectedDetailsDialog::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog* CWsfConnectedDetailsDialog::NewLC()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsDialog::NewLC" );
-    CWsfConnectedDetailsDialog* self = 
-                            new( ELeave ) CWsfConnectedDetailsDialog( NULL );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::CWsfConnectedDetailsDialog
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog::CWsfConnectedDetailsDialog( 
-            CListBoxView::CSelectionIndexArray* aSelectionIndexArray )
-    : CAknListQueryDialog( aSelectionIndexArray ),
-    iList( NULL ),
-    iModel( NULL )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::~CWsfConnectedDetailsDialog
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsDialog::~CWsfConnectedDetailsDialog()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsDialog::~CWsfConnectedDetailsDialog" );
-    iController.SetModel(NULL);
-    iController.SetDialog(NULL);
-    if( iActiveUpdater )
-        {
-        iActiveUpdater->Stop();
-        }
-    delete iActiveUpdater;
-    // iListModel is deleted in WSFAppui::StartConnectedDetailsL
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsDialog::SetListModel
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::SetListModel( CWsfConnectedDetailsModel* aModel)
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsDialog::SetListModel" );
-    iListModel = aModel;
-    iController.SetModel(iListModel);
-    }
-
-
-// ---------------------------------------------------------
-// CWsfConnectedDetailsDialog::PreLayoutDynInitL
-// called by framework before dialog is shown
-// ---------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::PreLayoutDynInitL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsDialog::PreLayoutDynInitL" );
-    // parent creates the private listbox
-    CAknListQueryDialog::PreLayoutDynInitL();
-    // and now we get access to it...
-    CAknListQueryControl *control = 
-            ( CAknListQueryControl* )Control( EListQueryControl );
-    iList = control->Listbox();
-    iModel = ( CTextListBoxModel* )iList->Model();
-    
-    // 1st Refresh of the listbox
-    iController.RefreshL();
-    ActivateL();
-    }
-    
-// ---------------------------------------------------------
-// CWsfConnectedDetailsContainer::UpdateListBox
-// ---------------------------------------------------------
-//
-void CWsfConnectedDetailsDialog::UpdateListBox( MDesCArray* aItemTextArray )
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsDialog::UpdateListBox" );
-    for( TInt i = 0; i < aItemTextArray->MdcaCount(); i++)
-        {
-        TPtrC temp = aItemTextArray->MdcaPoint( i );
-        TBuf<100> tempElement = temp;
-        LOG_WRITEF( "aItemTextArray[0]: %S", &tempElement );
-        }
-
-    if ( iList && aItemTextArray->MdcaCount() )
-        {
-        iList->Reset();
-        iModel->SetItemTextArray( aItemTextArray );
-        iModel->SetOwnershipType( ELbmDoesNotOwnItemArray );
-        // draw updated items
-        iList->DrawItem( KActiveTimeItem );
-        iList->DrawItem( KTransferredAmountItem );
-        
-        DrawNow();
-        }
-    }
-    
-// ---------------------------------------------------------
-// CWsfConnectedDetailsContainer::Controller
-// ---------------------------------------------------------
-//
-MWsfDetailsViewControllerIf& CWsfConnectedDetailsDialog::Controller()
-    {
-    return iController;     
-    }    
-
-//  End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfconnecteddetailsmodel.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,573 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Details view Model
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <badesca.h>
-#include <StringLoader.h> 
-#include <wlansniffer.rsg>
-#include <coemain.h>
-#include <AknUtils.h>
-#include <avkon.rsg>
-#include <nifvar.h>
-#include <rconnmon.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfconnecteddetailsmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-//  LOCAL DEFINITIONS
-#ifdef _DEBUG
-    _LIT( KDetailsViewModelPanic, "CWsfConnectedDetailsModel" );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KDetailsViewModelPanic, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// the size of the Details Listbox's array
-const TInt KWlanInfoGranularity = 3;
-
-// Listbox element format string
-_LIT( KListItemFormat, "%S\t%S" ); 
-
-// invalid connection id
-const TInt KInvalidConnectionId = 0;
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::CWsfConnectedDetailsModel
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel::CWsfConnectedDetailsModel():
-    iIsConnActive( EFalse ),
-    iConnectionId( KInvalidConnectionId ),
-    iCoeEnv( CCoeEnv::Static() )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::ConstructL" );
-    iFormattedWlanInfo = new (ELeave) CDesCArrayFlat( KWlanInfoGranularity );
-    iConnectionMonitor.ConnectL();
-    FindWlanConnectionL();
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel* CWsfConnectedDetailsModel::NewL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::NewL" );
-    CWsfConnectedDetailsModel* self = CWsfConnectedDetailsModel::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel* CWsfConnectedDetailsModel::NewLC()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::NewLC" );
-    CWsfConnectedDetailsModel* self = new( ELeave ) CWsfConnectedDetailsModel;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::~CWsfConnectedDetailsModel
-// ---------------------------------------------------------------------------
-//
-CWsfConnectedDetailsModel::~CWsfConnectedDetailsModel()
-    {
-    LOG_ENTERFN( 
-        "CWsfConnectedDetailsModel::~CWsfConnectedDetailsModel" );
-    iConnectionMonitor.CancelAsyncRequest(EConnMonGetUintAttribute);
-    iConnectionMonitor.CancelAsyncRequest(EConnMonGetIntAttribute);
-    iConnectionMonitor.Close();
-    delete iFormattedWlanInfo;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FindWlanConnectionL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FindWlanConnectionL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::FindWlanConnectionL" );
-
-#ifndef __WINS__    
-    // first call, need to get the connection parameters
-    iConnectionId = KInvalidConnectionId;
-    TUint connectionCount( 0 );
-    
-    CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-    iConnectionMonitor.GetConnectionCount( connectionCount, waiter->iStatus );
-    waiter->WaitForRequest();
-
-    if ( waiter->iStatus.Int() == KErrNone )
-        {
-        LOG_WRITEF( "connectionCount = %d", connectionCount );
-        // find the connection with WLAN bearer 
-        // that will be the selected WLAN
-        for ( TUint i = 1; i <= connectionCount; ++i )
-            {
-            TUint connectionId( KInvalidConnectionId );
-            TUint subConnectionCount( 0 );
-            TConnMonBearerType bearerType( EBearerUnknown );
-    
-            iConnectionMonitor.GetConnectionInfo( i, 
-                                                  connectionId, 
-                                                  subConnectionCount );
-            iConnectionMonitor.GetIntAttribute( connectionId, 
-                                                0, 
-                                                KBearer, 
-                                                ( TInt& )bearerType, 
-                                                waiter->iStatus );
-            waiter->WaitForRequest();
-            
-            if ( waiter->iStatus.Int() == KErrNone && 
-                 bearerType == EBearerWLAN )
-                {
-                LOG_WRITEF( "found connection id = %d", connectionId );
-                iConnectionId = connectionId;
-                break;
-                }
-            }
-        }
-    
-    if ( iConnectionId != KInvalidConnectionId )
-        {
-        iIsConnActive = ETrue;
-        
-        // now we have the connectiond ID, ask the start time
-        LOG_WRITE( "querying start time..." );
-        
-        TConnMonTimeBuf timeBuf;
-        iConnectionMonitor.GetPckgAttribute( iConnectionId, 0, KStartTime,
-                                             timeBuf, waiter->iStatus );
-        waiter->WaitForRequest();
-
-        if ( waiter->iStatus.Int() == KErrNone )
-            {
-            iStartTime = timeBuf();
-            }
-        }
-    
-    delete waiter;
-
-#else   // __WINS__
-
-    // for testing
-    iStartTime.UniversalTime();
-    iIsConnActive = ETrue;
-    
-#endif  // __WINS__    
-
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatWlanInfoL
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfConnectedDetailsModel::FormatWlanInfoL( 
-                                              TWsfWlanInfo* aWlanInfo, 
-                                              CWsfWlanInfoArray* aWlanArray )
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatWlanInfoL" );     
-    _ASSERTD( aWlanArray );
-
-    // While the system loads the dialog and the connection lost that could
-    // cause problems eg.: "No data" displayed
-    if ( !aWlanInfo || !VisibleWlans( *aWlanArray ) )
-        {
-        // bad wlan info or no visible wlans
-        return iFormattedWlanInfo;
-        }
-
-    iWlanInfo = *aWlanInfo;
-    iWlanArray = aWlanArray;
-
-    RefreshCurrentWlanInfoL();
-    
-    
-    return GetWlanDetails();
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::RefreshCurrentWlanInfoL
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfConnectedDetailsModel::RefreshCurrentWlanInfoL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::RefreshCurrentWlanInfoL" ); 
-    LOG_WRITEF( "iIsConnActive: %d", iIsConnActive );
-    _ASSERTD( iWlanArray );
-    if ( iRefreshing )
-        {
-        return iFormattedWlanInfo;
-        }
-
-    // mutual exclusion
-    iRefreshing = ETrue;
-        
-#ifndef __WINS__
-    if ( iIsConnActive )
-        {
-        LOG_WRITEF( "RefreshCurrentWlanInfoL - iConnectionId: %d", 
-                    iConnectionId );
-        
-        CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-        TInt connStat( 0 );
-        iConnectionMonitor.GetIntAttribute( iConnectionId, 
-                                            0,
-                                            KConnectionStatus,
-                                            connStat,
-                                            waiter->iStatus );
-        waiter->WaitForRequest();
-        
-        LOG_WRITEF( "connStat: %d",  connStat );
-        LOG_WRITEF( "status.Int(): %d",  waiter->iStatus.Int() );
-        
-        if ( waiter->iStatus.Int() != KErrNone )
-            {
-            delete waiter;
-            iRefreshing = EFalse;
-            return iFormattedWlanInfo;
-            }
-        
-        delete waiter;
-        
-        // set the connection status
-        LOG_WRITEF( "connStat: %d",  connStat );
-        if ( ( connStat == KLinkLayerOpen ) || 
-             ( connStat == KConnectionOpen ) )
-            {
-            iIsConnActive = ETrue;
-            }
-        else 
-            {
-            iIsConnActive = EFalse;
-            }
-        }
-
-#endif // __WINS__
-
-    iFormattedWlanInfo->Reset();
-
-    // create array of connected WLAN data
-    FormatAndAppendConnectedWlanSsidL();
-    FormatAndAppendDurationL();
-    FormatAndAppendTransferredL();
-
-    iRefreshing = EFalse;
-    
-    return GetWlanDetails();      
-    }    
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::GetWlanDetails
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfConnectedDetailsModel::GetWlanDetails()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::GetWlanDetails" );
-#ifdef _DEBUG    
-    const TInt KThatLongBufferWillMakeDo = 100;
-    for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
-        {
-        TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
-        TBuf<KThatLongBufferWillMakeDo> tempElement = temp;
-        LOG_WRITEF( "iFormattedWlanInfo: %S", &tempElement );
-        } 
-#endif
-        
-    return iFormattedWlanInfo;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::WlanSsid
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWsfConnectedDetailsModel::WlanSsid() const
-    {
-    return iWlanInfo.iSsid;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatListBoxItemLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfConnectedDetailsModel::FormatListBoxItemLC( 
-                                            const TUint aResourceId, 
-                                            const TDesC& aValueText ) const
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatListBoxItemLC" );
-    // hold the column name on list item
-    HBufC* columnName = NULL;
- 
-    if ( aResourceId )
-        {
-        columnName = StringLoader::LoadLC( aResourceId );
-        }
-    else
-        {
-        columnName = KNullDesC().AllocLC();
-        }
-
-
-    // Holds the list box item
-    HBufC* listBoxItem = HBufC::NewL( KListItemFormat().Length()+
-                                      columnName->Length() + 
-                                      aValueText.Length() );
-
-    // For formating needs
-    TPtr listBoxItemPrt = listBoxItem->Des();
-
-    // Format string ( KListItemFormat = %S\t%S )
-    listBoxItemPrt.Format( KListItemFormat, columnName, &aValueText );
-    CleanupStack::PopAndDestroy( columnName );
-    CleanupStack::PushL( listBoxItem );
-    return listBoxItem;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatAndAppendConnectedWlanSsidL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FormatAndAppendConnectedWlanSsidL()
-    {
-    LOG_ENTERFN( 
-        "CWsfConnectedDetailsModel::FormatAndAppendConnectedWlanSsidL" );
-    HBufC* wlanName( NULL );
-    
-    if ( iWlanInfo.iNetworkName.Length() ) // If there is IAP
-        {
-        wlanName = iWlanInfo.GetIapNameAsUnicodeLC();
-        }
-    else // If there no IAP
-        {
-        wlanName = iWlanInfo.GetSsidAsUnicodeLC();
-        }
-    
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                        R_QTN_WLAN_ITEM_HEADING_TEXT_WLAN, 
-                                        *wlanName );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( wlanName );    
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatAndAppendDurationL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FormatAndAppendDurationL()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatAndAppendDurationL" );
-    HBufC* duration = FormatDurationLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                        R_QTN_WLAN_ITEM_HEADING_DURATION, 
-                                        *duration );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( duration );    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatAndAppendTransferredL
-// ---------------------------------------------------------------------------
-//
-void CWsfConnectedDetailsModel::FormatAndAppendTransferredL()
-    {
-    LOG_ENTERFN( 
-        "CWsfConnectedDetailsModel::FormatAndAppendTransferredL" );
-    HBufC* transferredData = FormatTransferredLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( R_QTN_WLAN_ITEM_HEADING_TRANSF,
-                                              *transferredData );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( transferredData );    
-    }
-    
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatDurationLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfConnectedDetailsModel::FormatDurationLC()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatDurationLC" );
-    const TUint KTimeStringLength = 64;
-
-    if ( iIsConnActive )
-        {
-        // if connection is still active, update the duration
-        TTime now;
-        now.UniversalTime();
-        iDuration = now.MicroSecondsFrom( iStartTime );
-        }
-    
-    HBufC* timeString = HBufC::NewLC( KTimeStringLength );
-    TPtr16 tempBuf( timeString->Des() );
-
-    HBufC* temp = StringLoader::LoadLC( R_QTN_TIME_DURAT_LONG_WITH_ZERO );
-    
-    TTime activeTime( iDuration.Int64() );
-    activeTime.FormatL( tempBuf, *temp );
-    CleanupStack::PopAndDestroy( temp );
-
-    TPtr timePtr = timeString->Des();
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( timePtr );
-
-    return timeString;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::FormatTransferredLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfConnectedDetailsModel::FormatTransferredLC()
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::FormatTransferredLC" );
-        
-#ifndef __WINS__
-    CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-
-    TUint uplink( 0 );  
-    TUint downlink( 0 );        
-
-    if ( iIsConnActive && iConnectionId != KInvalidConnectionId )
-        {
-        // if connection is still active, update the transmitted bytes
-        iConnectionMonitor.GetUintAttribute( iConnectionId, 0, KUplinkData,
-                                              uplink, waiter->iStatus );
-        waiter->WaitForRequest();
-        }
-    
-    if ( waiter->iStatus.Int() == KErrNone
-            && iIsConnActive
-            && iConnectionId != KInvalidConnectionId )
-        {
-        iConnectionMonitor.GetUintAttribute( iConnectionId, 0, KDownlinkData,
-                                              downlink, waiter->iStatus );     
-        waiter->WaitForRequest();
-
-        }
-
-    iBytesTransmitted = uplink + downlink;
-    delete waiter;
-    
-#endif
-               
-    const TUint KTransferredBytesFormatBuf = 16;
-    const TUint KTransferredBytesWidth = 10;
-    const TUint KTransferredBytesDecimalPlaces = 2;
-    const TUint KKiloByte = 1024;
-    TUint resId;
-
-    TBuf<KTransferredBytesFormatBuf> buf;
-
-    TReal denom( KKiloByte );
-
-    if ( iBytesTransmitted < KKiloByte*KKiloByte )
-        {
-        denom = KKiloByte;
-        resId = R_QTN_WLAN_ITEM_KB;
-        }
-    else
-        {
-        denom = KKiloByte*KKiloByte;
-        resId = R_QTN_WLAN_ITEM_MB;
-        }
-
-    TReal value = TReal( iBytesTransmitted ) / denom;
-
-    TRealFormat realFormat( KTransferredBytesWidth, 
-                            KTransferredBytesDecimalPlaces );
-
-    HBufC* number = HBufC::NewLC( KTransferredBytesWidth );
-    number->Des().Num( value, realFormat );
-
-    _LIT( KUdFormatLarge, "%S" );
-    buf.Format( KUdFormatLarge, number );
-    CleanupStack::PopAndDestroy( number );
-
-    HBufC* loadedTxt = StringLoader::LoadLC( resId, buf, iCoeEnv );
-    
-           
-    // Convert digits
-    TPtr loadTextPtr( loadedTxt->Des() );
-    AknTextUtils::DisplayTextLanguageSpecificNumberConversion( loadTextPtr );
-    
-    return loadedTxt;                 
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfConnectedDetailsModel::VisibleWlans
-// ---------------------------------------------------------------------------
-//
-TInt CWsfConnectedDetailsModel::VisibleWlans( CWsfWlanInfoArray& aArray )
-    {
-    LOG_ENTERFN( "CWsfConnectedDetailsModel::VisibleWlans" );    
-    TInt i = 0;
-    TBool hiddenFound = EFalse;
-    TWsfWlanInfo* wlanInfo;
-    while ( i < aArray.Count() && !hiddenFound )
-        {
-        wlanInfo = aArray[i];
-        if ( wlanInfo->Hidden() && !wlanInfo->Known() )
-            {
-            hiddenFound = ETrue;
-            }
-        else
-            {
-            ++i;                
-            }
-        }
-    return i;
-    }      
-
-// END OF FILE
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailscontainer.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,388 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfDetailsContainer.
-*
-*/
-
-// INCLUDE FILES
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <wlansniffer.rsg>
-#include <aknnavilabel.h>
-#include "wsfdetailscontainer.h"
-#include "wsfdetailsviewcontrollerpartner.h"
-#include "wsfappui.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfactivetimeupdater.h"
-
-#include "wsflogger.h"
-
-// CONSTANTS
-LOCAL_D const TInt KUpdateInterval = 10000000; // in micro seconds (10 sec)
-
-
-// ======== MEMBER FUNCTIONS ========
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::NewL()
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer* CWsfDetailsContainer::NewL( 
-                                        const TRect& aRect,
-                                        MWsfActiveTimerHandler& aController )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::NewL" );
-    CWsfDetailsContainer* self = CWsfDetailsContainer::NewLC( aRect, 
-                                                              aController );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::NewLC()
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer* CWsfDetailsContainer::NewLC( 
-                                        const TRect& aRect,
-                                        MWsfActiveTimerHandler& aController )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::NewLC" );
-    CWsfDetailsContainer* self = new( ELeave ) CWsfDetailsContainer;
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect, aController );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::~CCSnifferDetailsContainer
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer::~CWsfDetailsContainer()
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::~CWsfDetailsContainer" );
-    PopNaviPane();
-    delete iListBox;
-    delete iNaviDecorator;
-    
-    if( iActiveUpdater )
-        {
-        iActiveUpdater->Stop();
-        }
-    delete iActiveUpdater;
-    }
-
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::ConstructL( const TRect& aRect, 
-                                       MWsfActiveTimerHandler& aController )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::ConstructL" );
-    CreateWindowL();
-
-    iListBox = new( ELeave ) CAknSingleHeadingStyleListBox;
-    iListBox->SetContainerWindowL( *this );
-    TInt flags = 0;
-    flags |= EAknListBoxViewerFlags;
-    iListBox->ConstructL( this, flags );
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL( 
-                                                CEikScrollBarFrame::EOff,
-                                                CEikScrollBarFrame::EAuto );
-
-    iListBox->Model()->SetOwnershipType( ELbmOwnsItemArray );
-
-    SetRect( aRect );
-
-    // Create and start Active Object 'Active Updater'
-    iActiveUpdater = CWsfActiveTimeUpdater::NewL( &aController );
-    iActiveUpdater->Start( KUpdateInterval );
-
-    ActivateL();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::CConnectionMonitorUiContainer
-// ---------------------------------------------------------
-//
-CWsfDetailsContainer::CWsfDetailsContainer() : iDetailsModel( NULL )
-    {
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::CConnectionMonitorUiContainer
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::SetDetailsModel( CWsfDetailsViewModel* aModel )
-    {
-    iDetailsModel = aModel;
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::SizeChanged()
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::CountComponentControls()
-// ---------------------------------------------------------
-//
-TInt CWsfDetailsContainer::CountComponentControls() const
-    {
-    return 1; // return nbr of controls inside this container
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::ComponentControl()
-// ---------------------------------------------------------
-//
-CCoeControl* CWsfDetailsContainer::ComponentControl( TInt aIndex ) const
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::ComponentControl" );
-    switch ( aIndex )
-        {
-        case 0:
-            return iListBox;
-        default:
-            return NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CWsfDetailsContainer::OfferKeyEventL( const TKeyEvent& aKeyEvent,
-                                                       TEventCode aType )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::OfferKeyEventL" );
-    TKeyResponse result = EKeyWasNotConsumed;
-    
-    if ( aType == EEventKey || aType == EEventKeyDown )
-        {
-        result = iListBox->OfferKeyEventL( aKeyEvent, aType );
-        
-        if ( aKeyEvent.iCode == EKeyLeftArrow )
-            {
-            if ( iPartner )
-                {
-                iPartner->HandleLeftKeyPressedL();
-                result = EKeyWasConsumed;
-                }
-            }
-        else if ( aKeyEvent.iCode == EKeyRightArrow )
-            {
-            if ( iPartner )
-                {
-                iPartner->HandleRightKeyPressedL();
-                result = EKeyWasConsumed;
-                }
-            }
-        else if ( aKeyEvent.iCode == EKeyOK )
-            {
-            if ( iPartner )
-                {
-                iPartner->HandleSelectionKeyPressedL();
-                }
-            }
-        }
-    
-    return result;
-    }
-    
-// ---------------------------------------------------------
-// CWsfDetailsContainer::GetPanesL
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::GetPanesL()
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::GetPanesL" );
-    if( !iNaviPane )
-        {
-        CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
-
-        iNaviPane =  static_cast<CAknNavigationControlContainer*>( 
-                        statusPane->ControlL( 
-                                    TUid::Uid(EEikStatusPaneUidNavi ) ) );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::UpdateNaviPaneL
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::UpdateNaviPaneL( const TDesC& aPaneText )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::UpdateNaviPaneL" );
-    LOG_WRITEF("UpdateNaviPaneL - aPaneTest: %S", &aPaneText );
-    if ( !( ( CWsfAppUi *)( iEikonEnv->AppUi() ) )->Foreground() )
-        {
-        return;
-        }
-    
-    GetPanesL();
-
-    if ( !iNaviDecorator )
-        {
-        delete iNaviDecorator;
-        iNaviDecorator = NULL;
-        if( iNaviPane )
-            {
-            iNaviDecorator = iNaviPane->CreateNavigationLabelL( aPaneText );
-            iNaviPane->PushL( *iNaviDecorator );
-            }
-        }
-    else
-        {
-        CAknNaviLabel* naviLabel = static_cast<CAknNaviLabel*>( 
-                                        iNaviDecorator->DecoratedControl() );
-        naviLabel->SetTextL( aPaneText );
-        // make sure at top and redraw
-        iNaviPane->PushL( *iNaviDecorator );                  
-        }
-    
-    if ( iNaviDecorator )
-        {
-        // Set the Observer of the NaviDecorator
-        iNaviDecorator->SetNaviDecoratorObserver( this );
-        // Show or hide the left and right arrow button
-        iNaviDecorator->SetScrollButtonDimmed( 
-                                CAknNavigationDecorator::ELeftButton,
-                                iDetailsModel->FormatLeftScrollButton() );
-        iNaviDecorator->SetScrollButtonDimmed( 
-                                CAknNavigationDecorator::ERightButton,
-                                iDetailsModel->FormatRightScrollButton() );
-        // Set the visibility of the buttons
-        iNaviDecorator->MakeScrollButtonVisible( ETrue );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::UpdateListBoxL
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::UpdateListBoxL( MDesCArray* aItemTextArray )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::UpdateListBoxL" );    
-    for( TInt i = 0; i < aItemTextArray->MdcaCount(); i++)
-        {
-        TPtrC temp = aItemTextArray->MdcaPoint( i );
-        TBuf<100> tempElement = temp;
-        LOG_WRITEF( "aItemTextArray: %S", &tempElement );
-        }
-        
-    iListBox->Reset();
-    iListBox->Model()->SetItemTextArray( aItemTextArray );
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    iListBox->HandleItemAdditionL();
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::SetPartner
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::SetPartner( 
-                               MWsfDetailsViewControllerPartner& aPartner )
-    {
-    iPartner = &aPartner;
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsContainer::PopNaviPane
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::PopNaviPane()
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::PopNaviPane" );
-    if ( iNaviPane && iNaviDecorator )
-        {        
-        iNaviPane->Pop( iNaviDecorator );
-        delete iNaviDecorator;
-        iNaviDecorator = NULL;
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CCSnifferDetailsContainer::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::HandleResourceChange( TInt aType )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::HandleResourceChange" );
-    CCoeControl::HandleResourceChange( aType );
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, 
-                                           mainPaneRect );
-        SetRect( mainPaneRect );
-        DrawNow();
-        }
-    }
-    
-// ---------------------------------------------------------
-// CWsfDetailsContainer::FocusChanged
-// ---------------------------------------------------------
-//
-void CWsfDetailsContainer::FocusChanged( TDrawNow aDrawNow )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::FocusChanged" );
-    CCoeControl::FocusChanged( aDrawNow );    
-    if( iListBox )
-        {
-        iListBox->SetFocus( IsFocused() );
-        }        
-    }
-    
-// --------------------------------------------------------------------------
-// CWsfDetailsContainer::HandleNaviDecoratorEventL
-// --------------------------------------------------------------------------
-//
-void CWsfDetailsContainer::HandleNaviDecoratorEventL( TInt aEventID )
-    {
-    LOG_ENTERFN( "CWsfDetailsContainer::HandleNaviDecoratorEventL" );
-    if ( AknLayoutUtils::PenEnabled() )
-        {
-        switch ( aEventID )
-            {
-            case EAknNaviDecoratorEventRightTabArrow:
-                {
-                if( iPartner && !iDetailsModel->FormatRightScrollButton() )
-                    {
-                    iPartner->HandleRightKeyPressedL();
-                    }
-                break;
-                }
-            case EAknNaviDecoratorEventLeftTabArrow:
-                {
-                if( iPartner && !iDetailsModel->FormatLeftScrollButton() )
-                    {
-                    iPartner->HandleLeftKeyPressedL();
-                    }
-                break;
-                }
-            default:
-                return;
-            }
-        }
-    }
-
-// End of File
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsview.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,183 +0,0 @@
-/*
-* Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  view class
-*     
-*
-*/
-
-
-// EXTERNAL INCLUDES
-#include <wlansniffer.rsg>
-#include <aknViewAppUi.h>
-
-// INTERNAL INCLUDES
-#include "wsfdetailsview.h"
-#include "wsfdetailscontainer.h" 
-#include "wsfdetailsviewmodel.h"
-#include "wsfmainapplication.hrh"
-#include "wsfappui.h"
-#include "wsfdetailscontainerif.h"
-
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-
-// ---------------------------------------------------------
-// CWsfDetailsView* CWsfDetailsView::NewL()
-// ---------------------------------------------------------
-//
-CWsfDetailsView* CWsfDetailsView::NewL()
-    {
-    LOG_ENTERFN( "CWsfDetailsView::NewL" );
-    CWsfDetailsView* self = CWsfDetailsView::NewLC();
-    CleanupStack::Pop(self);
-    return self;
-    } 
-
-// ---------------------------------------------------------
-// CWsfDetailsView* CWsfDetailsView::NewLC()
-// ---------------------------------------------------------
-//
-CWsfDetailsView* CWsfDetailsView::NewLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsView::NewLC" );
-    CWsfDetailsView* self = new (ELeave) CWsfDetailsView();
-    CleanupStack::PushL(self);
-    self->ConstructL( );
-    return self;
-    }
-
-
-// ---------------------------------------------------------
-// CWsfDetailsView::CWsfDetailsView()
-// ---------------------------------------------------------
-//
-CWsfDetailsView::CWsfDetailsView() : CAknView()
-    {
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfDetailsView::ConstructL" );
-    BaseConstructL( R_SNIFFER_DETAILSVIEW );
-    iModel = CWsfDetailsViewModel::NewL();
-    iController.SetModel( iModel );
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::~CWsfDetailsView()
-// ---------------------------------------------------------
-//
-CWsfDetailsView::~CWsfDetailsView()
-    {
-    LOG_ENTERFN( "CWsfDetailsView::~CWsfDetailsView" );
-    delete iContainer;
-    delete iModel;
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::Id()
-// ---------------------------------------------------------
-//
-TUid CWsfDetailsView::Id() const
-    {
-    return TUid::Uid( EDetailsViewId );     
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::HandleCommandL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::HandleCommandL( TInt aCommand )
-    {
-    LOG_ENTERFN( "CWsfDetailsView::HandleCommandL" );
-    switch ( aCommand )
-        {
-        case EAknSoftkeyOk:
-            {
-            iController.HandleSelectionKeyPressedL();
-            AppUi()->HandleCommandL( ESnifferCmdShowWlans );
-            break;
-            }
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::Controller
-// ---------------------------------------------------------
-//
-MWsfDetailsViewControllerIf& CWsfDetailsView::Controller()
-    {
-    return iController;     
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::DoActivateL()
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::DoActivateL( const TVwsViewId& /*aPrevViewId*/, 
-                                       TUid /*aCustomMessageId*/,
-                                       const TDesC8& /*aCustomMessage*/ )
-    {
-    LOG_ENTERFN( "CWsfDetailsView::DoActivateL" );
-    if( !iContainer )
-        {
-        iContainer = CWsfDetailsContainer::NewL( ClientRect(),
-                                                 iController );
-        iContainer->SetMopParent( this );
-        AppUi()->AddToViewStackL( *this, iContainer );
-        iContainer->SetPartner( iController );
-        iContainer->SetDetailsModel( iModel );   
-        iContainer->MakeVisible( ETrue );         
-        iController.SetContainer( iContainer );
-        iController.RefreshL();
-        }        
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::DoDeactivate
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::DoDeactivate()
-    {
-    LOG_ENTERFN( "CWsfDetailsView::DoDeactivate" );
-    AppUi()->RemoveFromViewStack( *this, iContainer );
-    iContainer->MakeVisible( EFalse );
-    delete iContainer;
-    iContainer = NULL;
-    iController.SetContainer( NULL );          
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsView::HandleListBoxEventL
-// ---------------------------------------------------------
-//
-void CWsfDetailsView::HandleListBoxEventL( CEikListBox* /*aListBox*/,
-                                               TListBoxEvent /*aEventType*/ )
-    {
-    }
-
-// End of File
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewcontroller.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,243 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of TWsfDetailsViewController.
-*
-*/
-
-//  CLASS HEADER
-#include "wsfdetailsviewcontroller.h"
-
-//  EXTERNAL INCLUDES
-
-//  INTERNAL INCLUDES
-#include "wsfdetailscontainer.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfdetailsviewpartner.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-
-#include "wsflogger.h"
-
-//  LOCAL DEFINITIONS
-#ifdef _DEBUG
-    _LIT( KDetailsViewControllerPanic, "TWsfDetailsViewController" );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KDetailsViewControllerPanic, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetModel
-// ---------------------------------------------------------------------------
-//    
-void TWsfDetailsViewController::SetModel( CWsfDetailsViewModel* aModel )
-    {
-    iModel = aModel;
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetContainer
-// ---------------------------------------------------------------------------
-//   
-void TWsfDetailsViewController::SetContainer( 
-                                        MWsfDetailsContainerIf* aContainer )
-    {
-    iContainer = aContainer;
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetWlanListL
-// ---------------------------------------------------------------------------
-//   
-void TWsfDetailsViewController::SetWlanListL(
-                                        CWsfWlanInfoArray* aWlanArray, 
-                                        const TDesC8& aSelectedWlanSsid )
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::SetWlanListL" );
-    _ASSERTD( aWlanArray );
-        
-    //Get selected Wlan info 
-    TWsfWlanInfo* info = aWlanArray->Match( aSelectedWlanSsid, 
-                                         aWlanArray->Count() );
-
-    CDesCArray* formattadList = NULL;                                         
-                                         
-    // If wlan info found
-    if( info )
-        {        
-        // Update model
-        formattadList = iModel->FormatWlanInfoL( info, aWlanArray );
-        }    
-
-    // if view active && and something to show
-    if( iContainer && formattadList )
-        {
-        //Draw view
-        iContainer->UpdateListBoxL( formattadList );
-        }
-        
-    HandlePaneTextUpdateL();
-    }
-    
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::WlanListChangedL
-// ---------------------------------------------------------------------------
-//        
-void TWsfDetailsViewController::WlanListChangedL( 
-                                        CWsfWlanInfoArray* aWlanArray )
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::WlanListChangedL" );
-    _ASSERTD( aWlanArray );
-                    
-    _ASSERTD( iModel );
-    
-    //Get selected Wlan info 
-    TWsfWlanInfo* info = aWlanArray->Match( iModel->WlanSsid(), 
-                                         aWlanArray->Count() );
-    //If view active
-    if( iContainer )
-        {
-        CDesCArray* formattadList = NULL;
-        
-        //Current info found from new list
-        if( info )
-            {
-            // Update model
-            formattadList = iModel->FormatWlanInfoL( info, aWlanArray );
-            HandlePaneTextUpdateL();        
-            }
-            
-        // Current Wlan has been dropped            
-        else
-            {
-            // Update model get no signal list and dont update pane text
-            formattadList = iModel->FormatWlanInfoL( NULL, aWlanArray );
-            }
-            
-        //Draw view            
-        iContainer->UpdateListBoxL( formattadList );
-        HandlePaneTextUpdateL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::RefreshL
-// ---------------------------------------------------------------------------
-//         
-void TWsfDetailsViewController::RefreshL( )
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::RefreshL" );
-    _ASSERTD( iModel );
-    
-    if ( iContainer )
-        {        
-        CDesCArray* formattedDetails = iModel->GetWlanDetails();
-        iContainer->UpdateListBoxL( formattedDetails );    
-        HandlePaneTextUpdateL();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::SetPartner
-// ---------------------------------------------------------------------------
-// 
- void TWsfDetailsViewController::SetPartner( MWsfDetailsViewPartner& aPartner )
-    {
-    iPartner = &aPartner;    
-    }
-
-    
- // ---------------------------------------------------------------------------
- // TWsfDetailsViewController::HandleLeftKeyPressedL
- // ---------------------------------------------------------------------------
- //      
-void TWsfDetailsViewController::HandleLeftKeyPressedL()
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::HandleLeftKeyPressedL" );    
-    _ASSERTD( iModel );
-    
-    if( iContainer )        
-        {
-        CDesCArray* formattadList = iModel->FormatPreviousWlanInfoL();
-        iContainer->UpdateListBoxL( formattadList );
-        HandlePaneTextUpdateL();
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::HandleRightKeyPressedL
-// ---------------------------------------------------------------------------
-//    
-void TWsfDetailsViewController::HandleRightKeyPressedL()
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::HandleRightKeyPressedL" );
-    _ASSERTD( iModel );
-
-    if( iContainer )        
-        {
-        CDesCArray* formattadList = iModel->FormatNextWlanInfoL();
-        iContainer->UpdateListBoxL( formattadList );
-        HandlePaneTextUpdateL();        
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::HandleSelectionKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::HandleSelectionKeyPressedL()
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::HandleSelectionKeyPressedL" );
-    if ( iPartner )
-        {
-        iPartner->CloseDetailsViewL();
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfDetailsViewController::HandlePaneTextUpdateL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::HandlePaneTextUpdateL()
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::HandlePaneTextUpdateL" );
-    _ASSERTD( iModel );
-    
-    if( iContainer )        
-        {
-        HBufC* paneText = iModel->FormatPaneTextLC();
-        iContainer->UpdateNaviPaneL( *paneText );
-        CleanupStack::PopAndDestroy( paneText );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// void TWsfDetailsViewController::UpdateActiveTimeL
-// ---------------------------------------------------------------------------
-//
-void TWsfDetailsViewController::UpdateActiveTimeL()
-    {
-    LOG_ENTERFN( "TWsfDetailsViewController::UpdateActiveTimeL" );
-    if ( iPartner )
-        {
-        iPartner->DetailsScanL();
-        }
-    }    
-    
-// End of file
-
-
-
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdetailsviewmodel.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,692 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfDetailsViewModel.
-*
-*/
-
-//  EXTERNAL INCLUDES
-#include <badesca.h>
-#include <StringLoader.h> 
-#include <wlansniffer.rsg>
-#include <coemain.h>
-#include <avkon.rsg>
-#include <cmpluginwlandef.h>
-#include <cmmanager.h>
-#include <cmconnectionmethod.h>
-#include <rconnmon.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfdetailsviewmodel.h"
-#include "wsfwlaninfoarray.h"
-#include "wsflogger.h"
-
-//  LOCAL DEFINITIONS
-using namespace CMManager;
-
-#ifdef _DEBUG
-    _LIT( KDetailsViewModelPanic, "CWsfDetailsViewModel" );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KDetailsViewModelPanic, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// the size of the Details Listbox's array
-const TInt KWlanInfoGranularity = 8;
-// the size of the numbers in the NaviPane
-const TInt KNumberLegth = 5;
-// Listbox elements format string
-_LIT( KListItemFormat, "%S\t%S" );
-// NaviPane elements format string
-_LIT( KPaneFormater, "%i/%i" ); 
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::CWsfDetailsViewModel()
-// ---------------------------------------------------------------------------
-//
-CWsfDetailsViewModel::CWsfDetailsViewModel():iCoeEnv( CCoeEnv::Static() )
-    {
-    }
-    
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::ConstructL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::ConstructL" );    
-    iFormattedWlanInfo = new (ELeave) CDesCArrayFlat( KWlanInfoGranularity );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::NewL()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfDetailsViewModel* CWsfDetailsViewModel::NewL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::NewL" );    
-    CWsfDetailsViewModel* self = CWsfDetailsViewModel::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::NewLC()
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfDetailsViewModel* CWsfDetailsViewModel::NewLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::NewLC" );
-    CWsfDetailsViewModel* self = new( ELeave ) CWsfDetailsViewModel;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::~CWsfDetailsViewModel()
-// ---------------------------------------------------------------------------
-//
-CWsfDetailsViewModel::~CWsfDetailsViewModel()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::~CWsfDetailsViewModel" );
-    delete iFormattedWlanInfo;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfDetailsViewModel::FormatWlanInfoL( 
-                                            TWsfWlanInfo* aWlanInfo, 
-                                            CWsfWlanInfoArray* aWlanArray )
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatWlanInfoL" );    
-    _ASSERTD( aWlanArray );
-
-    for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
-        {
-        TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
-        TBuf<100> tempElement = temp;
-        LOG_WRITEF( "(1)iFormattedWlanInfo: %S", &tempElement );
-        }
-        
-    iWlanArray = aWlanArray;
-    iFormattedWlanInfo->Reset();
-    
-    // If Wlan if suppilied && arrays has items
-    if ( aWlanInfo && VisibleWlans( *iWlanArray ) )
-        {
-        iWlanInfo = *aWlanInfo;
-        TWsfWlanInfo* temp = iWlanArray->Match( aWlanInfo->iSsid, 
-                                                VisibleWlans( *iWlanArray ) );
-        if ( temp )
-            {
-            iIndex = iWlanArray->GetArrayIndex( temp );
-            }
-        else 
-            {
-            iIndex = iWlanArray->GetArrayIndex( &iWlanInfo );
-            }
-
-        // create array of not-connected WLAN data 
-        FormatAndAppenWlanIapNameL();           
-        FormatAndAppenWlanSsidL();
-        FormatAndAppenSingnalL();
-        FormatAndAppenModeL();
-        FormatAndAppenSecurityL();
-        FormatAndAppenCoverageL();
-        FormatAndAppenSpeedL();
-        }
-    else if ( !aWlanInfo )// Current Wlan info has no signal
-        {
-        iWlanInfo.iStrengthLevel = EWlanSignalUnavailable;
-        FormatAndAppenWlanIapNameL();
-        FormatAndAppenWlanSsidL();
-        FormatAndAppenSingnalL();
-        }
-
-    for( TInt i = 0; i < iFormattedWlanInfo->MdcaCount(); i++)
-        {
-        TPtrC temp = iFormattedWlanInfo->MdcaPoint( i );
-        TBuf<100> tempElement = temp;
-        LOG_WRITEF( "(2)iFormattedWlanInfo: %S", &tempElement );
-        }
-                
-    return iFormattedWlanInfo;
-    }
-   
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatNextWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-
-CDesCArrayFlat* CWsfDetailsViewModel::FormatNextWlanInfoL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatNextWlanInfoL" );
-    _ASSERTD( iWlanArray );
-        
-    if( iIndex < VisibleWlans( *iWlanArray ) - 1 )
-        {
-        iFormattedWlanInfo->Reset();
-        iIndex++;
-        
-        if( iIndex >= VisibleWlans( *iWlanArray ) -1 )
-            {
-            iIndex = VisibleWlans( *iWlanArray ) -1;
-            }
-        else if ( iWlanInfo.SignalStrength() == ENoSignal )
-            {
-            iIndex = 0;
-            }
-            
-        iWlanInfo = *(iWlanArray->At( iIndex ) );
-        FormatAndAppenWlanIapNameL();
-        FormatAndAppenWlanSsidL();
-        FormatAndAppenSingnalL();
-        FormatAndAppenModeL();
-        FormatAndAppenSecurityL();
-        FormatAndAppenCoverageL();
-        FormatAndAppenSpeedL();
-        }
-        
-    return iFormattedWlanInfo;      
-    }
-
-   
-    
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatPreviousWlanInfoL()
-// ---------------------------------------------------------------------------
-//
-
-CDesCArrayFlat* CWsfDetailsViewModel::FormatPreviousWlanInfoL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatPreviousWlanInfoL" );
-    _ASSERTD( iWlanArray );
-    
-  
-    if( VisibleWlans( *iWlanArray )  )
-        {
-        iFormattedWlanInfo->Reset();
-        iIndex--;
-        
-        if ( iIndex < 0 || iWlanInfo.SignalStrength() == ENoSignal )
-            {
-            iIndex = 0;
-            }
-                       
-        iWlanInfo = *(iWlanArray->At( iIndex ) );
-        FormatAndAppenWlanIapNameL();
-        FormatAndAppenWlanSsidL();
-        FormatAndAppenSingnalL();
-        FormatAndAppenModeL();
-        FormatAndAppenSecurityL();
-        FormatAndAppenCoverageL();
-        FormatAndAppenSpeedL();
-        }
-    return iFormattedWlanInfo;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatPaneTextLC()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatPaneTextLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatPaneTextLC" );
-    HBufC* paneText = NULL;
-    
-    if ( iWlanInfo.SignalStrength() == ENoSignal )
-        {
-        paneText = KNullDesC().AllocLC();
-        }
-    else
-        {
-        if( VisibleWlans( *iWlanArray ) )
-            {
-            paneText = HBufC::NewLC( KPaneFormater().Length() + 
-                                     KNumberLegth + 
-                                     KNumberLegth );
-                                        
-            TPtr paneTextPrt = paneText->Des();
-
-            // Format string ( KListItemFormat = %i/%i )
-            paneTextPrt.Format( KPaneFormater, 
-                                iIndex + 1, 
-                                ( iWlanArray ) ? 
-                                    VisibleWlans( *iWlanArray ) : 0 );
-            }
-        else
-            {
-            paneText = KNullDesC().AllocLC();
-            }        
-        }
-        
-    return paneText;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatLeftScrollButton()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfDetailsViewModel::FormatLeftScrollButton()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatLeftScrollButton" );
-    TBool leftButton( EFalse );
-    
-    if ( iIndex == 0 )
-        {
-        leftButton = ETrue;
-        }
-    
-    return leftButton;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatRightScrollButton()
-// ---------------------------------------------------------------------------
-//
-TBool CWsfDetailsViewModel::FormatRightScrollButton()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatRightScrollButton" );
-    TBool rightButton( EFalse );
-    TUint count = iWlanArray->Count();
-    
-    if ( iIndex + 1 >= count )
-        {
-        rightButton = ETrue;
-        }
-    
-    return rightButton;
-    }
-    
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::GetWlanDetails()
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfDetailsViewModel::GetWlanDetails()
-    {
-    return iFormattedWlanInfo;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::WlanSsid()
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWsfDetailsViewModel::WlanSsid() const
-    {
-    return iWlanInfo.iSsid;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatListBoxItemLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatListBoxItemLC( 
-                                           const TUint aResourceId, 
-                                           const TDesC& aValueText ) const
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatListBoxItemLC" );
-  // hold the column name on list item
-    HBufC* columnName = NULL;
- 
-    if ( aResourceId )
-        {
-        columnName = StringLoader::LoadLC( aResourceId );
-        }
-    else
-        {
-        columnName = KNullDesC().AllocLC();
-        }
-
-
-    // Holds the list box item
-    HBufC* listBoxItem = HBufC::NewL( KListItemFormat().Length()+
-                                      columnName->Length() + 
-                                      aValueText.Length() );
-
-    // For formating needs
-    TPtr listBoxItemPrt = listBoxItem->Des();
-
-    // Format string ( KListItemFormat = %S\t%S )
-    listBoxItemPrt.Format( KListItemFormat, columnName, &aValueText );
-    CleanupStack::PopAndDestroy( columnName );
-    CleanupStack::PushL( listBoxItem );
-    return listBoxItem;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenWlanIapNameL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenWlanIapNameL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenWlanIapNameL" );
-    if ( iWlanInfo.iNetworkName.Length() )
-        {
-        HBufC* wlanIapName = iWlanInfo.GetIapNameAsUnicodeLC();
-        HBufC* listBoxItem = FormatListBoxItemLC( 
-                                R_QTN_CMON_HEADING_CONN_NAME, 
-                                *wlanIapName );
-                                              
-        iFormattedWlanInfo->AppendL( *listBoxItem );
-        CleanupStack::PopAndDestroy( listBoxItem );
-        CleanupStack::PopAndDestroy( wlanIapName );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenWlanSsidL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenWlanSsidL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenWlanSsidL" );
-    HBufC* wlanSsid = iWlanInfo.GetSsidAsUnicodeLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                R_QTN_SNIFFER_HEADING_WLAN_NETWORK_NAME, 
-                                *wlanSsid );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( wlanSsid );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSingnalL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSingnalL() 
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSingnalL" );    
-    HBufC* singnalStrength = FormatSingnalStrenghtLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                R_QTN_SNIFFER_HEADING_WLAN_SIGNAL_STRENGTH, 
-                                *singnalStrength );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( singnalStrength );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenModeL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenModeL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenModeL" ); 
-    HBufC* mode = FormatModeLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                R_QTN_SNIFFER_HEADING_WLAN_NETWORK_MODE, 
-                                *mode );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( mode );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSecurityL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSecurityL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSecurityL" );
-    HBufC* security = FormatSecurityLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                R_QTN_SNIFFER_HEADING_WLAN_SECURITY_MODE, 
-                                *security );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( security );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenCoverageL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenCoverageL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenCoverageL" );
-    HBufC* coverage = FormatCoverageLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                R_QTN_SNIFFER_HEADING_WLAN_NW_AP_AMOUNT, 
-                                *coverage );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( coverage );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatAndAppenSpeedL()
-// ---------------------------------------------------------------------------
-//
-void CWsfDetailsViewModel::FormatAndAppenSpeedL()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatAndAppenSpeedL" );
-    HBufC* speed = FormatSpeedLC();
-    HBufC* listBoxItem = FormatListBoxItemLC( 
-                                R_QTN_SNIFFER_HEADING_WLAN_NW_MAX_RATE, 
-                                *speed );
-                                              
-    iFormattedWlanInfo->AppendL( *listBoxItem );
-    CleanupStack::PopAndDestroy( listBoxItem );
-    CleanupStack::PopAndDestroy( speed );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatSingnalStrenghtLC()
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatSingnalStrenghtLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatSingnalStrenghtLC" );
-    // Holds the showed signal strenth string
-    HBufC* singnalStrengthString = NULL;
-       
-    // Get string
-    switch( iWlanInfo.SignalStrength() )
-        {
-        case ENoSignal:
-            {
-            singnalStrengthString = StringLoader::LoadLC( 
-                R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_NO_SIGNAL, iCoeEnv );   
-            break; 
-            }
-        case EPoor:
-            {
-            singnalStrengthString = StringLoader::LoadLC ( 
-                                    R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_LOW, 
-                                    iWlanInfo.SignalStrengthPercentage(), 
-                                    iCoeEnv );                   
-            break;
-            }
-        case EAverage:
-            {
-            singnalStrengthString = StringLoader::LoadLC ( 
-                                R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_MEDIUM, 
-                                iWlanInfo.SignalStrengthPercentage(), 
-                                iCoeEnv );                                 
-            break;
-            }
-        case EExcelent:
-            {
-            singnalStrengthString = StringLoader::LoadLC ( 
-                                R_QTN_SNIFFER_WLAN_SIGNAL_STRENGTH_STRONG, 
-                                iWlanInfo.SignalStrengthPercentage(), 
-                                iCoeEnv );                 
-            break;
-            }
-        default:
-            {
-            return KNullDesC().AllocLC();  
-            }
-
-        }    
-    return singnalStrengthString;  
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatModeLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatModeLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatModeLC" );
-    TInt resourceId(0);
-    
-    switch( iWlanInfo.iNetMode )
-        {
-        case EAdhoc:
-            {
-            resourceId = R_QTN_SNIFFER_WLAN_SETT_NEWTWORK_MODE_ADHOC;
-            break;
-            }
-
-        case EInfra:
-            {
-            resourceId = R_QTN_SNIFFER_WLAN_SETT_NEWTWORK_MODE_INFRA;
-            break;
-            }
-        default:
-            {
-            return KNullDesC().AllocLC();  
-            }
-
-        }
-        
-    return StringLoader::LoadLC( resourceId ); 
-    }
-
-// ---------------------------------------------------------
-// CWsfDetailsViewModel::FormatSecurityLC
-// ---------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatSecurityLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatSecurityLC" );
-    TInt resourceId(0);
-    
-    switch( iWlanInfo.iSecurityMode )
-        {
-        
-        case EWlanSecModeOpen:
-            {
-            resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_OPEN;
-            break;
-            }
-        case EWlanSecModeWep:
-            {
-            resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WEP;
-            break;
-            }
-        case EWlanSecMode802_1x:
-            {
-            resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_802_1X;
-            break;
-            }
-        case EWlanSecModeWpa:
-        case EWlanSecModeWpa2:
-            {
-            resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WPA;
-            break;
-            }
-        case EWlanSecModeWAPI:
-            {
-            resourceId = R_QTN_SNIFFER_WLAN_SETT_SECURITY_MODE_WAPI;
-            break;
-            }
-        default:
-            {
-            return KNullDesC().AllocLC();  
-            }
-        }
-
-    return StringLoader::LoadLC( resourceId );        
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatCoverageLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatCoverageLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatCoverageLC" );
-    if ( iWlanInfo.iCoverage == 1)
-        {
-        return StringLoader::LoadLC( 
-                            R_QTN_SNIFFER_WLAN_AP_AMOUNT_IN_RANGE, iCoeEnv ); 
-        }
-    else 
-        {
-        return StringLoader::LoadLC( 
-                            R_QTN_SNIFFER_WLAN_AP_AMOUNT_IN_RANGE_MANY, 
-                            iWlanInfo.iCoverage, iCoeEnv );    
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::FormatSpeedLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfDetailsViewModel::FormatSpeedLC()
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::FormatSpeedLC" );
-    //if data rate is allowed to be a fraction, 
-    //rewrite this format string
-    _LIT( KRateFmt, "%d" );
-
-    const TInt KMaxRateStringWidth = 8;
-    TBuf<KMaxRateStringWidth> rate;
-    rate.Format( KRateFmt, iWlanInfo.iTransferRate );
-    
-    return StringLoader::LoadLC( R_QTN_SNIFFER_WLAN_MAX_DATA_RATE, 
-                                 rate, iCoeEnv );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfDetailsViewModel::VisibleWlans
-// ---------------------------------------------------------------------------
-//
-TInt CWsfDetailsViewModel::VisibleWlans( CWsfWlanInfoArray& aArray )
-    {
-    LOG_ENTERFN( "CWsfDetailsViewModel::VisibleWlans" );
-    TInt i = 0;
-    TBool hiddenFound = EFalse;
-    TWsfWlanInfo* wlanInfo;
-    LOG_WRITEF( "Number of Wlans: %d", aArray.Count() );
-    while ( i < aArray.Count() && !hiddenFound )
-        {
-        wlanInfo = aArray[i];
-        if ( wlanInfo->Hidden() && !wlanInfo->Known() )
-            {
-            hiddenFound = ETrue;
-            }
-        else
-            {
-            ++i;                
-            }
-        }
-    
-    LOG_WRITEF( "VisibleWlans: %d", aArray.Count() );
-    return i;
-    }      
-
-// END OF FILE
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfdocument.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfDocument.
-*
-*/
-
-#include <featmgr.h>
-#include "wsfappui.h"
-#include "wsfdocument.h"
-#include "wsfwlaninfoarrayvisitor.h"
-
-#include "wsfmodel.h"
-
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfDocument* CWsfDocument::NewL( CEikApplication& aApp )
-    {
-    CWsfDocument* self = NewLC( aApp );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfDocument* CWsfDocument::NewLC( CEikApplication& aApp )
-    {
-    CWsfDocument* self = new ( ELeave ) CWsfDocument( aApp );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfDocument::ConstructL()
-    {
-    iModel = CWsfModel::NewL( iMainController, EFalse );
-    iModel->SetEngineObserver( &iMainController );
-    iWlanInfoBranding = CWsfWlanInfoArrayVisitor::NewL( EFalse );
-    iWlanInfoBranding->LoadFilterDefinitionsL();
-    }    
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::CWsfDocument
-// ---------------------------------------------------------------------------
-//
-CWsfDocument::CWsfDocument( CEikApplication& aApp ) : CAknDocument( aApp ) 
-    {
-    // no implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::~CWsfDocument
-// ---------------------------------------------------------------------------
-//
-CWsfDocument::~CWsfDocument()
-    {
-    delete iWlanInfoBranding;
-    delete iModel;
-    }
-
-// ---------------------------------------------------------------------------
-// CCWsfDocument::CreateAppUiL
-// ---------------------------------------------------------------------------
-//
-CEikAppUi* CWsfDocument::CreateAppUiL()
-    {
-    // Create the application user interface, and return a pointer to it,
-    // the framework takes ownership of this object
-    CWsfAppUi* appUi = new ( ELeave ) CWsfAppUi;
-    appUi->SetUiObserver( &iMainController );
-        
-    // Give references to main controller.
-    iMainController.Initialize( *appUi, *iModel, *iWlanInfoBranding );   
-    
-    return appUi;
-    }
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfentrypoint.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of E32Main.
-*
-*/
-
-#include <eikstart.h>
-#include "wsfapplication.h"
-
-
-// ---------------------------------------------------------------------------
-// NewApplication
-// Create an application, and return a pointer to it
-// ---------------------------------------------------------------------------
-//
-CApaApplication* NewApplication()
-    {
-    return new CWsfApplication;
-    }
-
-// ---------------------------------------------------------------------------
-// E32Main
-// ---------------------------------------------------------------------------
-//
-TInt E32Main()
-    {
-    return EikStart::RunApplication( NewApplication );
-    }
-
-
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmaincontroller.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,901 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of TWsfMainController.
-*
-*/
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-#include <wlansniffer.rsg>
-#include <utf.h>
-#include <apgcli.h>
-#include <AknQueryDialog.h>
-#include <StringLoader.h>
-
-#include <cmmanagerext.h>
-
-//  CLASS HEADER
-#include "wsfmaincontroller.h"
-
-//  INTERNAL INCLUDES
-#include "wsfmodel.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfappui.h"
-#include "wsfmainviewcontrollerif.h"
-#include "wsfdetailsviewcontrollerif.h"
-#include "wsfmainapplication.hrh"
-#include "wsfwlaninfoarrayvisitor.h"
-
-#include "wsflogger.h"
-
-//  LOCAL DEFINITIONS
-#ifdef _DEBUG
-    _LIT( KMainControllerPanic, "TWsfMainController" );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KMainControllerPanic, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::Initialize
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::Initialize( 
-                            CWsfAppUi& aAppUi, 
-                            CWsfModel& aModel, 
-                            CWsfWlanInfoArrayVisitor &aWlanInfoBranding )
-    {
-    iAppUi = &aAppUi;
-    iModel = &aModel;
-    iWlanInfoBranding = &aWlanInfoBranding;
-    iModel->SetConnecting( EFalse );
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::UpdateViewL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::UpdateViewL()
-    {
-    LOG_ENTERFN( "TWsfMainController::UpdateViewL" ); 
-    CWsfWlanInfoArray* array = iModel->GetWlanListL();
-    array->SortArrayL( *iWlanInfoBranding );
- 
-    LOG_WRITEF( "ActiveViewL: %x", iModel->ActiveViewL().iUid );
-    switch ( iModel->ActiveViewL().iUid )
-        {
-        case EMainViewId:
-            {  
-            _ASSERTD( iMainView );          
-            iMainView->UpdateWlanListL( array );  
-            break;
-            }
-
-        case EDetailsViewId:
-            {
-            _ASSERTD( iDetailsView );
-            iDetailsView->WlanListChangedL( array );
-            break;           
-            }
-        case EConnectedDetailsViewId:
-            {
-            iMainView->UpdateWlanListL( array );  
-            iAppUi->UpdateConnectedDetailsL( array );
-            break;           
-            }
-        default:
-            {
-            // Invalid view ID, make panic.
-            _ASSERTD( 0 );   
-            break;    
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::UpdateViewL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::UpdateViewL( CWsfWlanInfoArray* aInfoArray )
-    {
-    LOG_ENTERFN( "TWsfMainController::UpdateViewL( aInfoArray ) " );
-    LOG_WRITEF( "ActiveViewL: %x", iModel->ActiveViewL().iUid );    
-    switch ( iModel->ActiveViewL().iUid )
-        {
-        case EMainViewId:
-            {            
-            iMainView->UpdateWlanListL( aInfoArray );  
-            break;
-            }
-
-        case EDetailsViewId:
-            {
-            iDetailsView->WlanListChangedL( aInfoArray );
-            break;           
-            }
-        case EConnectedDetailsViewId:
-            {
-            iMainView->UpdateWlanListL( aInfoArray );  
-            iAppUi->UpdateConnectedDetailsL( aInfoArray );
-            break;           
-            }
-        default:
-            {
-            // Invalid view ID, make panic.
-            _ASSERTD( 0 );   
-            break;    
-            }
-        }    
-    }
-
-// Events from AppUi
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ShowWlanListL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ShowWlanListL()
-    {
-    LOG_ENTERFN( "TWsfMainController::ShowWlanListL" ); 
-    _ASSERTD( iAppUi );    
-    _ASSERTD( iModel );
-        
-    iModel->SetActiveViewL( EMainViewId );
-    iAppUi->ActivateMainViewL();
-    }
-        
-// ---------------------------------------------------------------------------
-// TWsfMainController::ShowDetailsL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ShowDetailsL()
-   {
-   LOG_ENTERFN( "TWsfMainController::ShowDetailsL" ); 
-    _ASSERTD( iAppUi );    
-    _ASSERTD( iModel );
-    _ASSERTD( iModel->ActiveViewL().iUid != EDetailsViewId );
-
-    TWsfWlanInfo* selectedWlan = iMainView->SelectedItem();
-    
-    if ( selectedWlan ) 
-        {
-        TBool connected = selectedWlan->Connected();
-        
-        if( connected ) // Connected Details View - Replaced with dialog
-            {
-            // Work around - Emulated view
-            iModel->SetActiveViewL( EConnectedDetailsViewId );
-            // Holds selected wlan Ssid
-            HBufC8* ssid = selectedWlan->GetSsidAsUtf8LC(); 
-        
-            // Holds current wlan array 
-            if ( !iInfoArray )
-                {
-                iInfoArray = iModel->GetWlanListL();
-                iInfoArray->SortArrayL( *iWlanInfoBranding );
-                }
-            // Start and execute the Connected Details dialog
-            // Set array and Ssid to detail view
-            iAppUi->StartConnectedDetailsL( iInfoArray, *ssid );
-            CleanupStack::PopAndDestroy( ssid ); 
-            
-            // After the dismissal of the Connected Details dialog, 
-            // change back to the main view 
-            ShowWlanListL();
-            }
-        else
-            {
-            iDetailsView = &( iAppUi->DetailsView( EDetailsViewId ) ); 
-              iModel->SetActiveViewL( EDetailsViewId );
-            iDetailsView->SetPartner( *this );
-        
-            // Holds selected wlan Ssid
-            HBufC8* ssid = selectedWlan->GetSsidAsUtf8LC(); 
-        
-            // Holds current wlan array 
-            if ( !iInfoArray )
-                {
-                iInfoArray = iModel->GetWlanListL();
-                iInfoArray->SortArrayL( *iWlanInfoBranding );
-                }
-            //Set array and Ssid to detail view
-            iDetailsView->SetWlanListL( iInfoArray, *ssid );
-        
-            CleanupStack::PopAndDestroy( ssid );        
-            
-            iAppUi->ActivateDetailsViewL( iModel->ActiveViewL() );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::MainViewCreatedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::MainViewCreatedL()
-    {
-    LOG_ENTERFN( "TWsfMainController::MainViewCreatedL" );
-    iMainView = &( iAppUi->MainView() ); 
-    iMainView->SetPartner( *this );
-    iModel->SetActiveViewL( EMainViewId );
-    
-    if ( !iModel->Refreshing() )
-            { 
-            iModel->SetRefreshState( ETrue );               
-            }
-     }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::WlanListChangedL
-// ---------------------------------------------------------------------------
-//  
-void TWsfMainController::WlanListChangedL()
-    {
-    LOG_ENTERFN( "TWsfMainController::WlanListChangedL" ); 
-    
-    if ( iModel->IsConnecting() )
-        {
-        LOG_WRITE( "We are connecting just return from here" );
-        return;
-        }
-    
-    if ( iModel->Refreshing() )
-        {          
-        iModel->SetRefreshState( EFalse );
-        if ( iAppUi )
-            {            
-            iAppUi->HideWaitNoteL();
-            iInfoArray = iModel->GetWlanListL();
-            if ( !iInfoArray->Count() )
-                {        
-                iAppUi->ShowNoWlansFoundInfoL();       
-                }
-            UpdateViewL();        
-            }
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// TWsfMainController::NotifyEngineError
-// ---------------------------------------------------------------------------
-//  
-void TWsfMainController::NotifyEngineError( TInt aError )
-    {
-    LOG_ENTERFN( "TWsfMainController::NotifyEngineError" );
-    switch ( aError )
-        {
-        case KErrServerTerminated:
-            {
-            break;
-            }
-            
-        default:
-            {
-            TRAP_IGNORE( iAppUi->ShowGlobalErrorNoteL( aError ) );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ScanDisabledL
-// ---------------------------------------------------------------------------
-//          
-void TWsfMainController::ScanDisabledL()
-    {
-    // no implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ScanEnabledL
-// ---------------------------------------------------------------------------
-//  
-void TWsfMainController::ScanEnabledL()
-    {
-    // no implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::WlanConnectionActivatedL
-// ---------------------------------------------------------------------------
-// 
-void TWsfMainController::WlanConnectionActivatedL( 
-                                                const TDesC& aAccessPointName )
-    {
-    LOG_ENTERFN( "TWsfMainController::WlanConnectionActivatedL" ); 
-    
-    // update the model and refresh ui
-    if ( iInfoArray )
-        {
-        TBool found = EFalse; 
-        TWsfWlanInfo info;
-        iModel->GetConnectedWlanDetailsL( info );
-        if ( info.iIapId )
-            {
-            // find the entry for iapid
-            // mark it connected - sort the array and refresh
-            TWsfWlanInfo* temp = iInfoArray->Match( info.iIapId, 
-                                                    iInfoArray->Count() );
-            if ( temp )
-               {
-               found = ETrue;
-               temp->iConnectionState = EConnected;
-               iInfoArray->SortArrayL();
-               UpdateViewL( iInfoArray );
-               }
-            }
-
-        if ( !found )
-            {
-            // find the entry for aAccessPointName
-            // mark it connected - sort the array and refresh
-            TBuf8<KWlanMaxSsidLength> ssid;
-            CnvUtfConverter::ConvertFromUnicodeToUtf8( ssid, aAccessPointName );
-            
-            TWsfWlanInfo* temp = iInfoArray->Match( ssid, iInfoArray->Count() );
-            if ( temp )
-                {
-                temp->iConnectionState = EConnected;
-                iInfoArray->SortArrayL();
-                UpdateViewL( iInfoArray );
-                }
-            }
-        }
-
-    //Update icon
-    iModel->RefreshScanL();   
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::WlanConnectionClosedL
-// ---------------------------------------------------------------------------
-//         
-void TWsfMainController::WlanConnectionClosedL()
-    {
-    LOG_ENTERFN( "TWsfMainController::WlanConnectionClosedL" ); 
-    // update the model and refresh ui
-    if ( iInfoArray )
-        {
-        // check if the array has any items
-        if ( iInfoArray->Count() )
-            {
-            TWsfWlanInfo* firstItem = iInfoArray->At( 0 );
-            if ( firstItem && firstItem->Connected() )
-                {
-                firstItem->iConnectionState = ENotConnected;
-                TRAPD( error, iModel->CheckIsIapIdValidL( firstItem->iIapId ) );
-                if ( error )
-                    {
-                    LOG_WRITEF( "Iap Id is not valid - error=%d", error );
-                    if ( firstItem->iRawSsid.Length() )
-                        {
-                        firstItem->iSsid.Copy( firstItem->iRawSsid );
-                        }
-                    firstItem->iIapId = 0;
-                    }
-                iInfoArray->SortArrayL();
-                UpdateViewL( iInfoArray );                    
-                }
-            }
-        }
-
-    // Abort current scan if exists so that we get 
-    // newest scan results propagated to ui
-    iModel->AbortScanningL();
-    iModel->RefreshScanL();     
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectionCreationProcessFinishedL( TInt /*aResult*/ )
-    {
-    // no implementation required
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ShowMenuBarL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ShowMenuBarL()
-    {
-    LOG_ENTERFN( "TWsfMainController::ShowMenuBarL" ); 
-    iAppUi->ShowMenuBarL();
-    }
-    
-// --------------------------- Events from the details view ------------------
-    
-// ---------------------------------------------------------------------------
-// TWsfMainController::CloseDetailsViewL
-// ---------------------------------------------------------------------------
-//    
-void TWsfMainController::CloseDetailsViewL()
-    {
-    LOG_ENTERFN( "TWsfMainController::CloseDetailsViewL" ); 
-    ShowWlanListL();
-    // After the Details View closed the mainview's 
-    // WlanList will be refreshed.
-    iModel->RefreshScanL();
-    }
-
-// ------------------------------- Menu press handler ------------------------
-
-
-// ----------------------------------------------------------------------------
-// TWsfMainController::StartBrowsingL
-// ----------------------------------------------------------------------------
-//
-void TWsfMainController::StartBrowsingL()
-    {
-    LOG_ENTERFN( "TWsfMainController::StartBrowsingL" ); 
-    if ( iAppUi->SuppressingKeyEvents() || iModel->IsConnectedL() && 
-             ( !iMainView->SelectedItem() || 
-               !iMainView->SelectedItem()->Connected() ) )
-        {
-        iAppUi->ShowErrorNoteL( R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE );
-        return;
-        }
-    
-    // make sure we don't suppress our key events forever
-    CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEvents, this ) );
-    iAppUi->SetSuppressingKeyEvents( ETrue );
-    
-    TWsfWlanInfo* selectedItem = iMainView->SelectedItem();
-    TWsfWlanInfo info;
-
-    if ( selectedItem )
-        {
-        info = *selectedItem;
-        }
-    
-    // Prevent connections to ad-hoc + WPA 
-    if ( info.iNetMode == CMManager::EAdhoc 
-            && info.iSecurityMode == CMManager::EWlanSecModeWpa )
-        {
-        iAppUi->ShowGlobalErrorNoteL( KErrNotSupported );
-        return;
-        }
-
-    TInt result( KErrNone );
-    
-    if ( !info.Known() && !info.Connected() )
-        {
-        // if not known yet, create an IAP
-        if ( iModel->CreateAccessPointL( info, EFalse ) )
-            {
-            // update iapID to list
-            UpdateIapIdToInfoArray( info );
-            
-            // on success, test it and save it as well
-            result = iModel->TestAccessPointL( info, ETrue, EFalse );
-            }
-        else
-            {
-            result = KErrGeneral;
-            }
-        }
-    else if ( info.iIapId && !info.Connected() )
-        {
-        // hopefully we have a valid IAP id inside
-        result = iModel->ConnectL( info.iIapId );
-        }
-    
-    // pop cleanup item ReleaseSuppressingKeyEvents
-    CleanupStack::Pop();
-    iAppUi->SetSuppressingKeyEvents( EFalse );
-
-    if ( !result )
-        {
-        TUint32 passedIap( info.iIapId );
-
-        if ( info.Connected() && !passedIap )
-            {
-            // in case we have an EasyWLAN here
-            RCmManagerExt cmmanager;
-            cmmanager.OpenLC();
-
-            passedIap = cmmanager.EasyWlanIdL();
-            
-            CleanupStack::PopAndDestroy( &cmmanager );
-            }
-        
-        // launch the browser
-        iModel->LaunchBrowserL( passedIap );
-        }
-    else if ( result == KErrCancel )
-        {
-        // connection creation was cancelled, refresh the view
-        iModel->RefreshScanL();
-        }
-    
-    }
-
-    
-// ----------------------------------------------------------------------------
-// TWsfMainController::ConnectL
-// ----------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectL()
-    {
-    LOG_ENTERFN( "TWsfMainController::ConnectL" ); 
-    if ( iAppUi->SuppressingKeyEvents() || iModel->IsConnectedL() )
-        {
-        iAppUi->ShowErrorNoteL( R_QTN_WLAN_INFO_CONNECTION_ALREADY_ACTIVE );
-        return;
-        }
-    
-    // make sure we don't suppress our key events forever
-    CleanupStack::PushL( TCleanupItem( ReleaseSuppressingKeyEvents, this ) );
-    iAppUi->SetSuppressingKeyEvents( ETrue );
-    
-    TWsfWlanInfo* selectedItem = iMainView->SelectedItem();
-    TWsfWlanInfo info;
-
-    if ( selectedItem )
-        {
-        info = *selectedItem;
-        }
-    
-    // Prevent connections to ad-hoc + WPA 
-    if ( info.iNetMode == CMManager::EAdhoc 
-            && info.iSecurityMode == CMManager::EWlanSecModeWpa )
-        {
-        iAppUi->ShowGlobalErrorNoteL( KErrNotSupported );
-        return;
-        }
-        
-    if ( !info.Known() )
-        {
-        // a new access point needs to be created
-        if ( iModel->CreateAccessPointL( info, EFalse ) )
-            {
-            // update iapID to list
-            UpdateIapIdToInfoArray( info );
-
-            // on success, test it and save it as well
-            // (testing actually creates the connection)
-            if ( iModel->TestAccessPointL( info, ETrue, ETrue ) == KErrCancel )
-                {
-                // connection creation was cancelled, refresh the view
-                iModel->RefreshScanL();
-                }
-            }
-        }
-    else if ( info.iIapId )
-        {
-        // hopefully we have a valid IAP id inside
-        iModel->ConnectL( info.iIapId );
-        }
-
-    // pop cleanup item ReleaseSuppressingKeyEvents
-    CleanupStack::Pop();
-    iAppUi->SetSuppressingKeyEvents( EFalse );  
-
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::UpdateIapIdToInfoArray
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::UpdateIapIdToInfoArray( TWsfWlanInfo& aInfo )
-    {
-    LOG_ENTERFN( "TWsfMainController::UpdateIapIdToInfoArray" ); 
-    TWsfWlanInfo* temp = iInfoArray->Match( aInfo.iSsid, iInfoArray->Count() );
-    if ( temp && !aInfo.Hidden() )
-        {
-        LOG_WRITE( "Info found" );
-        
-        // Check that there aren't any IAPs with same id
-        TWsfWlanInfo* wlanInfoWithSameIapId = iInfoArray->Match( aInfo.iIapId, 
-                                                iInfoArray->Count() );
-        if ( wlanInfoWithSameIapId )
-            {
-            // info with same id found set its iap id to zero
-            LOG_WRITE( "info with same id found" );
-            wlanInfoWithSameIapId->iIapId = 0;
-            }
-        
-        temp->iIapId = aInfo.iIapId;
-        
-        if ( aInfo.iNetworkName.Length() )
-            {
-            // Replace ssid as well since scanner does this same thing
-            temp->iSsid.Copy( aInfo.iNetworkName );
-            }
-        }
-    else
-        {
-        LOG_WRITE( "Info not found" );
-        TWsfWlanInfo* createdInfo = new (ELeave) TWsfWlanInfo( aInfo );
-        createdInfo->iVisibility = ETrue;
-        createdInfo->iStrengthLevel = EWlanSignalStrengthMax;
-        iInfoArray->AppendL( createdInfo );
-        }
-    }
-    
-// ---------------------------------------------------------------------------
-// TWsfMainController::DisconnectL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::DisconnectL()
-    {
-    LOG_ENTERFN( "TWsfMainController::DisconnectL" ); 
-    if ( iModel->IsConnecting() )
-        {
-        LOG_WRITE( "Abort connecting" );
-        iModel->AbortConnectingL();
-        }
-    else
-        {
-        LOG_WRITE( "Disconnect" );
-        iModel->DisconnectL();
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::RefreshL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::RefreshL()
-    {
-    LOG_ENTERFN( "TWsfMainController::RefreshL" ); 
-    TBool refreshing = iModel->RefreshScanL();
-    if ( refreshing )
-        {    
-        iAppUi->StartWaitNoteL( ETrue );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ContinueBrowsingL
-// ---------------------------------------------------------------------------
-//        
-void TWsfMainController::ContinueBrowsingL()
-    {
-    LOG_ENTERFN( "TWsfMainController::ContinueBrowsingL" ); 
-    // pass selected WLAN info to engine
-    TWsfWlanInfo *selectedItem = iMainView->SelectedItem();
-
-    if ( selectedItem )
-        {
-        // Prevent connections to ad-hoc + WPA 
-        if ( selectedItem->iNetMode == CMManager::EAdhoc 
-                && selectedItem->iSecurityMode == CMManager::EWlanSecModeWpa )
-            {
-            iAppUi->ShowGlobalErrorNoteL( KErrNotSupported );
-            return;
-            }
-        
-        TUint iapId = selectedItem->iIapId;
-        iModel->ContinueBrowsingL( iapId );
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::EngineRefreshing
-// ---------------------------------------------------------------------------
-//     
-TBool TWsfMainController::EngineRefreshing()
-    {
-    LOG_ENTERFN( "TWsfMainController::EngineRefreshing" );
-    _ASSERTD( iModel );    
-    return iModel->Refreshing();
-    }
-    
-// ---------------------------------------------------------------------------
-// TWsfMainController::AppLaunchCompleteL
-// ---------------------------------------------------------------------------
-// 
-void TWsfMainController::AppLaunchCompleteL()
-    {
-    LOG_ENTERFN( "TWsfMainController::AppLaunchCompleteL" ); 
-    iAppUi->StartWaitNoteL( EFalse );
-    iModel->EnableScanL();
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::AppSwitchedForegroundL
-// ---------------------------------------------------------------------------
-// 
-void TWsfMainController::AppSwitchedForegroundL()
-    {
-    LOG_ENTERFN( "TWsfMainController::AppSwitchedForegroundL" ); 
-
-    //turn on scanning for our point of view
-    iModel->EnableScanL();
-
-    if ( !iModel->IsConnecting() )
-        {
-        LOG_WRITE( "Scan now" ); 
-        TBool scan = iModel->RefreshScanL();
-        if( !scan )
-            {
-            LOG_WRITE( "Set refresh state to true" );
-            //if the refresh call was called when the server was
-            //actually making a scan then the refresh state of the
-            //model is turned to false, but in this case the scanning
-            //wait note will stuck on the screen, That's why the
-            //refresh state must be turned to true
-            iModel->SetRefreshState( ETrue );
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::AppSwitchedBackgroundL
-// ---------------------------------------------------------------------------
-// 
-void TWsfMainController::AppSwitchedBackgroundL()
-    {
-    LOG_ENTERFN( "TWsfMainController::AppSwitchedBackgroundL" ); 
-    iModel->DisableScanL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchCompleteL
-// ---------------------------------------------------------------------------
-// 
-void TWsfMainController::BrowserLaunchCompleteL()
-    {
-    LOG_ENTERFN( "TWsfMainController::BrowserLaunchCompleteL" );
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserExitL
-// ---------------------------------------------------------------------------
-// 
-void TWsfMainController::BrowserExitL()
-    {
-    LOG_ENTERFN( "TWsfMainController::BrowserExitL" ); 
-    iModel->AbortScanningL();
-    iModel->RefreshScanL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::BrowserLaunchFailed
-// ---------------------------------------------------------------------------
-//
-void  TWsfMainController::BrowserLaunchFailed( TInt aError )
-    {
-    LOG_ENTERFN( "TWsfMainController::BrowserLaunchFailed" ); 
-    LOG_WRITEF( "error = %d", aError );
-    switch ( aError )
-        {
-        case KErrCancel:
-            {
-            // user pressed cancel to connection creation
-            break;
-            }
-        
-        default:
-            {
-            break;
-            }
-        }
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectingL( TUint32 aIapId )
-    {
-    LOG_ENTERFN( "TWsfMainController::ConnectingL" ); 
-    iModel->SetConnecting( ETrue );
-    
-    // update the model and refresh ui
-    if ( iInfoArray )
-        {
-        LOG_WRITEF( "Match array with iapID = %d", aIapId );
-        // find the entry for aIapId
-        // mark it connecting - sort the array and refresh
-        TWsfWlanInfo* temp = iInfoArray->Match( aIapId, iInfoArray->Count() );
-        if ( temp )
-            {
-            LOG_WRITEF( "Info found iapID = %d", aIapId );
-            temp->iConnectionState = EConnecting;
-            iInfoArray->SortArrayL();
-            UpdateViewL( iInfoArray );
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ConnectingFinishedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ConnectingFinishedL( TInt aResult )
-    {
-    LOG_ENTERFN( "TWsfMainController::ConnectingFinishedL" ); 
-    if ( iModel->IsConnecting() )
-        {
-        iModel->SetConnecting( EFalse );
-        iModel->SetRefreshState( ETrue );
-        iAppUi->HideWaitNoteL();
-        }
-    
-    if ( aResult != KErrNone && aResult != KErrCancel )
-        {
-        LOG_WRITEF( "Connection failed with error=%d", aResult );
-        if ( iInfoArray && iInfoArray->Count() && 
-                iInfoArray->At(0)->iConnectionState == EConnecting )
-            {
-            iInfoArray->At(0)->iConnectionState = ENotConnected;
-            TRAPD( error, iModel->CheckIsIapIdValidL( 
-                                                iInfoArray->At(0)->iIapId ) );
-            if ( error )
-                {
-                LOG_WRITEF( "Iap Id %d is not valid - error=%d", 
-                            iInfoArray->At(0)->iIapId, error );
-                
-                if ( iInfoArray->At(0)->iRawSsid.Length() )
-                    {
-                    iInfoArray->At(0)->iSsid.Copy( 
-                                                iInfoArray->At(0)->iRawSsid );
-                    }
-                
-                iInfoArray->At(0)->iIapId = 0;
-                }
-            iInfoArray->SortArrayL();
-            UpdateViewL( iInfoArray );
-            iModel->AbortScanningL();
-            iModel->RefreshScanL();
-            }
-        }
-    }
-
-    
-// ---------------------------------------------------------------------------
-// TWsfMainController::EditBlackListItemsL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::EditBlackListItemsL()
-    {
-    LOG_ENTERFN( "TWsfMainController::EditBlackListItemsL" ); 
-    _ASSERTD( iWlanInfoBranding );
-    iWlanInfoBranding->EditBlackListL( *iInfoArray );
-    iModel->RefreshScanL();    
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::DetailsScanL
-// ---------------------------------------------------------------------------
-//    
-void TWsfMainController::DetailsScanL()
-    {
-    LOG_ENTERFN( "TWsfMainController::DetailsScanL" ); 
-    iModel->RefreshScanL();
-    }    
-
-// ---------------------------------------------------------------------------
-// TWsfMainController::ReleaseSuppressingKeyEvents
-// ---------------------------------------------------------------------------
-//
-void TWsfMainController::ReleaseSuppressingKeyEvents( TAny* aPtr )
-    {
-    TWsfMainController* self = 
-                        static_cast<TWsfMainController*>( aPtr );
-    self->iAppUi->SetSuppressingKeyEvents( EFalse );
-    self->iModel->SetConnecting( EFalse );
-    TRAP_IGNORE( self->iModel->RefreshScanL() );
-    }
-      
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainview.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,490 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfMainView.
-*
-*/
-
-//External Includes
-#include <coemain.h>
-#include <eikmenub.h>
-#include <aknViewAppUi.h>
-#include <wlansniffer.rsg>
-#include <featmgr.h>
-#include <rconnmon.h>
-#include <apgcli.h>
-
-//Internal Includes
-#include "wsfdocument.h"
-#include "wsfwlaninfoarrayvisitor.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfmainview.h"
-#include "wsfmainviewmodel.h"
-#include "wsfmainviewcontainer.h"
-#include "wsfmainapplication.hrh"
-#include "wsfactivewaiter.h"
-#include "wsfappui.h"
-
-#include "wsflogger.h"
-
-    
-// Standard construction sequence
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfMainView* CWsfMainView::NewL( TBool aIsEmbedded )
-    {
-    LOG_ENTERFN( "CWsfMainView::NewL" );
-    CWsfMainView* self = CWsfMainView::NewLC( aIsEmbedded );
-    CleanupStack::Pop( self );
-    return self;
-    } 
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfMainView* CWsfMainView::NewLC( TBool aIsEmbedded )
-    {
-    LOG_ENTERFN( "CWsfMainView::NewLC" );
-    CWsfMainView* self = new ( ELeave ) CWsfMainView;
-    CleanupStack::PushL( self );
-    self->ConstructL( aIsEmbedded );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::CWsfMainView
-// ---------------------------------------------------------------------------
-//
-CWsfMainView::CWsfMainView()
-    {
-    // no implementation required
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::~CWsfMainView
-// ---------------------------------------------------------------------------
-//
-CWsfMainView::~CWsfMainView()
-    {
-    LOG_ENTERFN( "CWsfMainView::~CWsfMainView" );
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        }
-
-    delete iContainer;
-    delete iModel;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::ConstructL( TBool aIsEmbedded )
-    {
-    LOG_ENTERFN( "CWsfMainView::ConstructL" );
-    TInt actView( NULL );
-    
-    if ( aIsEmbedded ) // started from CP
-        {
-        actView = R_SNIFFER_CP_MAINVIEW;
-        }
-    else
-        {
-        actView = R_SNIFFER_MAINVIEW;
-        }
-                
-    BaseConstructL( actView );
-    iModel = CWsfMainViewModel::NewL();
-    iController.SetModel( iModel );    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::Id
-// ---------------------------------------------------------------------------
-//
-TUid CWsfMainView::Id() const
-    {
-    return TUid::Uid( EMainViewId );  
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::HandleCommandL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::HandleCommandL( TInt aCommand )
-    {
-    switch ( aCommand )
-        {
-        case EAknSoftkeyOk:
-            {
-            break;
-            }
-        case EAknSoftkeyBack:
-            {
-            AppUi()->HandleCommandL( EAknCmdExit );
-            break;
-            }
-        case EAknSoftkeyContextOptions:
-            {
-            MenuBar()->SetMenuTitleResourceId( R_SNIFFER_CONTEXT_MENUBAR );
-            MenuBar()->SetMenuType( CEikMenuBar::EMenuContext ); 
-            MenuBar()->TryDisplayMenuBarL();
-            MenuBar()->SetMenuTitleResourceId( R_SNIFFER_MENUBAR );
-            MenuBar()->SetMenuType( CEikMenuBar::EMenuOptions ); 
-            break;
-            }
-        default:
-            {
-            AppUi()->HandleCommandL( aCommand );
-            break;
-            }
-        }    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::DoActivateL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::DoActivateL( const TVwsViewId& /*aPrevViewId*/, 
-                                TUid /*aCustomMessageId*/, 
-                                const TDesC8& /*aCustomMessage*/)
-    {
-    LOG_ENTERFN( "CWsfMainView::DoActivateL" );
-    if ( !iContainer )
-        { 
-        iContainer = CWsfMainViewContainer::NewL( ClientRect() );
-        // set icons array to list        
-        iContainer->SetMopParent( this );
-        iContainer->SetPartner( iController );
-        iContainer->ListBox()->SetListBoxObserver( this );
-        AppUi()->AddToViewStackL( *this, iContainer );
-        iController.SetContainer( iContainer );        
-        }
-   
-    iContainer->MakeVisible( ETrue );     
-    iController.RefreshL();
-    MenuBar()->SetContextMenuTitleResourceId( R_SNIFFER_CONTEXT_MENUBAR );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::DoDeactivate
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::DoDeactivate()
-    {
-    LOG_ENTERFN( "CWsfMainView::DoDeactivate" );
-    if ( iContainer )
-        {
-        AppUi()->RemoveFromViewStack( *this, iContainer );
-        iController.SetContainer( NULL );
-        delete iContainer;
-        iContainer = NULL;   
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::Controller
-// ---------------------------------------------------------------------------
-//
-MWsfMainViewControllerIf& CWsfMainView::Controller()
-    {
-    return iController;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfMainView::DynInitMenuPaneL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::DynInitMenuPaneL( TInt aResourceId, 
-                                     CEikMenuPane* aMenuPane )
-    {
-    iController.UpdateSelectedItemL();
-    
-    if ( aResourceId == R_SNIFFER_MENU )
-        {
-        LOG_ENTERFN( "CWsfMainView::DynInitMenuPaneL" );
-        const CWsfDocument* doc = static_cast<const CWsfDocument*>( 
-                                                         AppUi()->Document() );
-        TBool blacklistEmpty( !doc->WlanInfoBranding().BlackListItemCount() );
-        TWsfWlanInfo *selectedItem = iController.SelectedItem();
-        CWsfWlanInfoArray *infoArray = iModel->GetInfoArray();
-        
-        CWsfAppUi* appui = static_cast<CWsfAppUi*>( AppUi() );
-        TBool connecting( appui->SuppressingKeyEvents() );
-        
-        if ( !selectedItem )
-            {
-            // no real items available, but hidden item is present
-            aMenuPane->SetItemDimmed( ESnifferCmdStartBrowsing, EFalse );
-            aMenuPane->SetItemDimmed( ESnifferCmdContinueBrowsing, ETrue );
-            aMenuPane->SetItemDimmed( ESnifferCmdConnect, EFalse );
-            aMenuPane->SetItemDimmed( ESnifferCmdDisconnect, ETrue );
-            aMenuPane->SetItemDimmed( ESnifferCmdRefresh, connecting ); 
-            aMenuPane->SetItemDimmed( ESnifferCmdFilterWlans, 
-                                  connecting || !infoArray || blacklistEmpty );
-            aMenuPane->SetItemDimmed( ESnifferCmdDetails, ETrue );
-            aMenuPane->SetItemDimmed( ESnifferCmdSettings, connecting );
-            return;
-            }
-
-        TBool connectedAndUsed( StartWebBrowsingVisibleL() );
-        TBool connected( selectedItem->Connected() );
-        TBool known( selectedItem->Known() );
-        
-        TBool selectedItemConnecting ( 
-                selectedItem->ConnectionStatus() == EConnecting );
-
-        aMenuPane->SetItemDimmed( ESnifferCmdStartBrowsing, 
-                                  connectedAndUsed || selectedItemConnecting );
-        aMenuPane->SetItemDimmed( ESnifferCmdContinueBrowsing, 
-                                  !connectedAndUsed || selectedItemConnecting );
-
-        aMenuPane->SetItemDimmed( ESnifferCmdConnect, 
-                                  connected || selectedItemConnecting );
-        
-        aMenuPane->SetItemDimmed( ESnifferCmdDisconnect, 
-                                  !connected && !selectedItemConnecting); 
-        
-        aMenuPane->SetItemDimmed( ESnifferCmdRefresh, connecting ); 
-      
-        // dim filtering if no scan has been performed 
-        // or there is nothing to filter
-        aMenuPane->SetItemDimmed( ESnifferCmdFilterWlans, 
-                                  connecting ||
-                                  !infoArray ||
-                                  ( blacklistEmpty && 
-                                    ( !infoArray->Count() || 
-                                      ( infoArray->Count() == 1 && 
-                                        (*infoArray)[0]->Connected() ) ) ) );
-        
-        aMenuPane->SetItemDimmed( ESnifferCmdDetails, 
-                                  connecting || 
-                                  selectedItem->Hidden() && !known );
-        aMenuPane->SetItemDimmed( ESnifferCmdSettings, connecting );
-        }
-    else if ( aResourceId == R_SNIFFER_CONTEXT_MENU )
-        {
-        TWsfWlanInfo *selectedItem = iController.SelectedItem();
-        
-        // there must be always at least one item: "Other (unlisted)..."
-        TBool connectedAndUsed( StartWebBrowsingVisibleL() );
-        TBool connected( EFalse );
-        TBool known( EFalse );
-        TBool hidden( ETrue );
-        
-        CWsfAppUi* appui = static_cast<CWsfAppUi*>( AppUi() );
-        TBool connecting( appui->SuppressingKeyEvents() );
-        TBool selectedItemConnecting( EFalse );
-        
-        if ( selectedItem )
-            {
-            // workaround: even if the model reports no elements, we know that
-            // the hidden item must always be there
-            connected = selectedItem->Connected();
-            known = selectedItem->Known();
-            hidden = selectedItem->Hidden();
-            selectedItemConnecting = 
-                    ( selectedItem->ConnectionStatus() == EConnecting );
-            }
-
-        aMenuPane->SetItemDimmed( ESnifferCmdStartBrowsing, 
-                                  connectedAndUsed || selectedItemConnecting );
-        aMenuPane->SetItemDimmed( ESnifferCmdContinueBrowsing, 
-                                 !connectedAndUsed || selectedItemConnecting );
-
-        aMenuPane->SetItemDimmed( ESnifferCmdConnect, 
-                                  connected || selectedItemConnecting  );
-        aMenuPane->SetItemDimmed( ESnifferCmdDisconnect, 
-                                  !connected && !selectedItemConnecting );  
-        aMenuPane->SetItemDimmed( ESnifferCmdDetails, 
-                                  connecting || hidden && !known );
-        }
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::HandleListBoxEventL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::HandleListBoxEventL( CEikListBox* /*aListBox*/, 
-                                        TListBoxEvent aEventType )
-    {
-    switch ( aEventType )
-        {
-        case EEventEnterKeyPressed:
-        case EEventItemSingleClicked: 
-            {
-            HandleCommandL( EAknSoftkeyContextOptions );
-            }
-            break;
-        default:
-            break;
-        }
-    }    
-    
-
-// ---------------------------------------------------------------------------
-// CWsfMainView::SelectionKeyPressed
-// ---------------------------------------------------------------------------
-//
-void CWsfMainView::SelectionKeyPressed()
-    {
-    iSelectionKey = ETrue;
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CWsfMainView::StartWebBrowsingVisibleL
-// ---------------------------------------------------------------------------
-//
-TBool CWsfMainView::StartWebBrowsingVisibleL()
-    {
-    LOG_ENTERFN( "CWsfMainView::StartWebBrowsingVisibleL" );
-    const TInt KBrowserUid = 0x10008D39;
-    TUid id( TUid::Uid( KBrowserUid ) );
-    
-    // Check if the Browser application is already running.
-    TApaTaskList taskList( iEikonEnv->WsSession() );
-    TApaTask task = taskList.FindApp( id );
-    TBool isBrowserRuning( EFalse );
-    
-#ifndef __WINS__
-
-    if ( task.Exists() )
-        {
-        LOG_WRITE( "The Browser is running." );
-        // The Browser is already running.
-        // Check if the selected WLAN is connected.
-        TWsfWlanInfo* selectedItem = iController.SelectedItem();
-        TBool connected( EFalse );
-        if( selectedItem )
-        	{
-        	connected = selectedItem->Connected();
-        	}
-        LOG_WRITEF("Selected network Connected? %d", connected);
-
-        if ( connected )
-            {
-            RConnectionMonitor connectionMonitor;
-            connectionMonitor.ConnectL();
-            // We have to check if the Browser using the selected 
-            // connection.
-            // We have get the connectiond ID first.
-            CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
-            CleanupStack::PushL( waiter );
-            
-            // first call, need to get the connection parameters
-            TUint connectionCount( 0 );
-            
-            connectionMonitor.GetConnectionCount( connectionCount, 
-                                                  waiter->iStatus );
-            waiter->WaitForRequest();
-            
-            // find the connection with WLAN bearer 
-            // that will be the selected WLAN
-            TUint connectionId( 0 );
-            for ( TUint i = 1; i <= connectionCount; ++i )
-                {
-                TUint tmpConnectionId( 0 );
-                TUint subConnectionCount( 0 );
-                TConnMonBearerType bearerType( EBearerUnknown );
-                
-                connectionMonitor.GetConnectionInfo( i, 
-                                                     tmpConnectionId, 
-                                                     subConnectionCount );
-                connectionMonitor.GetIntAttribute( tmpConnectionId, 
-                                                   0, 
-                                                   KBearer, 
-                                                   ( TInt& )bearerType, 
-                                                   waiter->iStatus );
-                waiter->WaitForRequest();
-                if( bearerType == EBearerWLAN )
-                    {
-                    connectionId = tmpConnectionId;
-                    break;
-                    }
-                }
-            // Now we have the connectiond ID.
-            LOG_WRITEF( "connectionId: %d", connectionId );
-            
-            TInt count( 0 );
-            TConnMonClientEnumBuf clientBuf;
-                
-            connectionMonitor.GetPckgAttribute( connectionId,
-                                                0,
-                                                KClientInfo,
-                                                clientBuf,
-                                                waiter->iStatus );
-            waiter->WaitForRequest();
-            if ( !waiter->iStatus.Int() )
-                {
-                count = clientBuf().iCount;
-                }
-            
-            RApaLsSession appSess;
-            TApaAppInfo appInfo;
-            
-            // The connection could be shared by several applications
-            User::LeaveIfError( appSess.Connect() );
-            
-            TUint i;
-            for ( i = 0; i < count; i++ )
-                {
-                appInfo.iCaption.Zero();
-                TInt result = appSess.GetAppInfo( appInfo, 
-                                                  clientBuf().iUid[i] );
-                
-                LOG_WRITEF( "result: %d", result ); 
-                LOG_WRITEF( "iClientInfo.iUid[i].iUid: %x", 
-                             clientBuf().iUid[i].iUid );
-                
-                if ( clientBuf().iUid[i].iUid == KBrowserUid )
-                    {
-                    isBrowserRuning = ETrue;
-                    }
-                }
-            CleanupStack::PopAndDestroy( waiter );
-            appSess.Close();
-            connectionMonitor.Close();
-            }                
-        }
-    else 
-        {
-        LOG_WRITE( "No Browser running." );
-        }
-        
-#endif // __WINS__
-    
-    LOG_WRITEF( "isBrowserRuning: %d", isBrowserRuning ); 
-    return isBrowserRuning;
-    }
-
-
-
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontainer.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,803 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfMainViewContainer.
-*
-*/
-
-//  EXTERNAL INCLUDES
-#include <AknUtils.h>
-#include <aknlists.h>
-#include <badesca.h>
-#include <wlansniffer.rsg>
-#include <wsficons.mbg>
-#include <AknIconUtils.h>
-#include <AknsUtils.h>
-#include <gulicon.h> 
-#include <eikclbd.h> 
-#include <aknnavi.h>
-#include <aknnavide.h>
-#include <StringLoader.h>
-#include <eikenv.h> 
-#include <csxhelp/sniffer.hlp.hrh>
-
-
-//  INTERNAL INCLUDES
-#include "wsfmainviewcontainer.h"
-#include "wsfmainviewinternals.h"
-#include "wsfmainviewcontrollerpartner.h"
-#include "wsfdocument.h"
-#include "wsfwlaninfoarrayvisitor.h"
-#include "wsfappui.h"
-#include <wlansniffer.rsg>
-
-#include "wsflogger.h"
-
-
-
-//  LOCAL DEFINITIONS
-const TUint KIconListGranularity = 12; // Default size of the icons list
-// path of the app's iconfile
-_LIT( KIconFileName, "\\resource\\apps\\wsficons.mif" ); 
-
-const TInt KConnectingStepTime = 200 * 1000;
-
-_LIT( KFormat1Icon, "%d" );
-
-
-//  CONSTRUCTION AND DESTRUCTION
-// ---------------------------------------------------------
-// CWsfMainViewContainer::NewL
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer* CWsfMainViewContainer::NewL( const TRect& aRect )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::NewL" );
-    CWsfMainViewContainer* self = CWsfMainViewContainer::NewLC( aRect );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::NewLC
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer* CWsfMainViewContainer::NewLC( const TRect& aRect )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::NewLC" );
-    CWsfMainViewContainer* self = new( ELeave ) CWsfMainViewContainer;
-    CleanupStack::PushL( self );
-    self->ConstructL( aRect );
-    return self;
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::~CWsfMainViewContainer
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer::~CWsfMainViewContainer()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::~CWsfMainViewContainer" );
-    
-    StopConnectingAnimation();
-    
-    PopNaviPane();
-    
-    if ( iStatusConnecting )
-        {
-        delete iStatusConnecting;
-        }
-    
-    delete iListBox;
-    delete iNaviDecorator;
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::CWsfMainViewContainer
-// ---------------------------------------------------------
-//
-CWsfMainViewContainer::CWsfMainViewContainer()
-    {
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::ConstructL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::ConstructL( const TRect& aRect )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::ConstructL" );
-    CreateWindowL(); 
-   
-    iListBox = new( ELeave ) CAknDoubleGraphicStyleListBox();
-    TInt flags( EAknGenericListBoxFlags );
-    iListBox->SetMopParent(this); // 
-    iListBox->ConstructL( this, flags );    
-    iListBox->SetContainerWindowL(*this); 
-
-    iListBox->SetFocus(ETrue);
-        
-    iListBox->CreateScrollBarFrameL( ETrue );
-    iListBox->ScrollBarFrame()->SetScrollBarVisibilityL(
-                                               CEikScrollBarFrame::EOff,
-                                               CEikScrollBarFrame::EAuto );
-
-    SetListboxIconsL();
-    
-    iConnectingIcons[0] = KWlanOnIcon_0;
-    iConnectingIcons[1] = KWlanOnIcon_1;
-    iConnectingIcons[2] = KWlanOnIcon;
-    iConnectingIcons[3] = KWlanOnIcon_1;
-
-    SetRect( aRect );
-    iListBox->SetRect( Rect() );
-    ActivateL();    
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SizeChanged
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::SizeChanged()
-    {
-    iListBox->SetRect( Rect() );
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::CountComponentControls
-// ---------------------------------------------------------
-//
-TInt CWsfMainViewContainer::CountComponentControls() const
-    {
-    return 1;// return number of controls inside this container
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::ComponentControl
-// ---------------------------------------------------------
-//
-CCoeControl* CWsfMainViewContainer::ComponentControl(TInt aIndex) const
-    {
-    CCoeControl* object = NULL;
-    switch ( aIndex )
-        {
-        case 0:
-            object = iListBox;
-            break; 
-        default:
-            object = NULL;
-        }
-    return object;
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::OfferKeyEventL
-// ---------------------------------------------------------
-//
-TKeyResponse CWsfMainViewContainer::OfferKeyEventL( 
-                                                const TKeyEvent& aKeyEvent,
-                                                TEventCode aType )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::OfferKeyEventL" );
-    CWsfAppUi* appui = static_cast<CWsfAppUi*>( iEikonEnv->AppUi() );
-    
-    if ( appui->SuppressingKeyEvents() )
-        {
-        return EKeyWasConsumed;
-        }
-    
-    TKeyResponse result( EKeyWasNotConsumed );
-    if ( aType == EEventKey || aType == EEventKeyDown )
-        {
-        TInt index = iListBox->CurrentItemIndex();        
-        if( ( aKeyEvent.iCode == EKeyBackspace ) && ( index != -1 ) )
-            {
-            result =  EKeyWasConsumed;
-            }
-        else
-            {
-            result = iListBox->OfferKeyEventL( aKeyEvent, aType );
-
-            
-            if( aKeyEvent.iCode == EKeyUpArrow )
-                {
-                if( iPartner )
-                    {
-                    iPartner->HandleUpKeyPressedL();
-                    }
-                }   
-            else if( aKeyEvent.iCode == EKeyDownArrow )
-                {
-                if( iPartner )
-                    {
-                    iPartner->HandleDownKeyPressedL();
-                    }
-                }
-           else if( aKeyEvent.iCode == EKeyOK )
-                {
-                if( iPartner )
-                    {
-                    iPartner->HandleSelectionKeyPressedL();
-                    }
-  
-                }
-           }
-        }
-    return result;
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadGraphicsL
-// ---------------------------------------------------------
-//
-CAknIconArray* CWsfMainViewContainer::LoadGraphicsL()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::LoadGraphicsL" );   
-    CAknIconArray* icons = new(ELeave) CAknIconArray( KIconListGranularity );
-    CleanupStack::PushL( TCleanupItem( CleanUpResetAndDestroy,icons) );
-    
-    
-    //KWlanOnIcon
-    icons->InsertL( KWlanOnIcon, 
-            LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn, 
-                    EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on) );
-    CleanupStack::Pop(); /*icon*/
-    
-    //KWlanOnIcon_0
-    icons->InsertL( KWlanOnIcon_0, 
-            LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn0, 
-                    EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_0) );
-    CleanupStack::Pop(); /*icon*/
-    
-    //KWlanOnIcon_0
-    icons->InsertL( KWlanOnIcon_1, 
-            LoadSkinnableIconLC( KAknsIIDQgnIndiWlanSnifferPluginOn1, 
-                    EMbmWsficonsQgn_indi_wlan_sniffer_plugin_on_1) );
-    CleanupStack::Pop(); /*icon*/
-    
-    //ESecureNetworkIcon
-    icons->InsertL( KSecureNetworkIcon, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSecureNetworkAdd, 
-            EMbmWsficonsQgn_indi_wlan_secure_network_add) );
-    
-    CleanupStack::Pop(); /*icon*/
-
-    //ENoSignalIcon
-    icons->InsertL( KNoSignalIcon, LoadIconLC( 
-            EMbmWsficonsEmpty13x13) );
-    CleanupStack::Pop(); /*icon*/
-
-    //EPoorSignal
-    icons->InsertL( KPoorSignal, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSignalLowAdd, 
-            EMbmWsficonsQgn_indi_wlan_signal_low_add) );
-    
-    CleanupStack::Pop(); /*icon*/
-
-    //EAverageSignal
-    icons->InsertL( KAverageSignal, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSignalMedAdd, 
-            EMbmWsficonsQgn_indi_wlan_signal_med_add) );
-    CleanupStack::Pop(); /*icon*/
-
-    //EExcelentSignal
-    icons->InsertL( KExcelentSignal, LoadSkinnableBlackIconLC( 
-            KAknsIIDQgnIndiWlanSignalGoodAdd , 
-            EMbmWsficonsQgn_indi_wlan_signal_good_add) );
-    CleanupStack::Pop(); /*icon*/
-
-    //EConnectedNWIcon
-    icons->InsertL( KConnectedNWIcon, 
-            LoadSkinnableIconLC( KAknsIIDQgnPropCmonWlanConn, 
-                    EMbmWsficonsQgn_prop_cmon_wlan_conn) );
-    
-    CleanupStack::Pop(); /*icon*/
-
-    //EKnownNWIcon
-    icons->InsertL( KKnownNWIcon, LoadSkinnableIconLC( 
-            KAknsIIDQgnPropWlanBearer, 
-            EMbmWsficonsQgn_prop_wlan_bearer) );
-    CleanupStack::Pop(); /*icon*/
-
-    //ETransparentIcon
-    icons->InsertL( KTransparentIcon, LoadIconLC( 
-            EMbmWsficonsQgn_prop_empty) );
-    CleanupStack::Pop(); /*icon*/
-     
-    CleanupStack::Pop( icons );    
-    return icons;   
-    }
-
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::CleanUpResetAndDestroy
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::CleanUpResetAndDestroy( TAny* aArray )
-    {
-    if ( aArray )
-        {
-        CArrayPtrFlat<CBase>* array = static_cast<CArrayPtrFlat<CBase>*>( 
-                                                                    aArray );
-        array->ResetAndDestroy();
-        delete array; 
-        }
-    }
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadIconLC( TInt aIconId)
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::LoadIconLC" );   
-    CGulIcon* icon = CGulIcon::NewLC();
-    CFbsBitmap* bitmap;   
-    CFbsBitmap* mask;   
-   
-    // Creates bitmap an icon.
-    AknIconUtils::CreateIconL( bitmap, 
-                               mask,
-                               KIconFileName,
-                               aIconId,
-                               aIconId + 1 );
-
-    icon->SetBitmap( bitmap );   
-    icon->SetMask( mask ); 
-    return icon;    
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadBlackIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadBlackIconLC( TInt aIconId )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::LoadBlackIconLC" );   
-    CGulIcon* icon = CGulIcon::NewLC();
-    CFbsBitmap* bitmap;   
-    CFbsBitmap* mask;   
-   
-    // Creates bitmap an icon.
-
-     AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(), 
-                             KAknsIIDNone, 
-                             KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13, 
-                             bitmap, 
-                             mask, 
-                             KIconFileName,
-                             aIconId, 
-                             aIconId+1,
-                             KRgbBlack );
-
-
-
-    icon->SetBitmap( bitmap );   
-    icon->SetMask( mask ); 
-    return icon;            
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadSkinnableIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadSkinnableIconLC( 
-                                    const TAknsItemID aAknItemId, 
-                                    const TInt aIconId )
-    {
-    CGulIcon* icon = CGulIcon::NewLC();
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-
-    // Creates bitmap an icon.
-    
-    AknsUtils::CreateIconL( AknsUtils::SkinInstance(),
-                            aAknItemId,
-                            bitmap,
-                            mask,
-                            KIconFileName,
-                            aIconId,
-                            aIconId+1 );
-
-    icon->SetBitmap( bitmap );
-    icon->SetMask( mask );
-    return icon;
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::LoadSkinnableBlackIconLC
-// ---------------------------------------------------------
-//
-CGulIcon* CWsfMainViewContainer::LoadSkinnableBlackIconLC( 
-                                    const TAknsItemID aAknItemId, 
-                                    const TInt aIconId )
-    {
-    CGulIcon* icon = CGulIcon::NewLC();
-    CFbsBitmap* bitmap;
-    CFbsBitmap* mask;
-
-    // Creates bitmap an icon.
-    
-    AknsUtils::CreateColorIconL( AknsUtils::SkinInstance(), 
-                            aAknItemId, 
-                            KAknsIIDQsnIconColors, EAknsCIQsnIconColorsCG13, 
-                            bitmap, 
-                            mask, 
-                            KIconFileName,
-                            aIconId, 
-                            aIconId+1,
-                            KRgbBlack );
-
-    icon->SetBitmap( bitmap );
-    icon->SetMask( mask );
-    return icon;
-    }
-
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::UpdateHotSpotsL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::UpdateHotSpotsL( MDesCArray* aItemTextArray,
-                                             TInt aCurrentItem )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::UpdateHotSpotsL" );  
-    StopConnectingAnimation();
-    iListBox->Reset();
-    iListBox->Model()->SetItemTextArray( aItemTextArray );
-    iListBox->Model()->SetOwnershipType( ELbmDoesNotOwnItemArray );
-    iListBox->HandleItemAdditionL(); 
-    
-    if ( aItemTextArray->MdcaCount() )
-        {
-        TUint lastIndex = aItemTextArray->MdcaCount() -1;
-        if ( aCurrentItem <= lastIndex )
-            {
-            iListBox->SetCurrentItemIndex( aCurrentItem );            
-            }
-        else //( aCurrentItem > lastIndex ) 
-            {        
-            iListBox->SetCurrentItemIndex( lastIndex );
-            }
-        TPtrC itemtext = iListBox->Model()->ItemText(0);
-        HBufC* text = itemtext.AllocLC();
-        TPtr buffer = text->Des();
-        if ( ParseStringForAnimationL( buffer ) )
-            {
-            //Get the list box items model.        
-            MDesCArray* listArray = iListBox->Model()->ItemTextArray();        
-            CDesCArray* itemArray = static_cast<CDesCArray*>(listArray);         
-            itemArray->Delete(0,1); 
-            itemArray->InsertL(0,buffer);
-            LOG_WRITE("Connecting status found");
-            StartConnectingAnimationL();
-            }
-        CleanupStack::PopAndDestroy(text);
-        }
-    iListBox->DrawDeferred(); 
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiView::ParseStringForAnimationL()
-// --------------------------------------------------------------------------
-//
-TBool CWsfMainViewContainer::ParseStringForAnimationL( TDes& aString )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::ParseStringForAnimationL" );
-    TBool found = EFalse;
-    // start looking for '\t' digits and parse 
-    // the icon identifiers and label text
-    
-    // L"\tOther (hidden netw.)"
-    // L"6\tAd-hoc WPA\tConnecting\t4\t0" - this we are trying to find
-
-    TChar delimiter('\t');
-    TInt firstTabPos = aString.Locate( delimiter );
-    TInt secondTabPos = aString.Mid( 
-                                firstTabPos +1 ).Locate( 
-                                        delimiter ) + firstTabPos + 1;
-    TInt thirdTabPos = aString.Mid( 
-                                secondTabPos +1 ).Locate( 
-                                        delimiter ) + secondTabPos + 1;
-
-    // ok we have the tab positions read the values...
-    TInt firstIcon;
-    if ( firstTabPos )
-        {
-        TLex( aString.Mid( 0, firstTabPos )).Val( (TInt&)firstIcon );
-        LOG_WRITEF( "First Icon %d", firstIcon );
-        }
-    
-    if ( secondTabPos && thirdTabPos )
-        {
-        HBufC * foundString = aString.Mid( secondTabPos+1, 
-                                       thirdTabPos-secondTabPos-1 ).AllocLC();
-        
-        if ( !iStatusConnecting )
-            {
-            iStatusConnecting = StringLoader::LoadL(
-                    R_QTN_SNIFFER_CONNECTING );
-            }
-        
-        if ( !foundString->Compare( iStatusConnecting->Des() ) )
-            {
-            HBufC* item = HBufC::NewLC( KFormat1Icon().Length() );
-            item->Des().Format( KFormat1Icon, iConnectingIcons[iConnectingIndex] );
-            LOG_WRITEF( "Replace Icon %d", iConnectingIcons[iConnectingIndex] );
-            
-            aString.Replace(0, firstTabPos, item->Des() );
-            found = ETrue;
-            CleanupStack::PopAndDestroy( item );
-            }
-        CleanupStack::PopAndDestroy( foundString );
-        }
-
-    return found;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfMainViewContainer::StartConnectingAnimationL
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::StartConnectingAnimationL()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::StartConnectingAnimationL" );
-    
-    if ( iAnimationPeriodic )
-        {
-        iAnimationPeriodic->Cancel();
-        delete iAnimationPeriodic;
-        iAnimationPeriodic = NULL;
-        }
-
-    InitializeConnectingAnimation();
-    iAnimationPeriodic = CPeriodic::NewL(
-                              CActive::EPriorityLow );
-                
-    iAnimationPeriodic->Start(
-            TTimeIntervalMicroSeconds32( KConnectingStepTime ),
-            TTimeIntervalMicroSeconds32( KConnectingStepTime ),
-            TCallBack( 
-                    CWsfMainViewContainer::DoConnectingAnimationStepL,
-                    this
-                    ) );
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfMainViewContainer::StopConnectingAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::StopConnectingAnimation()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::StopConnectingAnimation" );
-    
-    if ( iAnimationPeriodic )
-        {
-        iAnimationPeriodic->Cancel();
-        delete iAnimationPeriodic;
-        iAnimationPeriodic = NULL;
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingAnimationStepL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfMainViewContainer::DoConnectingAnimationStepL( TAny* ptr )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::DoConnectingAnimationStepL" );
-    static_cast<CWsfMainViewContainer*>( ptr )->DoConnectingAnimationStepL();
-        return ETrue;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfAiPlugin::DoConnectingAnimationStepL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::DoConnectingAnimationStepL()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::DoConnectingAnimationStepL" );
-    AnimateConnecting();
-    if ( iListBox->Model()->ItemTextArray()->MdcaCount() )
-        {
-        TPtrC itemtext = iListBox->Model()->ItemText(0);
-        HBufC* text = itemtext.AllocLC();
-        TPtr buffer = text->Des();
-        if ( ParseStringForAnimationL( buffer ))
-            {
-            //Get the list box items model.        
-            MDesCArray* listArray = iListBox->Model()->ItemTextArray();        
-            CDesCArray* itemArray = static_cast<CDesCArray*>(listArray);         
-            itemArray->Delete(0,1); 
-            itemArray->InsertL(0,buffer);
-            iListBox->HandleItemAdditionL(); 
-            iListBox->DrawDeferred(); 
-            LOG_WRITE("Connecting status found");
-            }
-        else
-            {
-            StopConnectingAnimation();
-            }
-        CleanupStack::PopAndDestroy( text );
-        }
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::InitializeRefreshAnimation
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::InitializeConnectingAnimation()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::InitializeConnectingAnimation" );
-    iConnectingIndex = 0;
-    }
-
-
-// --------------------------------------------------------------------------
-// CWsfAiModel::AnimateConnecting
-// --------------------------------------------------------------------------
-//
-void CWsfMainViewContainer::AnimateConnecting()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::AnimateConnecting" );
-    ++iConnectingIndex %= iConnectingIcons.Count();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SelectedItem
-// ---------------------------------------------------------
-//
-TInt CWsfMainViewContainer::SelectedItem()
-    {
-    return iListBox->CurrentItemIndex();
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::HandleResourceChange
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::HandleResourceChange( TInt aType )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::HandleResourceChange" );   
-    CCoeControl::HandleResourceChange( aType );
-    
-    if ( aType == KAknsMessageSkinChange )
-        {
-        TRAP_IGNORE( SetListboxIconsL() );
-        SizeChanged();
-        }
-        
-    if( aType == KEikDynamicLayoutVariantSwitch )
-        {
-        TRect mainPaneRect;
-        AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, 
-                                           mainPaneRect );        
-        SetRect( mainPaneRect );                
-        DrawNow();                
-        }        
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SetPartner
-// ---------------------------------------------------------
-//    
-void CWsfMainViewContainer::SetPartner( 
-                                    MWsfMainViewControllerPartner& aPartner )
-    {
-    iPartner = &aPartner;
-    }
-    
-// ---------------------------------------------------------
-// CWsfMainViewContainer::UpdateNaviPaneL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::UpdateNaviPaneL( const TDesC& aPaneText )
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::UpdateNaviPaneL" );   
-    if ( !( ( CWsfAppUi *)( iEikonEnv->AppUi() ) )->Foreground() )
-        {
-        return;
-        }
-        
-    GetPanesL();
-    
-    if ( iNaviDecorator )
-        {
-        PopNaviPane();
-        }
-        
-    iNaviDecorator = iNaviPane->CreateNavigationLabelL( aPaneText );
-    iNaviDecorator->MakeScrollButtonVisible( ETrue );
-    iNaviPane->PushL( *iNaviDecorator );    
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::ListBox
-// ---------------------------------------------------------
-//
-CAknDoubleGraphicStyleListBox* CWsfMainViewContainer::ListBox() const
-    {
-    return iListBox;
-    }    
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::PopNaviPane
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::PopNaviPane()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::PopNaviPane" );   
-    if ( iNaviPane && iNaviDecorator )
-        {        
-        iNaviPane->Pop( iNaviDecorator );
-        delete iNaviDecorator;
-        iNaviDecorator = NULL;
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::GetPanesL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::GetPanesL()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::GetPanesL" );   
-    if( !iNaviPane )
-        {
-        CEikStatusPane* statusPane = iEikonEnv->AppUiFactory()->StatusPane();
-
-        iNaviPane =  static_cast<CAknNavigationControlContainer*>(
-                        statusPane->ControlL( 
-                                TUid::Uid(EEikStatusPaneUidNavi ) ) );
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::SetListboxIconsL
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::SetListboxIconsL()
-    {
-    LOG_ENTERFN( "CWsfMainViewContainer::SetListboxIconsL" );   
-    CAknIconArray* icons = LoadGraphicsL();
-
-    CWsfDocument* doc = static_cast<CWsfDocument*>
-            ( iEikonEnv->EikAppUi()->Document() );
-
-    doc->WlanInfoBranding().AppendBrandingIconsL( *icons );
-    
-    iListBox->ItemDrawer()->ColumnData()->SetIconArray( icons );
-    
-    }
-
-// ---------------------------------------------------------
-// CWsfMainViewContainer::GetHelpContext
-// ---------------------------------------------------------
-//
-void CWsfMainViewContainer::GetHelpContext( TCoeHelpContext& aContext) const
-    {
-    aContext.iMajor = TUid::Uid( 0x10281CAA );
-    aContext.iContext = KSNIFFER_HLP_MAIN;
-    }
-
-    
-// End of file
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewcontroller.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,222 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of TWsfMainViewController.
-*
-*/
-
-//  INTERNAL INCLUDES
-#include "wsfmainviewcontroller.h"
-#include "wsfmainviewmodel.h"
-#include "wsfmainviewcontainer.h"
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-
-#include "wsflogger.h"
-
-
-//  LOCAL DEFINITIONS
-#ifdef _DEBUG
-    _LIT( KMainViewControllerPanic, "TWsfMainViewController"  );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond), \
-            User::Panic( KMainViewControllerPanic, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-    
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SetModel
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::SetModel( CWsfMainViewModel* aModel )
-    {
-    iModel = aModel;
-    iValidItem = EFalse;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SetContainer
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::SetContainer( CWsfMainViewContainer* aContainer )
-    {
-    iContainer = aContainer;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateHotSpotsL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateHotSpotsL( CWsfWlanInfoArray* aWlanList )
-    {
-    LOG_ENTERFN( "TWsfMainViewController::UpdateHotSpotsL" );   
-    // Format WLAN list which was passed as a parameter
-    CDesCArray* formattedList = iModel->FormatWlanListL( aWlanList );
-
-    if ( iContainer )
-        {        
-        // If some WLAN was already selected, don't lose the focus
-        // By default show the first item (index == 0)
-        TInt index = 0;
-        TWsfWlanInfo* wlanInfo = aWlanList->Match( iModel->SelectedWlan(),
-                                                   aWlanList->Count() );
-        if ( wlanInfo )
-            {            
-            index = aWlanList->GetArrayIndex( wlanInfo );
-            }
-        iContainer->UpdateHotSpotsL( formattedList, index );
-        } 
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateNaviPaneL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateNaviPaneL()
-    {
-    LOG_ENTERFN( "TWsfMainViewController::UpdateNaviPaneL" );   
-    HBufC* naviText = iModel->FormatNaviPaneLC();
-    iContainer->UpdateNaviPaneL( *naviText );
-    CleanupStack::PopAndDestroy( naviText );   
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateWlanListL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateWlanListL( CWsfWlanInfoArray* aWlanArray )
-    {
-    LOG_ENTERFN( "TWsfMainViewController::UpdateWlanListL" );   
-    UpdateHotSpotsL( aWlanArray );
-    UpdateNaviPaneL();
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::RefreshL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::RefreshL()
-    {
-    LOG_ENTERFN( "TWsfMainViewController::RefreshL" );   
-    CDesCArray* formattedList =  iModel->GetWlanList();
-    iContainer->UpdateHotSpotsL( formattedList, iModel->SelectedIndex() );  
-    UpdateNaviPaneL();      
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SelectedItem
-// ---------------------------------------------------------------------------
-//
-TWsfWlanInfo* TWsfMainViewController::SelectedItem()
-    {
-    LOG_ENTERFN( "TWsfMainViewController::SelectedItem" );
-    
-    return iValidItem? &iSelectedItem: NULL; 
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::SetPartner
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::SetPartner( MWsfMainViewPartner& aPartner )
-    {
-    iPartner = &aPartner;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::UpdateSelectedItemL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::UpdateSelectedItemL()
-    {
-    LOG_ENTERFN( "TWsfMainViewController::UpdateSelectedItemL" );   
-
-    _ASSERTD( iModel && iContainer );
-    
-    TInt selectedItem = iContainer->SelectedItem();
-    CWsfWlanInfoArray* array = iModel->GetInfoArray();
-    if ( array )
-        {       
-        TWsfWlanInfo* item = array->At( selectedItem );
-        if ( item )
-            {
-            iSelectedItem = *item;
-            iValidItem = ETrue;
-            }
-        else
-            {
-            iValidItem = EFalse;
-            }
-        }
-    
-    // Store name of focused WLAN
-    if ( iValidItem )
-        {        
-        HBufC8* ssid = iSelectedItem.GetSsidAsUtf8LC();
-        iModel->SetSelectedWlan( ssid );
-        CleanupStack::Pop( ssid );
-        }
-    
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::HandleUpKeyPressedL
-// ---------------------------------------------------------------------------
-//    
-void TWsfMainViewController::HandleUpKeyPressedL()
-    {
-    LOG_ENTERFN( "TWsfMainViewController::HandleUpKeyPressedL" );   
-    _ASSERTD( iModel );
-    
-    // Store just listbox index. Needed
-    iModel->SetSelectedIndex( iContainer->SelectedItem() );    
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::HandleDownKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::HandleDownKeyPressedL()
-    {
-    LOG_ENTERFN( "TWsfMainViewController::HandleDownKeyPressedL" );   
-    _ASSERTD( iModel );
-
-    iModel->SetSelectedIndex( iContainer->SelectedItem() );
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfMainViewController::HandleSelectionKeyPressedL
-// ---------------------------------------------------------------------------
-//
-void TWsfMainViewController::HandleSelectionKeyPressedL()
-    {
-    LOG_ENTERFN( "TWsfMainViewController::HandleSelectionKeyPressedL" );   
-    _ASSERTD( iPartner );    
-
-    iPartner->ShowMenuBarL();
-    }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/mainapplication/src/wsfmainviewmodel.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,378 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfMainViewModel.
-*
-*/
-
-//  EXTERNAL INCLUDES
-#include <badesca.h>
-#include <coemain.h>
-#include <StringLoader.h>
-#include <wlansniffer.rsg>
-
-//  CLASS HEADER
-#include "wsfmainviewmodel.h"
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfmainviewinternals.h"
-
-#include "wsflogger.h"
-
-
-//  LOCAL DEFINITIONS
-
-// Listbox item format for open networks
-_LIT( KVisibleItemFormat1Icon, "%d\t%S\t%S\t%d" );
-
-// Listbox item format for secured networks
-_LIT( KVisibleItemFormat2Icons, "%d\t%S\t%S\t%d\t%d" );
-
-// Listbox item format for "Other (unlisted)" item
-_LIT( KHiddenItemFormat, "\t%S" );
-
-// Maximal length of listbox item strings
-const TInt KListBoxItemMaxLength = 128;
-
-// Listbox granularity
-const TUint KWlanListGranularity = 4;
-
-
-
-//  CONSTRUCTION AND DESTRUCTION
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel* CWsfMainViewModel::NewL()
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::NewL" );
-    CWsfMainViewModel* self = CWsfMainViewModel::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel* CWsfMainViewModel::NewLC()
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::NewLC" );
-    CWsfMainViewModel* self = new( ELeave ) CWsfMainViewModel;
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::~CWsfMainViewModel
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel::~CWsfMainViewModel()
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::~CWsfMainViewModel" );
-    delete iFormattedWlanList;
-    delete iSelectedWlan;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::CWsfMainViewModel
-// ---------------------------------------------------------------------------
-//
-CWsfMainViewModel::CWsfMainViewModel(): iCoeEnv( CCoeEnv::Static() )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::ConstructL" );
-    iFormattedWlanList = new (ELeave) CDesCArrayFlat( KWlanListGranularity );
-    iSelectedWlan = KNullDesC8().AllocL();
-    
-    // add the hidden wlan item to the list by default
-    TWsfWlanInfo dummy;
-    HBufC* hidden = HBufC::NewLC( KListBoxItemMaxLength );
-    TPtr ptr( hidden->Des() );
-
-    FormatHiddenWlanItemL( dummy, ptr );
-    iFormattedWlanList->AppendL( *hidden );
-    
-    CleanupStack::PopAndDestroy( hidden );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::GetWlanList
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfMainViewModel::GetWlanList()
-    {
-    return iFormattedWlanList;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::GetInfoArray
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoArray* CWsfMainViewModel::GetInfoArray()
-    {
-    return iWlanInfoArray;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SetSelectedWlan
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::SetSelectedWlan( HBufC8* aSsid )
-    {
-    delete iSelectedWlan;
-    iSelectedWlan = aSsid;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SelectedWlan
-// ---------------------------------------------------------------------------
-//
-const TDesC8& CWsfMainViewModel::SelectedWlan()
-    {
-    return *iSelectedWlan;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SetSelectedIndex
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::SetSelectedIndex( TInt aIndex )
-    {
-    iListboxIndex = aIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::SelectedIndex
-// ---------------------------------------------------------------------------
-//
-TInt CWsfMainViewModel::SelectedIndex()
-    {
-    return iListboxIndex;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatNaviPaneLC
-// ---------------------------------------------------------------------------
-//
-HBufC* CWsfMainViewModel::FormatNaviPaneLC()
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::FormatNaviPaneLC" );
-    HBufC* textOfNaviPane = NULL;
-
-    if ( !iVisibleWlans )
-        {
-        textOfNaviPane =  KNullDesC().AllocLC();
-        }
-
-    else if ( iVisibleWlans == 1 )
-        {
-        textOfNaviPane = StringLoader::LoadLC(
-            R_QTN_SNIFFER_NAVI_ONE_WLAN_NW_AVAILABLE, iCoeEnv );
-        }
-    else
-        {
-        textOfNaviPane = StringLoader::LoadLC(
-                                R_QTN_SNIFFER_NAVI_MANY_WLAN_NWS_AVAILABLE, 
-                                iVisibleWlans, 
-                                iCoeEnv );
-        }
-    return textOfNaviPane;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatWlanListL
-// ---------------------------------------------------------------------------
-//
-CDesCArrayFlat* CWsfMainViewModel::FormatWlanListL( 
-                                            CWsfWlanInfoArray* aWlanList )
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::FormatWlanListL" );
-    //Function expects that items in list are already in proper order
-    iVisibleWlans = 0;
-    iWlanInfoArray = aWlanList;
-    iFormattedWlanList->Reset();
-    HBufC* item = HBufC::NewLC( KListBoxItemMaxLength );
-    TPtr ptr( item->Des() );
-    for (TInt i = 0; i < aWlanList->Count(); ++i )
-        {
-        TWsfWlanInfo* wlanInfo = aWlanList->At( i );
-
-        // Hidden WLAN item is appended later for unknown hidden networks
-        if ( wlanInfo->Hidden() && !wlanInfo->iIapId )
-            {
-            continue;
-            }
-        else
-            {
-            ++iVisibleWlans;
-            }
-
-        // known hidden wlans are also "visible"
-        ptr.Zero();
-        FormatVisibleWlanItemL( *wlanInfo, ptr );
-        iFormattedWlanList->AppendL( ptr );
-        }
-
-    // now add "Other (unlisted)..." for hidden networks (always visible)
-    // make up a dummy wlaninfo
-    TWsfWlanInfo dummy;
-    
-    ptr.Zero();
-    FormatHiddenWlanItemL( dummy, ptr );
-    iFormattedWlanList->AppendL( ptr );
-
-    CleanupStack::PopAndDestroy ( item );
-    return iFormattedWlanList;
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatHiddenWlanItemL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::FormatHiddenWlanItemL( TWsfWlanInfo& /*aWlan*/, 
-                                               TDes& aItem )
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::FormatHiddenWlanItemL" );
-    HBufC* primaryText = StringLoader::LoadLC( R_QTN_SNIFFER_HIDDEN_WLAN );
-
-    // Only Hidden WLAN text is shown.
-    // All icons are transparent
-    aItem.Format( KHiddenItemFormat, primaryText );
-
-    CleanupStack::PopAndDestroy( primaryText );
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfMainViewModel::FormatVisibleWlanItemL
-// ---------------------------------------------------------------------------
-//
-void CWsfMainViewModel::FormatVisibleWlanItemL( TWsfWlanInfo& aWlan, 
-                                                TDes& aItem )
-    {
-    LOG_ENTERFN( "CWsfMainViewModel::FormatVisibleWlanItemL" );
-    // Icon in first column is transparent by default
-    // Known / Connected / None
-    TInt column1Icon = KTransparentIcon;   // qgn_transparent.svg
-
-    if ( aWlan.BrandId() )
-           {
-           column1Icon = KTransparentIcon + aWlan.BrandId();
-           }
-    else if ( aWlan.Connected() )
-        {
-        column1Icon = KConnectedNWIcon;    // qgn_prop_cmon_wlan_conn.svg
-        }
-    else if ( aWlan.Known() )
-        {
-        column1Icon = KKnownNWIcon;        // qgn_prop_wlan_bearer.svg
-        }
-
-    //Ssid as primary text
-    HBufC* primaryText( NULL );
-    
-    if ( aWlan.iNetworkName.Length() ) // If there is IAP
-        {
-        primaryText = aWlan.GetIapNameAsUnicodeLC();
-        }
-    else // If there no IAP
-        {
-        primaryText = aWlan.GetSsidAsUnicodeLC();
-        }
-
-    //Secondary Text, "Known" if IAP is already defined. Else "Unknown"
-    TInt resId = R_QTN_SNIFFER_UNKNOWN;
-    if ( aWlan.ConnectionStatus() == EConnected )
-        {
-        resId = R_QTN_SNIFFER_CONNECTED;
-        }
-    else if ( aWlan.ConnectionStatus() == EConnecting ) 
-        {
-        resId = R_QTN_SNIFFER_CONNECTING;
-        }
-    else if ( aWlan.Known() ) 
-        {
-        resId = R_QTN_SNIFFER_KNOWN;
-        }
-
-    HBufC* secondaryText = StringLoader::LoadLC( resId );
-
-
-    //Column 3
-    //Show secure icon if network is secure. By default show transparant icon.
-    TInt column4Icon = aWlan.Secure() ? KSecureNetworkIcon : KTransparentIcon;
-
-
-    // Signal strenght for column 4
-    // No signal icon is set by default
-    TInt column3Icon = KNoSignalIcon;    //qgn_transparent.svg
-
-    switch ( aWlan.SignalStrength() )
-        {
-        case EPoor:
-            {
-            column3Icon = KPoorSignal;      //qgn_indi_wlan_signal_low_add.svg
-            break;
-            }
-        case EAverage:
-            {
-            column3Icon = KAverageSignal;   //qgn_indi_wlan_signal_med_add.svg
-            break;
-            }
-        case EExcelent:
-            {
-            column3Icon = KExcelentSignal;  //qgn_indi_wlan_signal_good_add.svg
-            break;
-            }
-
-        case ENoSignal:
-        default:
-            {
-            column3Icon = KNoSignalIcon;     //qgn_indi_wlan_signal_no_wlan.svg
-            break;
-            }
-        }
-
-    if ( column4Icon == KTransparentIcon )
-        {
-        aItem.Format( KVisibleItemFormat1Icon, column1Icon,
-                                        primaryText,
-                                        secondaryText,
-                                        column3Icon );
-        }
-    else
-        {
-        aItem.Format( KVisibleItemFormat2Icons, column1Icon,
-                                        primaryText,
-                                        secondaryText,
-                                        column3Icon,
-                                        column4Icon );
-        }
-
-    CleanupStack::PopAndDestroy( secondaryText );
-    CleanupStack::PopAndDestroy( primaryText );
-    }
-
-// End of file
-
--- a/wlanutilities/wlansniffer/model/bwins/wsfmodelu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-EXPORTS
-	?ObservedWlan@CWsfModel@@QAEABVTDesC8@@XZ @ 1 NONAME ; class TDesC8 const & CWsfModel::ObservedWlan(void)
-	?NewL@CWsfAppLauncher@@SAPAV1@XZ @ 2 NONAME ; class CWsfAppLauncher * CWsfAppLauncher::NewL(void)
-	?EnableScanL@CWsfModel@@QAEHXZ @ 3 NONAME ; int CWsfModel::EnableScanL(void)
-	?ActiveViewL@CWsfModel@@QAE?AVTUid@@XZ @ 4 NONAME ; class TUid CWsfModel::ActiveViewL(void)
-	?AbortConnectingL@CWsfModel@@QAEXXZ @ 5 NONAME ; void CWsfModel::AbortConnectingL(void)
-	?ContinueBrowsingL@CWsfModel@@QAEXXZ @ 6 NONAME ; void CWsfModel::ContinueBrowsingL(void)
-	?SetRefreshState@CWsfModel@@QAEXH@Z @ 7 NONAME ; void CWsfModel::SetRefreshState(int)
-	?SetEngineObserver@CWsfModel@@QAEXPAVMWsfModelObserver@@@Z @ 8 NONAME ; void CWsfModel::SetEngineObserver(class MWsfModelObserver *)
-	?ConnectL@CWsfModel@@QAEHK@Z @ 9 NONAME ; int CWsfModel::ConnectL(unsigned long)
-	?SetActiveViewL@CWsfModel@@QAEXH@Z @ 10 NONAME ; void CWsfModel::SetActiveViewL(int)
-	?NewLC@CWsfModel@@SAPAV1@AAVMWsfStateChangeObserver@@H@Z @ 11 NONAME ; class CWsfModel * CWsfModel::NewLC(class MWsfStateChangeObserver &, int)
-	?IsScanEnabledL@CWsfModel@@QAEHXZ @ 12 NONAME ; int CWsfModel::IsScanEnabledL(void)
-	?AbortScanningL@CWsfModel@@QAEXXZ @ 13 NONAME ; void CWsfModel::AbortScanningL(void)
-	?TestAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@HH@Z @ 14 NONAME ; int CWsfModel::TestAccessPointL(class TWsfWlanInfo &, int, int)
-	?CancelNotifyEvents@CWsfModel@@QAEXXZ @ 15 NONAME ; void CWsfModel::CancelNotifyEvents(void)
-	??1CWsfModel@@UAE@XZ @ 16 NONAME ; CWsfModel::~CWsfModel(void)
-	?CleanUpCancelledLaunchL@CWsfModel@@QAEXXZ @ 17 NONAME ; void CWsfModel::CleanUpCancelledLaunchL(void)
-	?LaunchHelperApplicationL@CWsfModel@@QAEXAAVTWsfWlanInfo@@HH@Z @ 18 NONAME ; void CWsfModel::LaunchHelperApplicationL(class TWsfWlanInfo &, int, int)
-	?DisableScanL@CWsfModel@@QAEHXZ @ 19 NONAME ; int CWsfModel::DisableScanL(void)
-	?GetWlanListL@CWsfModel@@QAEPAVCWsfWlanInfoArray@@XZ @ 20 NONAME ; class CWsfWlanInfoArray * CWsfModel::GetWlanListL(void)
-	?GetConnectedWlanDetailsL@CWsfModel@@QAEHAAVTWsfWlanInfo@@@Z @ 21 NONAME ; int CWsfModel::GetConnectedWlanDetailsL(class TWsfWlanInfo &)
-	?NewL@CWsfModel@@SAPAV1@AAVMWsfStateChangeObserver@@H@Z @ 22 NONAME ; class CWsfModel * CWsfModel::NewL(class MWsfStateChangeObserver &, int)
-	?Refreshing@CWsfModel@@QAEHXZ @ 23 NONAME ; int CWsfModel::Refreshing(void)
-	?ContinueBrowsingL@CWsfModel@@QAEXK@Z @ 24 NONAME ; void CWsfModel::ContinueBrowsingL(unsigned long)
-	?IctsTestPermission@CWsfModel@@SAHXZ @ 25 NONAME ; int CWsfModel::IctsTestPermission(void)
-	?DisconnectL@CWsfModel@@QAEXXZ @ 26 NONAME ; void CWsfModel::DisconnectL(void)
-	?IsConnectedL@CWsfModel@@QAEHXZ @ 27 NONAME ; int CWsfModel::IsConnectedL(void)
-	?CreateAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@H@Z @ 28 NONAME ; int CWsfModel::CreateAccessPointL(class TWsfWlanInfo &, int)
-	?NewLC@CWsfAppLauncher@@SAPAV1@XZ @ 29 NONAME ; class CWsfAppLauncher * CWsfAppLauncher::NewLC(void)
-	?RequestNotifyEventsL@CWsfModel@@QAEXAAVMWsfStateChangeObserver@@@Z @ 30 NONAME ; void CWsfModel::RequestNotifyEventsL(class MWsfStateChangeObserver &)
-	?LaunchBrowserL@CWsfModel@@UAEXK@Z @ 31 NONAME ; void CWsfModel::LaunchBrowserL(unsigned long)
-	?RefreshScanL@CWsfModel@@QAEHXZ @ 32 NONAME ; int CWsfModel::RefreshScanL(void)
-	?SetObservedWlanL@CWsfModel@@QAEXABVTDesC8@@@Z @ 33 NONAME ; void CWsfModel::SetObservedWlanL(class TDesC8 const &)
-	?TestConnectedAccessPointL@CWsfModel@@QAEHAAVTWsfWlanInfo@@H@Z @ 34 NONAME ; int CWsfModel::TestConnectedAccessPointL(class TWsfWlanInfo &, int)
-	?FinalizeConnectL@CWsfModel@@QAEXXZ @ 35 NONAME ; void CWsfModel::FinalizeConnectL(void)
-	?ConnectWithoutConnWaiterL@CWsfModel@@QAEHKH@Z @ 36 NONAME ; int CWsfModel::ConnectWithoutConnWaiterL(unsigned long, int)
-	?CheckIsIapIdValidL@CWsfModel@@QBEXI@Z @ 37 NONAME ; void CWsfModel::CheckIsIapIdValidL(unsigned int) const
-
--- a/wlanutilities/wlansniffer/model/eabi/wsfmodelu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-EXPORTS
-	_ZN15CWsfAppLauncher4NewLEv @ 1 NONAME
-	_ZN15CWsfAppLauncher5NewLCEv @ 2 NONAME
-	_ZN9CWsfModel10RefreshingEv @ 3 NONAME
-	_ZN9CWsfModel11ActiveViewLEv @ 4 NONAME
-	_ZN9CWsfModel11DisconnectLEv @ 5 NONAME
-	_ZN9CWsfModel11EnableScanLEv @ 6 NONAME
-	_ZN9CWsfModel12DisableScanLEv @ 7 NONAME
-	_ZN9CWsfModel12GetWlanListLEv @ 8 NONAME
-	_ZN9CWsfModel12IsConnectedLEv @ 9 NONAME
-	_ZN9CWsfModel12ObservedWlanEv @ 10 NONAME
-	_ZN9CWsfModel12RefreshScanLEv @ 11 NONAME
-	_ZN9CWsfModel14AbortScanningLEv @ 12 NONAME
-	_ZN9CWsfModel14IsScanEnabledLEv @ 13 NONAME
-	_ZN9CWsfModel14LaunchBrowserLEm @ 14 NONAME
-	_ZN9CWsfModel14SetActiveViewLEi @ 15 NONAME
-	_ZN9CWsfModel15SetRefreshStateEi @ 16 NONAME
-	_ZN9CWsfModel16AbortConnectingLEv @ 17 NONAME
-	_ZN9CWsfModel16FinalizeConnectLEv @ 18 NONAME
-	_ZN9CWsfModel16SetObservedWlanLERK6TDesC8 @ 19 NONAME
-	_ZN9CWsfModel16TestAccessPointLER12TWsfWlanInfoii @ 20 NONAME
-	_ZN9CWsfModel17ContinueBrowsingLEm @ 21 NONAME
-	_ZN9CWsfModel17ContinueBrowsingLEv @ 22 NONAME
-	_ZN9CWsfModel17SetEngineObserverEP17MWsfModelObserver @ 23 NONAME
-	_ZN9CWsfModel18CancelNotifyEventsEv @ 24 NONAME
-	_ZN9CWsfModel18CreateAccessPointLER12TWsfWlanInfoi @ 25 NONAME
-	_ZN9CWsfModel18IctsTestPermissionEv @ 26 NONAME
-	_ZN9CWsfModel20RequestNotifyEventsLER23MWsfStateChangeObserver @ 27 NONAME
-	_ZN9CWsfModel23CleanUpCancelledLaunchLEv @ 28 NONAME
-	_ZN9CWsfModel24GetConnectedWlanDetailsLER12TWsfWlanInfo @ 29 NONAME
-	_ZN9CWsfModel24LaunchHelperApplicationLER12TWsfWlanInfoii @ 30 NONAME
-	_ZN9CWsfModel25ConnectWithoutConnWaiterLEmi @ 31 NONAME
-	_ZN9CWsfModel25TestConnectedAccessPointLER12TWsfWlanInfoi @ 32 NONAME
-	_ZN9CWsfModel4NewLER23MWsfStateChangeObserveri @ 33 NONAME
-	_ZN9CWsfModel5NewLCER23MWsfStateChangeObserveri @ 34 NONAME
-	_ZN9CWsfModel8ConnectLEm @ 35 NONAME
-	_ZN9CWsfModelD0Ev @ 36 NONAME
-	_ZN9CWsfModelD1Ev @ 37 NONAME
-	_ZN9CWsfModelD2Ev @ 38 NONAME
-	_ZThn12_N9CWsfModel14LaunchBrowserLEm @ 39 NONAME
-	_ZNK9CWsfModel18CheckIsIapIdValidLEj @ 40 NONAME
-
--- a/wlanutilities/wlansniffer/model/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,45 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project Model
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-
-PRJ_PLATFORMS 
-DEFAULT
-
-
-PRJ_EXPORTS
-// private API
-../inc/wsfmodel.h                       |../../../inc/wsfmodel.h 
-../inc/wsfmodel.inl                     |../../../inc/wsfmodel.inl 
-../inc/wsfbrowserlaunchobserver.h       |../../../inc/wsfbrowserlaunchobserver.h 
-../inc/wsfbrowserlaunchadapter.h        |../../../inc/wsfbrowserlaunchadapter.h 
-../inc/wsfscreensaverstateobserver.h    |../../../inc/wsfscreensaverstateobserver.h 
-
-// inner API
-../inc/wsfmodelobserver.h               |../../inc/wsfmodelobserver.h
-
-../rom/wsfmodel.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(wsfmodel.iby)
-
-
-PRJ_MMPFILES
-model.mmp
-
-
-// End of file
--- a/wlanutilities/wlansniffer/model/group/model.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,77 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project Model
-*
-*/
-
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET                  wsfmodel.dll
-TARGETTYPE              dll
-
-UID                     0x1000008e 0x2000CF31
-
-CAPABILITY              CAP_GENERAL_DLL
-
-
-// Source files
-SOURCEPATH 		../src
-
-SOURCE			wsfmodel.cpp
-SOURCE			wsfscreensaverwatcher.cpp
-SOURCE			wsfapplauncher.cpp 
-SOURCE          wsfactivewaiter.cpp
-
-
-
-// own headers
-USERINCLUDE     ../inc
-
-// inner API
-USERINCLUDE     ../../inc
-
-// private API
-USERINCLUDE     ../../../inc
-
-
-//Macro to /epoc32 headers
-// MW_LAYER... not enough because of <browseruisdkcrkeys.h>
-APP_LAYER_SYSTEMINCLUDE
-
-
-
-// Used system libraries
-LIBRARY         euser.lib
-LIBRARY         bafl.lib 
-LIBRARY         apgrfx.lib
-LIBRARY         cone.lib 
-LIBRARY         ws32.lib 
-LIBRARY         centralrepository.lib
-LIBRARY         cmmanager.lib
-LIBRARY         cmmanagerdatabase.lib
-LIBRARY         ictsclientinterface.lib
-LIBRARY         sysutil.lib
-LIBRARY         efsrv.lib
-
-LIBRARY         wsfwlaninfo.lib 
-LIBRARY         wsfclient.lib
-LIBRARY         wsfapwizard.lib
-
-DEBUGLIBRARY         flogger.lib
-
-// End of file
--- a/wlanutilities/wlansniffer/model/inc/wsfactivewaiter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,94 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Declaration of CWsfActiveWaiter
-*
-*/
-
-
-
-#ifndef __WSFSERVER_ACTIVE_WAITER_H__
-#define __WSFSERVER_ACTIVE_WAITER_H__
-
-// INCLUDES
-#include <e32base.h>
-
-/**
- * CWsfActiveWaiter class,
- * an active object to replace User::WaitForRequest
- * 
- * Usage:
- * CWsfActiveWaiter* waiter = CWsfActiveWaiter::NewL();
- * CleanupStack::PushL( waiter );
- * server.AsyncFunction( waiter->iStatus );
- * if ( waiter->WaitForRequest == KErrNone )
- *      {
- *      // handle success
- *      }
- *      else 
- *      {
- *      // handle failure
- *      }
- * CleanupStack::PopAndDestroy( waiter );
- * 
- */     
-NONSHARABLE_CLASS( CWsfActiveWaiter ) : public CActive
-    {
-    public:
-        /**
-        * NewL function
-        * @param  aPlugin a pointer to notifier plugin
-        */
-        static CWsfActiveWaiter* NewL( );
-
-        /**
-        * Destructor
-        */    
-        virtual ~CWsfActiveWaiter();          
-
-        /**
-        * Waits for it's TRequestStatus to be completed
-        * @return Error code returned from server after request is
-        * completed
-        */
-        TInt WaitForRequest( );
-        
-    protected:
-        /**
-        * ConstructL 
-        */
-        void ConstructL();
-    
-        /**
-        * Constructor
-        * @param  aPlugin a pointer to notifier plugin    
-        */    
-        CWsfActiveWaiter();
-            
-        /**
-        * DoCancel from CActive
-        */    
-        virtual void DoCancel();
-      
-        /**
-        * RunL from CActive
-        */      
-        virtual void RunL();
-    
-    protected:
-        CActiveSchedulerWait iWait;
-    };     
-
-#endif // __WSFSERVER_ACTIVE_WAITER_H__
-
-// End of file
--- a/wlanutilities/wlansniffer/model/inc/wsfapplauncher.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,339 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfAppLauncher
-*
-*/
-
-
-
-
-#ifndef C_WSFAPPLAUNCHER_H
-#define C_WSFAPPLAUNCHER_H
-
-#include <e32std.h> 
-#include <w32std.h> 
-
-class MWsfBrowserLaunchObserver;
-class CRepository;
-class CMDBSession;
-
-
-/**
-* Browser launching states
-*/
-enum TWsfLaunchState
-    {
-    EIdle,
-    EShuttingDown,
-    EStartingUp,
-    ECompleted,
-    EFinished
-    };
-
-
-
-//  CLASS DEFINITION
-/**
- * Class to manage browser launching and closure.
- *
- * @lib wsfmodel.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfAppLauncher ): public CActive 
-    {
-    public: // Constuctors and destructors
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance
-        */
-        IMPORT_C static CWsfAppLauncher* NewL();
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance
-        */
-        IMPORT_C static CWsfAppLauncher* NewLC();
-
-        /**
-        * Destructor
-        * @since S60 5.0
-        */
-        virtual ~CWsfAppLauncher();
-
-
-    private: //Constuctors
-
-        /**
-        * Constructor
-        * @since S60 5.0
-        */
-        CWsfAppLauncher();
-
-        /**
-        * Second-phase constructor
-        * @since S60 5.0
-        */
-        void ConstructL();
-        
-
-    public: //New public functions
-
-        /**
-        * Launches Browser application asynchronously using selected iap
-        * @since S60 5.0
-        * @param aObserver Observer to be notified about launch completion
-        * @param aIapId IAP id passed as a parameter
-        */
-        void LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver, 
-                             TUint aIapId );
-
-        /**
-        * Launches Browser application asynchronously using selected iap and 
-        * user defined URL
-        * @since S60 5.0
-        * @param aObserver Observer to be notified about launch completion
-        * @param aIapId IAP id passed as a parameter
-        * @param aWapId WAP id passed as a parameter
-        * @param aURL User defined WWW address to be used as start-up page    
-        */
-        void LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver, 
-                             TUint aIapId,
-                             TUint aWapId,
-                             const TDesC& aURL ); 
-
-        /**
-        * Switches Browser application to foreground
-        * @since S60 5.0
-        */
-        void ContinueBrowsingL();
-        
-        /**
-        * Switches Browser application to foreground
-        * @since S60 5.0
-        * @param aObserver Observer to be notified about launch completion
-        * @param aIapId IAP id passed as a parameter
-        */
-        void ContinueBrowsingL( MWsfBrowserLaunchObserver& aObserver, 
-                                TUint aIapId );
-        
-        /**
-        * Query launching state
-        * @since S60 5.0
-        * @return Lauching state
-        */
-        TWsfLaunchState Launching();
-        
-        
-        /**
-        * Returns the IAP which was last passed to the browser
-        * @since S60 5.0
-        * @return The IAP id passed to the browser.
-        */
-        TUint32 BrowserIap() const;
-        
-
-    private: // New private functions
-
-        /**
-        * Kills browser application if the one is already lauched
-        * @since S60 5.0
-        * @return ETrue if browser was killed, EFalse otherwise
-        */
-        TBool KillBrowserIfAlreadyExists();
-
-        /**
-        * Launches the browser asynchronously.
-        * @since S60 5.0
-        */
-        void DoLaunchBrowserL();
-
-        /**
-        * Checks if Browser exists
-        * @since S60 5.0
-        * @return ETrue if the browser exists
-        */
-        TBool BrowserExists();
-
-        /**
-        * Checks what the default homepage is (URL) 
-        * @since S60 5.0
-        * @param aHomePageURL URL of the default homepage
-        * @return KErrNone if successful, KErrNotFound if HomePage is 
-        *         not defined
-        */
-        TInt BrowserHomepage( TDes& aHomePageURL );
-
-        /**
-        * Gets the access point selection mode
-        * @since S60 5.0
-        * @return 0=User defined, 1=Always ask, 2=Destination
-        */
-        TInt ApSelectionMode();
-
-        /**
-        * Defines the access point selection mode
-        * @since S60 5.0
-        * @param aEnable Selection mode: 0=User defined, 1=Always ask,  
-        *                2=Destination
-        */
-        void SetApSelectionMode( TInt aApSelectionMode );
-        
-        /**
-        * Restores Access Point selection mode
-        * @since S60 5.0
-        */   
-        void RestoreApSelectionMode();
-
-        /**
-        * Configures browser access point using central repository
-        * @since S60 5.0
-        * @param aAccessPointId Access Point's IAP id
-        */   
-        void SetAccessPoint( TUint aAccessPointId );
-        
-        /*
-        * Restores original accesspoint id if one is set
-        * @since S60 5.0
-        */
-        void RestoreAccessPoint();
-        
-
-    private:    // From CActive
-        
-        /**
-        * Implements cancellation of an outstanding request.
-        * @since S60 5.0
-    	*/
-    	void DoCancel();
-
-        /**
-        * Handles an active object's request completion event.
-        * @since S60 5.0
-    	*/
-        void RunL();
-
-        /**
-        * Handles a leave occurring in RunL().
-        * @since S60 5.0
-        * @param aError Leave code
-        * @return aError
-    	*/
-        TInt RunError( TInt aError );
-
-
-    private: // data
-
-        /**
-        * Observer to be notified about launch completion. Not owned.
-        */
-        MWsfBrowserLaunchObserver* iObserver;
-        
-        /**
-        * Window session
-        */
-        RWsSession iWsSession;
-
-        /**
-        * IAP id to use
-        */
-        TUint iIapId;
-        
-        /**
-        * WAP id for browser's default connection id
-        */
-        TUint iWapId; 
-
-        /**
-        * State of browser launching
-        */
-        TWsfLaunchState iLaunchState;  
-
-        /**
-        * Stored original selection mode
-        */
-        TBool iRestoreSelectionMode;
-
-        /**
-        * Indicates whether to restore access point
-        */
-        TBool iRestoreAccessPoint;
-
-        /**
-        * The original IAP id used by the browser
-        */
-        TUint iOriginalApId;
-
-        /**
-        * Indicates whether to launch bookmarks page 
-        * (if homepage is not set)
-        */
-        TBool iLaunchBookMarks;
-
-        /**
-        * Browser app's UID
-        */
-        TUid iBrowserUid;
-
-        /**
-        * Key number for browser's default homepage
-        */
-        TUint iHomepageKey;
-
-        /**
-        * Handle to a repository. Owned.
-        */
-        CRepository* iRepository;
-
-        /**
-        * URL of the homepage. Owned.
-        */
-        HBufC* iURL;
-
-        /**
-        * Timer to wait for browser startup etc.
-        */
-        RTimer iTimer;     
-
-        /**
-        * Indicates which AP selection mode was originally used.
-        */
-        TUint iOriginalApSelectionMode;
-
-        /**
-        * Browser's cenrep key number for the homepage
-        */
-        TUint iBrowserHomePageKey;
-
-        /**
-        * Browser's cenrep key number for the starting page
-        */
-        TUint iBrowserStartingPageKey;
-        
-        /**
-        * The id of the broser thread
-        */
-        TThreadId iThreadId;
-        
-        /**
-        * The browser thread
-        */
-        RThread iThread;
-    };
-
-
-#endif // C_WSFAPPLAUNCHER_H
-
--- a/wlanutilities/wlansniffer/model/inc/wsfbrowserlaunchadapter.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfBrowserLaunchAdapter
-*
-*/
-
-
-
-
-
-#ifndef M_WSFBROWSERLAUNCHADAPTER_H
-#define M_WSFBROWSERLAUNCHADAPTER_H
-
-
-//  CLASS DEFINITION
-/**
- * Interface class to manage browser launching
- *
- * @since S60 5.0
- */
-class MWsfBrowserLaunchAdapter
-    {
-
-    public:
-        /**
-        * Implementing class should launch the browser with the give IAP id
-        * @since S60 5.0
-        * @param aIapId The IAP id to connect with
-        */
-        virtual void LaunchBrowserL( TUint32 aIapId ) = 0;
-
- 
-    };
-
-
-#endif // M_WSFBROWSERLAUNCHADAPTER_H
--- a/wlanutilities/wlansniffer/model/inc/wsfbrowserlaunchobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,58 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfBrowserLaunchObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFBROWSERLAUNCHOBSERVER_H
-#define M_WSFBROWSERLAUNCHOBSERVER_H
-
-
-
-//  CLASS DEFINITION
-/**
- * Interface class to get notified about browser launch results
- *
- * @since S60 5.0
- */
-class MWsfBrowserLaunchObserver
-    {
-
-    public:
-        /**
-        * Called if the browser launch failed for some reason
-        * @since S60 5.0
-        * @param aError System-wide error code
-        */
-        virtual void BrowserLaunchFailed( TInt aError ) = 0;
-
-        /**
-        * Called if the launch has been completed successfully
-        * @since S60 5.0
-        */
-        virtual void BrowserLaunchCompleteL() = 0;
-
-        /**
-        * Called when the previously launched browser exits
-        * @since S60 5.0
-        */
-        virtual void BrowserExitL() = 0;
-        
-    };
-
-
-#endif // M_WSFBROWSERLAUNCHOBSERVER_H
--- a/wlanutilities/wlansniffer/model/inc/wsfmodel.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,541 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfModel
-*
-*/
-
-
-#ifndef C_WSFMODEL_H
-#define C_WSFMODEL_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <ictsclientinterface.h>
-
-//  INTERNAL INCLUDES
-#include "wsfsession.h"
-#include "wsfbrowserlaunchobserver.h"
-#include "wsfscreensaverstateobserver.h"
-#include "wsfbrowserlaunchadapter.h"
-#include "wsfwlaninfo.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfAppLauncher;
-class MWsfModelObserver;
-class CWsfWlanInfoArray;
-class MWsfStateChangeObserver;
-class CEikonEnv;
-class CWsfScreenSaverWatcher;
-class CWsfAsyncOperationQueue;
-
-
-//  CLASS DEFINITION
-/**
- * Class acts as an application level model and is also entry point to the 
- * application engine which is implemented as server
- *
- * @lib wsfmodel.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfModel ): public CBase, 
-                                public MWsfBrowserLaunchObserver, 
-                                public MWsfScreenSaverStateObserver,
-                                public MWsfBrowserLaunchAdapter,
-                                public MIctsObserver
-    {
-    public:     // Constructors and destructor
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aObserver The object to notify about server events
-        * @param aScreenSaverAware Whether to react to screensaver events
-        * @return Model instance
-        */
-        IMPORT_C static CWsfModel* NewL( MWsfStateChangeObserver& aObserver, 
-                                         const TBool aScreenSaverAware );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aObserver The object to notify about server events
-        * @param aScreenSaverAware Whether to react to screensaver events
-        * @return Model instance
-        */
-        IMPORT_C static CWsfModel* NewLC( MWsfStateChangeObserver& aObserver, 
-                                          const TBool aScreenSaverAware );
-
-        IMPORT_C ~CWsfModel();
-
-    private:    // Constructors
-        CWsfModel();
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aObserver The object to notify about server events
-        * @param aScreenSaverAware Whether to react to screensaver events 
-        */
-        void ConstructL( MWsfStateChangeObserver& aObserver, 
-                         const TBool aScreenSaverAware );
-
-    public:     // New methods
-
-        /**
-        * Attach model observer 
-        * @since S60 5.0
-        * @param aObserver Pointer to the model observer
-        */
-        IMPORT_C void SetEngineObserver( MWsfModelObserver* aObserver );
-
-        /**
-        * Return the latest list of found WLANs. Ownership not passed.
-        * @since S60 5.0
-        * @return Array of WLANs
-        */
-        IMPORT_C CWsfWlanInfoArray* GetWlanListL();
-
-        /**
-        * Store active views UID
-        * @since S60 5.0
-        * @param aActiveViewId Active view's UID
-        */
-        IMPORT_C void SetActiveViewL( TInt aActiveViewId );
-        
-        /**
-        * Get UID of the active view
-        * @since S60 5.0
-        * @return UID of active view
-        */
-        IMPORT_C TUid ActiveViewL();
-
-        /**
-        * Store SSID of active WLAN
-        * @since S60 5.0
-        * @param aSsid WLAN's name (SSID)
-        */
-        IMPORT_C void SetObservedWlanL( const TDesC8& aSsid );
-        
-        /**
-        * Get SSID of active WLAN
-        * @since S60 5.0
-        * @return Active WLAN's name (SSID) 
-        */
-        IMPORT_C const TDesC8& ObservedWlan();
-
-        /**
-        * Connects to the given WLAN IAP
-        * @since S60 5.0
-        * @param aIapId WLAN IAP id to connect to.
-        */
-        IMPORT_C int ConnectL( TUint32 aIapId );
-        
-        /**
-        * Connects to the given WLAN IAP
-        * @since S60 5.2
-        * @param aIapId WLAN IAP id to connect to.
-        */
-        IMPORT_C int ConnectWithoutConnWaiterL( TUint32 aIapId, 
-                                                TBool aTestedAccessPoint );
-        /**
-        * Starts auto-disconnect timer for connected network
-        * @since S60 5.2
-        */
-        IMPORT_C void FinalizeConnectL();
-
-        /**
-        * Disconnects WLAN
-        * @since S60 5.0
-        */
-        IMPORT_C void DisconnectL();
-        
-        /**
-        * Check if the engine is refreshing
-        * @since S60 5.0
-        * @return ETrue if first refreshing
-        */
-        IMPORT_C TBool Refreshing();    
-
-        /**
-        * Change refreshing state
-        * @since S60 5.0
-        * @param aRefreshing Refreshing state
-        */
-        IMPORT_C void SetRefreshState( TBool aRefreshing );    
-
-        /**
-        * Notifies server to start scanning if not scanning already
-        * @since S60 5.0
-        * @return ETrue on success
-        */
-        IMPORT_C TBool EnableScanL();
-
-        /**
-        * Notifies server to disable scanning
-        * However, scanning will continue if some other client 
-        * has enabled scanning.
-        * @since S60 5.0
-        * @return ETrue on success
-        */
-        IMPORT_C TBool DisableScanL();
-        
-        /**
-        * Checks if scanning is enabled in the server
-        * @since S60 5.0
-        * @return EFalse if not scanning
-        */
-        IMPORT_C TBool IsScanEnabledL();
-             
-        /**
-        * Continues browsing
-        * @since S60 5.0
-        */
-        IMPORT_C void ContinueBrowsingL();        
-
-        /**
-        * Continues browsing (browser launched if needed)
-        * @since S60 5.0
-        * @param aIapId The IAP id to use with the browser
-        */
-        IMPORT_C void ContinueBrowsingL( TUint32 aIapId );  
-        
-        /**
-        * Creates new WLAN access point based on wlaninfo passed as parameter.
-        * If aExplicitDefine is ETrue, the connection method is saved to the 
-        * destination selected by the user, otherwise it is put into the 
-        * Uncategorized folder.
-        * @since S60 5.0
-        * @param aWlan Reference to Wlan which is used as base 
-        *              for new access point
-        * @param aExplicitDefine Should be ETrue in case of 
-        *                        'Define access point'
-        * @return ETrue if access point creation succeeds
-        */
-        IMPORT_C TBool CreateAccessPointL( TWsfWlanInfo& aWlan,
-                                           TBool aExplicitDefine );
-
-        /**
-        * Tests the WLAN access point and offers to save it to a destination
-        * @since S60 5.0
-        * @param aWlan Reference to wlaninfo to test
-        * @param aKeepConnection Indicates whether to keep alive the connection.
-        * @param aConnectOnly ETrue if the helper app is expected to connect 
-        *                     only, EFalse if it should also launch the browser 
-        *                     on successful connection.
-        * @return KErrNone if successful, system-wide error code otherwise
-        */
-        IMPORT_C TInt TestAccessPointL( TWsfWlanInfo& aWlan,
-                                        TBool aKeepConnection, 
-                                        TBool aConnectOnly );
-        
-        /**
-        * Tests the connected WLAN access point
-        * @since S60 5.0
-        * @param aWlan Reference to wlaninfo to test
-        * @param aConnectOnly ETrue if connect only case, 
-        * EFalse if launch browser case after successful connection.
-        * @return KErrNone if successful, system-wide error code otherwise
-        */
-        IMPORT_C TInt TestConnectedAccessPointL( TWsfWlanInfo& aWlan,
-                                                 TBool aConnectOnly );
-
-        /**
-        * Requests a rescan for available wlans
-        * @since S60 5.0
-        * @return ETrue on success
-        */
-        IMPORT_C TBool RefreshScanL();
-        
-        /**
-        * Launches and helper application to create an accesspoint 
-        * @since S60 5.0
-        * @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 );
-        
-        /**
-        * Cancel notify events from server
-        * @since S60 5.0
-        */
-        IMPORT_C void CancelNotifyEvents();
-        
-        /**
-        * Request notify events from server
-        * @since S60 5.0
-        * @param aObserver Instance of MWsfStateChangeObserver to handle events
-        */ 
-        IMPORT_C void RequestNotifyEventsL( 
-                                        MWsfStateChangeObserver& aObserver );
-        
-        /**
-        * Queries if there is an active WLAN connection.
-        * @since S60 5.0
-        * @return ETrue if there is an active WLAN connection, 
-        *         EFalse otherwise.
-        */
-        IMPORT_C TBool IsConnectedL();
-        
-        /**
-        * If there is an active WLAN connection, returns its WLAN info.
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo object to fill
-        * @return ETrue if success, EFalse otherwise.
-        */
-        IMPORT_C TBool GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo );
-      
-        /**
-        * Queries whether a connecting process is going on
-        * @since S60 5.0
-        * @return ETrue if connection is in progress
-        */
-        inline TBool IsConnecting() const;
-        
-        /**
-        * Sets connecting status
-        * @since S60 5.0
-        * @param aIsConnecting The new status of the connecting process
-        */
-        inline void SetConnecting( TBool aIsConnecting );
-        
-        /**
-        * Aborts the currently ongoing connecting process 
-        * @since S60 5.0
-        */
-        IMPORT_C void AbortConnectingL();
-        
-        /**
-        * Aborts the currently ongoing scanning process 
-        * @since S60 5.0
-        */
-        IMPORT_C void AbortScanningL();
-
-        /**
-        * Gets the ICTS test permission setting value 
-        * @since S60 5.0
-        * @return The ICTS setting
-        */
-        IMPORT_C static TInt IctsTestPermission();
-        
-        /**
-        * Check if Iap Id is valid
-        * Leaves with system wide error code if Iap ID is 
-        * not valid or checking fails
-        * @since S60 5.2
-		* @param aIapId IAP id passed as a parameter
-        */        
-        IMPORT_C void CheckIsIapIdValidL( TUint aIapId ) const;
-
-    public: // from  MWsfBrowserLaunchAdapter        
-        /**
-        * Launches Browser application using selected iap
-        * @since S60 5.0
-        * @param aIapId IAP id passed as a parameter
-        */
-        IMPORT_C void LaunchBrowserL( TUint32 aIapId );
-
-        
-        /**
-        * Cleans up the possibly temporary IAP after user cancelled 
-        * the browser launch
-        * @since S60 5.0
-        */
-        IMPORT_C void CleanUpCancelledLaunchL();
-
-        
-    public:     // From MWsfBrowserLaunchObserver
-
-        /**
-        * Called if browser launch succeeds
-        * @since S60 5.0
-        */
-        void BrowserLaunchCompleteL();
-
-        /**
-        * Called if browser launch failed
-        * @since S60 5.0
-        * @param aError System-wide error code    
-        */
-        void BrowserLaunchFailed( TInt aError );
-     
-        /**
-        * Called when the previously launched browser exits
-        * @since S60 5.0
-        */
-        void BrowserExitL();
-        
-        
-    private:    // from MWsfScreenSaverStateObserver
-        
-        /**
-        * Called if the status of the screensaver has been changed
-        * @since S60 5.0
-        * @param aScreenSaverActive Current status of the screensaver
-        */
-        void ScreenSaverStatusChangedL( const TBool aScreenSaverActive );
-
-
-    public:     // from MIctsObserver
-
-        /**
-        * Called by ICTS during/after connectivity test
-        * @since S60 5.0
-        * @param aResult Result code of the connectivity test
-        * @param aString Parameter to hold auxiliary data
-        */
-        void ConnectivityObserver( TIctsTestResult aResult, const TDesC& aString );
-
-
-    private:  // New methods
-        
-        /**
-        * Starts WLAN Login application
-        * @param aString Contains redirect URL
-        */  
-        void LaunchWlanLoginL( const TDesC& aString );
-        
-        /**
-        * Makes the temporary IAP created for ICT persistent, i.e. notifies
-        * the server not to delete it when the connection terminates.
-        * @since S60 5.0
-        * @param aPersistence The persistence property for the IAP
-        */    
-        void MakeIctIapPersistentL( TWsfIapPersistence aPersistence );
-        
-        /**
-        * Moves the IAP to internet SNAP
-        * @param aIapId Id of the connection method
-        */  
-        void MoveToInternetSnapL( const TUint32 aIapId );
-        
-        /**
-        * Check if there is disk space left 
-        * Leaves with KErrDiskFull is space is below CL
-        * @since S60 5.0
-        */
-        void CheckSpaceBelowCriticalLevelL() const;
-        
-        /**
-        * Check if access point to be created is
-        * unknow and Network encryption is WAPI
-        * Leaves with KErrWlanProtectedSetupSetupLocked 
-        * in the case of unknown WAPI AP.
-        * @since S60 5.2
-        */        
-        void CheckUnknownWapiL( TWsfWlanInfo& aWlan ) const;
-
-    private:    // Data
-        /**
-        * Reference to the current UI environment (not owned)
-        */
-        CEikonEnv* iEikEnv;
-
-        /**
-        * Reference to the model observer (not owned)
-        */
-        MWsfModelObserver* iObserver;
-
-        /**
-        * Browser launcher class. Owned.
-        */
-        CWsfAppLauncher* iBrowserLauncher;
-
-        /**
-        * Screen saver watcher class. Owned.
-        */
-        CWsfScreenSaverWatcher* iScreenSaverWatcher;
-
-        /**
-        * Client-side handle for server session
-        */
-        RWsfSession iSession;
-
-        /**
-        * Array to store WLAN scan results. Owned.
-        */
-        CWsfWlanInfoArray* iArray;
-
-        /**
-        * UID of active view
-        */
-        TUid iActiveView;        
-
-        /**
-        * Name of currently observed WLAN
-        */
-        HBufC8* iObservedWlan;
-
-        /**
-        * Id of currently connected IAP (if applicable)
-        */
-        TUint iConnectedIapId;
-        
-        /**
-        * Network id of currently connected IAP (if applicable)
-        */
-        TUint iConnectedNetId;
-
-        /**
-        * Refreshing status
-        */
-        TBool iRefreshing;
-        
-        /**
-        * Persistent WlanInfo for ICT cleanup
-        */
-        TWsfWlanInfo iIctWlanInfo;
-        
-        /**
-        * Indicates whether connection creation has been started but not
-        * finished yet.
-        */
-        TBool iConnecting;
-        
-        /**
-        * Waiter for ICT
-        */
-        CActiveSchedulerWait iIctWait;
-        
-        /**
-        * Indicates that connectivity test if over.
-        */
-        TBool iIctEnded;
-        
-        /**
-        * Indicates if connection will be kept when launching browser.
-        */
-        TBool iKeepConnection;
-        
-        /**
-        * Indicates if "Connect" or "Start Web browsing" is selected.
-        */
-        TBool iConnectOnly;
-
-    };
-
-
-#include "wsfmodel.inl"
-
-
-
-#endif      //  C_WSFMODEL_H
-
-// End of file
--- a/wlanutilities/wlansniffer/model/inc/wsfmodel.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline for CWsfModel
-*
-*/
-
-
-
-//  INLINE FUNCTIONS
-
-// -----------------------------------------------------------------------------
-// CWsfModel::IsConnecting
-// -----------------------------------------------------------------------------
-//
-inline TBool CWsfModel::IsConnecting() const
-	{ 
-	return iConnecting;
-	}
-
-
-// -----------------------------------------------------------------------------
-// CWsfModel::SetConnecting
-// -----------------------------------------------------------------------------
-//
-inline void CWsfModel::SetConnecting( TBool aIsConnecting )
-	{ 
-	iConnecting = aIsConnecting;
-	}
-
-
--- a/wlanutilities/wlansniffer/model/inc/wsfmodelobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,62 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfModelObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFMODELOBSERVER_H
-#define M_WSFMODELOBSERVER_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-#include <e32cmn.h>
-
-#include "wsfbrowserlaunchobserver.h"
-
- 
-
-//  CLASS DEFINITION
-/**
-* Class acts as an interface for the model to be able to call back its clients
-* in case of different model events.
-*
-* @since S60 5.0
-*/
-class MWsfModelObserver: public MWsfBrowserLaunchObserver
-    {
-    public:     // Abstract methods
-        /**
-        * Notification that a connection is about to be created
-        * @since S60 5.0
-        * @param aIapId The IAP id of the connection being created
-        */
-        virtual void ConnectingL( TUint32 aIapId ) = 0;
-        
-        /**
-        * Notification that the connection creation process ended
-        * @since S60 5.0
-        * @param aResult The result of the connection creation
-        */
-        virtual void ConnectingFinishedL( TInt aResult ) = 0;
-        
-    };
-
-
-#endif      //  M_WSFMODELOBSERVER_H
-
-// End of file
-
--- a/wlanutilities/wlansniffer/model/inc/wsfscreensaverstateobserver.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfScreenSaverStateObserver
-*
-*/
-
-
-
-
-#ifndef M_WSFSCREENSAVERSTATEOBSERVER_H
-#define M_WSFSCREENSAVERSTATEOBSERVER_H
-
-
-#include <e32std.h>
-
-
-/**
- * Interface class for notifications about screen saver status change
- *
- * @since S60 5.0
- */
-class MWsfScreenSaverStateObserver
-    {
-    public:
-        /**
-        * Called when screen saver status has changed
-        * @since S60 5.0
-        * @param aScreenSaverActive ETrue if the screen saver was activated,
-        *                           EFalse on deactivation
-        */
-        virtual void ScreenSaverStatusChangedL( 
-                                          const TBool aScreenSaverActive ) = 0;
-    };
-
-
-#endif // M_WSFSCREENSAVERSTATEOBSERVER_H
--- a/wlanutilities/wlansniffer/model/inc/wsfscreensaverwatcher.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,99 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfScreenSaverWatcher
-*
-*/
-
-
-
-#ifndef C_WSFSCREENSAVERWACTHER_H
-#define C_WSFSCREENSAVERWACTHER_H
-
-#include <e32base.h>
-#include <e32property.h>
-
-
-//  FORWARD DECLARATIONS
-class MWsfScreenSaverStateObserver;
-
-/**
-* Active object class which monitors screen saver activity and notifies 
-* the observer when changes occur.
-*
-* @lib wsfmodel.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfScreenSaverWatcher ): public CActive
-    {
-    public:     // Constructors
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aObserver The object to notify when changes occur.
-        * @return Class instance.
-        */
-        static CWsfScreenSaverWatcher* NewL( 
-                                    MWsfScreenSaverStateObserver& aObserver );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aObserver The object to notify when changes occur.
-        * @return Class instance.
-        */
-        static CWsfScreenSaverWatcher* NewLC( 
-                                    MWsfScreenSaverStateObserver& aObserver );
-        
-        ~CWsfScreenSaverWatcher();
-        
-    private: // Constructors
-
-        /**
-        * Constructor.
-        * @since S60 5.0
-        * @param aObserver The object to notify when changes occur.
-        */
-        CWsfScreenSaverWatcher( MWsfScreenSaverStateObserver& aObserver );
-
-        void ConstructL();    
-    
-    public: 
-        
-        /**
-        * Start receiving events from screensaver
-        * @since S60 5.0
-        */
-        void StartStatusScanning();
-
-    protected:  // from CActive
-        void RunL();
-        void DoCancel();
-        TInt RunError( TInt aError );
-
-    private:    // Data
-
-        /**
-        * Handle to the screen saver property value
-        */
-        RProperty iProperty;
-        
-        /**
-        * The object to notify when changes occur. Not owned.
-        */
-        MWsfScreenSaverStateObserver* iObserver;
-
-    };
-    
-#endif // C_WSFSCREENSAVERWACTHER_H
-
--- a/wlanutilities/wlansniffer/model/rom/wsfmodel.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanInfoSorting
-*
-*/
-
-
-
-#ifndef WSFMODEL_IBY
-#define WSFMODEL_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSnifferModel
-
-#include <bldvariant.hrh>
-
-file=ABI_DIR\BUILD_DIR\wsfmodel.dll		SHARED_LIB_DIR\wsfmodel.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFMODEL_IBY
--- a/wlanutilities/wlansniffer/model/src/wsfactivewaiter.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,108 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfActiveWaiter.
-*
-*/
-
-
-// INCLUDE FILES
-#include "wsfactivewaiter.h"
-#include "wsflogger.h"
-
-
-
-// ================= MEMBER FUNCTIONS =======================
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter* CWsfActiveWaiter::NewL()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter* CWsfActiveWaiter::NewL( )
-    {
-    CWsfActiveWaiter* self = 
-                         new ( ELeave ) CWsfActiveWaiter( );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    CleanupStack::Pop( self );
-    
-    return self;        
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::ConstructL()
-// ---------------------------------------------------------
-//
-void CWsfActiveWaiter::ConstructL()
-    {     
-    CActiveScheduler::Add( this );            
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::CWsfActiveWaiter()
-// ---------------------------------------------------------
-//
-CWsfActiveWaiter::CWsfActiveWaiter()
-: CActive( EPriorityNormal )
-    {
-    }
-    
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::~CWsfActiveWaiter()
-// ---------------------------------------------------------
-//    
-CWsfActiveWaiter::~CWsfActiveWaiter()
-    {
-    Cancel();
-    }
-
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::DoCancel()
-// ---------------------------------------------------------
-// 
-void CWsfActiveWaiter::DoCancel()
-    {
-    }
-     
- 
-// ---------------------------------------------------------
-// CWsfActiveWaiter::RunL()
-// ---------------------------------------------------------
-//     
-void CWsfActiveWaiter::RunL()
-    {
-    LOG_ENTERFN( "CWsfActiveWaiter::RunL" );
-    if ( iWait.IsStarted() )
-        {
-        LOG_WRITE("async call completed, resuming.");
-        iWait.AsyncStop();
-        }
-    }
-
-// ---------------------------------------------------------
-// CWsfActiveWaiter::WaitForRequest()
-// ---------------------------------------------------------
-// 
-TInt CWsfActiveWaiter::WaitForRequest()
-    {
-    LOG_ENTERFN("CWsfActiveWaiter::WaitForRequest");
-    SetActive(); 
-    iWait.Start();
-
-    return iStatus.Int();
-    }    
-// End of File
-
--- a/wlanutilities/wlansniffer/model/src/wsfapplauncher.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,637 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfAppLauncher
-*
-*/
-
-
-
-
-//  EXTERNAL INCLUDES
-#include <apgtask.h>
-#include <apgcli.h>
-#include <centralrepository.h>
-#include <browseruisdkcrkeys.h>
-#include <bldvariant.hrh>
-#include <featmgr.h>
-#include <cmmanager.h>
-#include <cmmanagerext.h>
-#include <cmconnectionmethod.h>
-#include <cmconnectionmethodext.h>
- 
-//  CLASS HEADER
-#include "wsfapplauncher.h"
-
-//  INTERNAL INCLUDES
-#include "wsfbrowserlaunchobserver.h"
-#include "wsflogger.h"
-#include "wsfactivewaiter.h"
-
-
-//  LOCAL DEFINITIONS
-/**
-* Delay that we wait for the browser to start or terminate
-*/
-static const TInt KTimerTickInterval = 2 * 1000 * 1000;    
-
-/**
-* Repository key ID for the browser's homepage URL
-*/
-static const TUint32 KBrowserNGHomepageURL = 0x00000030;
-
-
-#ifdef _DEBUG
-    _LIT( KBrowserLauncherPanic, "CWsfAppLauncher" );
-    #define _ASSERTD( cond ) __ASSERT_DEBUG( (cond),  User::Panic( KBrowserLauncherPanic, __LINE__) )
-#else
-    #define _ASSERTD( cond ) {}
-#endif //_DEBUG
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::NewL
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfAppLauncher* CWsfAppLauncher::NewL()
-    {
-    CWsfAppLauncher* self = CWsfAppLauncher::NewLC();
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::NewLC
-// ---------------------------------------------------------------------------
-//
-EXPORT_C CWsfAppLauncher* CWsfAppLauncher::NewLC()
-    {
-    CWsfAppLauncher* self = new( ELeave ) CWsfAppLauncher();
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::~CWsfAppLauncher
-// ---------------------------------------------------------------------------
-//
-CWsfAppLauncher::~CWsfAppLauncher()
-    {
-    Cancel();
-    delete iURL;
-    delete iRepository;
-    iTimer.Close();
-    iWsSession.Close();     
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::CWsfAppLauncher
-// ---------------------------------------------------------------------------
-//
-CWsfAppLauncher::CWsfAppLauncher(): 
-    CActive( CActive::EPriorityLow ),
-    iIapId( 0 ), 
-    iWapId( 0 ),
-    iLaunchState( EIdle ),
-    iRestoreSelectionMode( EFalse ),
-    iRestoreAccessPoint( EFalse ),
-    iLaunchBookMarks( EFalse )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::ConstructL()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::ConstructL" );
-    iBrowserUid = KCRUidBrowser;
-    iHomepageKey = KBrowserNGHomepageURL; 
-    iBrowserStartingPageKey = KBrowserNGHomepageType;
-
-    // Common settings for both browsers
-    iRepository = CRepository::NewL( KCRUidBrowser );
-    
-    User::LeaveIfError( iWsSession.Connect() );    
-    User::LeaveIfError( iTimer.CreateLocal() );
-
-    iURL = KNullDesC().AllocL();    
-    CActiveScheduler::Add( this );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::LaunchBrowserL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver, 
-                                      TUint aIapId,
-                                      TUint aWapId,
-                                      const TDesC& aURL )
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::LaunchBrowserL_3" );
-    Cancel();
-    SetAccessPoint( aWapId );
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_3 -->> afer cancel" );
-    iObserver = &aObserver;  
-    iIapId = aIapId;
-    iWapId = aWapId;
-    HBufC* url = aURL.AllocL();
-    delete iURL;
-    iURL = url;
-
-    iLaunchState = EIdle;    
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_3 -->> before set active" );
-    SetActive();
-    TRequestStatus* status = &iStatus;
-    User::RequestComplete( status, KErrNone );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::LaunchBrowserL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::LaunchBrowserL( MWsfBrowserLaunchObserver& aObserver, 
-                                      TUint aIapId )
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::LaunchBrowserL_2" );
-    LOG_WRITEF( "CWsfAppLauncher::LaunchBrowserL_2 -->> iIapid %d", aIapId );
-    HBufC* url = HBufC::NewLC( 
-                        NCentralRepositoryConstants::KMaxUnicodeStringLength );
-    TPtr urlPtr( url->Des() );
-    
-    iLaunchBookMarks = EFalse;
-    
-    RCmManager cmManager;
-    
-    cmManager.OpenL();
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> cmmanager opened" );
-    CleanupClosePushL( cmManager );
-
-    RCmConnectionMethod plugin;
-    CleanupClosePushL( plugin );
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> cm before open" );
-    LOG_WRITEF( "CWsfAppLauncher::LaunchBrowserL_2 -->> iIapid %d", aIapId );
-    plugin = cmManager.ConnectionMethodL( aIapId );
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> cm after open" );
-
-    // Browser uses WAP id instead of IAP id so 
-    // we need to pass wap id to browser
-    TUint wapId = plugin.GetIntAttributeL( CMManager::ECmWapId );
-    LOG_WRITEF( "CWsfAppLauncher::LaunchBrowserL_2 -->> ECmWapId %d", wapId );
-    
-    // do we have start page for Access Point?
-    HBufC* apHomepage = NULL;
-    apHomepage = plugin.GetStringAttributeL( CMManager::ECmStartPage );
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> String Attrib got" );
-    CleanupStack::PushL( apHomepage );
- 
-    if( apHomepage->Length() == 0 )
-        {
-        LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> hplength = 0" );
-        // if we can't have Access Point URL then
-        // we try to get browser homepage URL
-        TInt err = BrowserHomepage( urlPtr );   
-        
-        // if browser homepage is not defined either,
-        // launch bookmarks view
-        if ( err || url->Length() == 0 )
-            {
-            LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> err in url length" );
-            iLaunchBookMarks = ETrue;
-            }
-        }
-    else
-        {
-        LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> hplength>0" );
-        url->Des().Copy( *apHomepage );
-        }
-
-    if ( ApSelectionMode() !=0 )
-        {
-        // Set AP selection mode to user defined
-        LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> ap selection mode" );
-        SetApSelectionMode( 0 );  
-        iRestoreSelectionMode = ETrue;
-        }
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> before setAP" );
-    SetAccessPoint( wapId );
-    
-    LaunchBrowserL( aObserver, aIapId, wapId, *url );
-    
-    LOG_WRITE( "CWsfAppLauncher::LaunchBrowserL_2 -->> after launch _3" );
-    CleanupStack::PopAndDestroy( apHomepage );
-    CleanupStack::PopAndDestroy( &plugin );
-    CleanupStack::PopAndDestroy( &cmManager );
-    CleanupStack::PopAndDestroy( url );
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::DoLaunchBrowserL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::DoLaunchBrowserL()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::DoLaunchBrowserL" );
-    _LIT( KFormatCommand, "%d %S %d" );
-    const TInt KBrowserFirstParamUrlFollows = 4;
-    
-    iLaunchState = EStartingUp;    
-    HBufC* param = NULL; 
-    if ( iLaunchBookMarks )
-        {
-        param = KNullDesC().AllocLC();
-        }
-    else
-        {
-        param = HBufC::NewLC( KFormatCommand().Length() + iURL->Length() );
-        param->Des().Format( KFormatCommand, 
-                             KBrowserFirstParamUrlFollows, iURL, iWapId );
-        }
-        
-    RApaLsSession appArcSession;
-    User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
-    CleanupClosePushL( appArcSession );
-                     
-    User::LeaveIfError( appArcSession.StartDocument( *param, iBrowserUid, 
-                                                                  iThreadId ) );
-
-    CleanupStack::PopAndDestroy( &appArcSession );
-    CleanupStack::PopAndDestroy( param );
-
-
-    iTimer.Cancel();
-    iTimer.After( iStatus, KTimerTickInterval );
-    SetActive();
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::BrowserExists
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppLauncher::BrowserExists()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::BrowserExists" );
-    TApaTaskList taskList( iWsSession );            
-    TApaTask startedtask = taskList.FindApp( iBrowserUid );
-    return startedtask.Exists();   
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::BrowserHomepage
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAppLauncher::BrowserHomepage( TDes& aHomePageURL )
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::BrowserHomepage" );
-    CRepository* repository( iRepository );
-
-    // get the default starting page setting
-    TInt startingPageMode( 0 );
-    TInt err = repository->Get( iBrowserStartingPageKey, startingPageMode );
-    if ( err == KErrNone )
-        {
-        switch ( startingPageMode )
-            {
-            case 1:
-            case 2:
-                {
-                // user defined or current page
-                 err = repository->Get( iHomepageKey, aHomePageURL );
-                break;
-                }
-            default:
-                {
-                aHomePageURL.Zero();                     
-                }
-            }
-        }
-
-    return err;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::KillBrowserIfAlreadyExists
-// ---------------------------------------------------------------------------
-//
-TBool CWsfAppLauncher::KillBrowserIfAlreadyExists()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::KillBrowserIfAlreadyExists" );
-    _ASSERTD( iLaunchState == EIdle);    
-    _ASSERTD( !IsActive() );       
-         
-    TBool killing = EFalse;
-    
-    TApaTaskList taskList( iWsSession );
-    TApaTask task = taskList.FindApp( iBrowserUid );
-
-    if ( task.Exists() )
-        {    
-        // kill the browser...
-        task.EndTask();
-        killing = ETrue;
-
-        iTimer.Cancel();
-        iTimer.After( iStatus, KTimerTickInterval );
-        }    
-    else
-        {
-        TRequestStatus* status = &iStatus;
-        User::RequestComplete( status, KErrNone );  
-        }
-        
-    SetActive();
-    iLaunchState = EShuttingDown;
-    return killing;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::ContinueBrowsingL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::ContinueBrowsingL()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::ContinueBrowsingL_0" );
-    //Check if the application is already running
-    TBool exists = BrowserExists();
-    if ( exists )
-        {
-        TApaTaskList taskList( iWsSession );
-        TApaTask task = taskList.FindApp( iBrowserUid );
-        task.BringToForeground();
-        }
-    else
-        {
-        User::Leave( KErrNotFound );    
-        }       
-    }
-
-    
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::ContinueBrowsingL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::ContinueBrowsingL( MWsfBrowserLaunchObserver& aObserver, 
-                                         TUint aIapId )
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::ContinueBrowsingL_2" );
-    //Check if the application is already running
-    TBool exists = BrowserExists();
-    if ( exists )
-        {
-        TApaTaskList taskList( iWsSession );
-        TApaTask task = taskList.FindApp( iBrowserUid );
-        task.BringToForeground();
-        }
-    else    // browser not running - launch browser
-        {
-        LaunchBrowserL( aObserver, aIapId );
-        }       
-    }    
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::Launching
-// ---------------------------------------------------------------------------
-//
-TWsfLaunchState CWsfAppLauncher::Launching()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::Launching" );
-    return iLaunchState;    
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::BrowserIap
-// ---------------------------------------------------------------------------
-//
-TUint32 CWsfAppLauncher::BrowserIap() const
-    {
-    return iIapId;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::ApSelectionModeL
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAppLauncher::ApSelectionMode()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::ApSelectionMode" );
-    TInt currentState = 0;
-    iRepository->Get( KBrowserAccessPointSelectionMode, currentState );
-    return currentState;      
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::SetApSelectionModeL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::SetApSelectionMode( TInt aApSelectionMode  )
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::SetApSelectionMode" );  
-    // Valid values: 0 = User Defined, 1 = Always Ask, 2=Destination
-    if ( !iRestoreSelectionMode )
-        {
-        //Store original setting
-        TInt OriginalApSelectionMode = 0;
-        iRepository->Get( KBrowserAccessPointSelectionMode, 
-                OriginalApSelectionMode );
-        iOriginalApSelectionMode = OriginalApSelectionMode;
-        }
-    iRepository->Set( KBrowserAccessPointSelectionMode, aApSelectionMode );  
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::RestoreApSelectionMode
-// ---------------------------------------------------------------------------
-// 
-void CWsfAppLauncher::RestoreApSelectionMode()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::RestoreApSelectionMode" ); 
-    if ( iRestoreSelectionMode )
-        {
-        SetApSelectionMode( iOriginalApSelectionMode );       
-        iRestoreSelectionMode = EFalse;
-        } 
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::SetAccessPoint
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::SetAccessPoint( TUint aAccessPointId )
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::SetAccessPoint" );
-    LOG_WRITEF( "aAccessPointId %d", aAccessPointId );
-    CRepository* repository( iRepository );
-    TUint defaultAccessPointUid = KBrowserDefaultAccessPoint;
-
-    if ( !iRestoreAccessPoint )
-        {
-        // Store Access point so it can be restored after the launch
-        TInt id( 0 );
-        TInt err = repository->Get( defaultAccessPointUid, id );       
-        if ( err != KErrNotFound )
-            {            
-            iOriginalApId = (TUint)id; 
-            iRestoreAccessPoint = ETrue;
-            }
-        }
-
-    repository->Set( defaultAccessPointUid, (TInt)aAccessPointId );  
-    repository = NULL;
-    }
-    
-    
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::RestoreAccessPoint
-// ---------------------------------------------------------------------------
-// 
-void CWsfAppLauncher::RestoreAccessPoint()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::RestoreAccessPoint" ); 
-    if ( iRestoreAccessPoint )
-        {
-        SetAccessPoint( iOriginalApId );       
-        iRestoreAccessPoint = EFalse;
-        } 
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::DoCancel
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::DoCancel()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::DoCancel" ); 
-    iThread.LogonCancel( iStatus );
-    
-    iThread.Close();
-    iTimer.Cancel();
-    RestoreApSelectionMode();
-    RestoreAccessPoint();
-    iLaunchState = EIdle;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::RunL
-// ---------------------------------------------------------------------------
-//
-void CWsfAppLauncher::RunL()
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::RunL" ); 
-    _ASSERTD( iObserver ); 
-    User::LeaveIfError( iStatus.Int() );
-    
-    switch( iLaunchState )
-        {
-        case EIdle: // Starting to launch
-            {
-            LOG_WRITE( "CWsfAppLauncher::RunL -->> EIdle" );
-            KillBrowserIfAlreadyExists();  
-            break;    
-            }
-        case EShuttingDown: // Existing browser was succesfully closed 
-            {
-            LOG_WRITE( "CWsfAppLauncher::RunL -->> EShuttingDown" );
-            DoLaunchBrowserL();
-            break;    
-            }
-        case EStartingUp:  // Start-up completed, check browser exists 
-            {
-            LOG_WRITE( "CWsfAppLauncher::RunL -->> EStartingUp" );
-            TBool exists = BrowserExists();
-            TInt err = exists ? KErrNone : KErrNotFound;
-            iLaunchState = ECompleted;
-            TRequestStatus* status = &iStatus;
-            User::RequestComplete( status, err );
-            SetActive();    
-            break;    
-            }
-        case ECompleted:  //Browser exists, notify observer about completion
-            {
-            LOG_WRITE( "CWsfAppLauncher::RunL -->> ECompleted" );  
-            iLaunchState = EFinished;
-            LOG_WRITE( "CWsfAppLauncher::RunL -->> Before thread open" );
-            User::LeaveIfError( iThread.Open( iThreadId, EOwnerProcess ) );
-            LOG_WRITE( "CWsfAppLauncher::RunL -->> Thread opened" );
-            iObserver->BrowserLaunchCompleteL(); 
-            TRequestStatus* status = &iStatus;
-            iThread.Logon( *status );
-            SetActive();    
-            break;    
-            }
-        case EFinished:  //Browser exists, notify observer about completion
-            {
-            LOG_WRITE( "CWsfAppLauncher::RunL -->> EFinished" );
-            iObserver->BrowserExitL(); 
-            RestoreAccessPoint();         
-            RestoreApSelectionMode();   
-            iLaunchState = EIdle;
-            break;    
-            }
-        default:
-            {
-            _ASSERTD( EFalse ); 
-            }
-        }    
-    }
-
-// ---------------------------------------------------------------------------
-// CWsfAppLauncher::RunError
-// ---------------------------------------------------------------------------
-//
-TInt CWsfAppLauncher::RunError( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfAppLauncher::RunError" ); 
-    _ASSERTD( iObserver ); 
-
-    switch( iLaunchState )
-        {
-        case EIdle:         // 
-        case EShuttingDown: // Shuttind down existing browser failed
-        case EStartingUp:   // Starting up new browser failed
-        case ECompleted:   // Starting up new browser failed
-            {
-            RestoreApSelectionMode();    
-            RestoreAccessPoint();       
-            iObserver->BrowserLaunchFailed( aError );
-            break;    
-            }
-        default:
-            {
-            _ASSERTD( EFalse ); 
-            }
-        }    
-        
-    iLaunchState = EIdle;
-    return aError;
-    }
-
--- a/wlanutilities/wlansniffer/model/src/wsfmodel.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1155 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfModel
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <eikenv.h>
-#include <apgcli.h>
-#include <apgtask.h>
-#include <ictsclientinterface.h>
-#include <cmmanagerext.h>
-#include <cmdestinationext.h>
-#include <cmpluginwlandef.h>
-#include <centralrepository.h>
-#include <internetconnectivitycrkeys.h>
-#include <featmgr.h>
-#include <sysutil.h>
-#include <wlanerrorcodes.h>
-
-//  CLASS HEADER
-#include "wsfmodel.h"
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-#include "wsfwlaniapwizard.h"
-#include "wsfapplauncher.h"
-#include "wsfmodelobserver.h"
-#include "wsfstatechangeobserver.h"
-#include "wsfscreensaverwatcher.h"
-#include "wsflogger.h"
-
-using namespace CMManager;
-
-
-/**
-* UID of helper application 
-* used when model is instantiated in the active idle
-*/
-static const TUid KHelperApUid = { 0x10281CEB };
-
-/**
-* UID of Wlan Login application (hsbrowser)
-* used when launching WLAN Login application
-*/
-static const TInt KBrowserUid = { 0x2000AFCC };
-
-/**
-* Estimated overhead for access point creation 
-*/
-const TInt KEstimatedOverhead = 8192;
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfModel* CWsfModel::NewL( MWsfStateChangeObserver& aObserver,
-                                     const TBool aScreenSaverAware )
-    {
-    CWsfModel* self = CWsfModel::NewLC( aObserver, aScreenSaverAware );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfModel* CWsfModel::NewLC( MWsfStateChangeObserver& aObserver,
-                                      const TBool aScreenSaverAware )
-    {
-    CWsfModel* self = new( ELeave ) CWsfModel;
-    CleanupStack::PushL( self );
-    self->ConstructL( aObserver, aScreenSaverAware );
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::~CWsfModel
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfModel::~CWsfModel()
-    {
-    iSession.CancelNotifyEvent();
-    iSession.Close();
-    delete iScreenSaverWatcher;
-    delete iArray;   
-    delete iObservedWlan;
-    delete iBrowserLauncher;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CWsfModel
-// ----------------------------------------------------------------------------
-//
-CWsfModel::CWsfModel(): 
-    iEikEnv( CEikonEnv::Static() ),
-    iRefreshing( EFalse ),
-    iIctEnded( EFalse ),
-    iKeepConnection( EFalse ),
-    iConnectOnly( EFalse )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::ConstructL( MWsfStateChangeObserver& aObserver, 
-                            const TBool aScreenSaverAware )
-    {
-    iArray = CWsfWlanInfoArray::NewL(); 
-    iBrowserLauncher = CWsfAppLauncher::NewL();
-    User::LeaveIfError( iSession.Connect() ); 
-    iSession.NotifyEventL( aObserver );
-    if ( aScreenSaverAware )
-        {
-        iScreenSaverWatcher = CWsfScreenSaverWatcher::NewL( *this );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetEngineObserver
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetEngineObserver( MWsfModelObserver* aObserver )
-    {
-    iObserver = aObserver;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::GetWlanListL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArray* CWsfModel::GetWlanListL()
-    {
-    LOG_ENTERFN( "CWsfModel::GetWlanListL" );
-    iArray->Reset();
-    iSession.UpdateWlanListL( iArray );
-    return iArray;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetActiveViewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetActiveViewL( TInt aViewId )
-    {
-    TUid id;
-    id.iUid = aViewId;
-    iActiveView = id;
-    }
-        
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ActiveViewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TUid CWsfModel::ActiveViewL()
-    {
-    return iActiveView;
-    }
-
-    
-// ----------------------------------------------------------------------------
-// CWsfModel::SetObservedWlanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetObservedWlanL( const TDesC8& aSsid )
-    {
-    HBufC8* ssid = aSsid.AllocL();
-    delete iObservedWlan;
-    iObservedWlan = ssid;
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ObservedWlan
-// ----------------------------------------------------------------------------
-//
-EXPORT_C const TDesC8& CWsfModel::ObservedWlan()
-    {
-    return *iObservedWlan;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ConnectL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C int CWsfModel::ConnectL( TUint32 aIapId )
-    {
-    LOG_ENTERFN( "CWsfModel::ConnectL" );
-    
-    if ( iObserver )
-        {
-        iObserver->ConnectingL( aIapId );
-        }
-    
-    TInt err = iSession.ConnectWlanBearerL( aIapId, EIapPersistent );
-    if ( err == KErrNone )
-        {
-        iConnectedIapId = aIapId;
-        }
-    else
-        {
-        if ( iObserver )
-            {
-            iObserver->BrowserLaunchFailed( err );            
-            }
-        }
-
-    if ( iObserver )
-        {
-        iObserver->ConnectingFinishedL( err );
-        }
-
-    TBool timerStarted( EFalse );
-    timerStarted = iSession.ControlDisconnectTimerL( 
-                                         EAdcStartTimer | EAdcTimerReset );
-    
-    if ( !timerStarted )
-        {
-        LOG_WRITE( "auto-disconnect timer couldn't be started!" );
-        }
-    
-    
-    iRefreshing = iSession.RequestScanL();   
-    
-    return err;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ConnectWithoutConnWaiterL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C int CWsfModel::ConnectWithoutConnWaiterL( TUint32 aIapId, 
-                                                   TBool aTestedAccessPoint )
-    {
-    LOG_ENTERFN( "CWsfModel::ConnectWithoutConnWaiterL" );
-    
-    if ( iObserver )
-        {
-        iObserver->ConnectingL( aIapId );
-        }
-    if ( aTestedAccessPoint )
-        {
-        return iSession.ConnectWlanBearerWithoutConnWaiterL( aIapId, 
-                                                       EIapPersistent );
-        }
-    else
-        {
-        return iSession.ConnectWlanBearerWithoutConnWaiterL( aIapId, 
-                                                       EIapExpireOnDisconnect );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::FinalizeConnectL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::FinalizeConnectL()
-    {
-    LOG_ENTERFN( "CWsfModel::FinalizeConnectL" );
-    
-    TBool timerStarted( EFalse );
-    timerStarted = iSession.ControlDisconnectTimerL( 
-                                              EAdcStartTimer | EAdcTimerReset );
-    
-    if ( !timerStarted )
-        {
-        LOG_WRITE( "auto-disconnect timer couldn't be started!" );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::DisconnectL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::DisconnectL()
-    {
-    LOG_ENTERFN( "CWsfModel::DisconnectL" );
-    iSession.DisconnectWlanBearerL();
-    iConnectedIapId = 0;
-    iConnectedNetId = 0;
-    iConnectOnly = EFalse;
-    iRefreshing = iSession.RequestScanL();    
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::Refreshing
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::Refreshing()
-    {
-    return iRefreshing;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::SetRefreshState
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::SetRefreshState( TBool aRefreshing )
-    {
-    iRefreshing = aRefreshing;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::EnableScanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::EnableScanL()
-    {
-    LOG_ENTERFN( "CWsfModel::EnableScanL" );
-    TBool enableScan( iSession.EnableScanL() );
-    if ( iScreenSaverWatcher )
-        {
-        iScreenSaverWatcher->Cancel();
-        iScreenSaverWatcher->StartStatusScanning();
-        }
-    return enableScan;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::DisableScanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::DisableScanL()
-    {
-    LOG_ENTERFN( "CWsfModel::DisableScanL" );
-    TBool disableScan( iSession.DisableScanL() );   
-    if ( iScreenSaverWatcher )
-        {
-        iScreenSaverWatcher->Cancel();
-        }
-    return disableScan; 
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::IsScanEnabledL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::IsScanEnabledL()
-    {
-    return iSession.IsScanEnabledL(); 
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::LaunchBrowserL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::LaunchBrowserL( TUint32 aIapId )
-    {
-    LOG_ENTERFN( "CWsfModel::LaunchBrowserL" );
-    
-    if ( !iBrowserLauncher->Launching() ||
-         iBrowserLauncher->BrowserIap() != aIapId ) 
-        {
-        LOG_WRITE( "launching browser..." );
-        iConnectedIapId = aIapId;        
-        iSession.MonitorAccessPointL( aIapId );
-        iSession.ControlDisconnectTimerL( EAdcStopTimer );
-        iBrowserLauncher->LaunchBrowserL( *this, aIapId );
-        }
-    else if ( iBrowserLauncher->BrowserIap() == aIapId ) 
-        {
-        LOG_WRITE( "bringing browser to foreground..." );
-        ContinueBrowsingL();
-        }
-        
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CleanUpCancelledLaunchL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::CleanUpCancelledLaunchL()
-    {
-    LOG_ENTERFN( "CWsfModel::CleanUpCancelledLaunchL" );
-    iSession.SetIapPersistenceL( EIapForcedExpiry );
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ContinueBrowsingL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::ContinueBrowsingL()
-    {
-    LOG_ENTERFN( "CWsfModel::ContinueBrowsingL(void)" );
-    iBrowserLauncher->ContinueBrowsingL();
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ContinueBrowsingL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::ContinueBrowsingL( TUint32 aIapId )
-    {
-    LOG_ENTERFN( "CWsfModel::ContinueBrowsingL(TUint32)" );
-    iBrowserLauncher->ContinueBrowsingL( *this, aIapId );
-    }    
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::ConnectivityObserver
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::ConnectivityObserver( TIctsTestResult aResult, 
-                                      const TDesC& aString )
-    {
-    LOG_ENTERFN( "CWsfModel::ConnectivityObserver" );
-    LOG_WRITEF( "ICTS result: %d", aResult );
-    
-    TBool makePersistent( EFalse );
-    // check the result
-    switch ( aResult )
-        {
-        case EConnectionOk:
-            {
-            // test succeeded
-            TRAP_IGNORE( MoveToInternetSnapL( iConnectedIapId ) );
-            makePersistent = ETrue;
-            LOG_WRITE( "ICT: EConnectionOk" );
-            break;            
-            }
-            
-        case EConnectionNotOk:
-            {
-            // test was run but it failed
-            LOG_WRITE( "ICT: EConnectionNotOk" );
-            break;
-            }
-        case EHttpAuthenticationNeeded:
-            {
-            // test was run but HTTP authentication is required
-            LOG_WRITE( "ICT: EHttpAuthenticationNeeded" );
-            if ( iConnectOnly )
-                {
-                // Connect selected. WLAN Login needed.
-                TRAP_IGNORE( LaunchWlanLoginL(aString) );
-                }    
-            break;
-            }    
-        case ETimeout:
-            {
-            LOG_WRITE( "ICT: ETimeout" );
-            break;
-            }
-            
-        default:
-            {
-            _LIT( KIctPanic, "ICT result" );
-            User::Panic( KIctPanic, aResult );
-            }
-        }
-
-    if ( makePersistent )
-        {
-        TWsfIapPersistence pt = ( iConnectedIapId )? 
-                                     EIapPersistent: 
-                                     EIapExpireOnShutdown;
-                                     
-        TRAPD( err, MakeIctIapPersistentL( pt ) );
-        if ( err )
-            {
-            LOG_WRITEF( "MakeIctIapPersistentL leaved with error = %d", err );
-            }
-        }
-
-    if ( iKeepConnection )
-        {
-        // trigger the auto-disconnect timer as well
-        TBool timerStarted( EFalse );
-        TRAP_IGNORE( timerStarted = iSession.ControlDisconnectTimerL( 
-                                          EAdcStartTimer | EAdcTimerReset ) );
-        
-        if ( !timerStarted )
-            {
-            LOG_WRITE( "auto-disconnect timer couldn't be started!" );
-            }
-        }
-        
-    LOG_WRITE( "before AsyncStop" );
-    // finally stop blocking the caller
-    iIctEnded = ETrue; 
-    if ( iIctWait.IsStarted() )
-        {
-        LOG_WRITE( "ICT: AsyncStop" );
-        iIctWait.AsyncStop();
-        } 
-     
-
-    }
-
-// -----------------------------------------------------------------------------
-// CWsfModel::LaunchWlanLoginL()
-// -----------------------------------------------------------------------------
-//    
-void CWsfModel::LaunchWlanLoginL( const TDesC& aString )
-    {   
-    LOG_ENTERFN( "WsfModel::LaunchWlanLoginL" );
-    HBufC* param = HBufC::NewLC( KMaxFileName );
-    _LIT(tmpString, "%d, %d, %S");
-    param->Des().Format( tmpString, 
-                         iConnectedIapId, 
-                         iConnectedNetId, 
-                         &aString );
-    TUid uid( TUid::Uid( KBrowserUid ) );
-    TThreadId id;
-    
-    RApaLsSession appArcSession;
-    User::LeaveIfError( appArcSession.Connect() ); 
-    CleanupClosePushL( appArcSession );
-        
-    TInt err = appArcSession.StartDocument( *param, TUid::Uid( KBrowserUid ), id );
-    if ( err != KErrNone )
-        {
-        LOG_ENTERFN( "WsfModel::LaunchWlanLoginL failed" );
-        }
-    CleanupStack::PopAndDestroy( &appArcSession );
-    CleanupStack::PopAndDestroy( param );
-    }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::MakeIctIapPersistentL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::MakeIctIapPersistentL( TWsfIapPersistence aPersistence )
-    {
-    LOG_ENTERFN( "CWsfModel::MakeIctIapPersistentL" );
-    LOG_WRITEF( "temp ICT IAP id = %d", iIctWlanInfo.iIapId );
-    
-    if ( !iSession.SetIapPersistenceL( aPersistence ) )
-        {
-        LOG_WRITE( "setting temporary flag FAILED" );
-        }
-    
-    }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::MoveToInternetSnapL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::MoveToInternetSnapL( const TUint32 aIapId )
-    {
-	LOG_ENTERFN( "CWsfModel::MoveToInternetSnapL" );
-    // Read all destination(SNAP) settings into an array
-    RArray<TUint32> destinations;
-    CleanupClosePushL(destinations);
-    RCmManagerExt cmManager;
-    cmManager.OpenL();
-    CleanupClosePushL( cmManager );      
-    cmManager.AllDestinationsL(destinations);
-    RCmDestinationExt destination;
-    // Loop through each destination
-    for(TInt i = 0; i < destinations.Count(); i++)
-        {
-        destination = cmManager.DestinationL(destinations[i]);
-        CleanupClosePushL(destination); 
-        // Internet destination will always exist in the system.
-        // Internet destination will have ESnapPurposeInternet set in its metadata.
-        if (destination.MetadataL(CMManager::ESnapMetadataPurpose) == CMManager::ESnapPurposeInternet)
-            {
-            RCmConnectionMethodExt iap = cmManager.ConnectionMethodL( aIapId );
-            CleanupClosePushL( iap );     
-            LOG_WRITE( "Move Iap to internet destination" );
-            destination.AddConnectionMethodL( iap );
-            destination.UpdateL();
-            CleanupStack::PopAndDestroy( &iap ); 
-            }
-        CleanupStack::PopAndDestroy( &destination ); 
-        }
-    CleanupStack::PopAndDestroy( &cmManager ); 
-    CleanupStack::PopAndDestroy( &destinations ); 
-    }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CreateAccessPointL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::CreateAccessPointL( TWsfWlanInfo& aWlan, 
-                                              TBool aExplicitDefine )
-    {
-    LOG_ENTERFN( "CWsfModel::CreateAccessPointL" );
-    if ( aExplicitDefine )
-        {
-        LOG_WRITE( "called from 'Define access point'" );
-        }
-    
-    CheckSpaceBelowCriticalLevelL();
-    CheckUnknownWapiL( aWlan );
-
-#pragma message("TODO: oursource UI to client interfaces!")        
-    CWsfWlanIapWizard* iapWizard = CWsfWlanIapWizard::NewLC();
-    
-    // the wlaninfo must be persistent to avoid nullpointer crashes due to
-    // background refreshing 
-    TBool ret( ETrue );
-    
-    // query necessary data
-    if ( !iapWizard->LaunchWizardL( aWlan, aExplicitDefine ) )
-        {
-        LOG_WRITE( "iapWizard.LaunchWizardL failed" );
-        ret = EFalse;
-        }
-
-    // then create accesspoint
-    if ( ret )
-        {
-        if ( iapWizard->CreateAccessPointL() )
-            {
-            // copy back the IAP id
-            LOG_WRITEF( "IAP id = %d", aWlan.iIapId );
-            }
-        else
-            {
-            LOG_WRITE( "iapWizard.CreateAccessPointL failed" );
-            ret = EFalse;
-            }
-        }
-
-    CleanupStack::PopAndDestroy( iapWizard );
-    
-    return ret;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::IctsTestPermission
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfModel::IctsTestPermission()
-    {
-    LOG_ENTERFN( "CWsfModel::IctsTestPermission" );
-    TInt ictTestPermission( 0 );
-    CRepository* repository( NULL );
-    
-    TRAPD( err, repository = CRepository::NewL( 
-                                        KCRUidInternetConnectivitySettings ) );
-    if ( err == KErrNone )
-        {
-        repository->Get( KIctsTestPermission, ictTestPermission );
-        delete repository;
-        LOG_WRITEF( "ICT is set to %d", ictTestPermission );
-        }
-    return ictTestPermission;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::TestAccessPointL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfModel::TestAccessPointL( TWsfWlanInfo& aWlan,
-                                           TBool aKeepConnection, 
-                                           TBool aConnectOnly )
-    {
-    LOG_ENTERFN( "CWsfModel::TestAccessPointL" );    
-    TInt err( KErrNone );
-    iKeepConnection = aKeepConnection;
-    iConnectOnly = aConnectOnly;
-    if ( !aWlan.iIapId )
-        {
-        // the wlaninfo must already contain a valid IAP id
-        LOG_WRITE( "invalid IAP id" );
-        return KErrCorrupt;
-        }
-    
-    // the wlaninfo must be persistent to avoid nullpointer crashes due to
-    // background refreshing 
-    iIctWlanInfo = aWlan;
-
-    // create connection and test connectivity if needed
-
-    // check ICT settings
-    TInt ictTestPermission( IctsTestPermission() );
-    
-    
-    if ( aKeepConnection || ictTestPermission != EIctsNeverRun )
-        {
-        // make connection if Connect was selected or if ICT needs it
-        LOG_WRITE( "creating connection..." );
-        if ( iObserver )
-            {
-            iObserver->ConnectingL( iIctWlanInfo.iIapId );
-            }
-
-        // create the connection with temporary IAP by default
-        err = iSession.ConnectWlanBearerL( iIctWlanInfo.iIapId, 
-                                           EIapExpireOnDisconnect );
-        
-        if ( err == KErrNone )
-            {
-            LOG_WRITE( "connection OK." )
-            }
-        else
-            {
-            LOG_WRITEF( "connection creation failed with error = %d", err );
-            // either the connection creation failed or was aborted, 
-            // the server already cleaned up the mess, so nothing to do
-            }
-            
-        if ( iObserver )
-            {
-            iObserver->ConnectingFinishedL( err );
-            }
-            
-        }
-
-    if ( err == KErrNone && ictTestPermission != EIctsNeverRun )
-        {
-        // do the connectivity test
-        iConnectedIapId = iIctWlanInfo.iIapId;
-        
-        RCmManagerExt cmManager;
-        cmManager.OpenL();
-        CleanupClosePushL( cmManager );        
-
-        RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( 
-                                                            iConnectedIapId );
-        CleanupClosePushL( cm );
-        
-        iConnectedNetId = cm.GetIntAttributeL( CMManager::ECmNetworkId ); 
-
-        CleanupStack::PopAndDestroy( &cm );
-        CleanupStack::PopAndDestroy( &cmManager );
-
-        LOG_WRITE( "starting ICT test..." );
-        CIctsClientInterface* ict = CIctsClientInterface::NewL( 
-                                                    iConnectedIapId, 
-                                                    iConnectedNetId,
-                                                    *this );
-        LOG_WRITE( "ICT created" );
-        CleanupStack::PushL( ict );
-        ict->StartL();
-        LOG_WRITE( "ICT: started" );
-        
-        // enter a waitloop since ICT is a kind of asynchronous service
-        if ( !iIctEnded )
-            {
-            LOG_WRITE( "ICT: iIctWait started" );
-            iIctWait.Start();
-            }
-            
-        iIctEnded = EFalse;
-        CleanupStack::PopAndDestroy( ict );
-        LOG_WRITE( "ICT test done." );
-        }
-    
-        
-    if ( ( err == KErrNone && !aKeepConnection && 
-                                     ictTestPermission != EIctsNeverRun ) ||
-         ( err != KErrNone && err != KErrCancel ) )
-        {
-        // drop the connection in case of Start web browsing, and if an error
-        // different from KErrCancel occured (on cancel the connection is
-        // closed automatically)
-        LOG_WRITE( "disconnecting..." );
-        iSession.DisconnectWlanBearerL();
-        LOG_WRITE( "Disconnected." );
-        }
-        
-    
-        
-    if ( err == KErrNone && ictTestPermission == EIctsNeverRun )
-        {
-        LOG_WRITE( "ICT is set to never run, IAP remains temporary" );
-        
-        if ( !iKeepConnection )
-            {
-            //get the engine monitor the IAP
-            iSession.MonitorAccessPointL( iIctWlanInfo.iIapId );
-            iSession.SetIapPersistenceL( EIapExpireOnShutdown );
-            iSession.MonitorAccessPointL( iIctWlanInfo.iIapId );
-            }
-
-        ConnectivityObserver( EConnectionNotOk, KNullDesC );
-        }
-
-    return err;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::TestConnectedAccessPointL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfModel::TestConnectedAccessPointL( TWsfWlanInfo& aWlan,
-                                                    TBool aConnectOnly )
-    {
-    LOG_ENTERFN( "CWsfModel::TestConnectedAccessPointL" );    
-    TInt err( KErrNone );
-    iConnectOnly = aConnectOnly;
-    if ( !aWlan.iIapId )
-        {
-        // the wlaninfo must already contain a valid IAP id
-        LOG_WRITE( "invalid IAP id" );
-        return KErrCorrupt;
-        }
-    
-    // the wlaninfo must be persistent to avoid nullpointer crashes due to
-    // background refreshing 
-    iIctWlanInfo = aWlan;
-
-    // check ICT settings
-    TInt ictTestPermission( IctsTestPermission() );
-
-    if ( ictTestPermission != EIctsNeverRun )
-        {
-        // do the connectivity test
-        iConnectedIapId = iIctWlanInfo.iIapId;
-        
-        RCmManagerExt cmManager;
-        cmManager.OpenL();
-        CleanupClosePushL( cmManager );        
-
-        RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( 
-                                                            iConnectedIapId );
-        CleanupClosePushL( cm );
-        
-        iConnectedNetId = cm.GetIntAttributeL( CMManager::ECmNetworkId ); 
-
-        CleanupStack::PopAndDestroy( &cm );
-        CleanupStack::PopAndDestroy( &cmManager );
-
-        LOG_WRITE( "starting ICT test..." );
-        CIctsClientInterface* ict = CIctsClientInterface::NewL( 
-                                                    iConnectedIapId, 
-                                                    iConnectedNetId,
-                                                    *this );
-        LOG_WRITE( "ICT created" );
-        CleanupStack::PushL( ict );
-        ict->StartL();
-        LOG_WRITE( "ICT: started" );
-        
-        // enter a waitloop since ICT is a kind of asynchronous service
-        if ( !iIctEnded )
-            {
-            LOG_WRITE( "ICT: iIctWait started" );
-            iIctWait.Start();
-            }
-            
-        iIctEnded = EFalse;
-        CleanupStack::PopAndDestroy( ict );
-        LOG_WRITE( "ICT test done." );
-        }
-
-    if ( ictTestPermission == EIctsNeverRun )
-        {
-        LOG_WRITE( "ICT is set to never run, IAP remains temporary" );
-        ConnectivityObserver( EConnectionNotOk, KNullDesC );
-        }
-
-    return err;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::RefreshScanL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::RefreshScanL()
-    {
-    LOG_ENTERFN( "CWsfModel::RefreshScanL" );
-    iRefreshing = iSession.RequestScanL();
-    LOG_WRITEF( "iRefreshing = %d", iRefreshing );
-    return iRefreshing;
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfModel::LaunchHelperApplicationL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::LaunchHelperApplicationL( TWsfWlanInfo &aWlanInfo,
-                                                   TBool aConnecting, 
-                                                   TBool aConnectOnly )
-    {
-    LOG_ENTERFN( "CWsfModel::LaunchHelperApplicationL" );
-    TPckgC<TWsfWlanInfo> param( aWlanInfo );
-    TPckgC<TBool> param2( aConnecting );
-    TPckgC<TBool> param3( aConnectOnly );
-    
-    TBuf8<sizeof( TWsfWlanInfo ) + sizeof( TBool ) + sizeof( TBool )> temp;
-    temp.Copy( param );
-    temp.Append( param2 );
-    temp.Append( param3 );
-    
-    TFileName fileName;
-    fileName.Copy( temp );
-    
-    RApaLsSession appArcSession;
-    
-    User::LeaveIfError( appArcSession.Connect() ); // connect to AppArc server
-    CleanupClosePushL( appArcSession );
-
-    // check if the app is already running ... and kill it.
-    TUid id( TUid::Uid( KHelperApUid.iUid ) );
-    TApaTaskList taskList( CEikonEnv::Static()->WsSession() );
-    TApaTask task = taskList.FindApp( id );
-
-    if ( task.Exists() )
-        {
-        task.EndTask();
-        }    
-
-    TThreadId threadId;
-    User::LeaveIfError( appArcSession.StartDocument( fileName, TUid::Uid( 
-                                             KHelperApUid.iUid ), threadId ) );
-
-    CleanupStack::PopAndDestroy( &appArcSession );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CancelNotifyEvents
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::CancelNotifyEvents()
-    {
-    LOG_ENTERFN( "CWsfModel::CancelNotifyEvents" );
-    iSession.CancelNotifyEvent();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::RequestNotifyEventsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::RequestNotifyEventsL( 
-                                           MWsfStateChangeObserver& aObserver )
-    {
-    LOG_ENTERFN( "CWsfModel::RequestNotifyEventsL" );
-    iSession.NotifyEventL( aObserver );
-    }
-
-
-// ------------------------- From MWsfBrowserLaunchObserver -------------------
-    
-// ----------------------------------------------------------------------------
-// CWsfModel::BrowserLaunchFailed
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::BrowserLaunchFailed( TInt aError )
-    {
-    LOG_ENTERFN( "CWsfModel::BrowserLaunchFailed" );
-    LOG_WRITEF( "error = %d", aError );
-    
-    // do the cleanup if necessary
-    TRAP_IGNORE( 
-        iSession.SetIapPersistenceL( EIapForcedExpiry );
-        iSession.ControlDisconnectTimerL( EAdcStartTimer | EAdcTimerReset );
-    );
-    
-    if ( iObserver )
-        {
-        iObserver->BrowserLaunchFailed( aError );    
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::BrowserLaunchCompleteL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::BrowserLaunchCompleteL()
-    {
-    LOG_ENTERFN( "CWsfModel::BrowserLaunchCompleteL" );
-
-    if ( iObserver )
-        {
-        iObserver->BrowserLaunchCompleteL();    
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::BrowserExitL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::BrowserExitL()
-    {
-    LOG_ENTERFN( "CWsfModel::BrowserExitL" );
-    
-    // browser has been terminated, do the cleanup if necessary
-    iSession.SetIapPersistenceL( EIapForcedExpiry );
-    iSession.ControlDisconnectTimerL( EAdcStartTimer | EAdcTimerReset );
-    
-    if ( iObserver )
-        {
-        iObserver->BrowserExitL();    
-        }
-    }
-    
-// ------------------------- From MWsfScreenSaverStateObserver ----------------
- 
-// ----------------------------------------------------------------------------
-// CWsfModel::ScreenSaverStatusChangedL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::ScreenSaverStatusChangedL( const TBool aScreenSaverActive )
-    {
-    LOG_ENTERFN( "CWsfModel::ScreenSaverStatusChangedL" );
-    LOG_WRITEF( "status = %d", aScreenSaverActive );
-    if ( aScreenSaverActive )
-        {
-        iSession.DisableScanL();
-        }
-    else 
-        {
-        iSession.EnableScanL();
-        }
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfModel::IsConnectedL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::IsConnectedL()
-    {
-    return iSession.IsConnectedL();
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfModel::GetConnectedWlanDetailsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TBool CWsfModel::GetConnectedWlanDetailsL( TWsfWlanInfo& aWlanInfo )
-    {
-    return iSession.GetConnectedWlanDetailsL( aWlanInfo );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::AbortConnectingL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::AbortConnectingL()
-    {
-    LOG_ENTERFN( "CWsfModel::AbortConnectingL" );
-    if ( iConnecting )
-        {
-        iSession.AbortConnectingL();
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::AbortScanningL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::AbortScanningL()
-    {
-    LOG_ENTERFN( "CWsfModel::AbortScanningL" );
-    if ( iRefreshing )
-        {
-        iSession.AbortScanningL();
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CheckSpaceBelowCriticalLevelL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::CheckSpaceBelowCriticalLevelL() const
-    {
-    // OOD handling. If disk space is low user is notified.
-    RFs fs;
-    User::LeaveIfError( fs.Connect() );
-    CleanupClosePushL<RFs>( fs );
-    
-    // Checks the FFS space "after" addition
-    TBool belowCL = SysUtil::FFSSpaceBelowCriticalLevelL
-            ( &fs, KEstimatedOverhead );
-    
-    CleanupStack::PopAndDestroy(); // fs
-    
-    if( belowCL )
-        {
-        User::Leave( KErrDiskFull );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CheckUnknownWapiL
-// ----------------------------------------------------------------------------
-//
-void CWsfModel::CheckUnknownWapiL( TWsfWlanInfo& aWlan ) const
-    {    
-    if( !aWlan.Known() && aWlan.SecurityMode() == EWlanSecModeWAPI )
-        {
-        User::Leave( KErrWlanProtectedSetupSetupLocked );
-        }
-    }
-
-// ----------------------------------------------------------------------------
-// CWsfModel::CheckIsIapIdValidL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfModel::CheckIsIapIdValidL( TUint aIapId ) const
-    {    
-    LOG_ENTERFN( "CWsfModel::CheckIsIapIdValidL" );
-    LOG_WRITEF( "Checking iapId= %d", aIapId );
-    if( aIapId )
-        {
-        RCmManagerExt cmManager;
-        cmManager.OpenL();
-        CleanupClosePushL( cmManager );        
-
-        RCmConnectionMethodExt cm = cmManager.ConnectionMethodL( aIapId );
-        cm.Close();
-        CleanupStack::PopAndDestroy( &cmManager );
-        }
-    else
-        {
-        User::Leave( KErrArgument );
-        }
-    }
-    
-// End of file
--- a/wlanutilities/wlansniffer/model/src/wsfscreensaverwatcher.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,140 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfScreenSaverWatcher
-*
-*/
-
-
-//  EXTERNAL INCLUDES
-#include <e32cmn.h>
-#include <ScreensaverInternalPSKeys.h>
-
-//  CLASS HEADER
-#include "wsfscreensaverwatcher.h"
-
-//  INTERNAL INCLUDES
-#include "wsfscreensaverstateobserver.h"
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher* CWsfScreenSaverWatcher::NewL( 
-                                      MWsfScreenSaverStateObserver& aObserver )
-    {
-    CWsfScreenSaverWatcher* thisPtr = NewLC( aObserver );
-    CleanupStack::Pop( thisPtr );
-    return thisPtr;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher* CWsfScreenSaverWatcher::NewLC( 
-                                      MWsfScreenSaverStateObserver& aObserver )
-    {
-    CWsfScreenSaverWatcher* thisPtr = new ( ELeave ) CWsfScreenSaverWatcher( 
-                                                                   aObserver );
-    CleanupStack::PushL( thisPtr );
-    thisPtr->ConstructL();
-    return thisPtr;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::~CWsfScreenSaverWatcher
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher::~CWsfScreenSaverWatcher()
-    {
-    Cancel();
-    iProperty.Close();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::CWsfScreenSaverWatcher
-// ----------------------------------------------------------------------------
-//
-CWsfScreenSaverWatcher::CWsfScreenSaverWatcher( 
-                                     MWsfScreenSaverStateObserver& aObserver ): 
-    CActive( EPriorityStandard ),
-    iObserver( &aObserver )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::ConstructL()
-    {
-    User::LeaveIfError( iProperty.Attach( KPSUidScreenSaver, 
-                                          KScreenSaverOn ) );
-    CActiveScheduler::Add( this );
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::RunL()
-    {
-    // read the value of property
-    TBool screenSaverActive( EFalse );
-    iProperty.Get( screenSaverActive );
-    iObserver->ScreenSaverStatusChangedL( screenSaverActive );
-    // reissue the request
-    StartStatusScanning();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::DoCancel()
-    {
-    iProperty.Cancel();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::StartStatusScanning
-// ----------------------------------------------------------------------------
-//
-void CWsfScreenSaverWatcher::StartStatusScanning()
-    {
-    iProperty.Subscribe( iStatus );
-    SetActive();
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfScreenSaverWatcher::RunError
-// ----------------------------------------------------------------------------
-//
-TInt CWsfScreenSaverWatcher::RunError( TInt /*aError*/ )
-    {
-    // issue the request so we will continue to receive 
-    // state change notifications
-    StartStatusScanning();
-    return KErrNone;
-    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/qgn_indi_wifi_protected_add.svg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="13.003px" version="1.1" viewBox="0 0 13 13.003" width="13px" x="0px" y="0px">
+<g>
+<path d="M12.482,4.687c-0.107-0.278-0.295-1.325-1.732-2.848c0.092-0.449,0.078-1.618-1.25-1.818   C7.719-0.123,7.047,0.846,6.701,0.958C6.494,1.024,3.891,1.705,2.582,3.59C2.203,4.135,1.438,5.471,1.764,7.733   C1.596,7.782,0.938,7.954,0.625,8.096c-0.16,0.072-0.109,0.171-0.109,0.171s0.25,1.282,1.779,2.875   c-0.043,0.215-0.232,1.47,1.229,1.855L3.535,13c0,0,1.527,0.111,2.734-1.023c4.184-1.256,5.391-3.733,4.965-6.761   c0.211-0.064,0.781-0.261,1.188-0.386C12.422,4.83,12.5,4.752,12.482,4.687z M10.68,4.868c1.133,5.54-4.666,6.664-4.666,6.664   s-1.17,1.095-2.362,0.971c-1.229-0.204-0.817-1.52-0.817-1.52s-1.396-1.45-1.738-2.531c0.248-0.083,1.136-0.329,1.136-0.329   S1.813,5.549,2.992,3.876c1.867-2.265,3.57-2.171,4.326-2.721C7.723,0.861,8.188,0.439,9.46,0.52   c0.292,0.046,1.04,0.248,0.749,1.474c0.9,0.883,1.516,2.047,1.685,2.496C11.71,4.548,10.703,4.877,10.68,4.868z" fill="#231F20"/>
+<path d="M3.301,8.513c-0.02-0.011-0.926,0.239-0.94,0.254c0.64,1.751,2.265,2.595,2.895,2.406   c0.792-0.499,1.167-2.671,0.832-3.564C5.699,7.733,4.891,7.924,4.894,7.952C4.359,5.455,6.204,3.487,6.195,3.485   C6.195,3.485,2.406,4.518,3.301,8.513z" fill="#231F20"/>
+<rect fill="none" height="13" width="13"/>
+<path d="M9.738,4.39c0.02,0.011,0.926-0.239,0.94-0.254c-0.64-1.751-2.265-2.595-2.895-2.406   C6.992,2.229,6.617,4.4,6.952,5.294C7.34,5.169,8.148,4.979,8.146,4.95C8.68,7.447,6.835,9.415,6.844,9.417   C6.844,9.417,10.633,8.385,9.738,4.39z" fill="#231F20"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/qgn_indi_wlan_secure_network_add.svg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="13px" version="1.1" viewBox="0 0 13 13" width="13px" x="0px" y="0px">
+<g>
+<rect fill="none" height="13" width="13"/>
+<path d="M1.095,3.063c0,1.419,0.777,2.466,0.802,2.501C2.024,5.478,2.24,5.328,2.368,5.242C2.346,5.207,1.665,4.244,1.665,3.063   c0-1.277,0.681-2.144,0.703-2.179C2.24,0.796,2.024,0.647,1.897,0.561C1.875,0.596,1.095,1.687,1.095,3.063z"/>
+<path d="M2.609,3.063c0,0.943,0.515,1.61,0.539,1.646c0.128-0.087,0.344-0.235,0.473-0.322c-0.026-0.037-0.44-0.658-0.44-1.323   c0-0.742,0.414-1.289,0.439-1.323C3.492,1.653,3.276,1.505,3.148,1.416C3.124,1.453,2.609,2.104,2.609,3.063z"/>
+<path d="M9.697,3.061c0-1.418-0.777-2.465-0.803-2.5C8.768,0.647,8.551,0.796,8.424,0.883C8.447,0.917,9.127,1.88,9.127,3.061   c0,1.278-0.68,2.145-0.703,2.179c0.127,0.089,0.344,0.238,0.471,0.325C8.918,5.529,9.697,4.438,9.697,3.061z"/>
+<path d="M8.182,3.061c0-0.942-0.514-1.61-0.539-1.645C7.518,1.502,7.299,1.651,7.17,1.737c0.027,0.037,0.441,0.658,0.441,1.323   c0,0.743-0.414,1.289-0.439,1.324C7.299,4.471,7.518,4.62,7.643,4.709C7.668,4.672,8.182,4.021,8.182,3.061z"/>
+<path d="M6,8.426c0,0,0.278,0,0.551,0V8.42c0-0.248,0.051-0.483,0.134-0.702l-0.868-3.47C6.31,4.073,6.664,3.616,6.664,3.063   c0-0.701-0.566-1.269-1.268-1.269c-0.703,0-1.27,0.567-1.27,1.269c0,0.552,0.354,1.008,0.846,1.184L3.852,8.731h-1.63V10H6V8.426z"/>
+<path d="M11.545,9.426V8.42c0-0.553-0.447-1-1-1H8.551c-0.553,0-1,0.447-1,1v1.006H7V13h5V9.426H11.545z M10,12H9v-1.574h1V12z    M10.525,9.42H8.572c0-0.85-0.045-0.977,0.57-0.996h0.811C10.57,8.443,10.525,8.57,10.525,9.42z"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/qgn_indi_wlan_signal_good_add.svg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="13" version="1.1" viewBox="0 0 13 13" width="13">
+<rect fill="none" height="13" width="13"/>
+<g>
+<rect height="11" width="3" x="10" y="2"/>
+<rect height="6.977" width="3" x="6.01" y="6.023"/>
+<rect height="2.976" width="3" x="2.021" y="10.024"/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/qgn_indi_wlan_signal_low_add.svg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="13" version="1.1" viewBox="0 0 13 13" width="13">
+<rect fill="none" height="13" width="13"/>
+<g>
+<rect height="2.976" width="3" x="2.021" y="10.024"/>
+<polygon points="10,12.05 13,9.05 13,7.051 10,10.05  "/>
+<polygon points="10,6.049 10,8.032 13,5.032 13,3.049  "/>
+<polygon points="10,2 10,4.029 12.027,2  "/>
+<polygon points="13,13 13,11.067 11.066,13  "/>
+<polygon points="6.01,10.036 6.01,12.021 9.01,9.021 9.01,7.036  "/>
+<polygon points="6.01,6.023 6.01,8.017 8.004,6.023  "/>
+<polygon points="9.01,13 9.01,11.039 7.049,13  "/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/qgn_indi_wlan_signal_med_add.svg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="13" version="1.1" viewBox="0 0 13 13" width="13">
+<rect fill="none" height="13" width="13"/>
+<g>
+<rect height="6.977" width="3" x="6.01" y="6.023"/>
+<rect height="2.975" width="3" x="2.021" y="10.025"/>
+<polygon points="10,12.051 13,9.051 13,7.051 10,10.051  "/>
+<polygon points="10,6.047 10,8.033 13,5.033 13,3.047  "/>
+<polygon points="13,13 13,11.068 11.066,13  "/>
+<polygon points="10,2 10,4.029 12.027,2  "/>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/qgn_prop_cmon_wlan_conn.svg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" baseProfile="tiny" height="16" version="1.1" viewBox="0 0 16.003 16" width="16.003">
+<path d="M15.711,9.293l-3.958-3.958C11.912,4.792,12,4.228,12,3.65c0-2.023-1.086-3.442-1.119-3.492  c-0.049,0.035-0.469,0.322-0.658,0.452c0.033,0.048,0.979,1.267,0.979,3.04c0,0.465-0.07,0.919-0.189,1.359  c-0.133-0.001-0.265,0.014-0.391,0.066C10.246,5.231,10.004,5.596,10.004,6c0,0,0,0.5,0,1H7.618L7.282,5.204  c0.451-0.372,0.745-0.927,0.745-1.556c0-1.116-0.909-2.024-2.025-2.024c-1.118,0-2.027,0.908-2.027,2.024  c0,0.623,0.29,1.175,0.734,1.547L4.005,9H2.003v1c-0.404,0-0.769,0.244-0.923,0.617c-0.155,0.374-0.07,0.804,0.217,1.09l4,4  c0.285,0.286,0.716,0.372,1.09,0.217c0.373-0.155,0.617-0.52,0.617-0.924c0,0,0-0.5,0-1c1.389,0,5,0,5,0  c0.154,0,0.309-0.036,0.447-0.105c0.576-0.288,1.553-1.223,1.553-2.895h1c0.404,0,0.768-0.243,0.924-0.617  C16.082,10.009,15.996,9.579,15.711,9.293z"/>
+<path d="M8.477,5.494c0.178,0.124,0.482,0.331,0.658,0.452c0.033-0.049,0.75-1.038,0.75-2.296c0-1.32-0.717-2.249-0.75-2.297  c-0.049,0.035-0.468,0.32-0.658,0.451C8.51,1.854,9.089,2.674,9.089,3.65C9.089,4.768,8.51,5.446,8.477,5.494z"/>
+<path d="M3.523,1.806C3.346,1.682,3.042,1.475,2.865,1.354c-0.033,0.049-0.75,1.038-0.75,2.296c0,1.32,0.717,2.249,0.75,2.297  c0.049-0.035,0.469-0.32,0.658-0.451C3.49,5.445,2.911,4.626,2.911,3.649C2.911,2.532,3.49,1.854,3.523,1.806z"/>
+<path d="M1.119,7.141C1.297,7.018,1.6,6.812,1.777,6.69c-0.033-0.05-0.98-1.282-0.98-3.04c0-1.727,0.947-2.992,0.981-3.04  C1.6,0.487,1.298,0.282,1.121,0.158C1.088,0.208,0,1.58,0,3.65S1.086,7.09,1.119,7.141z"/>
+<path d="M11.283,5.187l0.185,0.077c0.153-0.519,0.233-1.061,0.233-1.613c0-1.098-0.312-2.155-0.9-3.071l-0.163,0.109  c0.565,0.887,0.864,1.907,0.864,2.962C11.502,4.175,11.428,4.691,11.283,5.187z" fill="#BFBAA9"/>
+<path d="M9.054,5.526c-0.055-0.036-0.11-0.075-0.165-0.11C9.216,4.881,9.387,4.274,9.387,3.65  c0-0.626-0.171-1.233-0.498-1.766l0.165-0.111C9.401,2.336,9.586,2.982,9.586,3.65S9.401,4.961,9.054,5.526L9.054,5.526z" fill="#BFBAA9"/>
+<path d="M2.947,5.526c-0.35-0.567-0.533-1.21-0.533-1.876s0.184-1.312,0.533-1.877L3.11,1.885  C2.782,2.42,2.611,3.025,2.611,3.65c0,0.624,0.172,1.23,0.499,1.766L2.947,5.526L2.947,5.526z" fill="#BFBAA9"/>
+<path d="M1.2,6.721C0.611,5.81,0.299,4.749,0.299,3.65c0-1.097,0.311-2.155,0.903-3.071l0.157,0.106l0.005,0.003  C0.794,1.576,0.497,2.597,0.497,3.65c0,1.053,0.297,2.071,0.865,2.961L1.2,6.721L1.2,6.721z" fill="#BFBAA9"/>
+<polygon fill="#FFFDFC" points="5.659,5.549 5.293,7.529 6.699,7.529 6.328,5.549 "/>
+<path d="M11.497,5.136c-0.06-0.034-0.122-0.056-0.187-0.076c-0.145,0.545-0.365,1.069-0.673,1.552  c0.054,0.036,0.106,0.074,0.16,0.109C11.116,6.229,11.346,5.694,11.497,5.136z" fill="#635E54"/>
+<path d="M6.001,5.674c0.118,0,0.231-0.016,0.344-0.035L5.991,3.75L5.643,5.638C5.759,5.658,5.878,5.674,6.001,5.674z  " fill="#BFBAA9"/>
+<path d="M7.162,10L6.6,7C6.239,7,6.003,7,6.003,7C5.567,7,5.421,7.181,5.349,7.229L4.837,10H3.003v1h6v-1H7.162z" fill="#635E54"/>
+<rect fill="none" height="16" width="16" x="0.003"/>
+<path d="M2.003,11l3.097,3.097l0.575-1.658c0,0,6.776,0.338,7.073-0.261c0.146-0.296,0.256-0.682,0.256-1.178H2.003z  " fill="#CFFFFF"/>
+<path d="M12.822,12H5.003v2l1,1v-2h6C12.004,13,12.533,12.728,12.822,12z" fill="#00CDFF"/>
+<path d="M14.214,9.21L11.004,6v2h-5c0,0-0.626,0.326-0.885,1.21H14.214z" fill="#CFFFFF"/>
+<path d="M5.185,9c-0.107,0.269-0.182,0.595-0.182,1h10l-1-1H5.185z" fill="#00CDFF"/>
+<path d="M6.001,4.674c-0.563,0-1.026-0.461-1.026-1.025s0.462-1.023,1.026-1.023c0.565,0,1.024,0.459,1.024,1.023  S6.566,4.674,6.001,4.674L6.001,4.674z" fill="#FFFDFC"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/qgn_prop_wlan_bearer.svg	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd">
+<svg baseProfile="tiny" height="16px" version="1.1" viewBox="-0.877 -0.503 16 16" width="16px" x="0px" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" y="0px">
+<g>
+<rect fill="none" height="16" width="16" x="-0.877" y="-0.503"/>
+<path d="M4.015,2.944L5.66,2.071C5.65,2.075,7.654,1.263,9.368,1.708c1.656,0.432,2.648,1.334,3.603,2.805   c0.953,1.471,1.178,4.049,0.547,5.422s-1.052,1.695-1.515,2.131l-2.15,1.555L4.015,2.944z" fill="url(#SVGID_1_)"/>
+<g>
+<path d="M12.374,8.62c0.164,3.301-2.211,5.867-5.306,5.732c-3.096-0.133-5.736-2.92-5.9-6.223    C1.004,4.829,3.379,2.261,6.475,2.394C9.569,2.53,12.21,5.319,12.374,8.62z" fill="#CEE1EF"/>
+</g>
+<path d="M8.194,6.822c0.768,1.117-0.044,2.279-0.05,2.313L8.697,9.7c0.416-0.553,0.951-1.979-0.033-3.399   L8.194,6.822z M5.411,6.518L4.938,5.831C3.96,6.909,4.504,8.523,4.921,9.221l0.551-0.372C5.466,8.819,4.647,7.369,5.411,6.518z    M6.716,6.864c-0.307-0.04-0.201,0.437-0.195,0.462L5.338,12.08l2.813,0.489L6.95,7.4C6.956,7.377,7.058,6.924,6.716,6.864z" fill="#496DA2"/>
+<defs>
+<linearGradient gradientTransform="matrix(1 0 0 -1 0.1577 14.8145)" gradientUnits="userSpaceOnUse" id="SVGID_1_" x1="7.0313" x2="11.3636" y1="10.8467" y2="5.6805">
+<stop offset="0" style="stop-color:#CEE1EF"/>
+<stop offset="0.5" style="stop-color:#A2C2DD"/>
+<stop offset="1" style="stop-color:#496DA2"/>
+</linearGradient>
+</defs>
+</g>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/service_conf.xml	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<service name="com.nokia.services.wlansniffer"  filepath="\sf\mw\wirelessacc\wlanutilities\wlansniffer" >
+  <description>WLAN Sniffer</description>
+  <interface name="list" version="1.0" capabilities="">
+    <description>List View</description>
+  </interface>
+</service>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/res/wlansniffer.qrc	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,15 @@
+<RCC>
+    <qresource prefix="/docml" >
+        <file>wlansnifferlistview.docml</file>
+    </qresource>
+    <qresource prefix="/icon" >
+        <!-- Obsolete, but still in use somewhere. TO BE REMOVED!!! -->
+        <file>qgn_indi_wifi_protected_add.svg</file>
+        <file>qgn_indi_wlan_secure_network_add.svg</file>
+        <file>qgn_indi_wlan_signal_good_add.svg</file>
+        <file>qgn_indi_wlan_signal_low_add.svg</file>
+        <file>qgn_indi_wlan_signal_med_add.svg</file>
+        <file>qgn_prop_cmon_wlan_conn.svg</file>
+        <file>qgn_prop_wlan_bearer.svg</file>
+    </qresource>
+</RCC>
--- a/wlanutilities/wlansniffer/rom/wlansniffer.iby	Tue Jan 26 13:04:04 2010 +0200
+++ b/wlanutilities/wlansniffer/rom/wlansniffer.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -1,38 +1,31 @@
 /*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanSniffer
-*
-*/
-
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
 
 #ifndef WLANSNIFFER_IBY
 #define WLANSNIFFER_IBY
 
-#ifdef __PROTOCOL_WLAN
-
-REM WlanSniffer
-
-#include <data_caging_paths_for_iby.hrh>
 #include <bldvariant.hrh>
 
+#ifdef __PROTOCOL_WLAN
 
-// appshell icon
-S60_APP_AIF_ICONS(wsficons)
-
-// all other bitmaps
-data=DATAZ_\APP_BITMAP_DIR\wsficons.mif    APP_BITMAP_DIR\wsficons.mif
+file=ABI_DIR\BUILD_DIR\wlansniffer.exe PROGRAMS_DIR\wlansniffer.exe
+data=\epoc32\data\z\private\10003a3f\import\Apps\wlansniffer_reg.rsc	\private\10003a3f\import\apps\wlansniffer_reg.rsc
+data=\epoc32\data\z\resource\apps\wlansniffer.rsc \resource\apps\wlansniffer.rsc
 
 #endif // __PROTOCOL_WLAN
 
-#endif // WLANSNIFFER_IBY
\ No newline at end of file
+#endif // WLANSNIFFER_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/rom/wlansniffer_resources.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,30 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifndef WLANSNIFFER_RESOURCES_IBY
+#define WLANSNIFFER_RESOURCES_IBY
+
+#include <bldvariant.hrh>
+#include <data_caging_paths_for_iby.hrh> 
+
+#ifdef __PROTOCOL_WLAN
+
+data=DATAZ_/QT_TRANSLATIONS_DIR/wlansniffer.qm QT_TRANSLATIONS_DIR/wlansniffer.qm 
+
+#endif // __PROTOCOL_WLAN
+
+#endif // WLANSNIFFER_RESOURCES_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/src/main.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,45 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#ifdef WLANSNIFFER_SERVICETRACES    
+#include "xqservicelog.h"
+#endif
+
+#include "qsysteminfo.h"
+
+#include "wlansniffer.h"
+
+using namespace QtMobility;
+
+int main(int argc, char *argv[])
+{
+    // Check WLAN dynamic configuration & exit if WLAN is not enabled
+    QSystemInfo sysinfo;
+    if (!sysinfo.hasFeatureSupported(QSystemInfo::WlanFeature)) {
+        return -1;
+    }
+
+#ifdef WLANSNIFFER_SERVICETRACES    
+    qInstallMsgHandler(XQSERVICEMESSAGEHANDLER);
+#endif
+    
+    WlanSniffer app(argc, argv);
+
+    return app.exec();
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/src/wlansniffer.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,117 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#include <QTranslator>
+#include <QLocale>
+
+#include "wlanqtutils.h"
+
+#include "wlansniffer.h"
+#include "wlansniffermainwindow.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferTraces.h"
+#endif
+
+// Scan interval is 10 seconds
+const int scanTimerInterval = 10000;
+
+WlanSniffer::WlanSniffer(int argc, char* argv[]) :
+    HbApplication(argc, argv),
+    mWlanQtUtils(new WlanQtUtils())    
+{
+    OstTraceFunctionEntry0( WLANSNIFFER_WLANSNIFFER_ENTRY );
+    
+    // Start the first scan immediately so that results are available as
+    // soon as possible. Start also the timer for periodic scanning.
+    mWlanQtUtils->scanWlans();
+    mScanTimerId = startTimer(scanTimerInterval);
+
+    // Install localization
+    mTranslator = new QTranslator(this);
+    QString lang = QLocale::system().name(); 
+    QString path = "Z:/resource/qt/translations/"; 
+    mTranslator->load("wlansniffer_" + lang, path); 
+    qApp->installTranslator(mTranslator);
+
+    mMainWindow = new WlanSnifferMainWindow(this);
+    
+    connect(
+        mWlanQtUtils,
+        SIGNAL(wlanScanReady()),
+        mMainWindow,
+        SLOT(updateListView()));
+
+    connect(
+        mWlanQtUtils,
+        SIGNAL(wlanNetworkOpened(int)),
+        mMainWindow,
+        SLOT(updateListViewConnectionOpened(int)));
+    
+    connect(
+        mWlanQtUtils,
+        SIGNAL(wlanNetworkClosed(int)),
+        mMainWindow,
+        SLOT(updateListViewConnectionClosed(int)));
+    
+    connect(
+        mMainWindow,
+        SIGNAL(exitTriggered()),
+        this,
+        SLOT(exitApplication()));
+
+    OstTraceFunctionExit0( WLANSNIFFER_WLANSNIFFER_EXIT );
+}
+
+WlanSniffer::~WlanSniffer()
+{
+    OstTraceFunctionEntry0( WLANSNIFFER_WLANSNIFFERDESTR_ENTRY );
+
+    killTimer(mScanTimerId);
+    
+    delete mMainWindow;
+    delete mWlanQtUtils;
+    
+    OstTraceFunctionExit0( WLANSNIFFER_WLANSNIFFERDESTR_EXIT );
+}
+
+void WlanSniffer::timerEvent(QTimerEvent *event)
+{
+    OstTraceFunctionEntry0( WLANSNIFFER_TIMEREVENT_ENTRY );
+    
+    Q_UNUSED(event);
+    // Request a new scan. Timer events come periodically.
+    mWlanQtUtils->scanWlans();
+
+    OstTraceFunctionExit0( WLANSNIFFER_TIMEREVENT_EXIT );
+}
+
+WlanQtUtils *WlanSniffer::wlanQtUtils() const
+{
+    OstTraceFunctionEntry0( WLANSNIFFER_WLANQTUTILS_ENTRY );
+    OstTraceFunctionExit0( WLANSNIFFER_WLANQTUTILS_EXIT );
+    return mWlanQtUtils;
+}
+
+void WlanSniffer::exitApplication()
+{
+    OstTraceFunctionEntry0( WLANSNIFFER_EXITAPPLICATION_ENTRY );
+    
+    exit();
+
+    OstTraceFunctionExit0( WLANSNIFFER_EXITAPPLICATION_EXIT );
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/src/wlansnifferlistview.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,315 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#include <QGraphicsWidget>
+
+#include <HbLabel>
+#include <HbMenu>
+#include <HbAction>
+#include <HbListWidget>
+#include <HbListWidgetItem>
+#include <HbDocumentLoader>
+#include <HbInstance>
+
+#include <xqserviceutil.h>
+
+#include "wlanqtutils.h"
+#include "wlanqtutilswlanap.h"
+#include "wlanqtutilswlaniap.h"
+#include "wlanqtutilscommon.h"
+
+#include "wlansniffer.h"
+#include "wlansnifferlistview.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferlistviewTraces.h"
+#endif
+
+WlanSnifferListView::WlanSnifferListView(WlanSniffer *appRef) : 
+    mWlanList(NULL),
+    mStatusLabel(NULL),
+    mAppRef(appRef),
+    mConnectingIapId(0),
+    mIapItemMenuOpen(false)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEW_ENTRY );
+    
+    bool ok = false;
+    HbDocumentLoader loader;
+    loader.load(":/docml/wlansnifferlistview.docml", &ok);
+    Q_ASSERT_X(ok, "Wlan Sniffer", "Invalid docml file");
+    
+    // Load the view by name from the xml file
+    QGraphicsWidget *widget = loader.findWidget("occ_list");
+    Q_ASSERT_X(widget != 0, "Wlan Sniffer", "View not found");
+    // Set the WlanListView view to be the widget that was loaded from the xml
+    setWidget(widget);
+
+    HbMenu *viewMenu = qobject_cast<HbMenu *>(loader.findWidget("viewMenu"));
+    Q_ASSERT_X(viewMenu != 0, "Wlan Sniffer", "Menu not found");
+    setMenu(viewMenu);
+    
+    mWlanList = qobject_cast<HbListWidget *>(loader.findWidget("listWidget"));
+    Q_ASSERT_X(mWlanList != 0, "Wlan Sniffer", "List not found");
+    
+    mStatusLabel = qobject_cast<HbLabel *>(loader.findWidget("statusLabel"));
+    Q_ASSERT_X(mStatusLabel != 0, "Wlan Sniffer", "Label not found");
+
+    connect(
+        mWlanList,
+        SIGNAL(activated(HbListWidgetItem *)),
+        this,
+        SLOT(handleListItemActivated(HbListWidgetItem *)));
+    connect(
+        mWlanList,
+        SIGNAL(longPressed(HbListWidgetItem *, const QPointF &)),
+        this,
+        SLOT(handleListItemLongPressed(HbListWidgetItem *, const QPointF &)));
+    
+    // Set correct orientation when drawing view first time. Orientation change
+    // on the fly is not yet implemented
+    if (HbInstance::instance()->allMainWindows().value(0)->orientation() == Qt::Horizontal) {
+        bool loaded = false;
+        loader.load( ":/docml/wlansnifferlistview.docml", "landscape", &loaded );
+    } // else: portrait is ok by default
+
+    // We need to create a custom navigation action in case the application was
+    // launched as embedded via QtHighway
+    if (XQServiceUtil::isEmbedded()) {
+        HbAction *completeAction = new HbAction(Hb::BackNaviAction, this);
+        setNavigationAction(completeAction);
+        connect(
+            completeAction,
+            SIGNAL(triggered(bool)),
+            this,
+            SIGNAL(completeServiceTriggered()));
+        // TODO: What to do when exit action is ran? Should we close whole control panel?
+    }
+    
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEW_EXIT );
+}
+    
+WlanSnifferListView::~WlanSnifferListView()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEWDESTR_ENTRY );    
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_WLANSNIFFERLISTVIEWDESTR_EXIT );
+}
+
+void WlanSnifferListView::update()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_UPDATE_ENTRY );
+    
+    if (mIapItemMenuOpen == false) {
+        QList<WlanQtUtilsWlanAp*> aps;
+        QList<WlanQtUtilsWlanIap*> iaps;
+        
+        mAppRef->wlanQtUtils()->availableWlanAps(iaps, aps);
+        
+        mWlanList->clear();
+    
+        // Loop the IAPs and APs and create the list items (lists are ordered already by Wlan Qt Utilities)
+        foreach (WlanQtUtilsWlanIap *iap, iaps) {
+            mWlanList->addItem(wlanListItemIapCreate(iap));
+        }
+        // Loop the AP's and create the list items
+        foreach (WlanQtUtilsWlanAp *ap, aps) {
+            mWlanList->addItem(wlanListItemApCreate(ap));
+        }
+    }
+
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_UPDATE_EXIT );
+}
+
+void WlanSnifferListView::updateConnectionOpened(int iapId)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_UPDATECONNECTIONOPENED_ENTRY );
+    
+    mStatusLabel->setPlainText(
+        hbTrId("txt_occ_grid_connected_to_1").arg(mAppRef->wlanQtUtils()->iap(iapId)->name()));
+    // Redraw the list so that the connected network moves on top
+    update();
+    mConnectingIapId = 0;
+
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_UPDATECONNECTIONOPENED_EXIT );
+}
+
+void WlanSnifferListView::updateConnectionClosed(int iapId)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_UPDATECONNECTIONCLOSED_ENTRY );
+    
+    (void)iapId;
+    mStatusLabel->setPlainText(hbTrId("txt_occ_grid_not_connected"));
+    mConnectingIapId = 0;
+
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_UPDATECONNECTIONCLOSED_EXIT );
+}
+
+void WlanSnifferListView::handleListItemActivated(HbListWidgetItem *item)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_HANDLELISTITEMACTIVATED_ENTRY );
+    
+    QVariant data = item->data();
+    if (data.canConvert<int>()) {
+        // Item was an IAP. Connect the IAP or show details view depending on connection state
+        WlanQtUtilsIap *iap = mAppRef->wlanQtUtils()->iap(data.toInt());
+        if (iap->connectionStatus() == WlanQtUtilsConnectionStatusConnected) {
+            // Switch to details view
+            emit detailsTriggered(data.toInt());
+        } else {
+            // Connect the IAP
+            mConnectingIapId = iap->id();
+            mStatusLabel->setPlainText(hbTrId("txt_occ_grid_connecting_to_1").arg(iap->name()));
+            mAppRef->wlanQtUtils()->connectIap(mConnectingIapId);
+        }
+    } else {
+        // Item has to be a WLAN AP, which can't already be connected. Create an IAP and connect it.
+        Q_ASSERT(data.canConvert<WlanQtUtilsWlanAp>());
+        WlanQtUtilsWlanAp ap = data.value<WlanQtUtilsWlanAp>();
+        mConnectingIapId = mAppRef->wlanQtUtils()->createWlanIap(&ap);
+        WlanQtUtilsIap *iap = mAppRef->wlanQtUtils()->iap(mConnectingIapId);
+        Q_ASSERT(iap);
+        mStatusLabel->setPlainText(hbTrId("txt_occ_grid_connecting_to_1").arg(iap->name()));
+        mAppRef->wlanQtUtils()->connectIap(mConnectingIapId);
+    }
+
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_HANDLELISTITEMACTIVATED_EXIT );
+}
+
+void WlanSnifferListView::handleListItemLongPressed(HbListWidgetItem *item, const QPointF &coords)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_HANDLELISTITEMLONGPRESSED_ENTRY );
+    
+    // Disable list refreshing while context menu is shown
+    // Todo: Propably a more elegant way to do this is needed..
+    mIapItemMenuOpen = true;
+    
+    (void)item;
+    HbMenu *contextMenu = new HbMenu();
+    HbAction *actionDetails = contextMenu->addAction(hbTrId("txt_occ_menu_details"));
+    HbAction *actionSettings = contextMenu->addAction(hbTrId("txt_occ_menu_network_settings"));
+    HbAction *actionDisable = contextMenu->addAction(hbTrId("txt_occ_menu_disable_network"));
+    
+    // Add disconnect option if the IAP is connected
+    HbAction *actionDisconnect = 0;
+    WlanQtUtilsIap *iap = 0;
+    QVariant data = item->data();
+    if (data.canConvert<int>()) {
+        // Item was an IAP.
+        iap = mAppRef->wlanQtUtils()->iap(data.toInt());
+        if (iap->connectionStatus() == WlanQtUtilsConnectionStatusConnected) {
+            actionDisconnect = contextMenu->addAction(hbTrId("txt_common_menu_disconnect"));
+        }
+    }
+    
+    // Show the menu
+    HbAction *selectedAction = contextMenu->exec(coords);
+    // Re-enable list refreshing
+    mIapItemMenuOpen = false;
+
+    if (selectedAction) {
+        // Handle the "Disconnect" menu selection
+        if (selectedAction == actionDisconnect) {
+            mStatusLabel->setPlainText(hbTrId("txt_occ_grid_not_connected"));
+            mAppRef->wlanQtUtils()->disconnectIap(iap->id());
+            // Redraw the list so that disconnected network is not shown anymore
+            update();
+        }
+    }        
+
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_HANDLELISTITEMLONGPRESSED_EXIT );
+}
+
+// Todo: This is a temporary solution - real WLAN status indication & listening
+// is implemented later on.
+void WlanSnifferListView::handleDisconnect()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_HANDLEDISCONNECT_ENTRY );
+    
+    mStatusLabel->setPlainText(hbTrId("txt_occ_grid_not_connected"));
+    // Redraw the list so that disconnected network is not shown anymore
+    update();    
+
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_HANDLEDISCONNECT_EXIT );
+}
+
+// Todo: no place for separate secure WLAN icon in the widget -> custom layout needed?
+// Todo: check the signal strength values
+QString WlanSnifferListView::signalStrengthIconChoose(int signalStrength, WlanQtUtilsWlanSecMode secMode)
+{
+    (void)secMode;
+    QString iconName;
+    if (signalStrength <= WlanQtUtilsWlanSignalStrengthGood) {
+        iconName = "qtg_small_signal_good";
+    } else if (signalStrength <= WlanQtUtilsWlanSignalStrengthLow) {
+        iconName = "qtg_small_signal_medium";
+    } else {
+        iconName = "qtg_small_signal_low";
+    }
+    
+    return iconName;
+}
+
+HbListWidgetItem *WlanSnifferListView::wlanListItemIapCreate(const WlanQtUtilsWlanIap *iap)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_WLANLISTITEMIAPCREATE_ENTRY );
+    
+    HbListWidgetItem* item = new HbListWidgetItem();
+    item->setText(iap->name());
+#if 1                                       // TODO: How to show secure/open network info??
+    if (iap->securityMode() == WlanQtUtilsWlanSecModeOpen) {
+        item->setSecondaryText("Open");
+    } else {
+        item->setSecondaryText("Secure");            
+    }
+#endif
+    
+    if (iap->connectionStatus() == WlanQtUtilsConnectionStatusConnected) {
+        item->setIcon(HbIcon("qtg_small_online"));
+    } else {
+        item->setIcon(HbIcon("qtg_small_wlan"));
+    }
+    item->setSecondaryIcon(HbIcon(signalStrengthIconChoose(iap->signalStrength(), iap->securityMode())));
+    QVariant data(iap->id());
+    item->setData(data);
+
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_WLANLISTITEMIAPCREATE_EXIT );
+    return item;
+}
+
+HbListWidgetItem *WlanSnifferListView::wlanListItemApCreate(const WlanQtUtilsWlanAp *ap)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERLISTVIEW_WLANLISTITEMAPCREATE_ENTRY );
+    
+    HbListWidgetItem* item = new HbListWidgetItem();
+    item->setText(ap->ssid());
+#if 1                                       // TODO: How to show secure/open network info??
+    if (ap->securityMode() == WlanQtUtilsWlanSecModeOpen) {
+        item->setSecondaryText("Open");
+    } else {
+        item->setSecondaryText("Secure");            
+    }
+#endif    
+    item->setSecondaryIcon(HbIcon(signalStrengthIconChoose(ap->signalStrength(), ap->securityMode())));
+    QVariant data;
+    data.setValue(*ap);
+    item->setData(data);
+    
+    OstTraceFunctionExit0( WLANSNIFFERLISTVIEW_WLANLISTITEMAPCREATE_EXIT );
+    return item;
+}
+
+// End of File
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/src/wlansniffermainwindow.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,134 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#include <xqserviceutil.h>
+
+#include "wlansniffermainwindow.h"
+#include "wlansnifferlistview.h"
+#include "wlansnifferservice.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansniffermainwindowTraces.h"
+#endif
+
+
+WlanSnifferMainWindow::WlanSnifferMainWindow(WlanSniffer *appRef) :
+    mAppRef(appRef),
+    mService(0)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOW_ENTRY );
+    
+    mService = new WlanSnifferService(this);
+    connect(mService,SIGNAL(toListView()),this,SLOT(toListView()));
+    connect(mService,SIGNAL(returnValueDelivered()),this,SIGNAL(exitTriggered()));
+
+    // Add the views to the main window
+    addListView();
+    
+    // Check if sniffer is used via a service
+    if (!XQServiceUtil::isEmbedded()) {
+        // Show the main window (which will display the first view that was added)
+        show();
+    }
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOW_EXIT );
+}
+
+WlanSnifferMainWindow::~WlanSnifferMainWindow()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOWDESTR_ENTRY );
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_WLANSNIFFERMAINWINDOWDESTR_EXIT );
+}
+
+void WlanSnifferMainWindow::toListView()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_TOLISTVIEW_ENTRY );
+    
+    setCurrentView(mListView);
+    show();
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_TOLISTVIEW_EXIT );
+}
+
+void WlanSnifferMainWindow::toDetailsView(int iapId)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_TODETAILSVIEW_ENTRY );
+    
+    // TODO: Launch details view via QtHighway??
+    (void)iapId;
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_TODETAILSVIEW_EXIT );
+}
+
+void WlanSnifferMainWindow::updateListView()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_UPDATELISTVIEW_ENTRY );
+    
+    mListView->update();
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_UPDATELISTVIEW_EXIT );
+}
+
+void WlanSnifferMainWindow::updateListViewConnectionOpened(int iapId)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_UPDATELISTVIEWCONNECTIONOPENED_ENTRY );
+    
+    mListView->updateConnectionOpened(iapId);
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_UPDATELISTVIEWCONNECTIONOPENED_EXIT );
+}
+
+void WlanSnifferMainWindow::updateListViewConnectionClosed(int iapId)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_UPDATELISTVIEWCONNECTIONCLOSED_ENTRY );
+    
+    mListView->updateConnectionClosed(iapId);
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_UPDATELISTVIEWCONNECTIONCLOSED_EXIT );
+}
+
+void WlanSnifferMainWindow::completeService()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_COMPLETESERVICE_ENTRY );
+    
+    mService->complete();
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_COMPLETESERVICE_EXIT );
+}
+
+void WlanSnifferMainWindow::addListView()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERMAINWINDOW_ADDLISTVIEW_ENTRY );
+    
+    mListView = new WlanSnifferListView(mAppRef);
+    addView(mListView);
+    
+    bool connectStatus = connect(
+        mListView,
+        SIGNAL(detailsTriggered(int)),
+        this,
+        SLOT(toDetailsView(int)));
+    Q_ASSERT(connectStatus == true);
+    connectStatus = connect(
+        mListView,
+        SIGNAL(completeServiceTriggered()),
+        this,
+        SLOT(completeService()));
+    Q_ASSERT(connectStatus == true);
+
+    OstTraceFunctionExit0( WLANSNIFFERMAINWINDOW_ADDLISTVIEW_EXIT );
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/src/wlansnifferservice.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,60 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ * 
+ */
+
+#include "wlansnifferservice.h"
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wlansnifferserviceTraces.h"
+#endif
+
+
+WlanSnifferService::WlanSnifferService(QObject* parent)
+    : XQServiceProvider("com.nokia.services.wlansniffer.list", parent)
+{
+    OstTraceFunctionEntry0( WLANSNIFFERSERVICE_WLANSNIFFERSERVICE_ENTRY );
+    
+    publishAll();
+
+    OstTraceFunctionExit0( WLANSNIFFERSERVICE_WLANSNIFFERSERVICE_EXIT );
+}
+
+WlanSnifferService::~WlanSnifferService()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERSERVICE_WLANSNIFFERSERVICEDESTR_ENTRY );
+    OstTraceFunctionExit0( WLANSNIFFERSERVICE_WLANSNIFFERSERVICEDESTR_EXIT );
+}
+
+void WlanSnifferService::complete()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERSERVICE_COMPLETE_ENTRY );
+    
+    QVariant returnValue(true);
+    bool status = completeRequest(mAsyncRequestIndex, returnValue);
+    Q_ASSERT(status);
+
+    OstTraceFunctionExit0( WLANSNIFFERSERVICE_COMPLETE_EXIT );
+}
+
+void WlanSnifferService::listView()
+{
+    OstTraceFunctionEntry0( WLANSNIFFERSERVICE_LISTVIEW_ENTRY );
+    
+    mAsyncRequestIndex = setCurrentRequestAsync();
+    emit toListView();
+
+    OstTraceFunctionExit0( WLANSNIFFERSERVICE_LISTVIEW_EXIT );
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/traces/OstTraceDefinitions.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- a/wlanutilities/wlansniffer/widget/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-#include "../widget_2001E637/group/bld.inf"
-#include "../widget_20026F45/group/bld.inf"
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_MMPFILES
-
-PRJ_TESTMMPFILES
-
-//  End of File  
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/hsps/manifest.dat
-../hsps/00/wsfwidgetconfiguration.xml /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/hsps/wsfwidgetconfiguration.xml
-../hsps/00/wsfwidgetconfiguration.dtd /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/hsps/wsfwidgetconfiguration.dtd
-
-../xuikon/00/wsfwidget.dat /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/wsfwidget_2001E637.dat
-../xuikon/00/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/wsfwidget.css
-../xuikon/00/wsfwidget.xml /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/wsfwidget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/37/wsfwidget.css
-../xuikon/50/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/50/wsfwidget.css
-../xuikon/57/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/57/wsfwidget.css
-../xuikon/94/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_2001E637/xuikon/94/wsfwidget.css
-
-// Support for S60 localization
-//*****************************
-// export localizable loc files (engineering versions)
-#ifndef __WSFWIDGETCONFIGURATION_LOC__
-#define __WSFWIDGETCONFIGURATION_LOC__
-../loc/wsfwidgetconfiguration.loc    MW_LAYER_LOC_EXPORT_PATH(wsfwidgetconfiguration.loc)
-#endif // __WSFWIDGETCONFIGURATION_LOC__
-
-// Support for S60 builds
-//***********************
-// export iby files
-../rom/wsfwidget_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_resources_2001E637.iby)
-../rom/wsfwidget_customer.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_customer_2001E637.iby)
-../rom/wsfwidget_variant.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_variant_2001E637.iby)
-../rom/wsfwidget.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_2001E637.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME wsfwidget_2001E637
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-// build icons
-
-
-// build application
-
-PRJ_TESTMMPFILES
-
-//#endif
-
-//  End of File  
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/manifest.dat	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<package version="2.0"> 
-
-  <family>vga_tch</family>
-
-  <type>widget</type>
-
-  <!-- Interface UId -->
-  <interfaceuid>0x2001f48a</interfaceuid>
-
-  <!-- Vendor UId  -->
-  <provideruid>0x101FB657</provideruid>
-
-  <!-- UID -->
-  <configurationuid>0x2001E637</configurationuid>
-
-  <!-- Description -->
-  <fullname>&amp;qtn_hs_wlan_widget;</fullname>
-  <shortname>wsfwidget</shortname>
-  <version>1.0</version>
-  <description>&amp;qtn_sniffer_wm_widget_description;</description>
-  <filelogo>uid(0x10281CAA)</filelogo>
-
-  <!-- Configuration -->
-  <filexml>wsfwidgetconfiguration.xml</filexml>
-
-  <!-- Name of the localization files -->
-  <filedtd>wsfwidgetconfiguration.dtd</filedtd>
-
-  <!-- Locale independent/common resources -->
-
-  <!-- Locale specific resources -->
-  <localization>
-    <fileresource tag="xuikon">wsfwidget.o0000</fileresource>
-  </localization>
-
-</package>
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.dtd	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "wsfwidgetconfiguration.dtd">
-<PartOf  : "wsfwidgetconfiguration">
-
-<FileDescription: "Localization strings for the configuration">
-<FileVersion    : >
-
-<Copyright:
-"Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-All rights reserved.
-This component and the accompanying materials are made available
-under the terms of the License "Symbian Foundation License v1.0"
-which accompanies this distribution, and is available
-at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-
-Initial Contributors:
-Nokia Corporation - initial contribution.
-
-Contributors:
-
-Description:  Localization strings for the configuration">
-============================================================================
--->
-
-<!-- NOTE: make sure that there is at last one space character (hex 20) after the entity name -->
-
-<!--
-qtn_hs_wlan_widget.attributes
-qtn_hs_wlan_widget.layout "ai_gene_pane_1_t1"
-qtn_hs_wlan_widget.release "TB9.1"
-qtn_hs_wlan_widget.description "WLAN wizard"
-qtn_hs_wlan_widget.parents "ai_gene_pane_1"
--->
-<!ENTITY qtn_hs_wlan_widget  "WLAN wizard">   
-<!ENTITY qtn_sniffer_wm_widget_description  "Discover and connect to Wireless LAN networks.">
-
-
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/hsps/00/wsfwidgetconfiguration.xml	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<configuration>
-    <control>
-        <settings/>
-    </control>
-</configuration>
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/loc/wsfwidgetconfiguration.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for Wlan Sniffer widget
-*
-*/
-
-
-
-// LOCALISATION STRINGS
-
-// d:Text for WLAN Wizard widget name
-// l:listrow_wgtman_pane_t1
-// r:TB9.1
-#define qtn_hs_wlan_widget "WLAN wizard" 
-
-// d:Text for WLAN Wizard widget description
-// l:listrow_wgtman_pane_t2
-// r:TB9.2
-#define qtn_sniffer_wm_widget_description "Discover and connect to Wireless LAN networks."
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2005-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  wlansniffer widget IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_IBY__
-#define __WSFWIDGET_2001E637_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\manifest.dat \private\200159c0\install\wsfwidget_2001E637\hsps\00\manifest.dat
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\00\wsfwidget.o0000 \private\200159c0\install\wsfwidget_2001E637\xuikon\00\wsfwidget.o0000
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_2001E637_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_customer.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  wlansniffer widget language specific IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_CUSTOMER_IBY__
-#define __WSFWIDGET_2001E637_CUSTOMER_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_2001E637_CUSTOMER_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_resources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  wlansniffer widget language specific IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_RESOURCES_IBY__
-#define __WSFWIDGET_2001E637_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\37\wsfwidget.o0037 \private\200159c0\install\wsfwidget_2001E637\xuikon\37\wsfwidget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\50\wsfwidget.o0050 \private\200159c0\install\wsfwidget_2001E637\xuikon\50\wsfwidget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\57\wsfwidget.o0057 \private\200159c0\install\wsfwidget_2001E637\xuikon\57\wsfwidget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\xuikon\94\wsfwidget.o0094 \private\200159c0\install\wsfwidget_2001E637\xuikon\94\wsfwidget.o0094
-#endif
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_2001E637_RESOURCES_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/rom/wsfwidget_variant.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2005-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  wlansniffer widget variant specific IBY file.
-*
-*/
-
-
-#ifndef __WSFWIDGET_2001E637_VARIANT_IBY__
-#define __WSFWIDGET_2001E637_VARIANT_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.xml \private\200159c0\install\wsfwidget_2001E637\hsps\00\wsfwidgetconfiguration.xml
-
-#endif // (FF_LAYOUT_480_640_VGA3) || defined (FF_LAYOUT_640_480_VGA3)
-
-#endif // __PROTOCOL_WLAN
-
-#endif  // __WSFWIDGET_2001E637_VARIANT_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    height: 10u;	
-    display: block;
-    nav-index: appearance;
-    width: auto;
-    padding-top: 0.5u;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 0u;
-    block-progression: lr;
-    direction: ltr;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 5u;
-    block-progression: lr;
-    direction: ltr;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-left: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-top: 4%;
-    margin-left: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    _s60-text-valign: top;
-	direction: ltr;
-	color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-left: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: left;
-    _s60-text-valign: top;
-	direction: ltr;
-	color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-right: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-right: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.dat	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-  <AppUid>E029CF57</AppUid>
-  <Provideruid>101FB657</Provideruid>
-  <ThemeUid>2001E637</ThemeUid>
-  <ThemeFullName>WLAN wizard</ThemeFullName>
-  <ThemeShortName>wsfwidget</ThemeShortName>
-  <ThemeVersion>1.0</ThemeVersion>
-  <FileXML>wsfwidget.xml</FileXML>
-  <FileCSS>wsfwidget.css</FileCSS>
-</data>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/00/wsfwidget.xml	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0"> 
-
-	<widget id="wizardPluginContainer" focusable="true" _s60-initial-focus="1" >
-	
-		<contentsource name="WLANWizard" value="0x10281CAF" /> 
-	
-		<actions>
-			<action>
-			    <trigger name="activate"/>
-			    <event name="WLANWizard/OpenMenu" />
-			</action>
-			<action>
-				<trigger name="gainfocus"/>
-				<event name="WLANWizard/GainFocusInfoArea" />
-			</action>
-		</actions>
-
-		<button id="wizardInfoArea1" class="wizardStatusBox1" focusable="false">
-			<image id="wizardStatusIcon" class="wizardicon" focusable="false">
-				<property class="WLANWizard/StatusIcon"/>
-			</image>
-			<text id="statusName1" class="wizardEntryText1" focusable="false">
-				<property class="WLANWizard/NetworkStatus" />
-			</text>
-		</button> <!-- enf of wizardInfoArea1 -->
-			
-		<button id="wizardInfoArea2" class="wizardStatusBox2" focusable="false">
-			<text id="statusName2" class="wizardEntryText2" focusable="false">
-				<property class="WLANWizard/NetworkName"/>
-			</text>
-			<image id="wizardSecureIcon" class="wizardicon" focusable="false">
-				<property class="WLANWizard/SecureIcon"/>
-				<property class="policy/Content" name="wizardSecureIcon" value="display: block;"/>
-				<property class="policy/emptyContent" name="wizardSecureIcon" value="display: none;"/>
-			</image> 
-			<image id="wizardStrengthIcon" class="wizardicon" focusable="false">
-				<property class="WLANWizard/StrengthIcon"/>
-				<property class="policy/Content" name="wizardStrengthIcon" value="display: block;"/>
-				<property class="policy/emptyContent" name="wizardStrengthIcon" value="display: none;"/>
-			</image>
-		</button> <!-- enf of wizardInfoArea2 -->
-		
-	</widget> <!-- end of wizardPluginContainer -->
-
-</xmluiml>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/37/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    height: 10u;	
-    display: block;
-    nav-index: appearance;
-    width: auto;
-    padding-top: 0.5u;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/50/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    height: 10u;	
-    display: block;
-    nav-index: appearance;
-    width: auto;
-    padding-top: 0.5u;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/57/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    height: 10u;	
-    display: block;
-    nav-index: appearance;
-    width: auto;
-    padding-top: 0.5u;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_2001E637/xuikon/94/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,89 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    height: 10u;	
-    display: block;
-    nav-index: appearance;
-    width: auto;
-    padding-top: 0.5u;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    text-align: right;
-    _s60-text-valign: top;
-    direction: ltr;
-    color: "SKIN(268458534 13056 74)";
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,81 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The information required for building
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-PRJ_EXPORTS
-
-// Support for productization and Carbide.Ui customization
-//********************************************************
-../hsps/00/manifest.dat /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/hsps/manifest.dat
-../hsps/00/wsfwidgetconfiguration.xml /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/hsps/wsfwidgetconfiguration.xml
-../hsps/00/wsfwidgetconfiguration.dtd /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/hsps/wsfwidgetconfiguration.dtd
-
-../xuikon/00/wsfwidget.dat /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/wsfwidget_20026F45.dat
-../xuikon/00/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/wsfwidget.css
-../xuikon/00/wsfwidget.xml /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/wsfwidget.xml
-
-// Arabic languages
-//*****************
-../xuikon/37/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/37/wsfwidget.css
-../xuikon/50/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/50/wsfwidget.css
-../xuikon/57/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/57/wsfwidget.css
-../xuikon/94/wsfwidget.css /epoc32/data/Z/resource/homescreen/wsfwidget_20026F45/xuikon/94/wsfwidget.css
-
-// Support for S60 localization
-//*****************************
-// export localizable loc files (engineering versions)
-#ifndef __WSFWIDGETCONFIGURATION_LOC__
-#define __WSFWIDGETCONFIGURATION_LOC__
-../loc/wsfwidgetconfiguration.loc    MW_LAYER_LOC_EXPORT_PATH(wsfwidgetconfiguration.loc)
-#endif // __WSFWIDGETCONFIGURATION_LOC__
-
-// Support for S60 builds
-//***********************
-// export iby files
-../rom/wsfwidget_resources.iby LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_resources_20026F45.iby)
-../rom/wsfwidget_customer.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_customer_20026F45.iby)
-../rom/wsfwidget_variant.iby CUSTOMER_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_variant_20026F45.iby)
-../rom/wsfwidget.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwidget_20026F45.iby)
-
-
-// Dtd-localization
-//*****************
-PRJ_EXTENSIONS
-START EXTENSION tools/dtd
-OPTION SWITCH_LOC_FILE_NAME wsfwidget_20026F45
-OPTION DTD_TYPE widget
-OPTION LOC_FOLDERS yes
-END
-
-
-PRJ_MMPFILES
-
-// build icons
-
-
-// build application
-
-PRJ_TESTMMPFILES
-
-//#endif
-
-//  End of File  
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/manifest.dat	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,37 +0,0 @@
-<?xml version="1.0"?>
-<package version="2.0"> 
-
-  <family>qhd_tch</family>
-
-  <type>widget</type>
-
-  <!-- Interface UId -->
-  <interfaceuid>0x2001f48a</interfaceuid>
-
-  <!-- Vendor UId  -->
-  <provideruid>0x101FB657</provideruid>
-
-  <!-- UID -->
-  <configurationuid>0x20026F45</configurationuid>
-
-  <!-- Description -->
-  <fullname>&amp;qtn_hs_wlan_widget;</fullname>
-  <shortname>wsfwidget</shortname>
-  <version>1.0</version>
-  <description>&amp;qtn_sniffer_wm_widget_description;</description>
-  <filelogo>uid(0x10281CAA)</filelogo>
-
-  <!-- Configuration -->
-  <filexml>wsfwidgetconfiguration.xml</filexml>
-
-  <!-- Name of the localization files -->
-  <filedtd>wsfwidgetconfiguration.dtd</filedtd>
-
-  <!-- Locale independent/common resources -->
-
-  <!-- Locale specific resources -->
-  <localization>
-    <fileresource tag="xuikon">wsfwidget.o0000</fileresource>
-  </localization>
-
-</package>
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.dtd	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-============================================================================
-<FileName: "wsfwidgetconfiguration.dtd">
-<PartOf  : "wsfwidgetconfiguration">
-
-<FileDescription: "Localization strings for the configuration">
-<FileVersion    : >
-
-<Copyright:
-"Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). 
-All rights reserved.
-This component and the accompanying materials are made available
-under the terms of the License "Symbian Foundation License v1.0"
-which accompanies this distribution, and is available
-at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
-
-Initial Contributors:
-Nokia Corporation - initial contribution.
-
-Contributors:
-
-Description:  Localization strings for the configuration">
-============================================================================
--->
-
-<!-- NOTE: make sure that there is at last one space character (hex 20) after the entity name -->
-
-<!--
-qtn_hs_wlan_widget.attributes
-qtn_hs_wlan_widget.layout "ai_gene_pane_1_t1"
-qtn_hs_wlan_widget.release "TB9.1"
-qtn_hs_wlan_widget.description "WLAN wizard"
-qtn_hs_wlan_widget.parents "ai_gene_pane_1"
--->
-<!ENTITY qtn_hs_wlan_widget  "WLAN wizard">   
-<!ENTITY qtn_sniffer_wm_widget_description "Discover and connect to Wireless LAN networks.">
-
-
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/hsps/00/wsfwidgetconfiguration.xml	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,5 +0,0 @@
-<configuration>
-    <control>
-        <settings/>
-    </control>
-</configuration>
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/loc/wsfwidgetconfiguration.loc	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Localization strings for Wlan Sniffer widget
-*
-*/
-
-
-
-// LOCALISATION STRINGS 
-
-// d:Text for WLAN Wizard widget name
-// l:listrow_wgtman_pane_t1
-// r:TB9.1
-#define qtn_hs_wlan_widget "WLAN wizard" 
-
-// d:Text for WLAN Wizard widget description
-// l:listrow_wgtman_pane_t2
-// r:TB9.2
-#define qtn_sniffer_wm_widget_description "Discover and connect to Wireless LAN networks."
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_IBY__
-#define __WSFWIDGET_20026F45_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) 
-
-// Enabled by DTD-localization tools
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\manifest.dat \private\200159c0\install\wsfwidget_20026F45\hsps\00\manifest.dat
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\00\wsfwidget.o0000 \private\200159c0\install\wsfwidget_20026F45\xuikon\00\wsfwidget.o0000
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_20026F45_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_customer.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_CUSTOMER_IBY__
-#define __WSFWIDGET_20026F45_CUSTOMER_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) 
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_20026F45_CUSTOMER_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_resources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_RESOURCES_IBY__
-#define __WSFWIDGET_20026F45_RESOURCES_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) 
-
-// Enabled by DTD-localization tools, language specific
-#if defined (__LOCALES_37_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\37\wsfwidget.o0037 \private\200159c0\install\wsfwidget_20026F45\xuikon\37\wsfwidget.o0037
-#endif
-#if defined  (__LOCALES_50_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\50\wsfwidget.o0050 \private\200159c0\install\wsfwidget_20026F45\xuikon\50\wsfwidget.o0050
-#endif
-#if defined  (__LOCALES_57_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\57\wsfwidget.o0057 \private\200159c0\install\wsfwidget_20026F45\xuikon\57\wsfwidget.o0057
-#endif
-#if defined  (__LOCALES_94_IBY__)
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\xuikon\94\wsfwidget.o0094 \private\200159c0\install\wsfwidget_20026F45\xuikon\94\wsfwidget.o0094
-#endif
-
-// Enabled by DTD-localization tools, language specific
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd \private\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.dtd
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif // __WSFWIDGET_20026F45_RESOURCES_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/rom/wsfwidget_variant.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-/*
-* Copyright (c) 2002-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  The information required for building
-*
-*/
-
-#ifndef __WSFWIDGET_20026F45_VARIANT_IBY__
-#define __WSFWIDGET_20026F45_VARIANT_IBY__
-
-#ifdef __PROTOCOL_WLAN
-
-#if defined(__LAYOUT_360_640_TOUCH) || defined(__LAYOUT_640_360_TOUCH) 
-
-// Enabled by variation tools, variant specific
-data=ZPRIVATE\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.xml \private\200159c0\install\wsfwidget_20026F45\hsps\00\wsfwidgetconfiguration.xml
-
-#endif // __LAYOUT_360_640_TOUCH || __LAYOUT_640_360_TOUCH
-
-#endif // __PROTOCOL_WLAN
-
-#endif  // __WSFWIDGET_20026F45_VARIANT_IBY__
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    display: block;
-    width: auto;
-    height: auto;
-    padding-left: 7px;
-    padding-right: 7px;
-    padding-top: 7%;
-    padding-bottom: 7%;
-    nav-index: appearance;
-	block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 0u;
-    block-progression: lr;
-    direction: ltr;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 5u;
-    block-progression: lr;
-    direction: ltr;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-left: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-top: 4%;
-    margin-left: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: left;
-    direction: ltr;
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-left: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: left;
-    direction: ltr;
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-right: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-right: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.dat	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,11 +0,0 @@
-<?xml version="1.0"?>
-<data>
-  <AppUid>E029CF57</AppUid>
-  <Provideruid>101FB657</Provideruid>
-  <ThemeUid>20026F45</ThemeUid>
-  <ThemeFullName>WLAN wizard</ThemeFullName>
-  <ThemeShortName>wsfwidget</ThemeShortName>
-  <ThemeVersion>1.0</ThemeVersion>
-  <FileXML>wsfwidget.xml</FileXML>
-  <FileCSS>wsfwidget.css</FileCSS>
-</data>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/00/wsfwidget.xml	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,42 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmluiml xmlns="http://www.series60.com/xml/xmluiml/1" version="1.0"> 
-
-	<widget id="wizardPluginContainer" focusable="true" _s60-initial-focus="1" >
-	
-		<contentsource name="WLANWizard" value="0x10281CAF" />
-		
-		<actions>
-			<action>
-				<trigger name="activate"/>
-				<event name="WLANWizard/OpenMenu" />
-			</action>
-		</actions>
-
-		<button id="wizardInfoArea1" class="wizardStatusBox1" focusable="false">
-			<image id="wizardStatusIcon" class="wizardicon" focusable="false">
-				<property class="WLANWizard/StatusIcon"/>
-			</image>
-			<text id="statusName1" class="wizardEntryText1" focusable="false">
-				<property class="WLANWizard/NetworkStatus" />
-			</text>
-		</button> <!-- enf of wizardInfoArea1 -->
-			
-		<button id="wizardInfoArea2" class="wizardStatusBox2" focusable="false">
-			<text id="statusName2" class="wizardEntryText2" focusable="false">
-				<property class="WLANWizard/NetworkName"/>
-			</text>
-			<image id="wizardSecureIcon" class="wizardicon" focusable="false">
-				<property class="WLANWizard/SecureIcon"/>
-				<property class="policy/Content" name="wizardSecureIcon" value="display: block;"/>
-				<property class="policy/emptyContent" name="wizardSecureIcon" value="display: none;"/>
-			</image> 
-			<image id="wizardStrengthIcon" class="wizardicon" focusable="false">
-				<property class="WLANWizard/StrengthIcon"/>
-				<property class="policy/Content" name="wizardStrengthIcon" value="display: block;"/>
-				<property class="policy/emptyContent" name="wizardStrengthIcon" value="display: none;"/>
-			</image>
-		</button> <!-- enf of wizardInfoArea2 -->
-		
-	</widget> <!-- end of wizardPluginContainer -->
-
-</xmluiml>
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/37/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    display: block;
-    width: auto;
-    height: auto;
-    padding-left: 7px;
-    padding-right: 7px;
-    padding-top: 7%;
-    padding-bottom: 7%;
-    nav-index: appearance;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/50/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    display: block;
-    width: auto;
-    height: auto;
-    padding-left: 7px;
-    padding-right: 7px;
-    padding-top: 7%;
-    padding-bottom: 7%;
-    nav-index: appearance;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/57/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    display: block;
-    width: auto;
-    height: auto;
-    padding-left: 7px;
-    padding-right: 7px;
-    padding-top: 7%;
-    padding-bottom: 7%;
-    nav-index: appearance;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/widget/widget_20026F45/xuikon/94/wsfwidget.css	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,96 +0,0 @@
-/********************
-  WIZARD PLUGIN AREA 
-*********************/
-
-widget#wizardPluginContainer{
-    display: block;
-    width: auto;
-    height: auto;
-    padding-left: 7px;
-    padding-right: 7px;
-    padding-top: 7%;
-    padding-bottom: 7%;
-    nav-index: appearance;
-    block-progression: tb;
-}
-
-button.wizardStatusBox1 { 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 0u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-button.wizardStatusBox2{ 
-	display: block;
-	visibility: visible;
-	width: auto;
-	height: adaptive;
-	position: absolute;
-    top: 5u;
-    block-progression: rl;
-    direction: rtl;
-}
-
-image.wizardicon { 
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    width: 4.0u;
-    height: 4.0u;
-}
-
-text.wizardEntryText1 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-top: 4%;
-    margin-right: 1.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-text.wizardEntryText2 {
-    display: block;
-    visibility: visible;    
-    position: static;
-    width: auto;
-    height: 4.0u;
-    margin-right: 6.0u;
-    font-family: EAknLogicalFontSecondaryFont;
-    font-size: 3.5u;
-    color: "SKIN(268458534 13056 74)";
-    text-align: right;
-    direction: ltr;
-}
-
-image#wizardSecureIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 0.5u;
-    width: 4.0u;
-    height: 4.0u;     
-}
-
-image#wizardStrengthIcon {
-    display: block;
-    visibility: visible;
-    position: static;
-    margin-top: 0.2%;
-    margin-left: 1u;
-    width: 4.0u;
-    height: 4.0u;    
-}
\ No newline at end of file
--- a/wlanutilities/wlansniffer/wlaninfo/bwins/wsfwlaninfou.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-EXPORTS
-	?ExternalizeL@TWsfWlanInfo@@QBEXAAVRWriteStream@@@Z @ 1 NONAME ; void TWsfWlanInfo::ExternalizeL(class RWriteStream &) const
-	?At@CWsfWlanInfoArray@@QBEPAVTWsfWlanInfo@@H@Z @ 2 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::At(int) const
-	?GetSsidAsUtf8LC@TWsfWlanInfo@@QAEPAVHBufC8@@XZ @ 3 NONAME ; class HBufC8 * TWsfWlanInfo::GetSsidAsUtf8LC(void)
-	??ACWsfWlanInfoArray@@QBEPAVTWsfWlanInfo@@I@Z @ 4 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::operator[](unsigned int) const
-	?Delete@CWsfWlanInfoArray@@QAEXPAVTWsfWlanInfo@@@Z @ 5 NONAME ; void CWsfWlanInfoArray::Delete(class TWsfWlanInfo *)
-	?GetSsidAsUnicodeLC@TWsfWlanInfo@@QAEPAVHBufC16@@XZ @ 6 NONAME ; class HBufC16 * TWsfWlanInfo::GetSsidAsUnicodeLC(void)
-	?Reset@CWsfWlanInfoArray@@QAEXXZ @ 7 NONAME ; void CWsfWlanInfoArray::Reset(void)
-	?SetUIPrioritySort@CWsfWlanInfoArray@@QAEXH@Z @ 8 NONAME ; void CWsfWlanInfoArray::SetUIPrioritySort(int)
-	?NewLC@CWsfWlanInfoArray@@SAPAV1@XZ @ 9 NONAME ; class CWsfWlanInfoArray * CWsfWlanInfoArray::NewLC(void)
-	?AppendFromStreamBufferL@CWsfWlanInfoArray@@QAEHABVTDesC8@@@Z @ 10 NONAME ; int CWsfWlanInfoArray::AppendFromStreamBufferL(class TDesC8 const &)
-	?DeleteFromTail@CWsfWlanInfoArray@@QAEHH@Z @ 11 NONAME ; int CWsfWlanInfoArray::DeleteFromTail(int)
-	?Count@CWsfWlanInfoArray@@QAEIXZ @ 12 NONAME ; unsigned int CWsfWlanInfoArray::Count(void)
-	?GetSsidAsUnicodeLC@TWsfWlanInfo@@SAPAVHBufC16@@ABV?$TBuf8@$0CA@@@@Z @ 13 NONAME ; class HBufC16 * TWsfWlanInfo::GetSsidAsUnicodeLC(class TBuf8<32> const &)
-	?AppendL@CWsfWlanInfoArray@@QAEXPAVTWsfWlanInfo@@@Z @ 14 NONAME ; void CWsfWlanInfoArray::AppendL(class TWsfWlanInfo *)
-	??0TWsfWlanInfo@@QAE@AAVTDesC8@@GW4TWlanSecMode@CMManager@@HW4TWlanNetMode@3@KEK@Z @ 15 NONAME ; TWsfWlanInfo::TWsfWlanInfo(class TDesC8 &, unsigned short, enum CMManager::TWlanSecMode, int, enum CMManager::TWlanNetMode, unsigned long, unsigned char, unsigned long)
-	?SignalStrength@TWsfWlanInfo@@QAE?AW4TWsfWlanSignalStrengthLevel@@XZ @ 16 NONAME ; enum TWsfWlanSignalStrengthLevel TWsfWlanInfo::SignalStrength(void)
-	?MatchWithIapIDL@CWsfWlanInfoArray@@QAEXIHAAV?$RPointerArray@VTWsfWlanInfo@@@@@Z @ 17 NONAME ; void CWsfWlanInfoArray::MatchWithIapIDL(unsigned int, int, class RPointerArray<class TWsfWlanInfo> &)
-	?FindHiddenEntry@CWsfWlanInfoArray@@QAEPAVTWsfWlanInfo@@H@Z @ 18 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::FindHiddenEntry(int)
-	?GetIapNameAsUtf8LC@TWsfWlanInfo@@QAEPAVHBufC8@@XZ @ 19 NONAME ; class HBufC8 * TWsfWlanInfo::GetIapNameAsUtf8LC(void)
-	?MatchL@CWsfWlanInfoArray@@QAEXABVTDesC8@@W4TWlanSecMode@CMManager@@W4TWlanNetMode@4@HAAV?$RPointerArray@VTWsfWlanInfo@@@@@Z @ 20 NONAME ; void CWsfWlanInfoArray::MatchL(class TDesC8 const &, enum CMManager::TWlanSecMode, enum CMManager::TWlanNetMode, int, class RPointerArray<class TWsfWlanInfo> &)
-	?SortArrayL@CWsfWlanInfoArray@@QAEXAAVMWsfWlanInfoArrayFilterVisitor@@@Z @ 21 NONAME ; void CWsfWlanInfoArray::SortArrayL(class MWsfWlanInfoArrayFilterVisitor &)
-	?GetArrayIndex@CWsfWlanInfoArray@@QBEHPAVTWsfWlanInfo@@@Z @ 22 NONAME ; int CWsfWlanInfoArray::GetArrayIndex(class TWsfWlanInfo *) const
-	?SortArrayL@CWsfWlanInfoArray@@QAEXXZ @ 23 NONAME ; void CWsfWlanInfoArray::SortArrayL(void)
-	?NewL@CWsfWlanInfoArray@@SAPAV1@XZ @ 24 NONAME ; class CWsfWlanInfoArray * CWsfWlanInfoArray::NewL(void)
-	?GetUIPrioritySort@CWsfWlanInfoArray@@QAEHXZ @ 25 NONAME ; int CWsfWlanInfoArray::GetUIPrioritySort(void)
-	?GetIapNameAsUnicodeLC@TWsfWlanInfo@@QAEPAVHBufC16@@XZ @ 26 NONAME ; class HBufC16 * TWsfWlanInfo::GetIapNameAsUnicodeLC(void)
-	??0TWsfWlanInfo@@QAE@XZ @ 27 NONAME ; TWsfWlanInfo::TWsfWlanInfo(void)
-	?SignalStrengthPercentage@TWsfWlanInfo@@QAEHXZ @ 28 NONAME ; int TWsfWlanInfo::SignalStrengthPercentage(void)
-	?InternalizeL@TWsfWlanInfo@@QAEXAAVRReadStream@@@Z @ 29 NONAME ; void TWsfWlanInfo::InternalizeL(class RReadStream &)
-	?SerializeContentLC@CWsfWlanInfoArray@@QAEPAVHBufC8@@XZ @ 30 NONAME ; class HBufC8 * CWsfWlanInfoArray::SerializeContentLC(void)
-	?Match@CWsfWlanInfoArray@@QAEPAVTWsfWlanInfo@@ABVTDesC8@@H@Z @ 31 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::Match(class TDesC8 const &, int)
-	?Match@CWsfWlanInfoArray@@QAEPAVTWsfWlanInfo@@KH@Z @ 32 NONAME ; class TWsfWlanInfo * CWsfWlanInfoArray::Match(unsigned long, int)
-
--- a/wlanutilities/wlansniffer/wlaninfo/eabi/wsfwlaninfou.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,36 +0,0 @@
-EXPORTS
-	_ZN12TWsfWlanInfo12InternalizeLER11RReadStream @ 1 NONAME
-	_ZN12TWsfWlanInfo14SignalStrengthEv @ 2 NONAME
-	_ZN12TWsfWlanInfo15GetSsidAsUtf8LCEv @ 3 NONAME
-	_ZN12TWsfWlanInfo18GetIapNameAsUtf8LCEv @ 4 NONAME
-	_ZN12TWsfWlanInfo18GetSsidAsUnicodeLCERK5TBuf8ILi32EE @ 5 NONAME
-	_ZN12TWsfWlanInfo18GetSsidAsUnicodeLCEv @ 6 NONAME
-	_ZN12TWsfWlanInfo21GetIapNameAsUnicodeLCEv @ 7 NONAME
-	_ZN12TWsfWlanInfo24SignalStrengthPercentageEv @ 8 NONAME
-	_ZN12TWsfWlanInfoC1ER6TDesC8tN9CMManager12TWlanSecModeEiNS2_12TWlanNetModeEmhm @ 9 NONAME
-	_ZN12TWsfWlanInfoC1Ev @ 10 NONAME
-	_ZN12TWsfWlanInfoC2ER6TDesC8tN9CMManager12TWlanSecModeEiNS2_12TWlanNetModeEmhm @ 11 NONAME
-	_ZN12TWsfWlanInfoC2Ev @ 12 NONAME
-	_ZN17CWsfWlanInfoArray10SortArrayLER30MWsfWlanInfoArrayFilterVisitor @ 13 NONAME
-	_ZN17CWsfWlanInfoArray10SortArrayLEv @ 14 NONAME
-	_ZN17CWsfWlanInfoArray14DeleteFromTailEi @ 15 NONAME
-	_ZN17CWsfWlanInfoArray15FindHiddenEntryEi @ 16 NONAME
-	_ZN17CWsfWlanInfoArray15MatchWithIapIDLEjiR13RPointerArrayI12TWsfWlanInfoE @ 17 NONAME
-	_ZN17CWsfWlanInfoArray17GetUIPrioritySortEv @ 18 NONAME
-	_ZN17CWsfWlanInfoArray17SetUIPrioritySortEi @ 19 NONAME
-	_ZN17CWsfWlanInfoArray18SerializeContentLCEv @ 20 NONAME
-	_ZN17CWsfWlanInfoArray23AppendFromStreamBufferLERK6TDesC8 @ 21 NONAME
-	_ZN17CWsfWlanInfoArray4NewLEv @ 22 NONAME
-	_ZN17CWsfWlanInfoArray5CountEv @ 23 NONAME
-	_ZN17CWsfWlanInfoArray5MatchERK6TDesC8i @ 24 NONAME
-	_ZN17CWsfWlanInfoArray5NewLCEv @ 25 NONAME
-	_ZN17CWsfWlanInfoArray5ResetEv @ 26 NONAME
-	_ZN17CWsfWlanInfoArray6DeleteEP12TWsfWlanInfo @ 27 NONAME
-	_ZN17CWsfWlanInfoArray6MatchLERK6TDesC8N9CMManager12TWlanSecModeENS3_12TWlanNetModeEiR13RPointerArrayI12TWsfWlanInfoE @ 28 NONAME
-	_ZN17CWsfWlanInfoArray7AppendLEP12TWsfWlanInfo @ 29 NONAME
-	_ZNK12TWsfWlanInfo12ExternalizeLER12RWriteStream @ 30 NONAME
-	_ZNK17CWsfWlanInfoArray13GetArrayIndexEP12TWsfWlanInfo @ 31 NONAME
-	_ZNK17CWsfWlanInfoArray2AtEi @ 32 NONAME
-	_ZNK17CWsfWlanInfoArrayixEj @ 33 NONAME
-	_ZN17CWsfWlanInfoArray5MatchEmi @ 34 NONAME
-
--- a/wlanutilities/wlansniffer/wlaninfo/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project WlanInfo
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-// private API
-../inc/wsfwlaninfo.h 			|../../../inc/wsfwlaninfo.h 
-../inc/wsfwlaninfo.inl 			|../../../inc/wsfwlaninfo.inl 
-../inc/wsfwlaninfoarray.h		|../../../inc/wsfwlaninfoarray.h 
-../inc/wsfwlaninfoarrayfiltervisitor.h		|../../../inc/wsfwlaninfoarrayfiltervisitor.h 
-
-// IBY
-../rom/wsfwlaninfo.iby		CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwlaninfo.iby)
-
-
-PRJ_MMPFILES
-wlaninfo.mmp
-
-// End of file
-
--- a/wlanutilities/wlansniffer/wlaninfo/group/wlaninfo.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,47 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project WlanInfo
-*
-*/
-
-
-#include <data_caging_paths.hrh>
-#include <platform_paths.hrh>
-
-
-TARGET        wsfwlaninfo.dll
-TARGETTYPE    dll
-UID           0x1000008d 0x10281CAC
-
-CAPABILITY              ALL -TCB
-
-
-SOURCEPATH    	../src
-SOURCE 			wsfwlaninfoarray.cpp
-SOURCE			wsfwlaninfoarraysortkey.cpp
-SOURCE			wsfwlaninfo.cpp
-
-USERINCLUDE     ../inc
-USERINCLUDE     ../../inc
-
-//Macro to /epoc32 headers
-MW_LAYER_SYSTEMINCLUDE
-
-
-LIBRARY       	euser.lib
-LIBRARY			estor.lib
-LIBRARY			charconv.lib 
-
-
-// End of file
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,360 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for TWsfWlanInfo
-*
-*/
-
-
-
-#ifndef T_WSFWLANINFO_H
-#define T_WSFWLANINFO_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <cmpluginwlandef.h>
-#include <wlanmgmtcommon.h>
-
-
-// ENUMS
-
-/**
- * Signal strength categories for UI
- */
-enum TWsfWlanSignalStrengthLevel
-    {
-    ENoSignal,
-    EPoor,
-    EAverage,
-    EExcelent
-    };
-
-
-/**
- * Connection status
- */
-enum TWsfWlanConnectionState
-    {
-    ENotConnected,
-    EConnecting,
-    EConnected
-    };
-    
-
-/**
- * Signal strength category boundaries in dB (absolute value).
- * Smaller value means better signal.
- */    
-enum TWsfWlanSignalStrength
-    {
-    EWlanSignalStrengthMax = 60,
-    EWlanSignalStrengthGood = 74,
-    EWlanSignalStrengthLow = 87,
-    EWlanSignalStrengthMin = 100,
-    EWlanSignalUnavailable = 9999
-    };
-
-
-/**
- * Flags for different types of networks
- */
-enum TWsfBrandDataDefs
-    {
-    EBrandedItem = 0xFF,
-    EBlackListItem = 0x01,
-    EUserSortListItem = 0x02,
-    EFonSsid = 0x04,
-    EUsesPresharedKey = 0x08
-    };
-    
-
-/**
- * Maximal length of IAP name that the class should be able to store
- */    
-const TInt KWlanMaxAccessPointNameLength = 50;
-
-
-// FORWARD DECLARATIONS
-class RReadStream;
-class RWriteStream;
-
-
-//  CLASS DEFINITION
-/**
- * Class to encapsulate network parameters
- *
- * TWsfWlanInfo serves for transferring the WLAN network related data
- * between the different submodules of Wlan Sniffer.
- *
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( TWsfWlanInfo )
-    {
-    public:     // Constructors
-
-        IMPORT_C TWsfWlanInfo();
-
-        /**
-         * Constructor.
-         *
-         * @since S60 5.0
-         * @param aSsid SSID of the WLAN network
-         * @param aStrengthLevel Signal strength in dB (absolute value)
-         * @param aSecurityMode Network security mode
-         * @param aVisibility ETrue for public networks, EFalse for hidden ones
-         * @param aNetMode Network mode (infrastructure or adhoc)
-         * @param aIapId IAP id if known, zero otherwise.
-         * @param aCoverage Number of APs with the same SSID
-         * @param aTransferRate Maximal transfer rate reported by the AP
-         */
-        IMPORT_C TWsfWlanInfo( TDesC8& aSsid,
-                        TUint16 aStrengthLevel,
-                        CMManager::TWlanSecMode aSecurityMode,
-                        TInt aVisibility,
-                        CMManager::TWlanNetMode aNetMode,
-                        TUint32 aIapId,
-                        TUint8 aCoverage,
-                        TUint32 aTransferRate );
-
-    public:     // New methods
-
-        /**
-        * Gets WLAN name (Ssid) as unicode format 
-        * @since S60 5.0
-        * @return Ssid as unicode format
-        */
-        IMPORT_C HBufC* GetSsidAsUnicodeLC();
-
-        /**
-        * Gets WLAN name (Ssid) as unicode format
-        * @since S60 5.0
-        * @return Ssid as unicode format
-        */ 
-        IMPORT_C static HBufC* GetSsidAsUnicodeLC( const TWlanSsid& aSsid );
-
-        /**
-        * Gets WLAN name (Ssid) as 8-bit format 
-        * @since S60 5.0
-        * @return Ssid as 8-bit format
-        */
-        IMPORT_C HBufC8* GetSsidAsUtf8LC();
-
-        /**
-        * Serializes data from the stream
-        * @since S60 5.0
-        * @param aStream Stream from where data is serialized
-        */
-        IMPORT_C void InternalizeL( RReadStream& aStream );
-        
-        /**
-        * Serializes data to the stream
-        * @since S60 5.0
-        * @param aStream Stream where data will be serialized
-        */
-        IMPORT_C void ExternalizeL( RWriteStream& aStream ) const;
-
-        /**
-        * Get signal strength as enumeration
-        * @since S60 5.0
-        * @return Signal stregth as enumeration
-        */
-        IMPORT_C TWsfWlanSignalStrengthLevel SignalStrength(); 
-
-        /**
-        * Get signal strength as percentage
-        * @since S60 5.0
-        * @return Signal stregth as percentage
-        */
-        IMPORT_C TInt SignalStrengthPercentage();
-        
-        /**
-        * Gets WLAN IAP name as unicode format 
-        * @since S60 5.0
-        * @return Ssid as unicode format
-        */
-        IMPORT_C HBufC* GetIapNameAsUnicodeLC();
-
-        /**
-        * Gets WLAN IAP name as 8-bit format 
-        * @since S60 5.0
-        * @return Ssid as 8-bit format
-        */
-        IMPORT_C HBufC8* GetIapNameAsUtf8LC();
-
-        /**
-        * Get WLAN connection state
-        * @since S60 5.0
-        * @return ETrue if connected
-        */
-        inline TBool Connected() const;
-        
-        /**
-        * Get WLAN connection state
-        * @since S60 5.2
-        * @return TWsfWlanConnectionState
-        */
-        inline TWsfWlanConnectionState ConnectionStatus() const;
-
-        /**
-        * Get WLAN Known state
-        * @since S60 5.0
-        * @return ETrue if access point has been defined
-        */
-        inline TBool Known() const;
-
-        /**
-        * Get WLAN visibility state
-        * @since S60 5.0
-        * @return ETrue if WLAN is hidden
-        */
-        inline TBool Hidden() const;
-
-        /**
-        * Get WLAN security state
-        * @since S60 5.0
-        * @return ETrue if WLAN is secured. 
-        */
-        inline TBool Secure() const;
-
-        /**
-        * Set the brand id for entry
-        * @since S60 5.0
-        * @param aBrandId The brand id.
-        */ 
-        inline void SetBrand( const TInt8 aBrandId );
-
-        /**
-        * Get brand id
-        * @since S60 5.0
-        * @return 8-bit value representing brand id
-        */
-        inline TInt8 BrandId() const;
-
-        /**
-        * Set blacklist entry flag
-        * @since S60 5.0
-        * @param aBlackListEntry ETrue if the network is blacklisted.
-        */
-        inline void SetBlackListEntry( const TBool aBlackListEntry );
-
-        /** 
-        * Get blacklist flag
-        * @since S60 5.0
-        * @return ETrue if the entry is marked as black list entry
-        */
-        inline TBool BlackListEntry() const;
-
-        /**
-        * Get Fon entry flag
-        * @since S60 5.0
-        * @return ETrue if the network is recognised as FON.
-        */
-        inline TBool FonSsid() const;
-
-        /** 
-        * Set Fon flag
-        * @since S60 5.0
-        * @param aFonSsid ETrue if the entry is a Fon list entry
-        */
-        inline void SetFonSsid( const TBool aFonSsid );
-
-        /**
-        * Query preshared key flag in WPA and 802.1x security modes.
-        * Note that the result is undefined in case of other security modes.
-        * @since S60 5.0
-        * @return ETrue, if preshared key is used.
-        */
-        inline TBool UsesPreSharedKey() const;
-
-        /** 
-        * Set preshared key flag for WPA and 802.1x security modes.
-        * @since S60 5.0
-        * @param aUsePresharedKey ETrue if the network uses preshared key
-        */
-        inline void SetUsesPreSharedKey( const TBool aUsePresharedKey );
-        
-        /**
-        * Set the priority for entry
-        * @since S60 5.1
-        * @param aPriority The priority id.
-        */ 
-        inline void SetPriority( const TUint8 aPriority );
-
-        /**
-        * Get priority
-        * @since S60 5.1
-        * @return 8-bit value representing priority
-        */
-        inline TUint8 Priority() const;
-
-        /**
-        * Get WLAN security mode
-        * @since S60 5.2
-        * @return WLAN security mode
-        */
-        inline CMManager::TWlanSecMode SecurityMode() const;
-
-
-    public:    // Data
-
-        // Network name (unknown: SSID, known: IAP name)
-        TWlanSsid iSsid;
-
-        // Network strength
-        TUint16 iStrengthLevel;			
-
-        //Network encryption
-        CMManager::TWlanSecMode iSecurityMode;		
-
-        //Network visibility
-        TBool iVisibility;		
-
-        //Network capability
-        CMManager::TWlanNetMode iNetMode;	
-
-        //Internet Access Point Id. 0 if the IAP has not been defined. 
-        TUint32 iIapId;
-
-        // Available WLAN hotspots in this WLAN network
-        TUint8 iCoverage;
-
-        // Transferrate
-        TUint32 iTransferRate;
-
-        // Connection state
-        TWsfWlanConnectionState iConnectionState;
-
-        // filter flags
-        TUint8 iFilterFlags;
-
-        //brand id
-        TUint8 iBrandId;
-        
-        // The name of the WLAN IAP
-        TBuf8<KWlanMaxAccessPointNameLength> iNetworkName;
-        
-        //UI priority for known networks
-        TUint8 iPriority;
-        
-        //Raw SSID - not converted
-        TWlanSsid iRawSsid;
-    };
-
-
-#include "wsfwlaninfo.inl"
-
-
-#endif // T_WSFWLANINFO_H
-
-// End of file
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfo.inl	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,184 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Inline for TWsfWlanInfo
-*
-*/
-
-
-
-//  INLINE FUNCTIONS
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Connected
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Connected() const
-	{ 
-	return ( iConnectionState == EConnected ); 
-	}
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::ConnectionStatus
-// -----------------------------------------------------------------------------
-//
-inline TWsfWlanConnectionState TWsfWlanInfo::ConnectionStatus() const
-    { 
-    return iConnectionState; 
-    }
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Known
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Known() const
-	{ 
-	return ( iIapId );
-	}
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Hidden
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Hidden() const
-	{ 
-	return !iVisibility;
-	}
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Secure
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::Secure() const
-	{ 
-	return ( iSecurityMode != CMManager::EWlanSecModeOpen );
-	}
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetBrand
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetBrand( const TInt8 aBrandId ) 
-	{
-	iBrandId = aBrandId;
-	}
-	
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::BrandId
-// -----------------------------------------------------------------------------
-//
-inline TInt8 TWsfWlanInfo::BrandId() const
-	{
-	return iBrandId; 
-	}		
-	
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetBlackListEntry
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetBlackListEntry( const TBool aBlackListEntry )
-	{
-	iFilterFlags = aBlackListEntry ? 
-                        ( EBlackListItem | iFilterFlags ): 
-                        ( ~EBlackListItem & iFilterFlags );
-	}
-	
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::BlackListEntry
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::BlackListEntry() const
-	{
-	return ( iFilterFlags & EBlackListItem );
-	}	
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::FonSsid
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::FonSsid() const
-	{
-	return ( iFilterFlags & EFonSsid );
-	}
-	
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetFonSsid
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetFonSsid( const TBool aFonSsid )
-	{			
-	iFilterFlags = aFonSsid ? 
-	                    ( EFonSsid | iFilterFlags ): 
-	                    ( ~EFonSsid & iFilterFlags );			
-	}
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::UsesPreSharedKey
-// -----------------------------------------------------------------------------
-//
-inline TBool TWsfWlanInfo::UsesPreSharedKey() const
-	{
-	return ( iFilterFlags & EUsesPresharedKey );
-	}
-	
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetUsesPreSharedKey
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetUsesPreSharedKey( const TBool aUsePresharedKey )
-	{			
-	iFilterFlags = aUsePresharedKey? 
-	                    ( EUsesPresharedKey | iFilterFlags ): 
-	                    ( ~EUsesPresharedKey & iFilterFlags );
-	}
-
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SetPriority
-// -----------------------------------------------------------------------------
-//
-inline void TWsfWlanInfo::SetPriority( const TUint8 aPriority ) 
-    {
-    iPriority = aPriority;
-    }
-    
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::Priority
-// -----------------------------------------------------------------------------
-//
-inline TUint8 TWsfWlanInfo::Priority() const
-    {
-    return iPriority; 
-    }
-
-// -----------------------------------------------------------------------------
-// TWsfWlanInfo::SecurityMode
-// -----------------------------------------------------------------------------
-//
-inline CMManager::TWlanSecMode TWsfWlanInfo::SecurityMode() const
-    { 
-    return iSecurityMode;
-    }
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarray.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanInfoArray
-*
-*/
-
-
-#ifndef C_WSFWLANINFOARRAY_H
-#define C_WSFWLANINFOARRAY_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-// FORWARD DECLARATIONS
-class MWsfWlanInfoArrayFilterVisitor;
-
-
-//  CLASS DEFINITION
-/**
- * Pointerarray container for TWsfWlanInfo items.
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfWlanInfoArray ): public CBase
-	{
-    public:     // Constructors and destructor
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance.
-        */
-        IMPORT_C static CWsfWlanInfoArray* NewL();
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @return Class instance.
-        */
-        IMPORT_C static CWsfWlanInfoArray* NewLC();
-
-        ~CWsfWlanInfoArray();
-
-    private:    // Constructors
-        CWsfWlanInfoArray();
-        void ConstructL();
-
-    public:     // New methods
-		
-        /**
-        * Returns the index of the given wlaninfo
-        * @since S60 5.0
-        * @param aWlanInfo The element being searched for. Ownership not passed.
-        * @return Index of info in the array, or -1 if not found 
-        */
-        IMPORT_C TInt GetArrayIndex( TWsfWlanInfo* aWlanInfo ) const;
-
-        /**
-        * Add a wlaninfo to the array
-        * @since S60 5.0
-        * @param aWlanInfo The info element to be added to the array. 
-        *                  Ownership passed.
-        */
-        IMPORT_C void AppendL( TWsfWlanInfo* aWlanInfo );
-    
-        /**
-        * Delete the given element from the array
-        * @since S60 5.0
-        * @param aWlanInfo The wlaninfo to be removed from the array. 
-        *                  Ownership not passed.
-        */
-        IMPORT_C void Delete( TWsfWlanInfo* aWlanInfo );
-
-        /**
-        * Wipes all the elements from the array
-        * @since S60 5.0
-        */
-        IMPORT_C void Reset();
-
-        /**
-        * Returns the wlaninfo of the given index value in the array
-        * @since S60 5.0
-        * @param aIndex Index of the element in the array
-        * @return Pointer to the wlan info object. Ownership not passed.
-        */
-        IMPORT_C TWsfWlanInfo* operator[]( TUint aIndex ) const;
-        
-        /**
-        * Returns the wlaninfo of the given index value in the array with
-        * boundary check.
-        * @since S60 5.0
-        * @param aIndex Index of the element in the array
-        * @return Pointer to the wlan info object if the given index is valid
-        *         (ownership not passed), NULL otherwise
-        */
-        IMPORT_C TWsfWlanInfo* At( TInt aIndex ) const;
-        
-        /**
-        * Return the number of info items stored in the array 
-        * @since S60 5.0
-        * @return Number of items in the array.
-        */
-        IMPORT_C TUint Count();
-        
-        /**
-        * Returns the info array element matching the SSID prior the given index
-        * @since S60 5.0
-        * @param aSsid The SSID to match
-        * @param aPriorThis The index after which results are not reported
-      	* @return Pointer to the wlan info object (ownership not passed), or 
-      	*         NULL if ssid is not found
-      	*/
-		IMPORT_C TWsfWlanInfo* Match( const TDesC8& aSsid, 
-		                              const TInt aPriorThis ); 
-		
-		/**
-        * Returns the info array element matching the IapID prior the given index
-        * @since S60 5.2
-        * @param aIapID The IapID to match
-        * @param aPriorThis The index after which results are not reported
-        * @return Pointer to the wlan info object (ownership not passed), or 
-        *         NULL if IapID is not found
-        */
-        IMPORT_C TWsfWlanInfo* Match( const TUint32 aIapID, 
-                                      const TInt aPriorThis );
-		
-		/**
-        * Returns the info array element matching the iap id prior the given index
-        * @since S60 5.0
-        * @param aIapId The Iap Id to match
-        * @param aPriorThis The index after which results are not reported
-        * @return Pointer to the wlan info object (ownership not passed), or 
-        * NULL if ssid is not found
-        */
-		IMPORT_C void MatchWithIapIDL( const TUint aIapID, 
-		                                const TInt aPriorThis, 
-		                                RPointerArray<TWsfWlanInfo>& aMatchArray );
-		
-		
-		/**
-		 * Returns the info array element matching the SSID, security mode and net mode
-		 * prior the given index
-		 * @since S60 5.0
-		 * @param aSsid The SSID to match
-		 * @param aSecMode The security mode to match
- 		 * @param aNetMode The network mode to match
-		 * @param aPriorThis The index after which results are not reported
-		 * @return Pointer to the wlan info object (ownership not passed), or 
-		 *         NULL if ssid is not found
-		 */		 
-		IMPORT_C void MatchL( const TDesC8& aSsid, 
-		                      CMManager::TWlanSecMode aSecMode, 
-		                      CMManager::TWlanNetMode aNetMode, 
-		                      const TInt aPriorThis, 
-		                      RPointerArray<TWsfWlanInfo>& aMatchArray ); 
-		
-		/**
-		* Serialize the array content to a buffer and pushes it on the 
-		* cleanup stack
-        * @since S60 5.0
-		* @return The buffer created
-		*/
-		IMPORT_C HBufC8* SerializeContentLC();
-
-		/**
-		* Read wlan info objects from buffer and append them to the array
-        * @since S60 5.0
-        * @param aStreamBuffer The buffer to read from.
-		* @return The new array size
-		*/
-		IMPORT_C TInt AppendFromStreamBufferL( const TDesC8& aStreamBuffer );
-
-        /**
-        * Returns the hidden info array prior the given index
-        * @since S60 5.0
-        * @param aPriorThis The index after which results are not reported
-      	* @return Pointer to the wlan info object (ownership not passed), 
-      	*         or NULL if not found
-      	*/
-		IMPORT_C TWsfWlanInfo* FindHiddenEntry( const TInt aPriorThis );
-		
-		/**
-		* Delete a given number of items starting from the last item in array
-        * @since S60 5.0
-		* @param aCount The number of items to be deleted
-		* @return The count of remaining items in array 
-		*/ 
-		IMPORT_C TInt DeleteFromTail( const TInt aCount );
-		
-		/**
-		* Sort the array contents in order of
-		* configured access points in alphabetical order ( Ssid )
-		* unknow networks in aplhabetical order ( Ssid )
-		* and the hidden network container
-        * @since S60 5.0
-		*/
-		IMPORT_C void SortArrayL();
-		
-		/**
-        * Set UI priority Sort for array
-        * @since S60 5.1
-        * @param aUIPrioritySort TBool value.
-        */ 
-        IMPORT_C void SetUIPrioritySort( const TBool aUIPrioritySort );
-		
-        /**
-        * Get UI Priority Sort value
-        * @since S60 5.1
-        * @return TBool value representing iUIPrioritySort
-        */
-        IMPORT_C TBool GetUIPrioritySort();
-		
-		/*
-		* Sort the array using a visitor SortKey
-        * @since S60 5.0
-        * @param aSortKey The sort key to be used.
-		*/
-		IMPORT_C void SortArrayL( MWsfWlanInfoArrayFilterVisitor& aSortKey );		
-		
- 
-    private:    // Data
- 
-        CArrayPtrFlat<TWsfWlanInfo>* iInfoArray;   ///< Owned.
-        
-        /**
-        * If EFalse, UI priority short not in use
-        */
-        TBool iUIPrioritySort;
-
-	};
-
-#endif // C_WSFWLANINFOARRAY_H
-
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarrayfiltervisitor.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,73 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfWlanInfoArrayFilterVisitor
-*
-*/
-
-
-
-#ifndef M_WSFWLANINFOARRAYFILTERVISITOR_H
-#define M_WSFWLANINFOARRAYFILTERVISITOR_H
-
-//  EXTERNAL INCLUDES
-#include <e32def.h>
-#include <e32base.h>
-
-
-//  FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-
-
-//  CLASS DEFINITION
-/**
- * Abstract interface for CWsfWlanInfoArray to allow visitor-like overloading 
- * for array sorting
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-class MWsfWlanInfoArrayFilterVisitor 
-    {
-    public:     // Destructor
-		/**
-		* Destructor
-		*/
-        virtual ~MWsfWlanInfoArrayFilterVisitor() {}
-
-	public:	
-		/**
-		* Execute presort before starting the actual sorting
-		* @since S60 5.0
-		* @param aArray The array to work on
-		*/
-		virtual void FilterPreSortL( CWsfWlanInfoArray* aArray ) = 0;
-		
-		/**
-		* Run postsort after he actual sorting is executed
-		* @since S60 5.0
-		* @param aArray The array to work on
-		*/
-		virtual void FilterPostSortL( CWsfWlanInfoArray* aArray ) = 0;
-                
-        /**        
-        * Return the handle for sorting key
-		* @since S60 5.0
-		* @return The handle for the sorting key
-        */        
-        virtual TKeyArrayFix& SortingKey() = 0; 
-               
-    };
-
-#endif      //  M_WSFWLANINFOARRAYFILTERVISITOR_H
-
-// End of file
--- a/wlanutilities/wlansniffer/wlaninfo/inc/wsfwlaninfoarraysortkey.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,78 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanInfoArraySortKey
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOARRAYSORTKEY_H
-#define C_WSFWLANINFOARRAYSORTKEY_H
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-// FORWARD DECLARATIONS
-class CWsfWlanInfoArray;
-
-
-//  CLASS DEFINITION
-/**
- * Sort key for wlan info array
- * @lib wsfwlaninfo.lib
- * @since S60 5.0
- */
-NONSHARABLE_CLASS( CWsfWlanInfoArraySortKey ): public TKeyArrayFix 
-	{
-    public:     // Constructors
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aArray The array to work with.
-        */
-		static CWsfWlanInfoArraySortKey* NewLC( CWsfWlanInfoArray& aArray );
-		
-        /**
-        * Destructor.
-        * @since S60 5.0
-        */
-		~CWsfWlanInfoArraySortKey();
-  
-    private:  // Constructors
-        /**
-        * Constructor.
-        * @since S60 5.0
-        * @param aArray The array to work with.
-        */        
-		CWsfWlanInfoArraySortKey( CWsfWlanInfoArray& aArray );
-
-    public:   // from TKey
-
-       /**
-        * Compare function
-        * @since S60 5.0
-        * @param aLeft Left element to be compared
-        * @param aRight Right element to be compared
-        * @return -1 if aLeft<aRight, 0 if equal, 1 otherwise
-        */
-        virtual TInt Compare( TInt aLeft, TInt aRight ) const;
-
-    public:    // Data
-        // The array to work with. Not owned.
-		CWsfWlanInfoArray* iArray;
-	};
-
-
-#endif // C_WSFWLANINFOARRAYSORTKEY_H
--- a/wlanutilities/wlansniffer/wlaninfo/rom/wsfwlaninfo.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-/*
-* Copyright (c) 2006 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanInfo
-*
-*/
-
-
-
-#ifndef WSFWLANINFO_IBY
-#define WSFWLANINFO_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanInfo
-
-#include <bldvariant.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfwlaninfo.dll		SHARED_LIB_DIR\wsfwlaninfo.dll
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFWLANINFO_IBY
--- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfo.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,248 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of TWsfWlanInfo
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <utf.h>
-#include <s32strm.h>
-
-//  CLASS HEADER
-#include "wsfwlaninfo.h"
-
-
-using namespace CMManager;
-
-
-// Percentage max value
-static const TInt KMaxPercentage = 100;
-
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::TWsfWlanInfo
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanInfo::TWsfWlanInfo():
-    iSsid( KNullDesC8 ),
-	iStrengthLevel( EWlanSignalUnavailable ),
-    iSecurityMode( EWlanSecModeOpen ),
-    iVisibility( EFalse ),
-    iNetMode( EAdhoc ),
-    iIapId( 0 ),
-    iCoverage( 0 ),
-    iTransferRate( 0 ),
-    iConnectionState( ENotConnected ),
-    iFilterFlags( 0 ),
-    iBrandId( 0 ),
-    iNetworkName( KNullDesC8 ),
-    iPriority ( 0 )
-    {
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::TWsfWlanInfo
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanInfo::TWsfWlanInfo( TDesC8& aSsid,
-                        TUint16 aStrengthLevel,
-                        TWlanSecMode aSecurityMode,
-                        TInt aVisibility,
-                        TWlanNetMode aNetMode,
-                        TUint32 aIapId,
-                        TUint8 aCoverage,
-                        TUint32 aTransferRate ):
-    iSsid( aSsid ),
-    iStrengthLevel( aStrengthLevel ),
-    iSecurityMode( aSecurityMode ),
-    iVisibility( aVisibility ),
-    iNetMode( aNetMode ),
-    iIapId( aIapId ),
-    iCoverage( aCoverage ),
-    iTransferRate( aTransferRate ),
-    iConnectionState( ENotConnected ),
-    iFilterFlags( 0 ),
-    iBrandId( 0 ),
-    iPriority( 0 )
-    {
-    }
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUnicodeLC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C HBufC* TWsfWlanInfo::GetSsidAsUnicodeLC()
-    {
-    return GetSsidAsUnicodeLC( iSsid );
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUnicodeLC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C HBufC* TWsfWlanInfo::GetSsidAsUnicodeLC( const TWlanSsid& aSsid )
-    {
-    HBufC* ssid = HBufC::NewLC( aSsid.Length() );
-    TPtr ptr = ssid->Des();
-    TInt err = CnvUtfConverter::ConvertToUnicodeFromUtf8( ptr, aSsid );
-    if ( err != KErrNone )
-        {
-        // If ssid wasn't utf-8 encoded, assume it unicode already
-        // it's not specified how WLAN SSIDs should be encoded.
-        ptr.Copy( aSsid );
-        }
-    return ssid;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUtf8LC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C HBufC8* TWsfWlanInfo::GetSsidAsUtf8LC()
-    {
-    HBufC8* ssid = iSsid.AllocLC();
-    return ssid;
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::InternalizeL
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void TWsfWlanInfo::InternalizeL( RReadStream& aStream )
-	{
-	aStream >> iSsid;
-	iStrengthLevel = aStream.ReadInt16L();
-	iSecurityMode = TWlanSecMode( aStream.ReadInt32L() );
-	iVisibility = aStream.ReadInt8L();
-	iNetMode = TWlanNetMode( aStream.ReadInt32L() );
-	iIapId = aStream.ReadInt32L();
-	iCoverage = aStream.ReadInt8L();
-	iTransferRate = aStream.ReadInt32L();
-	iConnectionState = TWsfWlanConnectionState( aStream.ReadInt8L() );
-	iFilterFlags = aStream.ReadInt8L();
-	iBrandId = aStream.ReadInt8L();
-	iPriority = aStream.ReadInt8L();
-	aStream >> iNetworkName;
-	aStream >> iRawSsid;
-	}
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::ExternalizeL
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void TWsfWlanInfo::ExternalizeL(RWriteStream& aStream) const
-	{
-	aStream << iSsid;
-	aStream.WriteInt16L( iStrengthLevel );
-	aStream.WriteInt32L( iSecurityMode );
-	aStream.WriteInt8L( iVisibility );
-	aStream.WriteInt32L( iNetMode );
-	aStream.WriteInt32L( iIapId );
-	aStream.WriteInt8L( iCoverage );
-	aStream.WriteInt32L( iTransferRate );
-	aStream.WriteInt8L( iConnectionState );
-	aStream.WriteInt8L( iFilterFlags );
-	aStream.WriteInt8L( iBrandId );
-	aStream.WriteInt8L( iPriority );
-	aStream << iNetworkName;
-	aStream << iRawSsid;
-	}
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::SignalStrength
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanSignalStrengthLevel TWsfWlanInfo::SignalStrength()
-	{
-	// check the absolute signal level and return symbolic representation
-	// smaller value means stronger signal
-	TWsfWlanSignalStrengthLevel level( EAverage );
-	
-    if ( iStrengthLevel < EWlanSignalStrengthGood )
-        {
-        level = EExcelent;
-        }
-    else if ( iStrengthLevel > EWlanSignalStrengthLow )
-        {
-        if ( iStrengthLevel == EWlanSignalUnavailable )
-            {
-            level = ENoSignal;
-            }
-        else
-            {
-            level = EPoor;
-            }
-        }
-
-    return level;
-	}
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::SignalStrengthPercentage
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt TWsfWlanInfo::SignalStrengthPercentage()
-	{
-	// smaller value means stronger signal
-	TInt signalStrength( 0 );
-	
-    if ( iStrengthLevel <= EWlanSignalStrengthMax )
-        {
-        signalStrength = KMaxPercentage;
-        }
-    else if ( iStrengthLevel < EWlanSignalStrengthMin )
-        {
-        TInt diff = EWlanSignalStrengthMin - iStrengthLevel;
-        signalStrength = diff * KMaxPercentage / 
-                           ( EWlanSignalStrengthMin - EWlanSignalStrengthMax );
-        }
-        
-    return signalStrength;
-	}
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUnicodeLC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C HBufC* TWsfWlanInfo::GetIapNameAsUnicodeLC()
-    {
-    // This is essentially the same as ssid conversion
-    return GetSsidAsUnicodeLC( iNetworkName );
-    }
-
-
-// ---------------------------------------------------------------------------
-// TWsfWlanInfo::GetSsidAsUtf8LC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C HBufC8* TWsfWlanInfo::GetIapNameAsUtf8LC()
-    {
-    HBufC8* networkName = iNetworkName.AllocLC();
-    return networkName;
-    }
-
-
-// End of file
-
--- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfoarray.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,493 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanInfoArray
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <s32mem.h>
-
-
-//  CLASS HEADER
-#include "wsfwlaninfoarray.h"
-
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfoarraysortkey.h"
-#include "wsfwlaninfoarrayfiltervisitor.h"
-
-
-using namespace CMManager;
-
-//  LOCAL DEFINITIONS
-static const TUint KInfoArrayGranuality = 10;    
-
-    
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::NewL
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CWsfWlanInfoArray* CWsfWlanInfoArray::NewL()
-	{
-	CWsfWlanInfoArray* thisPtr = NewLC();
-	CleanupStack::Pop( thisPtr );
-	return thisPtr; 
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::NewLC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C CWsfWlanInfoArray* CWsfWlanInfoArray::NewLC()
-	{
-	CWsfWlanInfoArray* thisPtr = new ( ELeave ) CWsfWlanInfoArray();
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::~CWsfWlanInfoArray
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoArray::~CWsfWlanInfoArray()
-	{
-	if ( iInfoArray )
-		{
-		iInfoArray->ResetAndDestroy();
-    	delete iInfoArray;		
-		}
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::CWsfWlanInfoArray
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoArray::CWsfWlanInfoArray() :
-    iUIPrioritySort( EFalse )
-	{
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::ConstructL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanInfoArray::ConstructL()
-	{
-	iInfoArray = new (ELeave) CArrayPtrFlat<TWsfWlanInfo>( 
-	                                                    KInfoArrayGranuality );
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Reset
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CWsfWlanInfoArray::Reset()
-	{
-	iInfoArray->ResetAndDestroy();
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Count
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TUint CWsfWlanInfoArray::Count()
-	{
-	return iInfoArray->Count();	
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::AppendL
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CWsfWlanInfoArray::AppendL( TWsfWlanInfo* aWlanInfo )
-	{
-    iInfoArray->AppendL( aWlanInfo );
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::At
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::At( TInt aIndex ) const
-    {
-    TWsfWlanInfo* temp( NULL );
-    TInt count = iInfoArray->Count();
-    
-    if ( count && ( aIndex < count ) )
-        {
-        temp = ( *iInfoArray )[aIndex];
-        } 
-    return temp;
-    }    
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Delete
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CWsfWlanInfoArray::Delete( TWsfWlanInfo* aWlanInfo )
-	{
-	TInt count = iInfoArray->Count();
-    
-    for( TInt i = 0; i < count; ++i )
-        {
-        if ( ( *iInfoArray )[i] == aWlanInfo )
-            {
-            delete ( *iInfoArray )[i];
-            iInfoArray->Delete( i );
-            iInfoArray->Compress();
-            break;
-            }
-        }
-
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::GetArrayIndex
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt CWsfWlanInfoArray::GetArrayIndex( TWsfWlanInfo* aWlanInfo ) const
-	{
-	TBool found( EFalse );
-    TInt index( 0 );
-    TWsfWlanInfo* temp;
-    TInt count = iInfoArray->Count();
-
-    while( ( index <  count ) && !found  )
-        {
-        temp = ( *iInfoArray )[index]; 
-        if ( !temp->iSsid.Compare( aWlanInfo->iSsid ) )
-            {
-            found = ETrue;
-            }
-        else
-            {
-            ++index;            
-            }        
-        }
-    return ( found ? index : KErrNotFound );        
-	}	
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::operator[]
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::operator[]( TUint aIndex ) const
-    {
-    return ( *iInfoArray )[aIndex];
-    }	
-    
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Match
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::Match( const TDesC8& aSsid, 
-                                                 const TInt aPriorThis )
-	{
-	TInt count = iInfoArray->Count();
-    TWsfWlanInfo* ret( NULL );
-
-    count = count < aPriorThis ? count: aPriorThis;
-
-    for( TInt i = 0; i < count; i++ )
-        {
-        TWsfWlanInfo* temp = ( *iInfoArray )[i]; 
-        if ( !temp->iSsid.Compare( aSsid ) )
-            {
-			ret = temp;
-			break;
-            }
-        }
-	return ret;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::Match
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::Match( const TUint32 aIapID, 
-                                                 const TInt aPriorThis )
-    {
-    TInt count = iInfoArray->Count();
-    TWsfWlanInfo* ret( NULL );
-
-    count = count < aPriorThis ? count: aPriorThis;
-
-    for( TInt i = 0; i < count; i++ )
-        {
-        TWsfWlanInfo* temp = ( *iInfoArray )[i]; 
-        if ( temp->iIapId == aIapID )
-            {
-            ret = temp;
-            break;
-            }
-        }
-    return ret;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::MatchWithIapIDL
-// ---------------------------------------------------------------------------
-//      
-EXPORT_C void CWsfWlanInfoArray::MatchWithIapIDL( const TUint aIapID, 
-                                                   const TInt aPriorThis, 
-                                                   RPointerArray<TWsfWlanInfo>& aMatchArray )
-    {
-    aMatchArray.Reset();
-
-    TInt count = iInfoArray->Count();
-    TWsfWlanInfo* temp(NULL);
-
-    count = count < aPriorThis ? count: aPriorThis;
-
-    for( TInt i = 0; i < count ; i++ )
-        {
-        temp = ( *iInfoArray )[i]; 
-        if( temp->iIapId == aIapID )
-            {
-            aMatchArray.AppendL(temp);
-            }
-        }
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::MatchL
-// ---------------------------------------------------------------------------
-//    	
-EXPORT_C void CWsfWlanInfoArray::MatchL( const TDesC8& aSsid, 
-                                         CMManager::TWlanSecMode aSecMode, 
-                                         CMManager::TWlanNetMode aNetMode, 
-                                         const TInt aPriorThis, 
-                                         RPointerArray<TWsfWlanInfo>& aMatchArray )
-    {
-    aMatchArray.Reset();
-
-    TInt count = iInfoArray->Count();
-    TWsfWlanInfo* temp(NULL);
-
-    count = count < aPriorThis ? count: aPriorThis;
-
-    for( TInt i = 0; i < count ; i++ )
-        {
-        temp = ( *iInfoArray )[i]; 
-        if( !temp->iSsid.Compare( aSsid ) && temp->iSecurityMode == aSecMode && temp->iNetMode == aNetMode)
-            {
-            aMatchArray.AppendL(temp);
-            }
-        }
-    }
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SerializeContentLC
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C HBufC8* CWsfWlanInfoArray::SerializeContentLC()
-	{
-	HBufC8* buffer( NULL );
-	
-	if ( !iInfoArray->Count() )
-		{
-		buffer = KNullDesC8().AllocLC();
-		}
-	else
-	    {
-    	TInt32 requiredBufferSize = sizeof( TUint32 ) + 
-    	                          iInfoArray->Count() * sizeof( TWsfWlanInfo );
-    	buffer = HBufC8::NewLC( requiredBufferSize );
-    	
-    	// create a stream..
-    	TPtr8 bufferPtr = buffer->Des();
-    	RDesWriteStream writeStream( bufferPtr );
-    	writeStream.Open( bufferPtr);
-    	CleanupClosePushL( writeStream );
-    	writeStream.WriteInt16L( iInfoArray->Count() );
-    	TWsfWlanInfo* infoPtr = NULL;
-     	for ( TInt i( 0 ); i < iInfoArray->Count(); i++)
-     		{
-     		infoPtr = ( *iInfoArray )[i]; 
-     		writeStream << *infoPtr;	
-     		}
-     	writeStream.CommitL();
-     	// try to realloc - save space realloc to required level..
-     	TStreamPos position = writeStream.Sink()->TellL( MStreamBuf::EWrite );
-     
-        CleanupStack::PopAndDestroy( &writeStream ); // closes the stream
-     	CleanupStack::Pop( buffer );
-     	HBufC8* newBuffer = buffer->ReAlloc( position.Offset() );
-    	if ( newBuffer ) // the realloc succeeded - swap the buffer 
-    		{
-    		buffer = newBuffer;
-    		}
-    	CleanupStack::PushL( buffer);		
-	    }
-
- 	return buffer;
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::AppendFromStreamBufferL
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt CWsfWlanInfoArray::AppendFromStreamBufferL( 
-                                                  const TDesC8& aStreamBuffer )
-	{
-	RDesReadStream reader( aStreamBuffer );
-	reader.Open( aStreamBuffer ); // codescanner false alarm
-	// ignoring Open() return value.. Open returns void
-	CleanupClosePushL( reader );
-	
-	TInt infoCount = reader.ReadInt16L();
-	
-	TWsfWlanInfo *infoPtr = NULL;
-	for ( TInt i(0); i < infoCount; i++ )
-		{
-		infoPtr = new (ELeave)TWsfWlanInfo;
-		CleanupStack::PushL( infoPtr );
-		reader >> *infoPtr;
-		AppendL( infoPtr );
-		CleanupStack::Pop( infoPtr );
-		}
-
-	CleanupStack::PopAndDestroy( &reader ); 
-	return Count();
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::FindHiddenEntry
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TWsfWlanInfo* CWsfWlanInfoArray::FindHiddenEntry( 
-                                                        const TInt aPriorThis )
-	{
-	TInt count = iInfoArray->Count();
-    TWsfWlanInfo* ret( NULL );
-    count = count < aPriorThis ? count : aPriorThis; 
-    
-    for ( TInt i = 0; i < count; ++i )
-        {
-        TWsfWlanInfo* temp = ( *iInfoArray )[i]; 
-        if ( !temp->iVisibility )
-            {
-			ret = temp;
-			break;
-            }
-        }
-	return ret;
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::DeleteFromTail
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TInt CWsfWlanInfoArray::DeleteFromTail( const TInt aCount )
-	{
-	TInt arrayItemCount = iInfoArray->Count();
-
-	if ( aCount >= arrayItemCount )
-		{
-		iInfoArray->ResetAndDestroy();
-		}
-    else
-        {
-        --arrayItemCount;
-    	for ( TInt i( 1 ) ; i <= aCount; ++i, --arrayItemCount )
-    		{
-          	delete ( *iInfoArray )[arrayItemCount];
-            iInfoArray->Delete( arrayItemCount );
-    		}
-        iInfoArray->Compress();
-        }
-
-    return iInfoArray->Count();
-  	}
-  	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SortArrayL
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CWsfWlanInfoArray::SortArrayL()
-	{
-	if ( iInfoArray->Count() > 1 ) 
-		{
-        CWsfWlanInfoArraySortKey* sortKey = CWsfWlanInfoArraySortKey::NewLC( 
-                                                                       *this );
-
-        // Sort returns KErrGeneral if stack overflow, otherwise, returns
-        // KErrNone. So we will Leave only if stack overflow,
-        // but than that really does not matter...
-        User::LeaveIfError( iInfoArray->Sort( *sortKey ) );	
-
-        CleanupStack::PopAndDestroy( sortKey );
-		}			
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SortArrayL
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CWsfWlanInfoArray::SortArrayL( 
-                                     MWsfWlanInfoArrayFilterVisitor& aSortKey )
-	{
-	// the visitor sortkey may do some other stuff too 
-	// so don't make any asumptions...
-	// just go for the sorting...
-	
-	aSortKey.FilterPreSortL( this );
-	
-	User::LeaveIfError( iInfoArray->Sort( aSortKey.SortingKey() ) );
-	
-	aSortKey.FilterPostSortL( this );
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::SetUIPrioritySort
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C void CWsfWlanInfoArray::SetUIPrioritySort( const TBool aUIPrioritySort )
-    {
-    iUIPrioritySort = aUIPrioritySort;
-    }
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArray::GetUIPrioritySort
-// ---------------------------------------------------------------------------
-//    
-EXPORT_C TBool CWsfWlanInfoArray::GetUIPrioritySort( )
-    {
-    return iUIPrioritySort;
-    }
-
--- a/wlanutilities/wlansniffer/wlaninfo/src/wsfwlaninfoarraysortkey.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,173 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanInfoArraySortKey
-*
-*/
-
-
-// CLASS HEADER
-#include "wsfwlaninfoarraysortkey.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfoarray.h"
-
-
-// CONSTANTS
-static const TInt KLeftFirst = -1;
-static const TInt KRightFirst = 1;
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoArraySortKey* CWsfWlanInfoArraySortKey::NewLC( 
-                                                    CWsfWlanInfoArray& aArray )
-	{
-	CWsfWlanInfoArraySortKey* thisPtr = new (ELeave) CWsfWlanInfoArraySortKey( 
-	                                                                  aArray );
-	CleanupStack::PushL( thisPtr );
-	// no ConstructL at this stage required
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoArraySortKey::CWsfWlanInfoArraySortKey( CWsfWlanInfoArray& aArray )
-	: TKeyArrayFix( 0, ECmpNormal )
-	{
-	iArray = &aArray;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoArraySortKey::~CWsfWlanInfoArraySortKey()
-	{
-	iArray = NULL; // not owning
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoArraySortKey::NewL
-// ---------------------------------------------------------------------------
-//    
-TInt CWsfWlanInfoArraySortKey::Compare( TInt aLeft, TInt aRight ) const
-	{
-	TWsfWlanInfo* left = iArray->At( aLeft );
-	TWsfWlanInfo* right = iArray->At( aRight );
-	TBool uiPrioritySort = iArray->GetUIPrioritySort();
-
-    TInt ret( 0 );
-    
-    // connected goes first 
- 	if ( left->Connected() )
- 	    {
- 	    ret = KLeftFirst;
- 	    }
- 	else if ( right->Connected() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	
- 	// then network with connecting status
- 	else if ( left->ConnectionStatus() == EConnecting )
- 	    {
- 	    ret = KLeftFirst;
- 	    }
- 	else if ( right->ConnectionStatus() == EConnecting )
-        {
-        ret = KRightFirst;
-        }
- 	
- 	// then customer favourite networks
- 	else if ( left->BrandId() )
- 	    {
- 	    if ( right->BrandId() )
- 	        {
- 	        // smaller brand id first
- 	        ret = left->BrandId() - right->BrandId();
- 	        }
- 	    else
- 	        {
- 	        ret = KLeftFirst;
- 	        }
- 	    }
- 	else if ( right->BrandId() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	
- 	// then ui priority networks 
-    else if ( uiPrioritySort && left->Priority() && !right->Priority() )
-        {
-        ret = KLeftFirst;
-        }
-    else if ( uiPrioritySort && !left->Priority() && right->Priority() )
-        {
-        ret = KRightFirst;
-        }
-    else if ( uiPrioritySort && left->Priority() && right->Priority() )
-        {
-        if ( left->Priority() < right->Priority() )
-            {
-            ret = KLeftFirst;
-            }
-        else
-            {
-            ret = KRightFirst;
-            }
-        }
- 	
- 	// then known networks
- 	else if ( left->Known() && !right->Known() )
- 	    {
- 	    ret = KLeftFirst;
- 	    }
- 	else if ( !left->Known() && right->Known() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	    
- 	// finally SSID alphabetic order decides
- 	else
- 	    {
- 	    if ( ( left->iNetworkName.Length() ) && 
- 	         ( right->iNetworkName.Length() ) )
- 	        {
- 	        ret = left->iNetworkName.CompareC( right->iNetworkName );
- 	        }
- 	    else if ( left->iNetworkName.Length() )
- 	        {
- 	        ret = left->iNetworkName.CompareC( right->iSsid );
- 	        }
- 	    else if ( right->iNetworkName.Length() )
- 	        {
- 	        ret = left->iSsid.CompareC( right->iNetworkName );
- 	        }
-        else
-            {
-            ret = left->iSsid.CompareC( right->iSsid );
-            }
- 	    }
- 	    
- 	return ret;
-	}
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/bwins/wsfwlaninfosortingu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-EXPORTS
-	??1CWsfWlanInfoArrayVisitor@@UAE@XZ @ 1 NONAME ; CWsfWlanInfoArrayVisitor::~CWsfWlanInfoArrayVisitor(void)
-	?AppendBrandingIconsL@CWsfWlanInfoArrayVisitor@@QAEXAAVCAknIconArray@@@Z @ 2 NONAME ; void CWsfWlanInfoArrayVisitor::AppendBrandingIconsL(class CAknIconArray &)
-	?BlackListItemCount@CWsfWlanInfoArrayVisitor@@QBEHXZ @ 3 NONAME ; int CWsfWlanInfoArrayVisitor::BlackListItemCount(void) const
-	?EditBlackListL@CWsfWlanInfoArrayVisitor@@QAEXAAVCWsfWlanInfoArray@@@Z @ 4 NONAME ; void CWsfWlanInfoArrayVisitor::EditBlackListL(class CWsfWlanInfoArray &)
-	?FilterPostSortL@CWsfWlanInfoArrayVisitor@@UAEXPAVCWsfWlanInfoArray@@@Z @ 5 NONAME ; void CWsfWlanInfoArrayVisitor::FilterPostSortL(class CWsfWlanInfoArray *)
-	?FilterPreSortL@CWsfWlanInfoArrayVisitor@@UAEXPAVCWsfWlanInfoArray@@@Z @ 6 NONAME ; void CWsfWlanInfoArrayVisitor::FilterPreSortL(class CWsfWlanInfoArray *)
-	?LoadFilterDefinitionsL@CWsfWlanInfoArrayVisitor@@QAEXXZ @ 7 NONAME ; void CWsfWlanInfoArrayVisitor::LoadFilterDefinitionsL(void)
-	?NewL@CWsfWlanInfoArrayVisitor@@SAPAV1@H@Z @ 8 NONAME ; class CWsfWlanInfoArrayVisitor * CWsfWlanInfoArrayVisitor::NewL(int)
-	?NewLC@CWsfWlanInfoArrayVisitor@@SAPAV1@H@Z @ 9 NONAME ; class CWsfWlanInfoArrayVisitor * CWsfWlanInfoArrayVisitor::NewLC(int)
-	?SortingKey@CWsfWlanInfoArrayVisitor@@UAEAAVTKeyArrayFix@@XZ @ 10 NONAME ; class TKeyArrayFix & CWsfWlanInfoArrayVisitor::SortingKey(void)
-
Binary file wlanutilities/wlansniffer/wlaninfosorting/data/2000cf30.spd has changed
--- a/wlanutilities/wlansniffer/wlaninfosorting/data/backup_registration.xml	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,4 +0,0 @@
-<?xml version="1.0" standalone="yes"?>
-<backup_registration version="1.0">
-    <dbms_backup policy="2000cf30"/>
-</backup_registration>
--- a/wlanutilities/wlansniffer/wlaninfosorting/data/wsfwlaninfosorting.rss	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,182 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource definitions for project wlaninfosorting
-*
-*/
-
-
-
-NAME WIST
-
-#include <eikon.rh>
-#include <eikon.rsg>
-#include <avkon.rh>
-#include <avkon.rsg>
-#include <avkon.hrh>
-#include <avkon.loc>
-#include <data_caging_paths_strings.hrh>
-
-#include "wsfwlansortingbrand.rh"
-#include <wsfmainapplication.loc>
-#include "wsfwlaninfosorting.hrh"
-#include <wsfwlaninfosorting.mbg>
-
-
-RESOURCE RSS_SIGNATURE { }
-
-    
-RESOURCE TBUF16 { buf=""; }
-	    
-
-// ---------------------------------------------------------------------------
-// r_qtn_title_filter_out_wlans
-// ---------------------------------------------------------------------------
-//
-RESOURCE TBUF r_qtn_title_filter_out_wlans
-    { 
-    buf = qtn_note_title_filter_out_wlans; 
-    }
-
-
-// ---------------------------------------------------------------------------
-// r_qtn_blacklist_filter_selection_dialog_menubar
-// ---------------------------------------------------------------------------
-//
-RESOURCE MENU_BAR r_qtn_blacklist_filter_selection_dialog_menubar
-    {
-    titles =
-        {
-        MENU_TITLE 
-            { 
-            menu_pane = R_AVKON_MENUPANE_MARKABLE_LIST; 
-            }
-        };
-	}
-
-    
-// ---------------------------------------------------------------------------
-// r_qtn_blacklist_filter_selection_dialog
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_blacklist_filter_selection_dialog
-	{
-	flags = EAknDialogMarkableList;
-	buttons = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
-	items =
-		{
-        DLG_LINE
-            {
-            type = EAknCtSingleListBox;
-            id = ESelectionListControl;
-            control = LISTBOX
-                {
-                flags = EAknListBoxMarkableList | EAknListBoxLoopScrolling;
-                };
-            }
-		};
-	}
-	
- 
-// ---------------------------------------------------------------------------
-// r_qtn_preferred_filter_selection_dialog2
-// ---------------------------------------------------------------------------
-//
-RESOURCE AVKON_MULTISELECTION_LIST_QUERY r_qtn_preferred_filter_selection_dialog2
-    {
-	softkeys = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
-	items =
-    	{
-    	AVKON_MULTISELECTION_LIST_QUERY_DLG_LINE 
-    	    {
-    	    control = AVKON_LIST_QUERY_CONTROL
-        		{
-        		listtype = EAknCtSingleGraphicPopupMenuListBox;
-        		listbox = AVKON_MULTISELECTION_LIST_QUERY_LIST
-        		    {
-        		    };
-        		heading = qtn_note_title_filter_out_wlans;
-        		};
-    	    }
-    	};
-    }
-
-    
-// ---------------------------------------------------------------------------
-// r_qtn_user_preferred_filter_selection_dialog
-// ---------------------------------------------------------------------------
-//
-RESOURCE DIALOG r_qtn_user_preferred_filter_selection_dialog
-	{
-    flags = EAknDialogMarkableList;
-	buttons = R_AVKON_SOFTKEYS_OK_CANCEL__MARK;
-    items =
-        {
-        DLG_LINE 
-            {
-            type = EECustom;
-            id = ESnifferLabel;
-            control = LABEL  
-                {
-                };
-            },
-          
-        DLG_LINE
-            {
-            type = EAknCtSingleListBox;
-            id = ESelectionListControl;
-            control = LISTBOX
-                {
-                flags = EAknListBoxMarkableList | EAknListBoxLoopScrolling;
-                height = 18;
-                };
-            }
-        
-        };
-	}
-
-	
-// ---------------------------------------------------------------------------
-// r_qtn_ssid_branding
-//
-// To add branded networks, modify the brandedItems structure as follows:
-//
-//  brandedItems = 
-//      {
-//      WLAN_BRAND_ITEM
-//        	{
-//        	brandedSsids = { "HugeOperator_protected", "HugeOperator_public" };
-//        	bmpIdImage = EMbmWsfwlaninfosortingHugeoperator;
-//          bmpIdMask = EMbmWsfwlaninfosortingHugeoperator_mask;
-//        	}
-//      }
-//
-// Bitmap enums are defined in wsfwlaninfosorting.mbg. See also remarks
-// in wsfwlaninfosorting.mk. In case you don't want to specify custom icons,
-// set the bmpIdImage and bmpIdMask as follows:
-//
-//          bmpIdImage = EMbmWsfwlaninfosortingQgn_prop_wlan_bearer;
-//          bmpIdMask = EMbmWsfwlaninfosortingQgn_prop_wlan_bearer_mask;
-// 
-// DO NOT REMOVE the r_qtn_ssid_branding structure even if there are 
-// no networks to define! 
-// ---------------------------------------------------------------------------
-//
-RESOURCE WLAN_SORTING_BRAND r_qtn_ssid_branding
-	{
-	bmpfile = APP_BITMAP_DIR "\\wsfwlaninfosorting.mif";
-	brandedItems =
-		{
-		};
-	}
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/eabi/wsfwlaninfosortingu.def	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,19 +0,0 @@
-EXPORTS
-	_ZN24CWsfWlanInfoArrayVisitor10SortingKeyEv @ 1 NONAME
-	_ZN24CWsfWlanInfoArrayVisitor14EditBlackListLER17CWsfWlanInfoArray @ 2 NONAME
-	_ZN24CWsfWlanInfoArrayVisitor14FilterPreSortLEP17CWsfWlanInfoArray @ 3 NONAME
-	_ZN24CWsfWlanInfoArrayVisitor15FilterPostSortLEP17CWsfWlanInfoArray @ 4 NONAME
-	_ZN24CWsfWlanInfoArrayVisitor20AppendBrandingIconsLER13CAknIconArray @ 5 NONAME
-	_ZN24CWsfWlanInfoArrayVisitor22LoadFilterDefinitionsLEv @ 6 NONAME
-	_ZN24CWsfWlanInfoArrayVisitor4NewLEi @ 7 NONAME
-	_ZN24CWsfWlanInfoArrayVisitor5NewLCEi @ 8 NONAME
-	_ZN24CWsfWlanInfoArrayVisitorD0Ev @ 9 NONAME
-	_ZN24CWsfWlanInfoArrayVisitorD1Ev @ 10 NONAME
-	_ZN24CWsfWlanInfoArrayVisitorD2Ev @ 11 NONAME
-	_ZNK24CWsfWlanInfoArrayVisitor18BlackListItemCountEv @ 12 NONAME
-	_ZThn32_N24CWsfWlanInfoArrayVisitor10SortingKeyEv @ 13 NONAME ; #<thunk>#
-	_ZThn32_N24CWsfWlanInfoArrayVisitor14FilterPreSortLEP17CWsfWlanInfoArray @ 14 NONAME ; #<thunk>#
-	_ZThn32_N24CWsfWlanInfoArrayVisitor15FilterPostSortLEP17CWsfWlanInfoArray @ 15 NONAME ; #<thunk>#
-	_ZThn32_N24CWsfWlanInfoArrayVisitorD0Ev @ 16 NONAME ; #<thunk>#
-	_ZThn32_N24CWsfWlanInfoArrayVisitorD1Ev @ 17 NONAME ; #<thunk>#
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/group/bld.inf	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,95 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Build information file for project WlanInfoSorting
-*
-*/
-
-
-#include <platform_paths.hrh>
-
-PRJ_PLATFORMS
-DEFAULT
-
-
-PRJ_EXPORTS
-
-../inc/wsfwlaninfoarrayvisitor.h    	|../../../inc/wsfwlaninfoarrayvisitor.h 
-
-../rom/wsfwlaninfosorting.iby		    CORE_MW_LAYER_IBY_EXPORT_PATH(wsfwlaninfosorting.iby)
-../rom/wsfwlaninfosortingresources.iby	LANGUAGE_MW_LAYER_IBY_EXPORT_PATH(wsfwlaninfosortingresources.iby)
-
-// blacklist database
-../data/2000cf30.spd				    /epoc32/release/winscw/udeb/z/private/100012a5/policy/2000cf30.spd
-../data/2000cf30.spd				    /epoc32/release/winscw/urel/z/private/100012a5/policy/2000cf30.spd
-../data/2000cf30.spd	 		        /epoc32/data/z/private/100012a5/policy/2000cf30.spd
-
-// backup registration
-../data/backup_registration.xml         /epoc32/release/winscw/udeb/z/private/10281caa/backup_registration.xml
-../data/backup_registration.xml         /epoc32/release/winscw/urel/z/private/10281caa/backup_registration.xml
-../data/backup_registration.xml         /epoc32/data/z/private/10281caa/backup_registration.xml
-
-
-PRJ_MMPFILES
-// gnumakefile 		wlaninfosortingicons.mk
-wlaninfosorting.mmp
-
-
-PRJ_EXTENSIONS
-/*
-* Add your branding icons here like:
-*
-* START EXTENSION s60/mifconv
-* OPTION TARGETFILE wsfwlaninfosorting.mif
-* OPTION HEADERFILE wsfwlaninfosorting.mbg
-* OPTION SOURCES -c8,1 hugeoperatoricon
-* OPTION SOURCES -c8,1 hugeoperatoricon2 
-* END
-*
-* and use the enums that result in wsfwlaninfosorting.mbg when specifying
-* the custfav networks in the resource.
-*
-* If there are no customer favourite networks defined, you must still invoke 
-* mifconv the following way:
-*
-* START EXTENSION s60/mifconv
-* OPTION TARGETFILE wsfwlaninfosorting.mif
-* OPTION HEADERFILE wsfwlaninfosorting.mbg
-* OPTION SOURCES -c8,1 qgn_prop_wlan_bearer 
-* END
-*
-* In case any of the defined networks doesn't need a specific icon, you must
-* use the following invocation:
-*
-* START EXTENSION s60/mifconv
-* OPTION TARGETFILE wsfwlaninfosorting.mif
-* OPTION HEADERFILE wsfwlaninfosorting.mbg
-* OPTION SOURCES -c8,1 qgn_prop_wlan_bearer 
-* OPTION SOURCES -c8,1 hugeoperatoricon
-* OPTION SOURCES -c8,1 hugeoperatoricon2 
-* END
-*
-* and use the enums that result in wsfwlaninfosorting.mbg when specifying
-* the custfav networks in the resource. For the networks without icon, use
-* the enums corresponding to qgn_prop_wlan_bearer.
-*/
-
-START EXTENSION s60/mifconv
-OPTION TARGETFILE wsfwlaninfosorting.mif
-OPTION HEADERFILE wsfwlaninfosorting.mbg
-OPTION SOURCES -c8,1 qgn_prop_wlan_bearer 
-END
-
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/group/wlaninfosorting.mmp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Project definition file for project WlanInfoSorting
-*
-*/
-
-
-
-#include <platform_paths.hrh>
-#include <data_caging_paths.hrh>
-
-
-TARGET                  wsfwlaninfosorting.dll
-TARGETTYPE              dll
-UID                     0x1000008d 0x10281D14
-
-CAPABILITY              CAP_GENERAL_DLL
-VENDORID                VID_DEFAULT
-
-
-SOURCEPATH              ../src
-SOURCE                  wsfwlaninfosortingdefault.cpp
-SOURCE                  wsfwlaninfosortingbrand.cpp
-SOURCE                  wsfwlaninfosortingblacklist.cpp
-SOURCE                  wsfwlaninfoarrayvisitor.cpp
-SOURCE                  wsfwlaninfosortingdbchangenotifier.cpp
-SOURCE                  wsfwlanssidselectiondlg2.cpp
-
-
-// own headers
-USERINCLUDE     ../inc
-
-// inner API
-USERINCLUDE     ../../inc
-
-// private API
-USERINCLUDE     ../../../inc
-
-
-MW_LAYER_SYSTEMINCLUDE
-
-
-SOURCEPATH              ../data
-
-START RESOURCE          wsfwlaninfosorting.rss
-HEADER
-TARGETPATH              RESOURCE_FILES_DIR
-LANGUAGE_IDS
-END
-
-
-LIBRARY                 euser.lib
-LIBRARY                 estor.lib
-LIBRARY                 charconv.lib 
-LIBRARY                 bafl.lib
-LIBRARY                 edbms.lib
-LIBRARY                 avkon.lib
-LIBRARY                 efsrv.lib
-LIBRARY                 cone.lib 
-LIBRARY                 egul.lib 
-LIBRARY                 aknicon.lib
-LIBRARY                 eikdlg.lib
-LIBRARY                 eikcore.lib
-LIBRARY                 eikcoctl.lib
-LIBRARY                 eikctl.lib
-LIBRARY                 commonengine.lib
-LIBRARY                 aknskins.lib
-LIBRARY                 ws32.lib 
-LIBRARY                 wsfwlaninfo.lib
-
-DEBUGLIBRARY                 flogger.lib
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/group/wlaninfosortingicons.mk	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-#
-# Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies).
-# All rights reserved.
-# This component and the accompanying materials are made available
-# under the terms of "Eclipse Public License v1.0"
-# which accompanies this distribution, and is available
-# at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-# Initial Contributors:
-# Nokia Corporation - initial contribution.
-#
-# Contributors:
-#
-# Description:  Scalable icons makefile for project WlanInfoSorting
-#
-
-
-ifeq (WINS,$(findstring WINS, $(PLATFORM)))
-ZDIR=$(EPOCROOT)epoc32/release/$(PLATFORM)/$(CFG)/z
-else
-ZDIR=$(EPOCROOT)epoc32/data/z
-endif
-
-TARGETDIR=$(ZDIR)/resource/apps
-ICONTARGETFILENAME=$(TARGETDIR)/wsfwlaninfosorting.mif
-
-HEADERDIR=$(EPOCROOT)epoc32/include
-HEADERFILENAME=$(HEADERDIR)/wsfwlaninfosorting.mbg 
-	 
-do_nothing :
-	@rem do_nothing
-
-MAKMAKE : do_nothing
-
-BLD : do_nothing
-
-CLEAN : do_nothing
-
-LIB : do_nothing
-
-CLEANLIB : do_nothing
-
-
-# Add your branding icons here like:
-#
-# RESOURCE :
-#	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-# 		/c8,1 /path/to/graphics/hugeoperator.svg \
-#       /c8,1 /path/to/graphics/hugeoperator2.svg
-#
-# and use the enums that result in $(HEADERFILENAME) when specifying
-# the custfav networks in the resource.
-#
-# If there are no customer favourite networks defined, you must still invoke 
-# mifconv the following way:
-#
-# RESOURCE: 
-#   mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-#       /c8,1 qgn_prop_wlan_bearer.svg
-#
-# In case any of the defined networks doesn't need a specific icon, you must
-# use the following invocation:
-#
-# RESOURCE: 
-#   mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-#       /c8,1 qgn_prop_wlan_bearer.svg                \
-#       /c8,1 /path/to/hugeoperator.svg               \
-#       /c8,1 /path/to/yetanothernetworkicon.svg
-#
-# and use the enums that result in $(HEADERFILENAME) when specifying
-# the custfav networks in the resource. For the networks without icon, use
-# the enums corresponding to qgn_prop_wlan_bearer.svg.
-#
-
-RESOURCE : 
-	mifconv $(ICONTARGETFILENAME) /h$(HEADERFILENAME) \
-        /c8,1 qgn_prop_wlan_bearer.svg
-
-
-FREEZE : do_nothing
-
-SAVESPACE : do_nothing
-
-RELEASABLES :
-	@echo $(HEADERFILENAME)&& \
-	@echo $(ICONTARGETFILENAME)
-
-FINAL : do_nothing
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfoarrayvisitor.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,225 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanInfoArrayVisitor
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOARRAYVISITOR_H
-#define C_WSFWLANINFOARRAYVISITOR_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <d32dbms.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfoarrayfiltervisitor.h"
-#include "wsfwlaninfo.h"
-
-
-//  FORWARD DECLARATIONS
-class CWsfWlanInfoSortingDefault;
-class CWsfWlanInfoSortingBrand;
-class CWsfWlanInfoSortingBlackList;
-class CEikonEnv;
-class CAknIconArray;
-class CWsfWlanInfoSortingDbChangeNotifier;
-
-/**
-* This class is the main entry point for wlan list sorting services
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoArrayVisitor ): public CBase, 
-                                        public TKeyArrayFix, 
-                                        public MWsfWlanInfoArrayFilterVisitor 
-    {
-    public:     // construction
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aReadOnly If EFalse, database-dependent filters 
-        *                  won't get updated
-        * @return Class instance
-        */
-        IMPORT_C static CWsfWlanInfoArrayVisitor* NewLC( 
-                                                       const TBool aReadOnly );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aReadOnly If EFalse, database-dependent filters 
-        *                  won't get updated
-        * @return Class instance
-        */
-        IMPORT_C static CWsfWlanInfoArrayVisitor* NewL( 
-                                                      const TBool aReadOnly );
-        
-        IMPORT_C ~CWsfWlanInfoArrayVisitor();
-        
-    private:
-        /**
-        * Constructor.
-        * @since S60 5.0
-        * @param aReadOnly If EFalse, database-dependent filters
-        *                  won't get updated
-        */
-        CWsfWlanInfoArrayVisitor( const TBool aReadOnly );
-        
-        void ConstructL();    
-
-        
-    public:     // new methods
-        /**
-        * Carries out operations before starting the actual sorting
-        * @since S60 5.0
-        * @param aArrayToBeFiltered The array we are working on.
-        */
-        IMPORT_C void FilterPreSortL( CWsfWlanInfoArray* aArrayToBeFiltered );
-        
-        /**
-        * Carries out operations after having sorted the array
-        * @since S60 5.0
-        * @param aArrayToBeFiltered The array we are working on.
-        */
-        IMPORT_C void FilterPostSortL( CWsfWlanInfoArray* aArrayToBeFiltered );
-        
-        /**        
-        * Return the sorting key handle
-        * @since S60 5.0
-        * @return Reference to the sorting key
-        */        
-        IMPORT_C TKeyArrayFix& SortingKey();        
-
-
-    public:     // from TKeyArrayFix
-        /**
-        * Compares elements of the given indices according to the 
-        * sorting criteria.
-        * @since S60 5.0
-        * @param aLeft Index of left element
-        * @param aRight Index of right element
-        * @return Negative if the left element is less than the right, 
-        *         positive if the right element is less than the left, 
-        *         zero if the two elements are equal.         
-        */
-        TInt Compare( TInt aLeft, TInt aRight ) const;
-
-
-    public:     // new methods
-    
-        /**
-        * Load definition of each filter
-        * @since S60 5.0
-        */        
-        IMPORT_C void LoadFilterDefinitionsL();
-    
-        /**
-        * Add the icons of the given array to the branding icon list
-        * @since S60 5.0
-        * @param aIconArray The icons to be appended
-        */        
-        IMPORT_C void AppendBrandingIconsL( CAknIconArray& aIconArray );
-
-        /**
-        * Launches the UI to modify the SSID blacklist (filter out networks)
-        * @since S60 5.0
-        * @param aInfoItemArray The current wlaninfo array
-        */        
-        IMPORT_C void EditBlackListL( CWsfWlanInfoArray& aInfoItemArray );
-        
-        /**
-        * Returns the number of blacklisted SSIDs
-        * @since S60 5.0
-        * @return The count of filtered SSIDs 
-        */        
-        IMPORT_C TInt BlackListItemCount() const;
-        
-
-    private:    // new methods
-    
-        /**
-        * Opens the shared filter database
-        * @since S60 5.0
-        */        
-        void OpenDataBaseL();
-
-
-    private: //data    
-        
-        /**
-        * The wlaninfo array we are currently working on. Not owned.
-        */
-        CWsfWlanInfoArray* iInfoArray;
-    
-        /**
-        * Default sorting filter. Owned.
-        */
-        CWsfWlanInfoSortingDefault* iDefaultSorting;
-
-        /**
-        * Branded item sorting filter. Owned.
-        */
-        CWsfWlanInfoSortingBrand* iBrandSorting;
-
-        /**
-        * Blacklisted item sorting filter. Owned.
-        */
-        CWsfWlanInfoSortingBlackList* iBlackListSorting;
-
-        /**
-        * Notifier of database changes. Owned.
-        */
-        CWsfWlanInfoSortingDbChangeNotifier* iDbChangeNotifier;
-
-        /**
-        * Reference to the UI environment
-        */
-        CEikonEnv& iCoeEnv;
-    
-        /**
-        * Resource file offset
-        */
-        TInt iResourceFileOffset;
-    
-        /**
-        * Handle to the filter database
-        */
-        RDbNamedDatabase iFilterDb;
-
-        /**
-        * Handle to the DBMS
-        */
-        RDbs iDbms;
-
-        /**
-        * Handle to the FS
-        */
-        RFs iFileServer;
-
-        /**
-        * If EFalse, database-dependent filters won't get updated
-        */
-        TBool iReadOnly;
-    
-    };
-    
-
-
-
-#endif // C_WSFWLANINFOARRAYVISITOR_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosorting.hrh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,33 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource headers for project wlaninfosorting
-*
-*/
-
-
-
-
-
-#ifndef WSFWLANINFOSORTING_HRH
-#define WSFWLANINFOSORTING_HRH
-
-
-enum TWsfControls
-	{
-	ESnifferLabel = 6000,
-	EECustom
-	};
-
-
-#endif // WSFWLANINFOSORTING_HRH
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingblacklist.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,177 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanInfoArrayVisitor
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGBLACKLIST_H
-#define C_WSFWLANINFOSORTINGBLACKLIST_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <d32dbms.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-#include "wsfwlaninfo.h"
-
-
-
-//  FORWARD DECLARATIONS
-class CDesC8Array;
-class CGulIcon;
-class CAknIconArray;
-
-
-
-/**
-* Blacklisted item sorting filter
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoSortingBlackList ): public CBase, 
-                                        public MWsfWlanInfoSortingFilterVisitor
-    {
-    public:
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aDatabase The database to read the blacklist from.
-        * @return Class instance.
-        */
-        static CWsfWlanInfoSortingBlackList* NewLC( 
-                                                 RDbNamedDatabase& aDatabase );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aDatabase The database to read the blacklist from.
-        * @return Class instance.
-        */
-        static CWsfWlanInfoSortingBlackList* NewL(
-                                                 RDbNamedDatabase& aDatabase );
-        
-        ~CWsfWlanInfoSortingBlackList();
-
-        
-    private:
-        /**
-        * Constructor.
-        * @since S60 5.0
-        * @param aDatabase The database to read the blacklist from.
-        */
-        CWsfWlanInfoSortingBlackList( RDbNamedDatabase& aDatabase );
-        
-        void ConstructL();    
-    
-
-    public: // from MWsfWlanInfoSortingFilterVisitor
-        
-        /**
-        * Do comparing between these two entries
-        * @since S60 5.0
-        * @param aInfoLeft Left element
-        * @param aInfoRight Right element
-        * @return Negative if aInfoLeft is smaller tha aInfoRight,
-        *         zero if the entries are equal,
-        *         positive if the aInfoLeft is greater than aInfoRight
-        */
-        virtual TInt Compare( const TWsfWlanInfo& aInfoLeft, 
-                              const TWsfWlanInfo& aInfoRight );
-
-        /**
-        * Check if the entry matches to filter rules and carry out additional
-        * operations if needed.
-        * @since S60 5.0
-        * @param aInfoLeft The element to be checked
-        * @return ETrue if the item matches the blacklist rule
-        */
-        virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft );
-
-        /**
-        * Handle filter match 
-        * @since S60 5.0
-        * @param aFilterEntry The element in question
-        */ 
-        virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry );
-
-        /**
-        * Edit filter definitions
-        * @since S60 5.0
-        * @param aInfoArray The element in question
-        */
-        virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray );
-        
-        /**
-        * Read the filter defintions to filter
-        * @since S60 5.0
-        */
-        virtual void ReadFilterDefsL();
-
-        
-    public:     // new methods
-        /**
-        * Return the number of elements in the blacklist
-        * @since S60 5.0
-        * @return The count of blacklisted SSIDs
-        */
-        TInt BlackListItemCount() const;
-
-    
-    private:    // new methods
-        /**
-        * Save filter definitions
-        * @since S60 5.0
-        */
-        void SaveDefsL();
-        
-        /**
-        * Restore filter definitions
-        * @since S60 5.0
-        */
-        void RestoreDefsL();
-        
-        /**
-        * Check if the blacklist table exists in the database
-        * @since S60 5.0
-        */
-        void CheckTableL();
-
-    
-    private:    //data    
-    
-        /**
-        * Array of blacklisted SSIDs. Owned.
-        */
-        CDesC8Array* iBlackListSsids;
-        
-        /**
-        * Handle to the blacklist database. Not owned.
-        */
-        RDbNamedDatabase* iDefsDb;
-        
-        /**
-        * Handle to the blacklist table
-        */
-        RDbTable iBlackListSsidTable;
-    };
-    
-
-
-#endif // C_WSFWLANINFOSORTINGBLACKLIST_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingbrand.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,229 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanInfoSortingBrand
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGBRAND_H
-#define C_WSFWLANINFOSORTINGBRAND_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-#include "wsfwlaninfo.h"
-
-
-//  FORWARD DECLARATIONS
-class CAknIconArray;
-class CGulIcon;
-
-
-/**
-* Branded item sorting filter
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoSortingBrand ): public CBase, 
-                                        public MWsfWlanInfoSortingFilterVisitor
-    {
-    protected:  // Type definitions
-
-        /**
-        * Structure to store and compare branded items
-        *
-        * @lib wsfwlaninfosorting.lib
-        * @since S60 5.0
-        */
-        class TBrandableItem
-            {
-            public:     // constructors
-                TBrandableItem();
-                
-                /**
-                * Constructor.
-                * @since S60 5.0
-                * @param aSsid SSID of the branded network
-                * @param aBrandId ID of the branded network
-                */
-                TBrandableItem( const TDesC8& aSsid, const TInt8 aBrandId );
-                
-            public:     // new methods
-                /**
-                * Compares two branded items.
-                * @since S60 5.0
-                * @param aItemLeft First item
-                * @param aItemRight Second item
-                * @return ETrue if the two items are equal
-                */
-                static TBool Match( const TBrandableItem& aItemLeft, 
-                                    const TBrandableItem& aItemRight );
-
-                /**
-                * Defines a sorting relation between two branded items based on
-                * their brand id.
-                * @since S60 5.0
-                * @param aItemLeft Left item
-                * @param aItemRight Right item
-                * @return Negative if left < right, zero if left == right, 
-                *         positive if left > right.
-                */
-                static TInt SortByBrandId( const TBrandableItem& aItemLeft, 
-                                           const TBrandableItem& aItemRight );
-
-                /**
-                * Defines a sorting relation between two branded items based on
-                * their SSID.
-                * @since S60 5.0
-                * @param aItemLeft Left item
-                * @param aItemRight Right item
-                * @return Negative if left < right, zero if left == right, 
-                *         positive if left > right.
-                */
-                static TInt SortBySsid( const TBrandableItem& aItemLeft, 
-                                        const TBrandableItem& aItemRight );
-                                        
-            public:     // data
-                /**
-                * SSID of the branded item
-                */
-                TBuf8<KWlanMaxAccessPointNameLength> iSsid;
-                
-                /**
-                * Brand identifier number
-                */
-                TInt8 iBrandId;
-                
-                /**
-                * Icon id for this branded item
-                */
-                TInt iIconId;
-
-                /**
-                * Icon mask id for this branded item
-                */
-                TInt iMaskId;
-            };
-
-    public:     // construction
-        static CWsfWlanInfoSortingBrand* NewLC();
-        static CWsfWlanInfoSortingBrand* NewL();
-        
-        ~CWsfWlanInfoSortingBrand();
-        
-        
-    private:    // constructors
-        CWsfWlanInfoSortingBrand();
-        void ConstructL();    
-
-        
-      public:     // new methods
-
-        /**
-        * Append the icons from the given array to the available icons list
-        * @since S60 5.0
-        * @param aIconArray The array to take the icons from
-        */
-        void AppendBrandIconsL( CAknIconArray& aIconArray );
-        
-        
-    public:     // from MWsfWlanInfoSortingFilterVisitor
-        
-        /**
-        * Do comparing between these two entries
-        * @since S60 5.0
-        * @param aInfoLeft Left element
-        * @param aInfoRight Right element
-        * @return Negative if aInfoLeft is smaller tha aInfoRight,
-        *         zero if the entries are equal,
-        *         positive if the aInfoLeft is greater than aInfoRight
-        */
-        virtual TInt Compare( const TWsfWlanInfo& aInfoLeft, 
-                              const TWsfWlanInfo& aInfoRight );
-
-        /**
-        * Check if the entry matches to filter rules and carry out additional
-        * operations if needed.
-        * @since S60 5.0
-        * @param aInfoLeft The element to be checked
-        * @return ETrue if the item matches the rule
-        */
-        virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft );
-
-        /**
-        * Handle filter match 
-        * @since S60 5.0
-        * @param aFilterEntry The element in question
-        */ 
-        virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry );
-
-        /**
-        * Edit filter definitions
-        * @since S60 5.0
-        * @param aInfoArray The element in question
-        */
-        virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray );
-        
-        /**
-        * Read the filter defintions to filter
-        * @since S60 5.0
-        */
-        virtual void ReadFilterDefsL();
-
-    
-    private:    // new methods
-    
-        /**
-        * Creates an icon of the given icon and mask id
-        * @since S60 5.0
-        * @param aIconId Icon ID
-        * @param aMaskId        
-        * @return The created icon. Ownership passed.
-        */
-        CGulIcon* MakeIconLC( const TInt aIconId, const TInt aMaskId );
-                
-        /**
-        * Read the branded networks' data from file/resource
-        * @since S60 5.0
-        */
-        void ReadBrandedSsidsL();
-
-        
-    private: //data    
-
-        /**
-        * Array of branded items
-        */        
-        RPointerArray<TBrandableItem> iBrandItemArray;     
-
-        /**
-        * Name of the bitmap file for the brand icons. Owned.
-        */
-        HBufC* iBitmapFileName;
-        
-        /**
-        * Indicates whether the read data is ok
-        */
-        TBool iBrandingDataOk;
-    };
-    
-
-
-#endif // C_WSFWLANINFOSORTINGBRAND_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingdbchangenotifier.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,127 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanInfoSortingDbChangeNotifier
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGDBCHANGENOTIFIER_H
-#define C_WSFWLANINFOSORTINGDBCHANGENOTIFIER_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-#include <d32dbms.h>
-
-
-//  FORWARD DECLARATIONS
-class MWsfWlanInfoSortingFilterVisitor;
-
-
-/**
- * Active object to monitor changes in a given database
- *
- * @lib wsfwlaninfosorting.lib
- * @since S60 5.0
- */
-
-NONSHARABLE_CLASS( CWsfWlanInfoSortingDbChangeNotifier ): public CActive
-    {
-    public:     // construction
-        /**
-         * Factory function.
-         * @since S60 5.0
-         * @param aDatabase The database to be monitored. Ownership not passed.
-         * @return Class instance
-         */
-        static CWsfWlanInfoSortingDbChangeNotifier* NewLC( 
-                                                      RDbDatabase& aDatabase );
-
-        /**
-         * Factory function.
-         * @since S60 5.0
-         * @param aDatabase The database to be monitored. Ownership not passed.
-         * @return Class instance
-         */
-        static CWsfWlanInfoSortingDbChangeNotifier* NewL( 
-                                                      RDbDatabase& aDatabase );
-        
-        ~CWsfWlanInfoSortingDbChangeNotifier();
-
-
-    private:    // constructors
-        /**
-         * Constructor
-         * @since S60 5.0
-         * @param aDatabase The database to be monitored. Ownership not passed.
-         */
-        CWsfWlanInfoSortingDbChangeNotifier( RDbDatabase& aDatabase );
-        
-        void ConstructL();    
-    
-        
-    public:     // new methods
-
-        /**
-        * Starts monitoring the database
-        * @since S60 5.0
-        */
-         void StartDbObservation();
-         
-         /**
-         * Append filter to the list of clients to be notified. 
-        * @since S60 5.0
-         * @param aRelatedFilter A filter which is interested in db events.
-         *                       Ownership not passed.
-         * @return - void
-         */
-        void AppendDbRelatedFilterL( 
-                            MWsfWlanInfoSortingFilterVisitor* aRelatedFilter );
-        
-        /**
-        * Removes the filter from the list of clients. 
-        * @since S60 5.0
-         * @param aRelatedFilter A filter which is interested in db events.
-         *                       Ownership not passed.
-         * @return - void
-         */
-        void RemoveDbRelatedFilter( 
-                            MWsfWlanInfoSortingFilterVisitor* aRelatedFilter );
-        
-        
-    private: // from CActive
-        
-        void DoCancel(); 
-        void RunL();
-
-
-    private: //data    
-        /**
-        * The database to be monitored. Not owned.
-        */
-        RDbDatabase* iDatabase;
-        
-        /**
-        * Database notifier
-        */
-        RDbNotifier iNotifier;
-        
-        /**
-        * Array of DB-related filters to be notified
-        */
-        RPointerArray<MWsfWlanInfoSortingFilterVisitor> iDbAwareFilters;
-    };
-
-#endif // C_WSFWLANINFOSORTINGDBCHANGENOTIFIER_H
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingdefault.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanInfoSortingDefault
-*
-*/
-
-
-
-#ifndef C_WSFWLANINFOSORTINGDEFAULT_H
-#define C_WSFWLANINFOSORTINGDEFAULT_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-//  INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-
-
-//  CLASS DEFINITION
-/**
-* Default sorting filter for WLAN items
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanInfoSortingDefault ): public CBase, 
-                                        public MWsfWlanInfoSortingFilterVisitor
-    {
-    public:     
-        static CWsfWlanInfoSortingDefault* NewLC();
-        static CWsfWlanInfoSortingDefault* NewL();
-        
-        ~CWsfWlanInfoSortingDefault();
-        
-        
-    private:    // constructors
-        void ConstructL();
-        CWsfWlanInfoSortingDefault();    
-        
-            
-    public: // from MWsfWlanInfoSortingFilterVisitor
-        
-        /**
-        * Do comparing between these two entries
-        * @since S60 5.0
-        * @param aInfoLeft Left element
-        * @param aInfoRight Right element
-        * @return Negative if aInfoLeft is smaller tha aInfoRight,
-        *         zero if the entries are equal,
-        *         positive if the aInfoLeft is greater than aInfoRight
-        */
-        virtual TInt Compare( const TWsfWlanInfo& aInfoLeft, 
-                              const TWsfWlanInfo& aInfoRight );
-
-        /**
-        * Check if the entry matches to filter rules and carry out additional
-        * operations if needed.
-        * @since S60 5.0
-        * @param aInfoLeft The element to be checked
-        * @return ETrue if the item matches the rule
-        */
-        virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft );
-        
-        /**
-        * Handle filter match 
-        * @since S60 5.0
-        * @param aFilterEntry The element in question
-        */ 
-        virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry );
-
-        /**
-        * Edit filter definitions
-        * @since S60 5.0
-        * @param aInfoArray The element in question
-        */
-        virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray );
-        
-        /**
-        * Read the filter defintions to filter
-        * @since S60 5.0
-        */
-        virtual void ReadFilterDefsL();
-
-    };
-
-
-#endif // C_WSFWLANINFOSORTINGDEFAULT_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlaninfosortingfiltervisitor.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,90 +0,0 @@
-/*
-* Copyright (c) 2007-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for MWsfWlanInfoSortingFilterVisitor
-*
-*/
-
-
-
-#ifndef M_WSFWLANINFOSORTINGFILTERVISITOR_H
-#define M_WSFWLANINFOSORTINGFILTERVISITOR_H
-
-
-//  EXTERNAL INCLUDES
-#include <e32base.h>
-
-
-//  FORWARD DECLARATIONS
-class TWsfWlanInfo;
-class CWsfWlanInfoArray;
-
-
-//  CLASS DEFINITION
-/**
- * Interface class for common filtering actions
- *
- * @since S60 5.0
- */
-class MWsfWlanInfoSortingFilterVisitor 
-    {
-    public:
-    
-        /**
-        * Do comparing between these two entries
-        * @since S60 5.0
-        * @param aInfoLeft Left element
-        * @param aInfoRight Right element
-        * @return Negative if aInfoLeft is smaller tha aInfoRight,
-        *         zero if the entries are equal,
-        *         positive if the aInfoLeft is greater than aInfoRight
-        */
-        virtual TInt Compare( const TWsfWlanInfo& aInfoLeft, 
-                              const TWsfWlanInfo& aInfoRight ) = 0;
-
-        /**
-        * Check if the entry matches to filter rules and carry out additional
-        * operations if needed.
-        * @since S60 5.0
-        * @param aInfoLeft The element to be checked
-        * @return ETrue if the item matches the rules
-        */
-        virtual TBool SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft ) = 0;
-    
-
-        /**
-        * Handle filter match 
-        * @since S60 5.0
-        * @param aFilterEntry The element in question
-        */ 
-        virtual void MarkMatchedFilterL( TWsfWlanInfo& aFilterEntry ) = 0;
-
-        /**
-        * Edit filter definitions
-        * @since S60 5.0
-        * @param aInfoArray The element in question
-        */
-        virtual void EditFilterDefsL( CWsfWlanInfoArray& aInfoArray ) = 0;
-        
-        /**
-        * Read the filter defintions to filter
-        * @since S60 5.0
-        */
-        virtual void ReadFilterDefsL() = 0;
-    };
-    
-
-
-
-#endif // M_WSFWLANINFOSORTINGFILTERVISITOR_H
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlansortingbrand.rh	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,39 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Resource headers for project wlaninfosorting
-*
-*/
-
-
-
-#ifndef WSFWLANSORTINGBRAND_RH
-#define WSFWLANSORTINGBRAND_RH
-
-
-STRUCT WLAN_BRAND_ITEM
-    {
-    LTEXT8 brandedSsids[]; // for ssid's with the same icon
-    WORD bmpIdImage;
-    WORD bmpIdMask;    
-    }
-
-STRUCT WLAN_SORTING_BRAND
-    {
-    LTEXT bmpfile="";
-    STRUCT brandedItems[];
-    }
-
-
-
-#endif // WSFWLANSORTINGBRAND_RH
--- a/wlanutilities/wlansniffer/wlaninfosorting/inc/wsfwlanssidselectiondlg2.h	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,149 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Class header for CWsfWlanSsidSelectionDlg2
-*
-*/
-
-
-
-#ifndef C_WSFWLANSSIDSELECTIONDLG2_H
-#define C_WSFWLANSSIDSELECTIONDLG2_H
-
-
-//  EXTERNAL INCLUDES
-#include <aknlistquerydialog.h>
-#include <badesca.h>
-
-
-// FORWARD DECLARATIONS
-class CAknTitlePane;
-class CAknIconArray;
-class CGulIcon;
-
-
-//  CLASS DEFINITION
-/**
-* Dialog for modifying the SSID blacklist
-*
-* @lib wsfwlaninfosorting.lib
-* @since S60 5.0
-*/
-NONSHARABLE_CLASS( CWsfWlanSsidSelectionDlg2 ): public CAknListQueryDialog
-    {
-    public:     
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aSsidArray Array of all SSIDs. Ownership not passed.
-        * @param aSelectionIndexArray Array to indicate selected state of 
-        *                             the SSIDs. Ownership not passed.
-        * @return Class instance
-        */
-        static CWsfWlanSsidSelectionDlg2* NewL( CDesCArrayFlat& aSsidArray,
-                    CListBoxView::CSelectionIndexArray& aSelectionIndexArray );
-
-        /**
-        * Factory function.
-        * @since S60 5.0
-        * @param aSsidArray Array of all SSIDs. Ownership not passed.
-        * @param aSelectionIndexArray Array to indicate selected state of 
-        *                             the SSIDS. Ownership not passed.
-        * @return Class instance
-        */
-        static CWsfWlanSsidSelectionDlg2* NewLC( CDesCArrayFlat& aSsidArray,
-                    CListBoxView::CSelectionIndexArray& aSelectionIndexArray );
-
-        ~CWsfWlanSsidSelectionDlg2();
-
-
-    private:
-        /**
-        * Constructor.
-        * @since S60 5.0
-        * @param aSsidArray Array of all SSIDs. Ownership not passed.
-        * @param aSelectionIndexArray Array to indicate selected state of 
-        *                             the SSIDS. Ownership not passed.
-        * @return Class instance
-        */
-        CWsfWlanSsidSelectionDlg2( CDesCArrayFlat& aSsidArray,
-                    CListBoxView::CSelectionIndexArray& aSelectionIndexArray );
-                    
-        void ConstructL();
-
-        
-    public: // from CEikDialog
-        TKeyResponse OfferKeyEventL( const TKeyEvent& aKeyEvent, 
-                                     TEventCode aType );
-
-        void PreLayoutDynInitL();
-                             
-            
-    private:    // new methods
-
-        /**
-        * Creates a listbox item array of the SSID list
-        * @since S60 5.0
-        * @param aSource The source SSID array. Ownership not passed.
-        * @param aDest The array to put the resulting listbox items in.
-        *              Ownership not passed.
-        */
-        void CopyAndFormatArrayContentsL( CDesCArrayFlat* aSource,
-                                          CDesCArrayFlat* aDest );
-
-        /**
-        * Function to create checkbox icons for the markable list
-        * @since S60 5.0
-        * @param aFileName Path to the icon file
-        * @param aIcon Icon id
-        * @param aMask Mask id
-        * @param aID Item ID of the masked bitmap to be created.
-        * @return The constructed icon. Ownership passed.
-        */
-        CGulIcon* CreateIconLC( const TDesC& aFileName, TInt aIcon, TInt aMask,
-                                const TAknsItemID& aID );
-    
-        /**
-        * Create an icon array of the checkbox icons
-        * @since S60 5.0
-        * @return The constructed icon array. Ownership passed.
-        */
-        CAknIconArray* CreateQueryIconArrayL();        
-
-
-    private: //data
-    
-        /**
-        * Array of SSIDs in the list
-        */
-        CDesCArrayFlat* iSsidArray;
-    
-        /**
-        * Array of selection states
-        */
-        CArrayFix<TInt>* iSelectedItems;
-    
-        /**
-        * Reference to the title pane of the list. Not owned.
-        */
-        CAknTitlePane* iPane;
-    
-        /**
-        * Title text. Owned.
-        */
-        HBufC* iTitle;
-
-    };
-
-    
-#endif // C_WSFWLANSSIDSELECTIONDLG2_H
--- a/wlanutilities/wlansniffer/wlaninfosorting/rom/wsfwlaninfosorting.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,41 +0,0 @@
-/*
-* Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanInfoSorting
-*
-*/
-
-
-
-#ifndef WSFWLANINFOSORTING_IBY
-#define WSFWLANINFOSORTING_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WsfWlanInfoSorting
-
-#include <bldvariant.hrh>
-
-
-file=ABI_DIR\BUILD_DIR\wsfwlaninfosorting.dll		SHARED_LIB_DIR\wsfwlaninfosorting.dll
-SCALABLE_IMAGE(APP_BITMAP_DIR,APP_BITMAP_DIR,wsfwlaninfosorting)
-
-#if defined(__SECURE_BACKUP__)
-data=DATAZ_\private\10281caa\backup_registration.xml	private\10281caa\backup_registration.xml
-#endif
-
-data=DATAZ_\private\100012a5\policy\2000cf30.spd    private\100012a5\policy\2000cf30.spd	
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFWLANINFOSORTING_IBY
--- a/wlanutilities/wlansniffer/wlaninfosorting/rom/wsfwlaninfosortingresources.iby	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-/*
-* Copyright (c) 2006-2007 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Image description file for project WlanInfoSorting
-*
-*/
-
-
-#ifndef WSFWLANINFOSORTINGRESOURCES_IBY
-#define WSFWLANINFOSORTINGRESOURCES_IBY
-
-#ifdef __PROTOCOL_WLAN
-
-REM WlanInfoSortingResources
-
-#include <bldvariant.hrh>
-
-data = DATAZ_\RESOURCE_FILES_DIR\wsfwlaninfosorting.rsc  RESOURCE_FILES_DIR\wsfwlaninfosorting.rsc
-
-#endif // __PROTOCOL_WLAN
-
-#endif // WSFWLANINFOSORTINGRESOURCES_IBY
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfoarrayvisitor.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,319 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanInfoArrayVisitor
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <badesca.h> 
-#include <e32base.h> 
-#include <eikenv.h>
-#include <bautils.h>
-#include <data_caging_path_literals.hrh>
-
-//  CLASS HEADER
-#include "wsfwlaninfoarrayvisitor.h"
-
-//INTERNAL INCLUDES
-#include "wsfwlaninfosortingbrand.h"
-#include "wsfwlaninfosortingdefault.h"
-#include "wsfwlaninfosortingblacklist.h"
-#include "wsfwlaninfoarray.h"
-#include "wsfwlaninfosortingdbchangenotifier.h"
-
-
-/**
-* Blacklist database identifier
-*/
-_LIT( KBlacklistDbFormat, "SECURE[2000cf30]" );
-
-/**
-* Blacklist database file name
-*/
-_LIT( KBlacklistDbName, "c:wsfblacklist.db" );
-
-/**
-* ROM folder
-*/
-_LIT( KDriveZ, "z:" );
-
-/**
-* Resource file name
-*/
-_LIT( KResourceFileName, "wsfwlaninfosorting.rsc" );
-
-
-#ifdef _DEBUG
-    _LIT( KCWsfWlanInfoArrayVisitor, "arrayvisitor" );
-	#define __ASSERTD( cond ) __ASSERT_DEBUG( (cond),  User::Panic( KCWsfWlanInfoArrayVisitor, __LINE__) )
-#else
-    #define __ASSERTD( cond )
-#endif //_DEBUG
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::NewLC
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArrayVisitor* CWsfWlanInfoArrayVisitor::NewLC( 
-                                                        const TBool aReadOnly )
-	{
-	CWsfWlanInfoArrayVisitor* thisPtr = new (ELeave) CWsfWlanInfoArrayVisitor( 
-	                                                               aReadOnly );
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	return thisPtr;
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::NewL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArrayVisitor* CWsfWlanInfoArrayVisitor::NewL( 
-                                                        const TBool aReadOnly ) 
-	{
-	CWsfWlanInfoArrayVisitor* thisPtr = NewLC( aReadOnly );
-	CleanupStack::Pop();
-	return thisPtr;
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::~CWsfWlanInfoArrayVisitor
-// ----------------------------------------------------------------------------
-//
-EXPORT_C CWsfWlanInfoArrayVisitor::~CWsfWlanInfoArrayVisitor()  
-	{
-	delete iDbChangeNotifier;
-	delete iBlackListSorting;
-	delete iBrandSorting; 
-	delete iDefaultSorting;
-	
-	iFilterDb.Close();
-	
-	
-	iDbms.Close();
-	iFileServer.Close();
-	
-	// let the resourcefile go..
-	if ( iResourceFileOffset != -1 )
-		{
-		iCoeEnv.DeleteResourceFile( iResourceFileOffset );			
-		}
-
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::CWsfWlanInfoArrayVisitor
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoArrayVisitor::CWsfWlanInfoArrayVisitor( const TBool aReadOnly ): 
-    TKeyArrayFix( 0, ECmpNormal ),
-	iCoeEnv( *CEikonEnv::Static() ),
-	iResourceFileOffset( -1 ),
-	iReadOnly( aReadOnly )
-	{
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoArrayVisitor::ConstructL()
-	{
-    TFileName resourceFileName;
-
-    resourceFileName.Append( KDriveZ );
-    resourceFileName.Append( KDC_RESOURCE_FILES_DIR );   
-    resourceFileName.Append( KResourceFileName );
-
-    BaflUtils::NearestLanguageFile( iCoeEnv.FsSession(), resourceFileName );
-    iResourceFileOffset = iCoeEnv.AddResourceFileL( resourceFileName );
-
-	
-	User::LeaveIfError( iFileServer.Connect() );
-	User::LeaveIfError( iDbms.Connect() );
-	
-	OpenDataBaseL();
-
-	
-	iDefaultSorting = CWsfWlanInfoSortingDefault::NewL();
-	iBrandSorting = CWsfWlanInfoSortingBrand::NewL();
-	iBlackListSorting = CWsfWlanInfoSortingBlackList::NewL( iFilterDb );
-	
-	iDbChangeNotifier = CWsfWlanInfoSortingDbChangeNotifier::NewL( iFilterDb );
-	iDbChangeNotifier->AppendDbRelatedFilterL( iBlackListSorting );
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::FilterPreSortL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::FilterPreSortL( 
-                                        CWsfWlanInfoArray* aArrayToBeFiltered )
-	{
-	__ASSERTD( aArrayToBeFiltered );
-	
-	// go through the filters  
-	// store the array ref
-	
-	TInt arrayLoopCount( aArrayToBeFiltered->Count() );
-	TWsfWlanInfo* wlanInfo;
-	
-	for ( TInt arrayLoop( 0 ); arrayLoop < arrayLoopCount; ++arrayLoop )
-		{
-		wlanInfo = aArrayToBeFiltered->At( arrayLoop );
-		
-		// blacklist sorting must come first to be able to filter out 
-		// customer favourite networks, too
-		if ( !iBlackListSorting->SetupOnRuleMatch( *wlanInfo ) )
-			{
-		    iBrandSorting->SetupOnRuleMatch( *wlanInfo );
-			}
-		}
-	
-	iInfoArray = aArrayToBeFiltered;
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::FilterPostSortL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::FilterPostSortL( 
-                                        CWsfWlanInfoArray* aArrayToBeFiltered )
-	{
-	__ASSERTD( aArrayToBeFiltered );
-	
-	// go through the filters....
-	
-	// we could remove the entries which are marked as blacklist entries...
-	TInt arrayLoopCount( aArrayToBeFiltered->Count() );
-	TWsfWlanInfo* wlanInfo;
-
-	for ( TInt arrayLoop( arrayLoopCount - 1); arrayLoop >= 0; --arrayLoop )
-		{
-		wlanInfo =  aArrayToBeFiltered->At( arrayLoop );
-		if ( wlanInfo->BlackListEntry() && !wlanInfo->Connected() )
-			{
-			// filter out only non-connected items
-			aArrayToBeFiltered->Delete( wlanInfo );
-			}
-		}
-	// and let the iInfoArray expire..
-	iInfoArray = NULL;
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::SortingKey
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TKeyArrayFix& CWsfWlanInfoArrayVisitor::SortingKey() 
-	{
-	return *this;
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::LoadFilterDefinitionsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::LoadFilterDefinitionsL()
-	{
-	// filter by filter - call the load
-	iDefaultSorting->ReadFilterDefsL();
-	iBrandSorting->ReadFilterDefsL();
-	iBlackListSorting->ReadFilterDefsL();
-	if ( iReadOnly && !iDbChangeNotifier->IsActive() )
-		{
-		iDbChangeNotifier->StartDbObservation();
-		}
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::AppendBrandingIconsL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::AppendBrandingIconsL( 
-                                                    CAknIconArray& aIconArray )
-	{
-	iBrandSorting->AppendBrandIconsL( aIconArray );
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::EditBlackListL
-// ----------------------------------------------------------------------------
-//
-EXPORT_C void CWsfWlanInfoArrayVisitor::EditBlackListL( 
-                                            CWsfWlanInfoArray& aInfoItemArray )
-	{
-	iBlackListSorting->EditFilterDefsL( aInfoItemArray );
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::BlackListItemCount
-// ----------------------------------------------------------------------------
-//
-EXPORT_C TInt CWsfWlanInfoArrayVisitor::BlackListItemCount() const
-    {
-    return iBlackListSorting->BlackListItemCount();
-    }
-    
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::Compare
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoArrayVisitor::Compare( TInt aLeft, TInt aRight ) const
-	{
-	TWsfWlanInfo* left = iInfoArray->At( aLeft );
-	TWsfWlanInfo* right = iInfoArray->At( aRight );
-	
-	__ASSERTD( left );
-	__ASSERTD( right );	
-	
-	return iDefaultSorting->Compare( *left, *right );
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoArrayVisitor::OpenDataBaseL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoArrayVisitor::OpenDataBaseL()
-	{
-    if ( iFilterDb.Open( iDbms, KBlacklistDbName, KBlacklistDbFormat ) != 
-                                                                     KErrNone )
-        {
-		User::LeaveIfError( iFilterDb.Create( iDbms, 
-		                                      KBlacklistDbName, 
-		                                      KBlacklistDbFormat ) );
-		
-		// create tables in the new database
-		CWsfWlanInfoSortingBlackList::NewLC( iFilterDb );
-		CleanupStack::PopAndDestroy();
-		}
-	}
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingblacklist.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,451 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanInfoSortingBlackList
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <StringLoader.h>
-#include <aknselectionlist.h>
-#include <aknnotewrappers.h>
-#include <utf.h>
-
-//  CLASS HEADER
-#include "wsfwlaninfosortingblacklist.h"
-
-// INTERNAL INCLUDES
-#include <wsfwlaninfosorting.rsg>
-#include "wsfwlaninfoarray.h"
-#include "wsfwlanssidselectiondlg2.h"
-#include "wsflogger.h"
-
-
-/**
-* SSID array granularity
-*/
-static const TInt KIntSsidArrayGranularity = 3;
-
-/**
-* SSID blacklist table name in DB
-*/
-_LIT( KBlackListTableName,"WIZARD_BLACKLIST");
-
-/**
-* SSID column name in blacklist table
-*/
-_LIT( KBlackListTableIdColumnName,"WIZARD_BLACKLIST_SSID");  
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList* CWsfWlanInfoSortingBlackList::NewLC( 
-                                                  RDbNamedDatabase& aDatabase )
-	{
-	CWsfWlanInfoSortingBlackList* thisPtr = 
-	                    new (ELeave) CWsfWlanInfoSortingBlackList( aDatabase );
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	return thisPtr;
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList* CWsfWlanInfoSortingBlackList::NewL( 
-                                                  RDbNamedDatabase& aDatabase )
-	{
-	CWsfWlanInfoSortingBlackList* thisPtr = NewLC( aDatabase );
-	CleanupStack::Pop( thisPtr );
-	return thisPtr;
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::CWsfWlanInfoSortingBlackList
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList::CWsfWlanInfoSortingBlackList( 
-                                                 RDbNamedDatabase& aDatabase ):
-	iDefsDb( &aDatabase )
-	{
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::~CWsfWlanInfoSortingBlackList
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBlackList::~CWsfWlanInfoSortingBlackList()
-	{
-	// free the blacklist entries...
-	if ( iBlackListSsids )
-		{
-		iBlackListSsids->Reset();
-		}
-	delete iBlackListSsids;
-	
-	iBlackListSsidTable.Close();
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::ConstructL()
-	{
-	CheckTableL();
-	iBlackListSsids = new (ELeave) CDesC8ArrayFlat( KIntSsidArrayGranularity );
-	}
-	
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::BlackListItemCount
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBlackList::BlackListItemCount() const
-    {
-    return iBlackListSsids->Count();
-    }
-
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::Compare
-// ----------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBlackList::Compare( const TWsfWlanInfo& /*aInfoLeft*/, 
-                                            const TWsfWlanInfo& /*aInfoRight*/ )
-	{
-	return 0;
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::SetupOnRuleMatch
-// ----------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBlackList::SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft )
-	{
-	// look through the ssid array - and look for a match
-	TInt rulePosition( 0 );
-	
-	if ( aInfoLeft.BlackListEntry() )
-		{
-		return ETrue;
-		}
-	
-	if ( iBlackListSsids->FindIsq( aInfoLeft.iSsid, rulePosition ) == 0 )
-		{
-		// the rule matches....
-		aInfoLeft.SetBlackListEntry( ETrue );
-		return ETrue;
-		}
-		
-	return EFalse;
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::MarkMatchedFilterL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::MarkMatchedFilterL( 
-                                                   TWsfWlanInfo& aFilterEntry )
-	{
-	aFilterEntry.SetBlackListEntry( ETrue );
-	}
-	
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::EditFilterDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::EditFilterDefsL( 
-                                                CWsfWlanInfoArray& aInfoArray )
-	{
-	LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::EditFilterDefsL" );
-	
-	// ok - lets map aInfoArray contents and iBlackListSsids and build our selves 
-	// a list of blacklist entries and current non sorted entries...
-
-	// first loop through the aInfoArray and ...
-
-	// make 16 bit copy of the ssid array...
-	TInt arrayItemCount( iBlackListSsids->Count() + aInfoArray.Count() );
-	if ( !arrayItemCount ) 
-		{
-		// there's nothing to edit 
-		// just return before showing edit dialog
-		return;
-		}
-	
-	LOG_WRITE( "there are items to show" );
-	CDesCArrayFlat *arrayOfItems = 
-	                             new (ELeave) CDesCArrayFlat( arrayItemCount );
-	CleanupStack::PushL( arrayOfItems );
-
-
-	// go through the ssid's in aInfoArray and append them to the array
-	TInt wlanArrayCount( aInfoArray.Count() );
-	TWsfWlanInfo* wlanInfo( NULL );
-	TWsfWlanInfo* connectedWlan( NULL );
-	for ( TInt loopCounter( 0 ); loopCounter < wlanArrayCount; ++loopCounter )
-		{
-		wlanInfo = aInfoArray.At( loopCounter );
-
-//      formerly (custfav or hidden -> does not appear in the list):
-//		if ( wlanInfo->BrandId() || wlanInfo->Hidden() )
-//      instead now (connected -> does not appear in the list):
-		if ( wlanInfo->Connected() )
-			{
-			connectedWlan = wlanInfo;
-			continue;
-			}
-		HBufC* ssid = wlanInfo->GetSsidAsUnicodeLC();
-		arrayOfItems->AppendL( *ssid );
-		CleanupStack::PopAndDestroy( ssid );
-		}
-
-	// simple alphabetical sort
-	arrayOfItems->Sort();
-
-	LOG_WRITE( "items added, list sorted" );
-
-
-    // now insert the already selected items onto the top
-	CArrayFix<TInt> *selectedItems = new (ELeave) CArrayFixFlat<TInt>( 
-	                                                          arrayItemCount ); 
- 	CleanupStack::PushL( selectedItems );	
-
-    HBufC* connectedSsid( NULL );
-    if ( connectedWlan )
-        {
-        connectedSsid = connectedWlan->GetSsidAsUnicodeLC();
-        }
-
-    TBool connectedBlacklisted( EFalse );
-
-	TInt blackListLength( iBlackListSsids->Count() );
-	TInt index( 0 );
-	for ( TInt loopCounter( 0 ); loopCounter < blackListLength; ++loopCounter )
-		{
-    	HBufC* ssidUnicode = TWsfWlanInfo::GetSsidAsUnicodeLC(
-    	                           iBlackListSsids->MdcaPoint( loopCounter ) );
-	
-		if ( !connectedWlan || ssidUnicode->Compare( *connectedSsid ) )
-		    {
-		    // only add the ssid to the list if it is not connected right now
-    		arrayOfItems->InsertL( index, *ssidUnicode );
-    		// these are already selected
-    		selectedItems->AppendL( index );
-    		++index;
-		    }
-		else if ( connectedWlan && !ssidUnicode->Compare( *connectedSsid ) )
-	        {
-	        connectedBlacklisted = ETrue;
-	        }
-
-		    
-		CleanupStack::PopAndDestroy( ssidUnicode );
-		}
-	
-	if ( !arrayOfItems->Count() ) 
-		{
-		// there's nothing to edit
-		// just return before showing edit dialog
-    	if ( connectedWlan )
-    	    {
-    	    CleanupStack::PopAndDestroy( connectedSsid );
-    	    }
-        
-    	CleanupStack::PopAndDestroy( selectedItems );	
-    	CleanupStack::PopAndDestroy( arrayOfItems );
-		return;
-		}
-	
-	LOG_WRITE( "creating the dialog" );
- 	CWsfWlanSsidSelectionDlg2* dlg = CWsfWlanSsidSelectionDlg2::NewL( 
- 	                                           *arrayOfItems, *selectedItems );
- 	dlg->PrepareLC( R_QTN_PREFERRED_FILTER_SELECTION_DIALOG2 );
- 
-    LOG_WRITE( "launching the dialog" );
- 	if ( dlg->RunLD() )
- 		{
- 		LOG_WRITE( "dialog closed" );
-		// go throught the list of selected items... and store them...
-		iBlackListSsids->Reset();
-		
-		TInt selectedCount( selectedItems->Count() );
-
-		for ( TInt loopCounter( 0 ); loopCounter < selectedCount; ++loopCounter )
-			{
-			TPtrC ssid = arrayOfItems->MdcaPoint( selectedItems->At( 
-			                                                   loopCounter ) );
-			HBufC8* ssidUtf8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( 
-			                                                            ssid );
-            CleanupStack::PushL( ssidUtf8 );
-			iBlackListSsids->AppendL( *ssidUtf8 );
-			CleanupStack::PopAndDestroy( ssidUtf8 );
-			}
-			
-	    if ( connectedBlacklisted )
-	        {
-			HBufC8* ssidUtf8 = CnvUtfConverter::ConvertFromUnicodeToUtf8L( 
-			                                                  *connectedSsid );
-            CleanupStack::PushL( ssidUtf8 );
-			iBlackListSsids->AppendL( *ssidUtf8 );
-			CleanupStack::PopAndDestroy( ssidUtf8 );
-	        }
-	        
-		iBlackListSsids->Sort();	
-		SaveDefsL();	
- 		} 
- 		
-	if ( connectedWlan )
-	    {
-	    CleanupStack::PopAndDestroy( connectedSsid );
-	    }
- 		
- 	CleanupStack::PopAndDestroy( selectedItems );	
-	CleanupStack::PopAndDestroy( arrayOfItems );
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::ReadFilterDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::ReadFilterDefsL()
-	{
-	RestoreDefsL();
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::SaveDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::SaveDefsL()
-	{	
-    LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::SaveDefsL" );
-    
-	// clear the db-table
-	if ( iBlackListSsidTable.FirstL() != EFalse )
-		{
-		do 
-			{
-			iBlackListSsidTable.DeleteL();
-			} 
-		while ( iBlackListSsidTable.NextL() );
-		}
-	
-	// and add the iBlackListSsids contents there....
-	TInt ssidCount( iBlackListSsids->Count() );
-	
-	if ( ssidCount )
-		{
-		// there are items
-    	CDbColSet* colSet = iBlackListSsidTable.ColSetL();
-    	CleanupStack::PushL( colSet );	
-    	TDbColNo ssidColumnNumber = colSet->ColNo( 
-    	                                         KBlackListTableIdColumnName );
-    	
-    	for ( TInt i( 0 ); i < ssidCount; ++i )
-    		{
-    		iBlackListSsidTable.InsertL();
-    		iBlackListSsidTable.SetColL( ssidColumnNumber, 
-    		                             iBlackListSsids->MdcaPoint( i ) );		
-    		iBlackListSsidTable.PutL();
-    		}
-    	CleanupStack::PopAndDestroy( colSet );
-		}
-		
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::RestoreDefsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::RestoreDefsL()
-	{
-	LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::RestoreDefsL" );	
-	iBlackListSsids->Reset();
-	iBlackListSsidTable.Reset();
-	// go through the table and fill the ssid array...
-	if ( iBlackListSsidTable.FirstL() )
-		{
-    	CDbColSet* colSet = iBlackListSsidTable.ColSetL();
-    	CleanupStack::PushL( colSet );	
-    	TDbColNo ssidColumnNumber = colSet->ColNo( 
-    	                                         KBlackListTableIdColumnName );
-    	do
-    		{
-    		iBlackListSsidTable.GetL();
-    		iBlackListSsids->AppendL( iBlackListSsidTable.ColDes8( 
-    		                                              ssidColumnNumber ) );
-    		} 
-    	while ( iBlackListSsidTable.NextL() );
-    		
-    	CleanupStack::PopAndDestroy( colSet );	
-    	// sort the array...
-    	iBlackListSsids->Sort();
-
-		}
-	}
-	
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingBlackList::CheckTableL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBlackList::CheckTableL()
-	{
-	LOG_ENTERFN( "CWsfWlanInfoSortingBlackList::CheckTableL" );
-	
-	TInt tableStatus = iBlackListSsidTable.Open( *iDefsDb, 
-	                                             KBlackListTableName );
-	if ( tableStatus == KErrNotFound )
-		{
-		// the table does not exist... create it
-		CDbColSet *ssidTableColumnSet = CDbColSet::NewLC();
-			
-		ssidTableColumnSet->AddL( TDbCol( KBlackListTableIdColumnName, 
-		                                  EDbColText8 ) );
-		
-		iDefsDb->Begin();
-		User::LeaveIfError( iDefsDb->CreateTable( KBlackListTableName, 
-		                                          *ssidTableColumnSet ) );
-		iDefsDb->Commit();
-		
-		CleanupStack::PopAndDestroy( ssidTableColumnSet );
-		}
-
-	if ( tableStatus != KErrNone )
-		{
-		User::LeaveIfError( iBlackListSsidTable.Open( *iDefsDb,  
-		                                              KBlackListTableName ) );
-		}
-	}
-
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingbrand.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,458 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanInfoSortingBrand
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <eikenv.h>
-#include <barsread.h>
-#include <gulicon.h>
-#include <AknIconArray.h>
-#include <AknIconUtils.h>
-#include <mifconvdefs.h>
-#include <wsfwlaninfosorting.rsg>
-
-//  CLASS HEADER
-#include "wsfwlaninfosortingbrand.h"
-
-
-
-/**
-* Compare result: left-hand item goes first
-*/
-static const TInt KLeftFirst = -1;
-
-/**
-* Compare result: right-hand item goes first
-*/
-static const TInt KRightFirst = 1;
-
-
-
-#ifdef _DEBUG
-    // Add own assert debug 
-    // implementation if needed
-	#define __ASSERTD( cond )
-#else
-    #define __ASSERTD( cond )
-#endif //_DEBUG
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem():
-	iSsid( KNullDesC8 ),
-	iBrandId( 0 )
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::TBrandableItem::TBrandableItem( const TDesC8& aSsid, 
-                                                        const TInt8 aBrandId ):
-	iSsid( aSsid ),
-	iBrandId( aBrandId )
-	{
-	}
-	
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::Match
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBrand::TBrandableItem::Match(
-                                            const TBrandableItem& aItemLeft, 
-                                            const TBrandableItem& aItemRight )
-	{
-	return aItemLeft.iSsid.Compare( aItemRight.iSsid ) == 0;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId( 
-                                            const TBrandableItem& aItemLeft, 
-                                            const TBrandableItem& aItemRight )
-	{
-	return aItemLeft.iBrandId - aItemRight.iBrandId;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid( 
-                                            const TBrandableItem& aItemLeft, 
-                                            const TBrandableItem& aItemRight )
-	{
-	return aItemLeft.iSsid.Compare( aItemRight.iSsid );	
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::NewLC
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand* CWsfWlanInfoSortingBrand::NewLC()
-	{
-	CWsfWlanInfoSortingBrand* thisPtr = 
-	                                new (ELeave) CWsfWlanInfoSortingBrand();
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::NewL
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand* CWsfWlanInfoSortingBrand::NewL()
-	{
-	CWsfWlanInfoSortingBrand* thisPtr = NewLC();
-	CleanupStack::Pop( thisPtr );
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::CWsfWlanInfoSortingBrand
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::CWsfWlanInfoSortingBrand():
-	iBitmapFileName( NULL ),
-	iBrandingDataOk( EFalse )
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::~CWsfWlanInfoSortingBrand
-// ---------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingBrand::~CWsfWlanInfoSortingBrand()
-	{
-	delete iBitmapFileName;
-	iBrandItemArray.ResetAndDestroy();
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ConstructL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ConstructL()
-	{
-	// nothing to do...
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::Compare
-// ---------------------------------------------------------------------------
-//
-TInt CWsfWlanInfoSortingBrand::Compare( const TWsfWlanInfo& aLeft, 
-                                        const TWsfWlanInfo& aRight )
-	{
-	TInt ret( 0 );
-	
-    // connected goes first 
- 	if ( aLeft.Connected() )
- 	    {
- 	    ret = KLeftFirst;
- 	    }
- 	else if ( aRight.Connected() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	
- 	// then customer favourite networks
- 	else if ( aLeft.BrandId() )
- 	    {
- 	    if ( aRight.BrandId() )
- 	        {
- 	        // smaller brand id first
- 	        ret = aLeft.BrandId() - aRight.BrandId();
- 	        }
- 	    else
- 	        {
- 	        ret = KLeftFirst;
- 	        }
- 	    }
- 	else if ( aRight.BrandId() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	
- 	
- 	// then known networks
- 	else if ( aLeft.Known() && !aRight.Known() )
- 	    {
- 	    ret = KLeftFirst;
- 	    }
- 	else if ( !aLeft.Known() && aRight.Known() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	    
- 	// finally SSID alphabetic order decides
- 	else
- 	    {
- 	    if ( ( aLeft.iNetworkName.Length() ) && 
- 	         ( aRight.iNetworkName.Length() ) )
- 	        {
- 	        ret = aLeft.iNetworkName.CompareC( aRight.iNetworkName );
- 	        }
- 	    else if ( aLeft.iNetworkName.Length() )
- 	        {
- 	        ret = aLeft.iNetworkName.CompareC( aRight.iSsid );
- 	        }
- 	    else if ( aRight.iNetworkName.Length() )
- 	        {
- 	        ret = aLeft.iSsid.CompareC( aRight.iNetworkName );
- 	        }
-        else
-            {
-            ret = aLeft.iSsid.CompareC( aRight.iSsid );
-            }
- 	    }
- 	    
- 	return ret;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::SetupOnRuleMatch
-// ---------------------------------------------------------------------------
-//
-TBool CWsfWlanInfoSortingBrand::SetupOnRuleMatch( TWsfWlanInfo& aInfoLeft )
-	{
-	TBool ret( EFalse );
-	// check if the entry already has an branding flag on - return ETrue
-	
-	if ( iBrandingDataOk && !aInfoLeft.BrandId() )
-		{
-    	// using the ssid... try to find the ssid from iBrandItemArray
-    	TBrandableItem item;
-    	item.iSsid = aInfoLeft.iSsid;
-    	
-    	TLinearOrder<TBrandableItem> findBinarySsid( 
-                    CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-    	
-    	TInt entryFindValue = iBrandItemArray.FindInOrder( &item, 
-    	                                                  findBinarySsid );
-    	if ( entryFindValue != KErrNotFound )
-    		{
-    		// mark the entry...
-    		aInfoLeft.SetBrand( 
-    		                iBrandItemArray[entryFindValue]->iBrandId );
-    		ret = ETrue;
-    		}
-
-		}
-		
-	return ret;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::MarkMatchedFilterL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::MarkMatchedFilterL( 
-                                              TWsfWlanInfo& /*aFilterEntry*/ )
-	{
-	// we do not modify the contents in default filter...
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::EditFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::EditFilterDefsL( 
-                                           CWsfWlanInfoArray& /*aInfoArray*/ )
-	{
-	// we have hardcoded rules... we don't need editui..
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ReadFilterDefsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ReadFilterDefsL()
-	{
-	ReadBrandedSsidsL();
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::ReadBrandedSsidsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::ReadBrandedSsidsL()
-	{
-	iBrandItemArray.ResetAndDestroy();
-	iBrandingDataOk = EFalse;
-
-	TResourceReader reader;
-	CEikonEnv& env = *CEikonEnv::Static();
-	env.CreateResourceReaderLC( reader, R_QTN_SSID_BRANDING );
-	
-	delete iBitmapFileName;
-	iBitmapFileName = NULL;
-
-	// ok - lets read the filename...
-	iBitmapFileName = reader.ReadHBufCL();
-	
-	if ( iBitmapFileName ) // not iconfilename defined.... 
-		{
-    	// try to locate the icon file 
-    	TFindFile finder( env.FsSession() );
-    	
-    	TParsePtrC parser( *iBitmapFileName );
-
-        TInt findError = finder.FindByDir( parser.NameAndExt(), 
-                                           parser.Path() );
-
-    	delete iBitmapFileName;
-    	iBitmapFileName = NULL;
-
-        if ( !findError )
-        	{
-        	iBitmapFileName = finder.File().AllocL();
-        	
-        	TInt brandedItemCount = reader.ReadInt16();
-        	TBrandableItem* brandableItem = NULL;
-
-        	CDesC8ArrayFlat* ssidArray = NULL;
-        	TInt iconId( 0 );
-        	TInt maskId( 0 );
-
-        	for ( TInt readCount( 0 ); readCount < brandedItemCount; 
-        	                                                      ++readCount )
-        		{
-        		ssidArray = reader.ReadDesC8ArrayL();
-        		CleanupStack::PushL( ssidArray );
-
-        		iconId = reader.ReadInt16();
-        		maskId = reader.ReadInt16();
-
-        		TInt ssidCount( ssidArray->Count() );
-        		
-        		for ( TInt ssidIter( 0 ); ssidIter < ssidCount; ssidIter++ )
-        			{
-        			brandableItem = new (ELeave) TBrandableItem;
-        			brandableItem->iSsid = ssidArray->MdcaPoint( ssidIter );
-        			brandableItem->iBrandId = readCount + 1;
-        			brandableItem->iIconId = iconId;
-        			brandableItem->iMaskId = maskId;
-        			iBrandItemArray.AppendL( brandableItem );
-        			}		
-        		CleanupStack::PopAndDestroy( ssidArray );
-        		}
-
-        	// and to speed up the ssid match sort the array by ssid
-        	TLinearOrder<TBrandableItem> sortingRuleSSId( 
-        	            CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-        	
-        	iBrandItemArray.Sort( sortingRuleSSId );
-        	iBrandingDataOk = ( iBrandItemArray.Count() > 0 );
-        	}
-    		
-		}
-        
-	CleanupStack::PopAndDestroy(); //reader	        
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::AppendBrandIconsL
-// ---------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingBrand::AppendBrandIconsL( CAknIconArray& aIconArray )
-	{
-	if ( iBrandingDataOk )
-		{
-    	// sort the array by brandid	
-    	TLinearOrder<TBrandableItem> sortingRule( 
-    	             CWsfWlanInfoSortingBrand::TBrandableItem::SortByBrandId );
-    	
-    	iBrandItemArray.Sort( sortingRule );
-    		
-    		
-    	// loop here - load icon and append to array....
-    	TBrandableItem* item;
-    	TInt brandArrayCount( iBrandItemArray.Count() );
-    	TInt brandId( 0 );
-    	for ( TInt loopCounter( 0 ); loopCounter < brandArrayCount; 
-    	                                                        ++loopCounter )
-    		{
-    		item = iBrandItemArray[ loopCounter ];
-    		if ( item->iBrandId > brandId ) 
-    			{
-        		brandId	= item->iBrandId;
-        		aIconArray.AppendL( MakeIconLC( item->iIconId, 
-        		                                             item->iMaskId ) );
-        		CleanupStack::Pop(); // icon
-    			}
-    		}
-    		
-    	// and to speed up the ssid match sort the array by ssid
-    	TLinearOrder<TBrandableItem> sortingRuleSSId( 
-    	                CWsfWlanInfoSortingBrand::TBrandableItem::SortBySsid );
-    	
-    	iBrandItemArray.Sort( sortingRuleSSId );
-
-		}
-		
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingBrand::MakeIconLC
-// ---------------------------------------------------------------------------
-//
-CGulIcon* CWsfWlanInfoSortingBrand::MakeIconLC( const TInt aIconId, 
-                                                const TInt aMaskId )
-	{
-	CGulIcon* icon = CGulIcon::NewLC();
-	CFbsBitmap* bitmap( NULL );   
-	CFbsBitmap* mask( NULL );   
-      
-	// Creates bitmap an icon.
-    AknIconUtils::CreateIconL( bitmap, mask, *iBitmapFileName, 
-                               aIconId, aMaskId );
-
-   	icon->SetBitmap( bitmap );   
-   	icon->SetMask( mask ); 
-    return icon;    		  	
-	}
-
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingdbchangenotifier.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanInfoSortingDbChangeNotifier
-*
-*/
-
-
-
-//  CLASS HEADER
-#include "wsfwlaninfosortingdbchangenotifier.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfosortingfiltervisitor.h"
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier* 
-           CWsfWlanInfoSortingDbChangeNotifier::NewLC( RDbDatabase& aDatabase )
-	{
-	CWsfWlanInfoSortingDbChangeNotifier* thisPtr = 
-	             new (ELeave) CWsfWlanInfoSortingDbChangeNotifier( aDatabase );
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	return thisPtr;
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier* CWsfWlanInfoSortingDbChangeNotifier::NewL(
-                                                       RDbDatabase& aDatabase )
-	{
-	CWsfWlanInfoSortingDbChangeNotifier* thisPtr = NewLC( aDatabase );
-	CleanupStack::Pop( thisPtr );
-	return thisPtr;
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::~CWsfWlanInfoSortingDbChangeNotifier
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier::~CWsfWlanInfoSortingDbChangeNotifier()
-	{
-	Cancel();
-	iDbAwareFilters.Reset();
-	iNotifier.Close();
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::CWsfWlanInfoSortingDbChangeNotifier
-// ----------------------------------------------------------------------------
-//
-CWsfWlanInfoSortingDbChangeNotifier::CWsfWlanInfoSortingDbChangeNotifier( 
-                                                      RDbDatabase& aDatabase ):
-	CActive( CActive::EPriorityLow ),
-	iDatabase( &aDatabase )
-	{
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::ConstructL()
-	{
-	User::LeaveIfError( iNotifier.Open( *iDatabase ) );
-	CActiveScheduler::Add( this );
-
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::StartDbObservation
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::StartDbObservation()
-	{
-	iNotifier.NotifyChange( iStatus );
-	SetActive();
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::DoCancel
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::DoCancel()
-	{
-	iNotifier.Cancel();
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::RunL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::RunL()
-	{
-	if ( iStatus.Int() >= RDbNotifier::ECommit )
-		{
-		TInt dbAwareFiltersCount( iDbAwareFilters.Count() );
-		if ( dbAwareFiltersCount )
-			{
-			TInt i( 0 );
-			for ( ; i < dbAwareFiltersCount ; i++ )
-				{
-				(iDbAwareFilters)[i]->ReadFilterDefsL();
-				}
-			}
-		}
-	StartDbObservation();
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::AppendDbRelatedFilterL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::AppendDbRelatedFilterL( 
-                             MWsfWlanInfoSortingFilterVisitor* aRelatedFilter )
-	{
-	iDbAwareFilters.AppendL( aRelatedFilter );
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanInfoSortingDbChangeNotifier::RemoveDbRelatedFilter
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanInfoSortingDbChangeNotifier::RemoveDbRelatedFilter( 
-                             MWsfWlanInfoSortingFilterVisitor* aRelatedFilter )
-	{
-	TInt index = iDbAwareFilters.Find( aRelatedFilter );
-    if ( index != KErrNotFound )
-    	{
-    	iDbAwareFilters.Remove( index );
-    	}
-	}
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlaninfosortingdefault.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,210 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanInfoSortingDefault
-*
-*/
-
-
-
-//  CLASS HEADER
-#include "wsfwlaninfosortingdefault.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfo.h"
-
-
-/**
-* Compare result: left-hand item goes first
-*/
-static const TInt KLeftFirst = -1;
-
-/**
-* Compare result: right-hand item goes first
-*/
-static const TInt KRightFirst = 1;
-
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::NewLC
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoSortingDefault* CWsfWlanInfoSortingDefault::NewLC()
-	{
-	CWsfWlanInfoSortingDefault* thisPtr = 
-	                                 new (ELeave) CWsfWlanInfoSortingDefault();
-	CleanupStack::PushL( thisPtr );
-	thisPtr->ConstructL();
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::NewL
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoSortingDefault* CWsfWlanInfoSortingDefault::NewL()
-	{
-	CWsfWlanInfoSortingDefault* thisPtr = NewLC();
-	CleanupStack::Pop( thisPtr );
-	return thisPtr;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::CWsfWlanInfoSortingDefault
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoSortingDefault::CWsfWlanInfoSortingDefault()
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::~CWsfWlanInfoSortingDefault
-// ---------------------------------------------------------------------------
-//    
-CWsfWlanInfoSortingDefault::~CWsfWlanInfoSortingDefault()
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::ConstructL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanInfoSortingDefault::ConstructL()
-	{
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::Compare
-// ---------------------------------------------------------------------------
-//    
-TInt CWsfWlanInfoSortingDefault::Compare( const TWsfWlanInfo& aLeft, 
-                                          const TWsfWlanInfo& aRight )
-	{
-	TInt ret( 0 );
-	
-    // connected goes first 
- 	if ( aLeft.Connected() )
- 	    {
- 	    ret = KLeftFirst;
- 	    }
- 	else if ( aRight.Connected() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	
- 	// then customer favourite networks
- 	else if ( aLeft.BrandId() )
- 	    {
- 	    if ( aRight.BrandId() )
- 	        {
- 	        // smaller brand id first
- 	        ret = aLeft.BrandId() - aRight.BrandId();
- 	        }
- 	    else
- 	        {
- 	        ret = KLeftFirst;
- 	        }
- 	    }
- 	else if ( aRight.BrandId() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	
- 	
- 	// then known networks
- 	else if ( aLeft.Known() && !aRight.Known() )
- 	    {
- 	    ret = KLeftFirst;
- 	    }
- 	else if ( !aLeft.Known() && aRight.Known() )
- 	    {
- 	    ret = KRightFirst;
- 	    }
- 	    
- 	// finally SSID alphabetic order decides
- 	else
- 	    {
- 	    if ( ( aLeft.iNetworkName.Length() ) && 
- 	         ( aRight.iNetworkName.Length() ) )
- 	        {
- 	        ret = aLeft.iNetworkName.CompareC( aRight.iNetworkName );
- 	        }
- 	    else if ( aLeft.iNetworkName.Length() )
- 	        {
- 	        ret = aLeft.iNetworkName.CompareC( aRight.iSsid );
- 	        }
- 	    else if ( aRight.iNetworkName.Length() )
- 	        {
- 	        ret = aLeft.iSsid.CompareC( aRight.iNetworkName );
- 	        }
-        else
-            {
-            ret = aLeft.iSsid.CompareC( aRight.iSsid );
-            }
- 	    }
- 	    
- 	return ret;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::SetupOnRuleMatch
-// ---------------------------------------------------------------------------
-//    
-TBool CWsfWlanInfoSortingDefault::SetupOnRuleMatch( TWsfWlanInfo& 
-                                                                /*aInfoLeft*/ )
-	{
-	// as a default filter - every rules is a match
-	return ETrue;
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::MarkMatchedFilterL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanInfoSortingDefault::MarkMatchedFilterL( 
-                                              TWsfWlanInfo& /*aFilterEntry*/ )
-	{
-	// we do not modify the contents in default filter...
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::EditFilterDefsL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanInfoSortingDefault::EditFilterDefsL( 
-                                            CWsfWlanInfoArray& /*aInfoArray*/)
-	{
-	// we have hardcoded rules... we don't need editui..
-	}
-
-
-// ---------------------------------------------------------------------------
-// CWsfWlanInfoSortingDefault::ReadFilterDefsL
-// ---------------------------------------------------------------------------
-//    
-void CWsfWlanInfoSortingDefault::ReadFilterDefsL()
-	{
-	// we have static definitions... nothing to do...
-	}
-
-
-
--- a/wlanutilities/wlansniffer/wlaninfosorting/src/wsfwlanssidselectiondlg2.cpp	Tue Jan 26 13:04:04 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,249 +0,0 @@
-/*
-* Copyright (c) 2007-2008 Nokia Corporation and/or its subsidiary(-ies). 
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:  Implementation of CWsfWlanSsidSelectionDlg2
-*
-*/
-
-
-
-//  EXTERNAL INCLUDES
-#include <avkon.mbg>
-#include <AknIconUtils.h> 
-#include <wsfwlaninfosorting.rsg>
-#include <AknIconArray.h> // CAknIcon
-#include <akntitle.h> // akntitle pane
-#include <aknlists.h> // CAknSingleGraphicStyleListBox
-
-//  CLASS HEADER
-#include "wsfwlanssidselectiondlg2.h"
-
-// INTERNAL INCLUDES
-#include "wsfwlaninfosorting.hrh"
-#include "wsflogger.h"
-
-
-/**
-* Format string for listbox items
-*/
-_LIT( KFormatString, "1\t%S" );
-
-/**
-* Number of icons used
-*/
-static const TInt KNumIcons = 2;
-
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::NewL
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2* CWsfWlanSsidSelectionDlg2::NewL( 
-                     CDesCArrayFlat& aSsidArray,
-                     CListBoxView::CSelectionIndexArray& aSelectionIndexArray )
-    {
-    CWsfWlanSsidSelectionDlg2* self = NewLC( aSsidArray, 
-                                             aSelectionIndexArray );
-    CleanupStack::Pop( self );
-    return self;
-    }
-
-    
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::NewLC
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2* CWsfWlanSsidSelectionDlg2::NewLC( 
-                     CDesCArrayFlat& aSsidArray,
-                     CListBoxView::CSelectionIndexArray& aSelectionIndexArray )
-    {
-    CWsfWlanSsidSelectionDlg2* self = new (ELeave) CWsfWlanSsidSelectionDlg2( 
-                                            aSsidArray, aSelectionIndexArray );
-    CleanupStack::PushL( self );
-    self->ConstructL();
-    return self;
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::ConstructL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidSelectionDlg2::ConstructL()
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CWsfWlanSsidSelectionDlg2
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2::CWsfWlanSsidSelectionDlg2( 
-                    CDesCArrayFlat& aSsidArray,
-                    CListBoxView::CSelectionIndexArray& aSelectionIndexArray ):
-    CAknListQueryDialog( &aSelectionIndexArray ),
-    iSsidArray( &aSsidArray ),
-    iSelectedItems( &aSelectionIndexArray )
-    {
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::~CWsfWlanSsidSelectionDlg2
-// ----------------------------------------------------------------------------
-//
-CWsfWlanSsidSelectionDlg2::~CWsfWlanSsidSelectionDlg2()
-	{
-	// restore the title....	
-	if ( iTitle && iPane )
-        {
-        iPane->SetText( iTitle );
-        }
-
-	iPane = NULL;
-	iTitle = NULL;
-	iSsidArray = NULL; 
-	iSelectedItems = NULL; 
-	}
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::OfferKeyEventL
-// ----------------------------------------------------------------------------
-//
-TKeyResponse CWsfWlanSsidSelectionDlg2::OfferKeyEventL( 
-                                                    const TKeyEvent& aKeyEvent, 
-                                                    TEventCode aType )
-    {
-    if ( aKeyEvent.iCode == EKeyApplicationF )
-        {
-        return EKeyWasConsumed;
-        }
-    else
-        {
-        return CAknListQueryDialog::OfferKeyEventL( aKeyEvent, aType );
-        }
-    }
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::PreLayoutDynInitL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidSelectionDlg2::PreLayoutDynInitL()
-    {
-    LOG_ENTERFN( "CWsfWlanSsidSelectionDlg2::PreLayoutDynInitL" );
-
-    CAknListQueryDialog::PreLayoutDynInitL();
-
-    CAknListQueryControl *control = static_cast<CAknListQueryControl*>( 
-                                                Control( EListQueryControl ) );
-    CEikListBox* listBox = control->Listbox();
-
-   	CDesCArrayFlat *formattedSsids = new (ELeave) CDesCArrayFlat( 
-   	                                                     iSsidArray->Count() );
-	CleanupStack::PushL( formattedSsids );
-	CopyAndFormatArrayContentsL( iSsidArray, formattedSsids );
-	
-	SetItemTextArray( formattedSsids );
-
-	CleanupStack::Pop( formattedSsids );
-	 
-    CAknIconArray* iconArray = CreateQueryIconArrayL();
-    CleanupStack::PushL( iconArray );
-    SetIconArrayL( iconArray );
-    CleanupStack::Pop( iconArray );
-    
-    for (TInt i = 0; i < iSelectedItems->Count(); i++)
-        {
-        listBox->View()->SelectItemL( (*iSelectedItems)[i] );
-        }
-	
-    CEikStatusPane* statusPane = iAvkonAppUi->StatusPane();
-    iPane = (CAknTitlePane*) statusPane->ControlL( 
-                                         TUid::Uid( EEikStatusPaneUidTitle ) );
-    iTitle = iPane->Text()->AllocL();
-    }
-    
-	
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CopyAndFormatArrayContentsL
-// ----------------------------------------------------------------------------
-//
-void CWsfWlanSsidSelectionDlg2::CopyAndFormatArrayContentsL( 
-                                                       CDesCArrayFlat* aSource,
-                                                       CDesCArrayFlat* aDest )
-	{
-	TBuf<80> lineBuffer;
-	TInt sourceCount( aSource->Count() );
-	for ( TInt i( 0 ) ; i < sourceCount ; i++ )
-		{
-		const TDesC& item = aSource->MdcaPoint( i );
-   		lineBuffer.Format(KFormatString, &item );
-		aDest->AppendL( lineBuffer );
-   		}
-	}  
-
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CreateQueryIconArrayL
-// ----------------------------------------------------------------------------
-//
-CAknIconArray* CWsfWlanSsidSelectionDlg2::CreateQueryIconArrayL()
-    {
-    CAknIconArray* iconarray = new( ELeave )CAknIconArray( KNumIcons );
-    CleanupStack::PushL( iconarray );
-    
-    const TDesC& iconfilename = AknIconUtils::AvkonIconFileName();
-    
-    // empty
-    iconarray->AppendL( CreateIconLC( iconfilename, 
-        EMbmAvkonQgn_prop_checkbox_on, 
-        EMbmAvkonQgn_prop_checkbox_on_mask, 
-        KAknsIIDQgnPropEmpty ));  
-    CleanupStack::Pop(); // icon
-    
-    // copying
-    iconarray->AppendL(CreateIconLC( iconfilename, 
-        EMbmAvkonQgn_prop_checkbox_off, 
-        EMbmAvkonQgn_prop_checkbox_off_mask, 
-        KAknsIIDNone ));
-    CleanupStack::Pop(); // icon
-    CleanupStack::Pop(); // iconarray
-
-  
-    return iconarray;    
-    }
-    
-
-// ----------------------------------------------------------------------------
-// CWsfWlanSsidSelectionDlg2::CreateIconLC
-// ----------------------------------------------------------------------------
-//
-CGulIcon* CWsfWlanSsidSelectionDlg2::CreateIconLC( const TDesC& aFileName, 
-                                                   TInt aIcon, 
-                                                   TInt aMask, 
-                                                   const TAknsItemID& aID )
-    {
-    MAknsSkinInstance* skinInstance = AknsUtils::SkinInstance();
-    
-    CGulIcon* icon = AknsUtils::CreateGulIconL( skinInstance, aID, aFileName, 
-                                                aIcon, aMask );
-    CleanupStack::PushL( icon );
-        
-    return icon;
-    }
-
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlansniffer/wlansniffer.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,63 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = app
+TARGET = wlansniffer
+TARGET.CAPABILITY = ALL -TCB
+DEPENDPATH += .
+# Own headers
+INCLUDEPATH += inc \
+               traces
+# wlanutilities Private API
+INCLUDEPATH += ../inc
+CONFIG += hb no_icon service
+
+#Store generated .moc files to their own directory
+MOC_DIR = moc
+
+TRANSLATIONS = wlansniffer.ts
+
+# Input
+SOURCES += src/main.cpp \
+    src/wlansniffer.cpp \
+    src/wlansnifferlistview.cpp \
+    src/wlansniffermainwindow.cpp \
+    src/wlansnifferservice.cpp
+
+HEADERS += inc/wlansniffer.h \
+    inc/wlansnifferlistview.h \
+    inc/wlansniffermainwindow.h \
+    inc/wlansnifferservice.h \
+    traces/OstTraceDefinitions.h
+
+RESOURCES = res/wlansniffer.qrc
+
+SERVICE.FILE = res/service_conf.xml
+SERVICE.OPTIONS = embeddable
+
+symbian*::LIBS += -lwlanqtutilities -lxqservice -lxqserviceutil -lqtsysteminfo
+
+symbian*: {
+    TARGET.UID3 = 0x10281CAA
+    SYMBIAN_PLATFORMS = WINSCW ARMV5
+    BLD_INF_RULES.prj_exports += "rom/wlansniffer.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wlansniffer.iby)"
+    BLD_INF_RULES.prj_exports += "rom/wlansniffer_resources.iby LANGUAGE_APP_LAYER_IBY_EXPORT_PATH(wlansniffer_resources.iby)"
+    addFiles.sources = /epoc32/release/$(PLATFORM)/$(CFG)/wlanqtutilities.dll xqservice.dll xqserviceutil.dll
+    addFiles.path = /sys/bin
+    DEPLOYMENT += addFiles
+    # Enable for QtHighway tracing
+    # DEFINES += WLANSNIFFER_SERVICETRACES
+} 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wlanutilities.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,30 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+#
+
+TEMPLATE = subdirs
+
+SUBDIRS  += \
+    wlanqtutilities \
+    wlansniffer \
+    wlanentryplugin \
+    wlanindicatorplugin \
+    cpwlansettingsplugin
+            
+CONFIG += ordered
+
+symbian*: {
+    SYMBIAN_PLATFORMS = WINSCW ARMV5
+} 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/cwpsactiverunner.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,69 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: WPS Wizard: Wrapper for middleware calls 
+*
+*/
+
+#ifndef CWPSACTIVERUNNER_H_
+#define CWPSACTIVERUNNER_H_
+
+// System includes
+#include <QObject>
+#include <QStringList>
+#include <e32base.h>
+#include <wlanmgmtclient.h>
+
+// User includes
+#include "mwpsactiverunnercallback.h"
+
+// Forward declarations
+// External data types
+// Constants
+
+
+/*! 
+ * The wrapper class for wlan management engine calls  
+ */
+// Class declaration
+class CWpsActiveRunner : public CActive
+    {
+
+public:
+    static CWpsActiveRunner* NewL(MWpsActiveRunnerCallback& aObserver);
+    virtual ~CWpsActiveRunner();
+public:
+    
+    void InitL();
+    void RunL();
+    void DoCancel();
+    TInt RunError(TInt aError);
+    void StartSetup(RBuf8& aSsid, int aPin);
+
+private:
+    CWpsActiveRunner(MWpsActiveRunnerCallback& aObserver);
+    void ConstructL();
+    void InitializeL();
+private:    
+    MWpsActiveRunnerCallback& iObserver;
+#ifdef __arm
+    CWlanMgmtClient* iWLANMgmtClient;
+    CArrayFixSeg<TWlanProtectedSetupCredentialAttribute>* iIapParametersArray;
+#else
+    //Temporary for testing in WINSCW.
+    RTimer iTimer;
+    void RunProtectedSetup_Stub();
+#endif    
+    };
+
+#endif /* CWPSACTIVERUNNER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/mwpsactiverunnercallback.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,41 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Interface class for the middleware callback
+*
+*/
+#ifndef MWPSACTIVERUNNERCALLBACK_H_
+#define MWPSACTIVERUNNERCALLBACK_H_
+
+// System includes
+#include<e32base.h>
+#include<wlanmgmtcommon.h>
+
+// User includes
+// Forward declarations
+// External data types
+// Constants
+
+// Class declaration
+class MWpsActiveRunnerCallback
+    {
+public:
+    /*!
+     * Callback to notify the completion of middleware API call
+     */
+    IMPORT_C virtual void WpsActiveRunnerStopped(QList<
+            TWlanProtectedSetupCredentialAttribute>& aCredentials,
+            TInt aError) = 0;
+    };
+
+#endif /* MWPSACTIVERUNNERCALLBACK_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizard.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,80 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard API
+ *
+ */
+
+/*
+ * %version: 1 %
+ */
+
+
+#ifndef WPSWIZARD_H_
+#define WPSWIZARD_H_
+
+
+
+#include <qobject.h>
+#include "wlanwizardplugin.h"
+
+#ifdef BUILD_WPS_WIZARD_DLL
+#define WPS_WIZARD_EXPORT Q_DECL_EXPORT
+#else
+#define WPS_WIZARD_EXPORT Q_DECL_IMPORT
+#endif
+
+class WlanWizardHelpper;
+class WpsWizardPrivate;
+
+
+/*!
+ * @addtogroup group_
+ * @{
+ */
+
+class WPS_WIZARD_EXPORT WpsWizard: public QObject, public WlanWizardPlugin
+{
+private:
+    Q_OBJECT
+    friend class WpsWizardPrivate;
+public:
+    enum BearerType
+    {
+        BearerTypeWlan,
+    };
+public:
+    WpsWizard(
+        WlanWizardHelpper *wizardHelpper,
+        BearerType bearerType, int referenceId);
+    ~WpsWizard();
+
+    void storeSettings();
+    
+public: // From WlanWizardPlugin
+    bool summary(WlanWizardPlugin::Summary sum, QString &item, QString &value);
+
+    
+
+private:
+    Q_DISABLE_COPY(WpsWizard)
+    WpsWizardPrivate *d_ptr;
+};
+
+/*! @} */
+
+
+
+
+#endif /* WPSWIZARD_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizard_p.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,104 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: WPS wizard private implementation
+*
+*/
+
+#ifndef WPSWIZARD_P_H_
+#define WPSWIZARD_P_H_
+
+// System includes
+#include <qobject.h>
+#include <qhash.h>
+#include <qmap.h>
+#include <wlanmgmtcommon.h>
+#include <qtranslator.h>
+
+// User includes
+#include "wlanwizardhelpper.h"
+#include "wpswizard.h"
+
+// Forward declarations
+class HbStackedWidget;
+class HbWidget;
+class HbLabel;
+class HbView;
+class HbAction;
+class HbDocumentLoader;
+class WlanWizardHelpper;
+
+
+// External data types
+// Constants
+
+// Class declaration
+class WpsWizardPrivate : public QObject
+    {
+
+    friend class WpsWizard;
+
+public:
+    WpsWizardPrivate(WpsWizard* wizard, WlanWizardHelpper *wizardHelpper, int bearerType, int referenceId);
+    ~WpsWizardPrivate();
+public:
+    /*!
+     * Based on the input either disables or enables next button
+     */
+    void enableNextButton(bool enable);
+    /*!
+     * Moves automatically to the next page
+     */
+    void nextPage();
+    /*!
+     * Returns the SSID of the network 
+     */
+    QString getSsid();
+    /*!
+     * Stores the settings received from the AP
+     */
+    void storeSettings(int aIndex);
+    /*!
+     * Stores multiple settings received from the AP
+     */
+    void storeSettingsArray(
+            QList<TWlanProtectedSetupCredentialAttribute>& aCredentials);
+    QList<TWlanProtectedSetupCredentialAttribute> getSettingsArray();
+    /*!
+     * Stores the generated PIN
+     */
+    void setPin(int random);
+    /*!
+     * Returns the generated PIN
+     */
+    int getPin();
+
+private:
+    Q_DISABLE_COPY(WpsWizardPrivate)
+    /*!
+     * Returns id of next page. updates settings EapWizard.
+     */
+    void createPages();
+
+private:
+    WpsWizard *q_ptr;
+    WlanWizardHelpper *mWizardHelpper;
+    QTranslator *mTranslator;
+    TWlanProtectedSetupCredentialAttribute mWpsAttr;
+    QList<TWlanProtectedSetupCredentialAttribute> mIapList;
+    int mBearerType;
+    int mReferenceId;
+    int mRandomNumber;
+    };
+
+#endif /* WPSWIZARD_P_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardpage.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,84 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: API for wizard pages
+*
+*/
+
+#ifndef WPSWIZARDPAGE_H_
+#define WPSWIZARDPAGE_H_
+
+
+// System includes
+
+// User includes
+#include "wlanwizardpage.h"
+
+// Forward declarations
+class WpsWizardPrivate;
+class HbWidget;
+
+
+// External data types
+// Constants
+
+// Class declaration
+class WpsWizardPage : public QObject, public WlanWizardPage
+    {
+public:
+    enum WpsPageIds
+        {
+        PageWpsWizardStep2 = WlanWizardPage::PageWpsStart,
+        PageWpsWizardStep3_Button,
+        PageWpsWizardStep3_Number,
+        PageWpsWizardStep4,
+        PageWpsWizardStep5,
+        PageWpsWizardStep6
+        };
+public:
+    WpsWizardPage(WpsWizardPrivate* parent);
+    virtual ~WpsWizardPage();
+
+    /*!
+     * Creates a visualization of the page.
+     */
+    virtual HbWidget* initializePage() = 0;
+    /*!
+     * Returns id of next page. updates settings EapWizard.
+     */
+    virtual int nextId(bool &removeFromStack) const = 0;
+    /*!
+     * Returns how many steps should be gone backwars. 
+     */
+    virtual int stepsBackwards();
+    /*!
+     * This method is called when a visualization is displayed to detect
+     * whether next button should be enabled or not.
+     */
+    virtual bool validate() const;
+    /*!
+     * This method is called when Previous button has been pressed.
+     */
+    virtual void previousTriggered() = 0;
+    /*!
+     * This method is called when Cancel button has been pressed.
+     */
+    virtual void cancelTriggered() = 0;
+    WpsWizardPrivate* mWizard;
+private:
+    Q_DISABLE_COPY(WpsWizardPage)
+    };
+
+/*! @} */
+
+#endif /* WPSWIZARDPAGE_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepfive.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,87 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: WPS wizard page step 5
+*
+*/
+#ifndef WPSWIZARDSTEPFIVE_H_
+#define WPSWIZARDSTEPFIVE_H_
+
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class HbProgressBar;
+class WpsWizardPrivate;
+
+
+// External data types
+// Constants
+
+// Class declaration
+class WpsPageStepFive : public WpsWizardPage
+    {
+Q_OBJECT
+public:
+    WpsPageStepFive(WpsWizardPrivate* parent);
+    ~WpsPageStepFive();
+
+public:
+    /*!
+     * Creates a visualization of the page.
+     */
+    HbWidget* initializePage();
+    /*!
+     * Returns id of next page. updates settings EapWizard.
+     */
+    int nextId(bool &removeFromStack) const;
+    /*!
+     * Returns how many steps should be gone backwards. 
+     */
+    int stepsBackwards();
+    /*!
+     * This method is called when Previous button has been pressed.
+     */
+    void previousTriggered();
+    /*!
+     * This method is called when Cancel button has been pressed.
+     */
+    void cancelTriggered();
+    /*!
+     * This method is called when a visualization is displayed to detect
+     * whether next button should be enabled or not.
+     */
+    bool validate() const;
+
+public slots:
+    void itemSelected(int index);
+
+private:
+    Q_DISABLE_COPY(WpsPageStepFive)
+    HbWidget *mWidget;
+    HbRadioButtonList *mRadio;
+    HbLabel *mTitle;
+    HbLabel *mHeading;
+    bool mValid;
+    };
+
+/*! @} */
+
+#endif /* WPSWIZARDSTEPFIVE_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepfour.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,103 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: WPS wizard page step 4
+*
+*/
+#ifndef WPSWIZARDSTEPFOUR_H_
+#define WPSWIZARDSTEPFOUR_H_
+
+
+// System includes
+#include <QObject>
+#include<e32base.h>
+
+// User includes
+#include "wpswizardpage.h"
+#include "mwpsactiverunnercallback.h"
+#include "cwpsactiverunner.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class HbProgressBar;
+class WpsWizardPrivate;
+
+// External data types
+// Constants
+
+// Class declaration
+class WpsPageStepFour : public WpsWizardPage, public MWpsActiveRunnerCallback
+    {
+Q_OBJECT
+public:
+    WpsPageStepFour(WpsWizardPrivate* parent);
+    ~WpsPageStepFour();
+
+public:
+    /*!
+     * Creates a visualization of the page.
+     */
+    HbWidget* initializePage();
+    /*!
+     * Returns id of next page. updates settings EapWizard.
+     */
+    int nextId(bool &removeFromStack) const;
+    /*!
+     * Returns how many steps should be gone backwards. 
+     */
+    int stepsBackwards();
+    /*!
+     * This method is called when Previous button has been pressed.
+     */
+    void previousTriggered();
+    /*!
+     * This method is called when Cancel button has been pressed.
+     */
+    void cancelTriggered();
+    /*!
+     * This method is called when a visualization is displayed to detect
+     * whether next button should be enabled or not.
+     */
+    bool validate() const;
+    /*!
+     * From mwpsactiverunnercallback.h
+     * This method is called from the active runner class to notify the end
+     * of operation
+     */
+    void WpsActiveRunnerStopped(
+            QList<TWlanProtectedSetupCredentialAttribute>& aCredentials,
+            TInt aError);
+
+public slots:
+
+private:
+    Q_DISABLE_COPY(WpsPageStepFour)
+    void StartWpsRunner();
+
+    HbWidget *mWidget;
+    HbRadioButtonList *mRadio;
+    HbLabel *mTitle;
+    HbLabel *mHeading;
+    HbProgressBar *mProgressBar;
+    CWpsActiveRunner *mWpsActiveRunner;
+    int mWpsErrorCode;
+    int countCredentials;
+    bool mValid;
+
+    };
+
+/*! @} */
+
+#endif /* WPSWIZARDSTEPFOUR_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepthreebutton.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,85 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Step 3 Button press mode
+*
+*/
+
+#ifndef WPSWIZARDSTEPTHREEBUTTON_H_
+#define WPSWIZARDSTEPTHREEBUTTON_H_
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class WpsWizardPrivate;
+
+// External data types
+
+// Constants
+
+// Class declaration
+class WpsPageStepThreeButton : public WpsWizardPage
+    {
+Q_OBJECT
+public:
+    WpsPageStepThreeButton(WpsWizardPrivate* parent);
+    ~WpsPageStepThreeButton();
+
+public:
+    /*!
+     * Creates a visualization of the page.
+     */
+    HbWidget* initializePage();
+    /*!
+     * Returns id of next page. updates settings EapWizard.
+     */
+    int nextId(bool &removeFromStack) const;
+    /*!
+     * Returns how many steps should be gone backwards. 
+     */
+    int stepsBackwards();
+    /*!
+     * This method is called when Previous button has been pressed.
+     */
+    void previousTriggered();
+    /*!
+     * This method is called when Cancel button has been pressed.
+     */
+    void cancelTriggered();
+    /*!
+     * This method is called when a visualization is displayed to detect
+     * whether next button should be enabled or not.
+     */
+    bool validate() const;
+    
+public slots:
+
+private:
+    Q_DISABLE_COPY(WpsPageStepThreeButton)
+    HbWidget *mWidget;
+    HbRadioButtonList *mRadio;
+    HbLabel *mTitle;
+    HbLabel *mHeading;
+    bool mValid;
+    };
+
+/*! @} */
+
+#endif /* WPSWIZARDSTEPTHREEBUTTON_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardstepthreenumber.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,94 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Step 3 Number mode
+*
+*/
+
+#ifndef WPSWIZARDSTEPTHREENUMBER_H_
+#define WPSWIZARDSTEPTHREENUMBER_H_
+
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class WpsWizardPrivate;
+
+// External data types
+// Constants
+
+// Class declaration
+class WpsPageStepThreeNumber : public WpsWizardPage
+    {
+    Q_OBJECT
+    public:
+    WpsPageStepThreeNumber(WpsWizardPrivate* parent);
+    ~WpsPageStepThreeNumber();
+    public:
+    /*!
+     * Creates a visualization of the page.
+     */
+    HbWidget* initializePage();
+    /*!
+     * Returns id of next page. updates settings EapWizard.
+     */
+    int nextId(bool &removeFromStack) const;
+    /*!
+     * Returns how many steps should be gone backwards. 
+     */
+    int stepsBackwards();
+    /*!
+     * This method is called when Previous button has been pressed.
+     */
+    void previousTriggered();
+    /*!
+     * This method is called when Cancel button has been pressed.
+     */
+    void cancelTriggered();
+    /*!
+     * This method is called when a visualization is displayed to detect
+     * whether next button should be enabled or not.
+     */
+    bool validate() const;
+
+    private:
+    /*!
+     * This method computes a random number based on current syste time
+     */
+    int computeRandNumber();
+    /*!
+     * This method computes the check sum on the input number
+     */
+    int computeCheckSum(int aPin);
+    
+    private slots:
+    
+    private: // data
+    Q_DISABLE_COPY(WpsPageStepThreeNumber)
+     HbWidget *mWidget;
+     HbRadioButtonList *mRadio;
+     HbLabel *mTitle;
+     HbLabel *mHeading;
+     bool mValid;
+    };
+
+/*! @} */
+
+#endif /* WPSWIZARDSTEPTHREENUMBER_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/inc/wpswizardsteptwo.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,90 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: WPS wizard page 2
+*
+*/
+#ifndef WPSWIZARDSTEPTWO_H_
+#define WPSWIZARDSTEPTWO_H_
+
+// System includes
+#include <QObject>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Forward declarations
+class HbRadioButtonList;
+class HbWidget;
+class HbLabel;
+class WpsWizardPrivate;
+
+
+// External data types
+// Constants
+
+
+// Class declaration
+class WpsPageStepTwo : public WpsWizardPage
+    {
+Q_OBJECT
+public:
+    WpsPageStepTwo(WpsWizardPrivate* parent);
+    ~WpsPageStepTwo();
+
+public:
+    /*!
+     * Creates a visualization of the page.
+     */
+    HbWidget* initializePage();
+    /*!
+     * Returns id of next page. updates settings EapWizard.
+     */
+    int nextId(bool &removeFromStack) const;
+    /*!
+     * Returns how many steps should be gone backwards. 
+     */
+    int stepsBackwards();
+    /*!
+     * This method is called when Previous button has been pressed.
+     */
+    void previousTriggered();
+    /*!
+     * This method is called when Cancel button has been pressed.
+     */
+    void cancelTriggered();
+    /*!
+     * This method is called when a visualization is displayed to detect
+     * whether next button should be enabled or not.
+     */
+    bool validate() const;
+
+public slots:
+    /*!
+     * To receive the signal when an item is selected in the list view
+     */
+    void itemSelected(int index);
+
+private:
+    Q_DISABLE_COPY(WpsPageStepTwo)
+    
+    HbWidget *mWidget;
+    HbRadioButtonList *mRadio;
+    HbLabel *mTitle;
+    HbLabel *mHeading;
+    bool mValid;
+    int mItemSelected;
+    };
+
+
+#endif /* WPSWIZARDSTEPTWO_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/resources/resource.qrc	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,14 @@
+<RCC>
+    <qresource prefix="/docml" >
+        <file>occ_wps_P1.docml</file>
+        <file>occ_wps_P2.docml</file>
+        <file>occ_wps_P3.docml</file>
+        <file>occ_wps_P4.docml</file>
+        <file>occ_wps_P5.docml</file>
+        <file>occ_wps_P6.docml</file>
+    </qresource>
+    <qresource prefix="/icon" />
+    <qresource prefix="/loc" >
+        <file>wpswizardplugin.qm</file>
+    </qresource>
+</RCC>
Binary file wlanutilities/wpswizard/resources/wpswizardplugin.qm has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/resources/wpswizardplugin.ts	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,86 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="3.0" language="en_GB" sourcelanguage="en_GB">
+<context>
+<message numerus="no" id="txt_occ_list_configure_manually">
+    <comment></comment>        
+    <source>Configure manually</source>
+    <translation variants="no">Configure manually</translation>
+    <extra-loc-layout_id>qtl_list_popup_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_01</extra-loc-viewid>
+    <extra-loc-positionid>list</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_occ_list_use_pin_code">
+    <comment></comment>        
+    <source>Use PIN code</source>
+    <translation variants="no">Use PIN code</translation>
+    <extra-loc-layout_id>qtl_list_popup_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_01</extra-loc-viewid>
+    <extra-loc-positionid>list</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_occ_dialog_first_press_button_on_the_wireless">
+    <comment></comment>        
+    <source>First, press button on the wireless station to initiate the setup process, then select ‘Next’.</source>
+    <translation variants="no">First, press button on the wireless station to initiate the setup process, then select ‘Next’.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_02</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_occ_dialog_settings_received_for_multiple_wlan">
+    <comment></comment>        
+    <source>Settings received for multiple WLAN networks. Select the network to use:</source>
+    <translation variants="no">Settings received for multiple WLAN networks. Select the network to use:</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_05</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_occ_dialog_enter_1_on_the_wireless_station_t">
+    <comment></comment>        
+    <source>Enter ‘%1 on the wireless station then select ‘Next’.</source>
+    <translation variants="no">Enter ‘%1 on the wireless station then select ‘Next’.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_03</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_occ_dialog_selected_network_supports_wifi_pro">
+    <comment></comment>        
+    <source>Selected network supports Wi-Fi Protected Setupâ„¢ for receiving settings automatically.</source>
+    <translation variants="no">Selected network supports Wi-Fi Protected Setupâ„¢ for receiving settings automatically.</translation>
+    <extra-loc-layout_id>qtl_dialog_pri5</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_01</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_occ_dialog_negotiating">
+    <comment></comment>        
+    <source>Negotiating</source>
+    <translation variants="no">Negotiating</translation>
+    <extra-loc-layout_id>qtl_dialog_pri3</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_04</extra-loc-viewid>
+    <extra-loc-positionid>dialog</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+<message numerus="no" id="txt_occ_list_use_pushbutton">
+    <comment></comment>        
+    <source>Use push-button</source>
+    <translation variants="no">Use push-button</translation>
+    <extra-loc-layout_id>qtl_list_popup_sec_add</extra-loc-layout_id>    
+    <extra-loc-viewid>occ_wps_01</extra-loc-viewid>
+    <extra-loc-positionid>list</extra-loc-positionid>
+    <extra-loc-feature>oc</extra-loc-feature>
+    <extra-loc-blank>False</extra-loc-blank>
+</message>
+</context>
+</TS>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/rom/wpswizard.iby	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,29 @@
+/*
+* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef WPSWIZARD_IBY
+#define WPSWIZARD_IBY
+
+#include <bldvariant.hrh>
+
+//#ifdef __PROTOCOL_WLAN
+
+file=ABI_DIR\BUILD_DIR\wpswizard.dll SHARED_LIB_DIR\wpswizard.dll
+
+//#endif // __PROTOCOL_WLAN
+
+#endif // WPSWIZARD_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/cwpsactiverunner.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,225 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: Implementation of middleware wrapper class
+ *   
+ *
+ */
+
+
+// User includes
+#include "cwpsactiverunner.h"
+#include "wlanmgmtcommon.h"
+
+//Need to check this.
+const TInt KArrayGranularity = 4;
+
+/*!
+ \class CWpsActiveRunner
+ \brief CWpsActiveRunner is a wrapper class wlan Mgmt engine interface
+ */
+
+
+/*!
+ * Creates the instance of active runner which encapsulates the wlan mgmt
+ * interface middleware calls
+ * 
+ * 
+ * \param MWpsActiveRunnerCallback call back interface to notify the completion of the middleware calls
+ */
+CWpsActiveRunner* CWpsActiveRunner::NewL(MWpsActiveRunnerCallback& aObserver)
+{
+    CWpsActiveRunner* self = new (ELeave) CWpsActiveRunner( aObserver );
+    CleanupStack::PushL(self);
+    self->ConstructL();
+    CleanupStack::Pop(self);
+    return self;
+}
+/*!
+ * Creates the instance of active runner which encapsulates the wlan mgmt
+ * interface middleware calls
+ * 
+ * 
+ * \param MWpsActiveRunnerCallback call back interface to notify the completion of the middleware calls
+ */
+CWpsActiveRunner::CWpsActiveRunner(MWpsActiveRunnerCallback& aObserver) :
+    CActive(EPriorityStandard), iObserver(aObserver)
+{
+#ifdef __arm
+    iIapParametersArray = NULL;
+    iWLANMgmtClient = NULL;
+#endif
+}
+
+/*!
+ * Initializes the member variables
+ * 
+ * 
+ * \return integer error code indicating the result of the operation
+ */
+void CWpsActiveRunner::InitL()
+{
+    CActiveScheduler::Add(this);
+#ifdef __arm
+    InitializeL();
+#else
+    iTimer.CreateLocal();
+#endif
+
+}
+
+void CWpsActiveRunner::ConstructL()
+{
+    InitL();
+}
+
+/*!
+ * Initializes the member variables for making the middleware calls
+ * 
+ */
+
+void CWpsActiveRunner::InitializeL()
+{
+#ifdef __arm    
+    if (!iWLANMgmtClient)
+        iWLANMgmtClient = CWlanMgmtClient::NewL();
+    if (!iIapParametersArray)
+        iIapParametersArray = new (ELeave) CArrayFixSeg<
+    TWlanProtectedSetupCredentialAttribute> (KArrayGranularity);
+#endif    
+}
+
+/*!
+ * Destructor
+ * 
+ */
+
+CWpsActiveRunner::~CWpsActiveRunner()
+{
+    Cancel();
+#ifdef __arm
+    delete iWLANMgmtClient;
+    delete iIapParametersArray;
+#else
+    iTimer.Cancel();
+    iTimer.Close();
+#endif
+}
+
+/*!
+ * Initiates the call to the middleware
+ */
+void CWpsActiveRunner::StartSetup(RBuf8& aSsid, int aPin)
+{
+#ifdef __arm
+    TWlanSsid ssid;
+    TWlanWpsPin pin;
+
+    ssid.Copy(aSsid);
+    TBuf8<32> pinCode;
+    pinCode.AppendNum(aPin);
+    pin.Copy(pinCode);
+    iWLANMgmtClient->RunProtectedSetup(iStatus,ssid,pin,*iIapParametersArray);
+#else
+    iTimer.After(iStatus, 4 * 1000000);
+#endif
+    SetActive();
+
+}
+
+/*!
+ * RunL implementation
+ */
+void CWpsActiveRunner::RunL()
+{
+    TInt completionCode = iStatus.Int();
+    QList<TWlanProtectedSetupCredentialAttribute> credentials;
+
+    if (completionCode < KErrNone) {
+        //Raise Error
+        iObserver.WpsActiveRunnerStopped(credentials, completionCode);
+    }
+    else {
+#ifdef __arm
+        TInt len = iIapParametersArray->Length();
+        TInt count;
+        for(count=0;count<iIapParametersArray->Count();count++)
+        {
+            TWlanProtectedSetupCredentialAttribute attr =(*iIapParametersArray)[count];
+            credentials.append(attr);
+        }
+        iObserver.WpsActiveRunnerStopped(credentials,completionCode);
+#else
+
+        RunProtectedSetup_Stub();
+#endif
+    }
+
+}
+
+/*!
+ * Cancels the ongoing call
+ */
+void CWpsActiveRunner::DoCancel()
+{
+#ifdef __arm    
+    if(iWLANMgmtClient)
+    iWLANMgmtClient->CancelProtectedSetup();
+#else
+    iTimer.Cancel();
+#endif
+}
+
+/*!
+ * Handles the error usecase
+ */
+TInt CWpsActiveRunner::RunError(TInt aError)
+{
+    QList<TWlanProtectedSetupCredentialAttribute> credentials;
+#ifdef __arm    
+    if(iWLANMgmtClient)
+    iWLANMgmtClient->CancelProtectedSetup();
+#else
+    iTimer.Cancel();
+#endif
+
+    iObserver.WpsActiveRunnerStopped(credentials, aError);
+}
+
+#ifndef __arm
+void CWpsActiveRunner::RunProtectedSetup_Stub()
+{
+    QList<TWlanProtectedSetupCredentialAttribute> credentials;
+    TWlanProtectedSetupCredentialAttribute attr1 = { EWlanOperatingModeInfrastructure, // iOperatingMode
+        EWlanAuthenticationModeOpen, // iAuthenticationMode
+        EWlanIapSecurityModeWpa, // iSecurityMode,
+        _L8( "STUB01" ), // iSsid
+        _L8( "" ), // iWepKey1
+        _L8( "" ), // iWepKey2
+        _L8( "" ), // iWepKey3
+        _L8( "" ), // iWepKey4
+        EWlanDefaultWepKey1, // iWepDefaultKey
+        _L8( "testtest" )
+    // iWpaPreSharedKey
+        };
+
+    TWlanProtectedSetupCredentialAttribute attr2 = { EWlanOperatingModeAdhoc,
+        EWlanAuthenticationModeOpen, EWlanIapSecurityModeWep, _L8( "STUB02" ), _L8( "12345" ),
+        _L8( "" ), _L8( "" ), _L8( "" ), EWlanDefaultWepKey1, _L8( "" ) };
+
+    credentials.append(attr1);
+    credentials.append(attr2);
+
+    iObserver.WpsActiveRunnerStopped(credentials, KErrNone);
+}
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizard.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,109 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard: API implementation.
+ *
+ */
+
+
+// System includes
+#include <hbdocumentloader.h>
+#include <qgraphicswidget>
+#include <hbmainwindow.h>
+#include <hbview.h>
+#include <hbstackedwidget.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <qapplication.h>
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardTraces.h"
+#endif
+
+// User includes
+// WLAN Wizard
+#include "wlanwizardhelpper.h"
+
+// Wizard 
+#include "wpswizard.h"
+#include "wpswizard_p.h"
+
+// Wizard Pages
+#include "wpswizardsteptwo.h"
+#include "wpswizardstepthreebutton.h"
+#include "wpswizardstepthreenumber.h"
+#include "wpswizardstepfour.h"
+#include "wpswizardstepfive.h"
+
+
+class WlanWizardHelpper;
+
+/*!
+* Creates the WpsWizard object
+* 
+* \param WlanWizardHelpper* Helper class to from the framework
+* \param BearerType Indicates the bearer type Eg. Wlan
+* 
+*/
+
+WpsWizard::WpsWizard(WlanWizardHelpper *wizardHelpper, BearerType bearerType,
+        int referenceId) :
+    d_ptr(new WpsWizardPrivate(this, wizardHelpper, bearerType, referenceId))
+    {
+    OstTraceFunctionEntry1(WPSWIZARD_WPSWIZARD_ENTRY, this)
+    OstTraceFunctionExit1(WPSWIZARD_WPSWIZARD_EXIT, this)
+    }
+
+/*!
+* Destructor
+* 
+*/
+
+WpsWizard::~WpsWizard()
+    {
+    OstTraceFunctionEntry1(WPSWIZARD_WPSWIZARD_ENTRY, this);
+    delete d_ptr;
+    OstTraceFunctionExit1(WPSWIZARD_WPSWIZARD_EXIT, this);
+    }
+
+/*!
+* StoreSettings: Stores the settings in the commsdat database
+* 
+*/
+
+void WpsWizard::storeSettings()
+    {
+    OstTraceFunctionEntry1(WPSWIZARD_STORESETTINGS_ENTRY, this);
+    OstTraceFunctionExit1(WPSWIZARD_STORESETTINGS_EXIT, this);
+    }
+
+/*!
+* Creates the summary page, valid only for EAP usecase
+* 
+* \param WlanWizardPlugin::Summary indicates the type of summary item
+* \param QString &item item name
+* \param QString &value item value
+* 
+* \return the status of the summary operation
+*/
+
+bool WpsWizard::summary(WlanWizardPlugin::Summary sum, QString &item,
+        QString &value)
+    {
+    OstTraceFunctionEntry1(WPSWIZARD_SUMMARY_ENTRY, this);
+    OstTraceFunctionExit1(WPSWIZARD_SUMMARY_EXIT, this);
+    return true;
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardpage.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,75 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard: API for wizard pages.
+ *
+ */
+
+// System includes
+#include <hbwidget.h>
+
+// User includes
+#include "wpswizardpage.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardpageTraces.h"
+#endif
+
+#define WPS_DEFAULT_STEPBACK 1
+
+ /*!
+ * Constructor for the WPS page baseclass
+ * 
+ * \param WpsWizardPrivate* pointer to the implementation class
+ */
+ 
+WpsWizardPage::WpsWizardPage(WpsWizardPrivate* parent) :
+    mWizard(parent)
+{
+OstTraceFunctionEntry1(WPSWIZARDPAGE_WPSWIZARDPAGE_ENTRY, this)
+OstTraceFunctionExit1(WPSWIZARDPAGE_WPSWIZARDPAGE_EXIT, this)
+}
+
+/*!
+* Destructor
+*/
+WpsWizardPage::~WpsWizardPage()
+{
+    OstTraceFunctionEntry1(WPSWIZARDPAGE_WPSWIZARDPAGE_ENTRY, this)
+    mWizard = NULL;
+OstTraceFunctionExit1(WPSWIZARDPAGE_WPSWIZARDPAGE_EXIT, this)
+}
+
+/*!
+* Determines how many pages to step back.
+* \return number of pages to step backwards
+*/
+int WpsWizardPage::stepsBackwards()
+{
+    OstTraceFunctionEntry1(WPSWIZARDPAGE_STEPBACKWARDS_ENTRY, this)
+    OstTraceFunctionExit1(WPSWIZARDPAGE_STEPBACKWARDS_EXIT, this)
+    return WPS_DEFAULT_STEPBACK;
+}
+
+/*!
+* Validates the contents of the page
+*/
+bool WpsWizardPage::validate() const
+{
+    OstTraceFunctionEntry1(WPSWIZARDPAGE_VALIDATE_ENTRY, this)
+    OstTraceFunctionExit1(WPSWIZARDPAGE_VALIDATE_EXIT, this)
+    return true;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardprivate.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,229 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard: Private implementation.
+ *
+ */
+
+/*
+ * %version: 1 %
+ */
+
+// System includes
+#include <hbdocumentloader.h>
+#include <qgraphicswidget>
+#include <hbmainwindow.h>
+#include <hbview.h>
+#include <hbstackedwidget.h>
+#include <hblabel.h>
+#include <hbaction.h>
+#include <qapplication.h>
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpswizardprivateTraces.h"
+#endif
+
+// User includes
+#include "wlanwizardhelpper.h"
+// Wizard 
+#include "wpswizard.h"
+#include "wpswizard_p.h"
+// Wizard Pages
+#include "wpswizardsteptwo.h"
+#include "wpswizardstepthreebutton.h"
+#include "wpswizardstepthreenumber.h"
+#include "wpswizardstepfour.h"
+#include "wpswizardstepfive.h"
+
+
+class WlanWizardHelpper;
+
+/*!
+ * Constructor for the private implementation of wps wiazard
+ * 
+ * \param WpsWizard* pointer to the framework object
+ * \param WlanWizardHelpper * pointer to the wizard helpper class 
+ * 
+ */
+WpsWizardPrivate::WpsWizardPrivate(WpsWizard* wizard,
+        WlanWizardHelpper *wizardHelpper, int bearerType, int referenceId) :
+    q_ptr(wizard), mBearerType(bearerType), mReferenceId(referenceId),
+            mWizardHelpper(wizardHelpper), mRandomNumber(0)
+
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_ENTRY, this);
+
+    // TODO: load localization file
+    mTranslator = new QTranslator(this);
+    mTranslator->load(":/loc/wpswizardplugin.qm");
+    qApp->installTranslator(mTranslator);
+
+    createPages();
+
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_EXIT, this);
+    }
+
+/*!
+ * Destructor
+ */
+WpsWizardPrivate::~WpsWizardPrivate()
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_ENTRY, this);
+    // have to delete the memory that was allocated in this object
+    mIapList.clear();
+    delete mTranslator;
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_WPSWIZARDPRIVATE_EXIT, this);
+    }
+
+/*!
+ * Provides the caller with the functionality to enable/disable the 'Next' button
+ * 
+ * \param bool to indicate whether to enable or disable the 'next button'
+ */
+void WpsWizardPrivate::enableNextButton(bool enable)
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_ENTRY, this);
+    mWizardHelpper->enableNextButton(enable);
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_ENABLENEXTBUTTON_EXIT, this);
+    }
+
+/*!
+ * Provides the functionality to automatically move to the next page.
+ */
+void WpsWizardPrivate::nextPage()
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_NEXTPAGE_ENTRY, this);
+    mWizardHelpper->nextPage();
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_NEXTPAGE_EXIT, this);
+    }
+
+/*!
+ * Provides the functionality to store the recieved settings
+ * 
+ * \param int indicates the index in the array of received settings to be stored
+ */
+void WpsWizardPrivate::storeSettings(int aIndex)
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGS_ENTRY, this);
+    mWpsAttr = mIapList[aIndex];
+
+    QString ssid = QString::fromUtf8((const char*) mWpsAttr.iSsid.Ptr(),
+            mWpsAttr.iSsid.Length());
+
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfSsid, ssid);
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfNetworkMode,
+            mWpsAttr.iOperatingMode);
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfSecurityMode,
+            mWpsAttr.iSecurityMode);
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWepDefault,
+            mWpsAttr.iWepDefaultKey);
+    QString str = QString::fromUtf8((const char*) mWpsAttr.iWepKey1.Ptr(),
+        mWpsAttr.iWepKey1.Length());
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep1, str);
+    str = QString::fromUtf8((const char*) mWpsAttr.iWepKey2.Ptr(), mWpsAttr.iWepKey2.Length());
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep2, str);
+    str = QString::fromUtf8((const char*) mWpsAttr.iWepKey3.Ptr(), mWpsAttr.iWepKey3.Length());
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep3, str);
+    str = QString::fromUtf8((const char*) mWpsAttr.iWepKey4.Ptr(), mWpsAttr.iWepKey4.Length());
+    mWizardHelpper->setConfigurations(WlanWizardHelpper::ConfKeyWep4, str);
+            
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGS_EXIT, this);
+    }
+
+/*!
+ * Provides the functionality to retrieve the ssid of the network to connect
+ * \return returns the SSID as a QString
+ */
+QString WpsWizardPrivate::getSsid()
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSSID_ENTRY, this);
+    QString ssid;
+    ssid = mWizardHelpper->configurations(WlanWizardHelpper::ConfSsid).toString();
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSSID_EXIT, this);
+    return ssid;
+    }
+
+/*!
+ * Provides functionality for the caller to store the array of recieved settings from AP
+ * \param QList<TWlanProtectedSetupCredentialAttribute>& received settings
+ * 
+ */
+void WpsWizardPrivate::storeSettingsArray(QList<
+        TWlanProtectedSetupCredentialAttribute>& aIapList)
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_ENTRY, this);
+    mIapList = aIapList;
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_STORESETTINGSARRAY_EXIT, this);
+    }
+
+/*!
+ * Returns the array of settings received from the AP
+ * 
+ * \return Array containing the settings
+ */
+QList<TWlanProtectedSetupCredentialAttribute> WpsWizardPrivate::getSettingsArray()
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_ENTRY, this);
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETSETTINGSARRAY_EXIT, this);
+    return mIapList;
+    }
+
+
+
+/*!
+ * Creates the required pages for WPS setup
+ */
+void WpsWizardPrivate::createPages()
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_CREATEPAGES_ENTRY, this);
+    mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep2,
+            new WpsPageStepTwo(this));
+    mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep3_Button,
+            new WpsPageStepThreeButton(this));
+    mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep3_Number,
+            new WpsPageStepThreeNumber(this));
+    mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep4,
+            new WpsPageStepFour(this));
+    mWizardHelpper->addPage(WpsWizardPage::PageWpsWizardStep5,
+            new WpsPageStepFive(this));
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_CREATEPAGES_EXIT, this);
+    }
+
+/*!
+ * Provides with the functionality to store the PIN generated
+ * 
+ * \param int The generated PIN code to be used in succesive steps
+ * 
+ */
+void WpsWizardPrivate::setPin(int random)
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_SETPIN_ENTRY, this);
+    mRandomNumber = random;
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_SETPIN_EXIT, this);
+    }
+
+/*!
+ * Returns the PIN code stored in one of the WPS Pages
+ * 
+ * \return PIN code to be used in the WPS operation.
+ */
+int WpsWizardPrivate::getPin()
+    {
+    OstTraceFunctionEntry1(WPSWIZARDPRIVATE_GETPIN_ENTRY, this);
+    OstTraceFunctionExit1(WPSWIZARDPRIVATE_GETPIN_EXIT, this);
+    return mRandomNumber;
+    
+    }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepfive.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard Page: Step 5
+ *
+ */
+
+// System includes
+#include <hbdocumentloader.h>
+#include <hbwidget.h>
+#include <hbradiobuttonlist.h>
+#include <hblineedit.h>
+#include <hblabel.h>
+
+// User includes
+#include "wpswizardstepfive.h"
+#include "wpswizard_p.h"
+
+// Trace Includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpspagestepfiveTraces.h"
+#endif
+
+/*!
+ * Constructor for WPS page five
+ * 
+ * \param WpsWizardPrivate* Pointer to the WPS wizard private implementation 
+ */
+WpsPageStepFive::WpsPageStepFive(WpsWizardPrivate* parent) :
+    WpsWizardPage(parent), mWidget(NULL), mRadio(NULL), mValid(false)
+{
+OstTraceFunctionEntry1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_EXIT, this)
+
+}
+
+/*!
+ * Destructor
+ */
+WpsPageStepFive::~WpsPageStepFive()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPFIVE_WPSPAGESTEPFIVE_EXIT, this)
+
+    delete mWidget;
+}
+
+/*!
+ * Loads the page with all the widgets
+ * 
+ * \return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepFive::initializePage()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFIVE_INITIALIZEPAGE_ENTRY, this)
+
+    if (!mWidget) {
+        bool ok;
+        HbDocumentLoader loader;
+        loader.load(":/docml/occ_wps_P5.docml", &ok);
+        Q_ASSERT_X(ok, "WPS Wizard", "Invalid docml file");
+
+        mWidget = qobject_cast<HbWidget*> (loader.findWidget("occ_wps_P5"));
+        Q_ASSERT_X(mWidget != 0, "WPS Wizard", "View not found");
+
+        //mTitle = qobject_cast<HbLabel*> (loader.findWidget("label_title"));
+        //Q_ASSERT_X(mTitle != 0, "WPS wizard", "title not found");
+
+        mHeading = qobject_cast<HbLabel*> (loader.findWidget("label_heading"));
+        Q_ASSERT_X(mTitle != 0, "WPS wizard", "Header not found");
+
+        mRadio = qobject_cast<HbRadioButtonList*> (loader.findWidget("radioButtonList"));
+        Q_ASSERT_X(mRadio != 0, "WPS Wizard", "List not found");
+
+        QList<TWlanProtectedSetupCredentialAttribute> arr = mWizard->getSettingsArray();
+
+        QStringList ssidList;
+        for (int count = 0; count < arr.count(); count++) {
+            TWlanProtectedSetupCredentialAttribute attr = arr[count];
+            //file.Write(attr.iSsid);
+            //Append (attr.iSsid) to a list and send to UI Engine.
+            QString ssid = QString::fromUtf8((const char*) attr.iSsid.Ptr(), attr.iSsid.Length());
+            ssidList.append(ssid);
+        }
+
+        mRadio->setItems(ssidList);
+
+        connect(mRadio, SIGNAL(itemSelected(int)), this, SLOT(itemSelected(int)));
+    }
+    OstTraceFunctionExit1(WPSPAGESTEPFIVE_INITIALIZEPAGE_EXIT, this)
+    return mWidget;
+}
+
+/*!
+ * Callback when the previous button is clicked
+ */
+void WpsPageStepFive::previousTriggered()
+{
+OstTraceFunctionEntry1(WPSPAGESTEPFIVE_PREVIOUSTRIGGERED_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPFIVE_PREVIOUSTRIGGERED_EXIT, this)
+
+}
+/*!
+ * CallBack when the cancel button is clicked
+ */
+void WpsPageStepFive::cancelTriggered()
+{
+OstTraceFunctionEntry1(WPSPAGESTEPFIVE_CANCELTRIGGERED_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPFIVE_CANCELTRIGGERED_EXIT, this)
+
+}
+/*!
+ * Funtion to determine the next page to be displayed in the wizard process
+ * 
+ * \param bool& RemoveFromStack indicating whether the current page should be 
+ * removed from the stack
+ * 
+ * \return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepFive::nextId(bool &removeFromStack) const
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFIVE_NEXTID_ENTRY, this)
+
+    int id = WlanWizardPage::PageProcessSettings;
+    removeFromStack = false;
+    OstTraceFunctionExit1(WPSPAGESTEPFIVE_NEXTID_EXIT, this)
+    return id;
+}
+
+/*!
+ * Determines the Number of steps to move backwards when 'Prev' Button
+ * is clicked
+ * 
+ * \return int Number of pages to move backwards
+ */
+int WpsPageStepFive::stepsBackwards()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFIVE_STEPSBACKWARDS_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPFIVE_STEPBACKWARDS_EXIT, this)
+
+    return (PageWpsWizardStep5 - PageWpsWizardStep2) - 1;
+}
+
+/*!
+ * Validates the content of the pages
+ * 
+ * \return bool Indicating the result of the operation
+ */
+bool WpsPageStepFive::validate() const
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFIVE_VALIDATE_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPFIVE_VALIDATE_EXIT, this)
+
+    return mValid;
+}
+
+/*!
+ * Call back when an item is selected from the list on the UI
+ * 
+ * \param int index Indcating the relative position in the list
+ */
+void WpsPageStepFive::itemSelected(int index)
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFIVE_ITEMSELECTED_ENTRY, this)
+
+    mValid = true;
+    mWizard->storeSettings(index);
+    mWizard->enableNextButton(mValid);
+
+    OstTraceFunctionExit1(WPSPAGESTEPFIVE_ITEMSELECTED_EXIT, this)
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepfour.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,244 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard Page: Step 4 progress bar display
+ *
+ */
+
+/*
+ * %version: 1 %
+ */
+
+// System includes
+#include <hbdocumentloader.h>
+#include <hbwidget.h>
+#include <hbradiobuttonlist.h>
+#include <hblineedit.h>
+#include <hblabel.h>
+#include <hbprogressbar.h>
+#include <hbmessagebox.h>
+
+// User includes
+#include "wpswizardstepfour.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpspagestepfourTraces.h"
+#endif
+
+/*!
+ * Constructor for WPS page four
+ * 
+ * \param WpsWizardPrivate* Pointer to the WPS wizard private implementation 
+ */
+WpsPageStepFour::WpsPageStepFour(WpsWizardPrivate* parent) :
+    WpsWizardPage(parent), mWidget(NULL), mRadio(NULL), mValid(false)
+{
+OstTraceFunctionEntry1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_EXIT, this)
+
+}
+
+/*!
+ * Destructor
+ */
+WpsPageStepFour::~WpsPageStepFour()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_ENTRY, this)
+
+    delete mWidget;
+    delete mWpsActiveRunner;
+
+OstTraceFunctionExit1(WPSPAGESTEPFOUR_WPSPAGESTEPFOUR_EXIT, this)
+}
+
+/*!
+  * Loads the page with all the widgets
+  * 
+  * \return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepFour::initializePage()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_INITIALIZEPAGE_ENTRY, this)
+
+    if (!mWidget) {
+        bool ok;
+        HbDocumentLoader loader;
+        loader.load(":/docml/occ_wps_P4.docml", &ok);
+        Q_ASSERT_X(ok, "WPS Wizard", "Invalid docml file");
+
+        mWidget = qobject_cast<HbWidget*> (loader.findWidget("occ_wps_P4"));
+        Q_ASSERT_X(mWidget != 0, "WPS Wizard", "View not found");
+
+        //mTitle = qobject_cast<HbLabel*> (loader.findWidget("label_title"));
+        //Q_ASSERT_X(mTitle != 0, "WPS wizard", "title not found");
+
+        mHeading = qobject_cast<HbLabel*> (loader.findWidget("label_heading"));
+        Q_ASSERT_X(mTitle != 0, "WPS wizard", "Header not found");
+
+        mProgressBar = qobject_cast<HbProgressBar*> (loader.findWidget("horizontalProgressBar"));
+        Q_ASSERT_X(mRadio != 0, "WPS Wizard", "List not found");
+
+        // start the framework.
+        mWpsActiveRunner = CWpsActiveRunner::NewL(*this);
+        Q_ASSERT(error == NULL);
+    }
+
+    mProgressBar->setRange(0, 0);
+
+    StartWpsRunner();
+    OstTraceFunctionExit1(WPSPAGESTEPFOUR_INITIALIZEPAGE_EXIT, this)
+
+    return mWidget;
+}
+
+/*!
+  * Funtion to determine the next page to be displayed in the wizard process
+  * 
+  * \param bool& RemoveFromStack indicating whether the current page should be 
+  * removed from the stack
+  * 
+  * \return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepFour::nextId(bool &removeFromStack) const
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_NEXTID_ENTRY, this)
+
+    int id = WpsWizardPage::PageNone;
+    removeFromStack = false;
+    if (countCredentials >= 2) {
+        id = WpsWizardPage::PageWpsWizardStep5;
+    }
+    else {
+        // only one response received. So go to the summary page
+        mWizard->storeSettings(0);
+        id = WlanWizardPage::PageProcessSettings;
+    }
+    OstTraceFunctionExit1(WPSPAGESTEPFOUR_NEXTID_EXIT, this)
+
+    return id;
+}
+
+
+/*!
+  * Determines the Number of steps to move backwards when 'Prev' Button
+  * is clicked
+  * 
+  * \return int Number of pages to move backwards
+ */
+int WpsPageStepFour::stepsBackwards()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_STEPSBACKWARDS_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPFOUR_STEPBACKWARDS_EXIT, this)
+
+    return (PageWpsWizardStep4 - PageWpsWizardStep2) - 1;
+}
+
+/*!
+  * Callback when the previous button is clicked
+ */
+void WpsPageStepFour::previousTriggered()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_PREVIOUSTRIGGERED_ENTRY, this)
+
+    mWpsActiveRunner->DoCancel();
+OstTraceFunctionExit1(WPSPAGESTEPFOUR_PREVIOUSTRIGGERED_EXIT, this)
+
+}
+
+/*!
+ * CallBack when the cancel button is clicked
+*/
+void WpsPageStepFour::cancelTriggered()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_CANCELTRIGGERED_ENTRY, this)
+
+    mWpsActiveRunner->DoCancel();
+OstTraceFunctionExit1(WPSPAGESTEPFOUR_CANCELTRIGGERED_EXIT, this)
+
+}
+
+/*!
+  * Validates the content of the pages
+  * 
+  * \return bool Indicating the result of the operation
+ */
+bool WpsPageStepFour::validate() const
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_VALIDATE_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPFOUR_VALIDATE_EXIT, this)
+
+    return mValid;
+}
+
+
+/*!
+ * CallBack function when the middleware WPS call returns back
+ * 
+ * \param QList An array of received settngs
+ * \param int Error indicating the result of the operation
+ * 
+ */
+void WpsPageStepFour::WpsActiveRunnerStopped(
+    QList<TWlanProtectedSetupCredentialAttribute>& aCredentials, TInt aError)
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_WPSACTIVERUNNERSTOPPED_ENTRY, this)
+
+    mWpsErrorCode = aError;
+    if (aError == KErrNone) {
+        countCredentials = aCredentials.count();
+        mWizard->storeSettingsArray(aCredentials);
+        mWizard->nextPage();
+    }
+    else if (aError == KErrCancel) {
+        // operation was cancelled 
+
+    }
+    else {
+        QString str;
+        str = QString("Error: %1").arg(aError);
+        mProgressBar->setVisible(false);
+        //mHeading->setPlainText("General Error");
+        mHeading->setPlainText(str);
+        mWizard->enableNextButton(false);
+
+    }
+OstTraceFunctionExit1(WPSPAGESTEPFOUR_WPSACTIVERUNNERSTOPPED_EXIT, this)
+}
+
+
+/*!
+ * Provides the functionality to initiate the WPS functionality
+ */
+void WpsPageStepFour::StartWpsRunner()
+{
+
+    OstTraceFunctionEntry1(WPSPAGESTEPFOUR_STARTWPSRUNNER_ENTRY, this)
+
+    // convert QString to symbian RBuf8
+
+    QString ssid = mWizard->getSsid();
+
+    TPtrC ptrName(reinterpret_cast<const TText*> (ssid.constData()));
+
+    RBuf8 ssidName;
+    ssidName.Create(ptrName.Length());
+    ssidName.Copy(ptrName);
+
+    mWpsActiveRunner->StartSetup(ssidName, mWizard->getPin());
+    ssidName.Close();
+OstTraceFunctionExit1(WPSPAGESTEPFOUR_STARTWPSRUNNER_EXIT, this)
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepthreebutton.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,158 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard Page: Step 3 Push button number
+ *
+ */
+
+// System includes
+#include <hbdocumentloader.h>
+#include <hbwidget.h>
+#include <hbradiobuttonlist.h>
+#include <hblineedit.h>
+#include <hblabel.h>
+
+// User includes
+#include "wpswizardstepthreebutton.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpspagestepthreebuttonTraces.h"
+#endif
+
+
+/*!
+ * Constructor for WPS page three button
+ * 
+ * \param WpsWizardPrivate* Pointer to the WPS wizard private implementation 
+ */
+WpsPageStepThreeButton::WpsPageStepThreeButton(WpsWizardPrivate* parent) :
+    WpsWizardPage(parent), mWidget(NULL), mRadio(NULL), mValid(true)
+{
+OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_EXIT, this)
+
+}
+
+/*!
+ * Destructor
+ */
+WpsPageStepThreeButton::~WpsPageStepThreeButton()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_ENTRY, this)
+
+    delete mWidget;
+
+OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_WPSPAGESTEPTHREEBUTTON_EXIT, this)
+}
+
+/*!
+  * Loads the page with all the widgets
+  * 
+  * \return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepThreeButton::initializePage()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_INITIALIZEPAGE_ENTRY, this)
+
+    if (!mWidget) {
+        bool ok;
+        HbDocumentLoader loader;
+        loader.load(":/docml/occ_wps_P2.docml", &ok);
+        Q_ASSERT_X(ok, "WPS Wizard", "Invalid docml file");
+
+        mWidget = qobject_cast<HbWidget*> (loader.findWidget("occ_wps_P2"));
+        Q_ASSERT_X(mWidget != 0, "WPS Wizard", "View not found");
+
+        //mTitle = qobject_cast<HbLabel*> (loader.findWidget("label_title"));
+        //Q_ASSERT_X(mTitle != 0, "WPS wizard", "title not found");
+
+        mHeading = qobject_cast<HbLabel*> (loader.findWidget("label_heading"));
+        Q_ASSERT_X(mHeading != 0, "WPS wizard", "Header not found");
+
+        mWizard->enableNextButton(true);
+    }
+    OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_INITIALIZEPAGE_EXIT, this)
+
+    return mWidget;
+}
+
+/*!
+  * Funtion to determine the next page to be displayed in the wizard process
+  * 
+  * \param bool& RemoveFromStack indicating whether the current page should be 
+  * removed from the stack
+  * 
+  * \return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepThreeButton::nextId(bool &removeFromStack) const
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_NEXTID_ENTRY, this)
+    int id = WlanWizardPage::PageNone;
+    removeFromStack = false;
+    id = WpsWizardPage::PageWpsWizardStep4;
+    OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_NEXTID_EXIT, this)
+
+    return id;
+}
+
+/*!
+ * Determines the Number of steps to move backwards when 'Prev' Button
+ * is clicked
+ * 
+ * \return int Number of pages to move backwards
+*/
+int WpsPageStepThreeButton::stepsBackwards()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_STEPSBACKWARDS_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_STEPBACKWARDS_EXIT, this)
+
+    return (PageWpsWizardStep3_Button - PageWpsWizardStep2);
+}
+
+/*!
+  * Callback when the previous button is clicked
+ */
+void WpsPageStepThreeButton::previousTriggered()
+{
+OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_PREVIOUSTRIGGERED_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_PREVIOUSTRIGGERED_EXIT, this)
+
+}
+
+/*!
+  * CallBack when the cancel button is clicked
+ */
+void WpsPageStepThreeButton::cancelTriggered()
+{
+OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_CANCELTRIGGERED_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_CANCELTRIGGERED_EXIT, this)
+
+}
+
+/*!
+ * Validates the content of the pages
+ * 
+ * \return bool Indicating the result of the operation
+*/
+bool WpsPageStepThreeButton::validate() const
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREEBUTTON_VALIDATE_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTHREEBUTTON_VALIDATE_EXIT, this)
+
+    return mValid;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardstepthreenumber.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,225 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard Page: Step 3 Number enter mode.
+ *
+ */
+
+// System includes
+#include <hbdocumentloader.h>
+#include <hbwidget.h>
+#include <hbradiobuttonlist.h>
+#include <hblineedit.h>
+#include <hblabel.h>
+#include <QTextStream>
+#include <QTime>
+
+// User includes
+#include "wpswizardstepthreenumber.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpspagestepthreenumberTraces.h"
+#endif
+
+// Local constants
+#define KMaxPINLength 8
+
+
+/*!
+ * Constructor for WPS page three number entry mode
+ * 
+ * \param WpsWizardPrivate* Pointer to the WPS wizard private implementation 
+ */
+WpsPageStepThreeNumber::WpsPageStepThreeNumber(WpsWizardPrivate* parent) :
+    WpsWizardPage(parent), mWidget(NULL), mRadio(NULL), mValid(true)
+{
+OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_ENTRY, this)
+OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_EXIT, this)
+
+}
+
+
+/*!
+ * Destructor
+ */
+WpsPageStepThreeNumber::~WpsPageStepThreeNumber()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_ENTRY, this)
+
+    delete mWidget;
+
+OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_WPSPAGESTEPTHREENUMBER_EXIT, this)
+
+}
+
+
+/*!
+  * Loads the page with all the widgets
+  * 
+  * \return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepThreeNumber::initializePage()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_ENTRY, this)
+
+    if (!mWidget) {
+        bool ok;
+        HbDocumentLoader loader;
+        loader.load(":/docml/occ_wps_P3.docml", &ok);
+        Q_ASSERT_X(ok, "WPS Wizard", "Invalid docml file");
+
+        mWidget = qobject_cast<HbWidget*> (loader.findWidget("occ_wps_P3"));
+        Q_ASSERT_X(mWidget != 0, "WPS Wizard", "View not found");
+
+        mHeading = qobject_cast<HbLabel*> (loader.findWidget("label_heading"));
+        Q_ASSERT_X(mHeading != 0, "WPS wizard", "Header not found");
+
+        int randomNumber = computeRandNumber();
+        mHeading->setPlainText(hbTrId("txt_occ_dialog_enter_1_on_the_wireless_station_t").arg(
+            randomNumber));
+        mWizard->setPin(randomNumber);
+        mWizard->enableNextButton(true);
+    }
+    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_INITIALIZEPAGE_EXIT, this)
+
+    return mWidget;
+}
+
+
+/*!
+  * Funtion to determine the next page to be displayed in the wizard process
+  * 
+  * \param bool& RemoveFromStack indicating whether the current page should be 
+  * removed from the stack
+  * 
+  * \return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepThreeNumber::nextId(bool &removeFromStack) const
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_NEXTID_ENTRY, this)
+
+    int id = WlanWizardPage::PageNone;
+    removeFromStack = false;
+    id = WpsWizardPage::PageWpsWizardStep4;
+    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_NEXTID_EXIT, this)
+
+    return id;
+}
+
+/*!
+ * Determines the Number of steps to move backwards when 'Prev' Button
+ * is clicked
+ * 
+ * \return int Number of pages to move backwards
+*/
+int WpsPageStepThreeNumber::stepsBackwards()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_STEPSBACKWARDS_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_STEPBACKWARDS_EXIT, this)
+
+    return (PageWpsWizardStep3_Number - PageWpsWizardStep2) - 1;
+}
+
+/*!
+  * Callback when the previous button is clicked
+ */
+void WpsPageStepThreeNumber::previousTriggered()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_ENTRY, this)
+
+    mWizard->setPin(0);
+OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_PREVIOUSTRIGGERED_EXIT, this)
+
+}
+
+/*!
+ * CallBack when the cancel button is clicked
+*/
+void WpsPageStepThreeNumber::cancelTriggered()
+{
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_ENTRY, this)
+
+    mWizard->setPin(0);
+OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_CANCELTRIGGERED_EXIT, this)
+
+}
+
+/*!
+ * Validates the content of the pages
+ * 
+ * \return bool Indicating the result of the operation
+*/
+bool WpsPageStepThreeNumber::validate() const
+{
+
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_VALIDATE_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_VALIDATE_EXIT, this)
+
+    return mValid;
+}
+
+/*!
+ * Computes the Random number based on current system time
+ * 
+ * \return int Returns the generated random number
+ */
+int WpsPageStepThreeNumber::computeRandNumber()
+{
+
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_ENTRY, this)
+
+    int pin = 0;
+    QTime time(0, 0);
+    int seed = time.secsTo(QTime::currentTime());
+    do {
+        qsrand(seed);
+        pin = qrand();
+    } while (pin < (10 ^ (KMaxPINLength - 2)) || (((pin / 1000000) % 10)) == 0);
+    //last digit is checksum, so we need 7 digits
+    //and the first shouldn't be 0
+    pin = pin % 10000000;
+    TInt checkSum = computeCheckSum(pin);
+    pin *= 10;
+    pin += checkSum;
+    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTERANDNUMBER_EXIT, this)
+    return pin;
+}
+
+/*!
+ * Computes the checksum for a given pin
+ * 
+ * \return Returns the generated checksum
+ */
+int WpsPageStepThreeNumber::computeCheckSum(int aPin)
+{
+
+    OstTraceFunctionEntry1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_ENTRY, this)
+
+    int accum = 0;
+    aPin *= 10;
+    accum += 3 * ((aPin / 10000000) % 10);
+    accum += 1 * ((aPin / 1000000) % 10);
+    accum += 3 * ((aPin / 100000) % 10);
+    accum += 1 * ((aPin / 10000) % 10);
+    accum += 3 * ((aPin / 1000) % 10);
+    accum += 1 * ((aPin / 100) % 10);
+    accum += 3 * ((aPin / 10) % 10);
+    int digit = (accum % 10);
+    OstTraceFunctionExit1(WPSPAGESTEPTHREENUMBER_COMPUTECHECKSUM_EXIT, this)
+    return (10 - digit) % 10;
+}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/src/wpswizardsteptwo.cpp	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,184 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of the License "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description: 
+ *   WPS Wizard Page: Step 2
+ *
+ */
+
+// System includes
+#include <hbdocumentloader.h>
+#include <hbwidget.h>
+#include <hbradiobuttonlist.h>
+#include <hblineedit.h>
+#include <hblabel.h>
+
+// User includes
+#include "wpswizardsteptwo.h"
+#include "wpswizard_p.h"
+
+// Trace includes
+#include "OstTraceDefinitions.h"
+#ifdef OST_TRACE_COMPILER_IN_USE
+#include "wpspagesteptwoTraces.h"
+#endif
+
+
+/*!
+ * Constructor for WPS page two
+ * 
+ * \param WpsWizardPrivate* Pointer to the WPS wizard private implementation 
+ */
+WpsPageStepTwo::WpsPageStepTwo(WpsWizardPrivate* parent) :
+    WpsWizardPage(parent), mWidget(NULL), mRadio(NULL), mValid(false)
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_EXIT, this)
+
+    }
+
+/*!
+ * Destructor
+ */
+WpsPageStepTwo::~WpsPageStepTwo()
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_ENTRY, this)
+
+    delete mWidget;
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_WPSPAGESTEPTWO_EXIT, this)
+
+    }
+
+/*!
+  * Loads the page with all the widgets
+  * 
+  * \return HbWidget* Returns the view widget
+ */
+HbWidget* WpsPageStepTwo::initializePage()
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_INITIALIZEPAGE_ENTRY, this)
+
+    if (!mWidget)
+        {
+        bool ok;
+        HbDocumentLoader loader;
+        loader.load(":/docml/occ_wps_P1.docml", &ok);
+        Q_ASSERT_X(ok, "WPS Wizard", "Invalid docml file");
+
+        mWidget = qobject_cast<HbWidget*> (loader.findWidget("occ_wps_P1"));
+        Q_ASSERT_X(mWidget != 0, "WPS Wizard", "View not found");
+
+        mHeading
+                = qobject_cast<HbLabel*> (loader.findWidget("label_heading"));
+        Q_ASSERT_X(mTitle != 0, "WPS wizard", "Header not found");
+
+        mRadio = qobject_cast<HbRadioButtonList*> (loader.findWidget(
+                "radioButtonList"));
+        Q_ASSERT_X(mRadio != 0, "WPS Wizard", "List not found");
+
+        connect(mRadio, SIGNAL(itemSelected(int)), this,
+                SLOT(itemSelected(int)));
+
+        }
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_INITIALIZEPAGE_EXIT, this)
+
+    return mWidget;
+    }
+
+
+/*!
+  * Funtion to determine the next page to be displayed in the wizard process
+  * 
+  * \param bool& RemoveFromStack indicating whether the current page should be 
+  * removed from the stack
+  * 
+  * \return int Page Id of the next page to be displayed.
+ */
+int WpsPageStepTwo::nextId(bool &removeFromStack) const
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_NEXTID_ENTRY, this)
+    int id = WpsWizardPage::PageWpsWizardStep3_Button;
+    removeFromStack = false;
+    if (mItemSelected == 0)
+        id = WpsWizardPage::PageWpsWizardStep3_Button;
+    else
+        id = WpsWizardPage::PageWpsWizardStep3_Number;
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_NEXTID_EXIT, this)
+
+
+    return id;
+    }
+
+/*!
+  * Determines the Number of steps to move backwards when 'Prev' Button
+  * is clicked
+  * 
+  * \return int Number of pages to move backwards
+ */
+int WpsPageStepTwo::stepsBackwards()
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_STEPSBACKWARDS_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_STEPBACKWARDS_EXIT, this)
+
+    return 1;
+    }
+
+/*!
+ * Callback when the previous button is clicked
+*/
+void WpsPageStepTwo::previousTriggered()
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_PREVIOUSTRIGGERED_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_PREVIOUSTRIGGERED_EXIT, this)
+
+    }
+
+/*!
+  * CallBack when the cancel button is clicked
+ */
+void WpsPageStepTwo::cancelTriggered()
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_CANCELTRIGGERED_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_CANCELTRIGGERED_EXIT, this)
+
+    }
+
+/*!
+  * Validates the content of the pages
+  * 
+  * \return bool Indicating the result of the operation
+ */
+bool WpsPageStepTwo::validate() const
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_VALIDATE_ENTRY, this)
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_VALIDATE_EXIT, this)
+
+    return mValid;
+    }
+
+/*!
+  * Call back when an item is selected from the list on the UI
+  * 
+  * \param int index Indcating the relative position in the list
+ */
+void WpsPageStepTwo::itemSelected(int index)
+    {
+    OstTraceFunctionEntry1(WPSPAGESTEPTWO_ITEMSELECTED_ENTRY, this)
+
+    mValid = true;
+    mWizard->enableNextButton(mValid);
+    mItemSelected = index;
+    OstTraceFunctionExit1(WPSPAGESTEPTWO_ITEMSELECTED_EXIT, this)
+
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/traces/OstTraceDefinitions.h	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,20 @@
+/*
+ * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+ * All rights reserved.
+ * This component and the accompanying materials are made available
+ * under the terms of "Eclipse Public License v1.0"
+ * which accompanies this distribution, and is available
+ * at the URL "http://www.eclipse.org/legal/epl-v10.html".
+ *
+ * Initial Contributors:
+ * Nokia Corporation - initial contribution.
+ *
+ * Contributors:
+ *
+ * Description:
+ */
+
+#ifndef __OSTTRACEDEFINITIONS_H__
+#define __OSTTRACEDEFINITIONS_H__
+#include <opensystemtrace.h>
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wlanutilities/wpswizard/wpswizard.pro	Fri Apr 16 16:07:56 2010 +0300
@@ -0,0 +1,59 @@
+#
+# Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+# Description: 
+#
+
+TEMPLATE = lib
+TARGET = wpswizard
+DEFINES += BUILD_WPS_WIZARD_DLL
+VERSION = 0.0.1
+CONFIG += hb
+MOC_DIR = _moc
+RCC_DIR = _resources
+RESOURCES += resources/resource.qrc
+TRANSLATIONS += resources/wpswizardplugin.ts
+HEADERS += ../inc/wpswizard.h \
+    inc/wpswizard_p.h \
+    inc/wpswizardpage.h \
+    inc/wpswizardsteptwo.h \
+    inc/wpswizardstepthreebutton.h \
+    inc/wpswizardstepthreenumber.h \
+    inc/wpswizardstepfour.h \
+    inc/wpswizardstepfive.h \
+    inc/cwpsactiverunner.h \
+    inc/mwpsactiverunnercallback.h \
+    traces/OstTraceDefinitions.h
+SOURCES += src/wpswizardprivate.cpp \
+    src/wpswizard.cpp \
+    src/wpswizardpage.cpp \
+    src/wpswizardsteptwo.cpp \
+    src/wpswizardstepthreebutton.cpp \
+    src/wpswizardstepthreenumber.cpp \
+    src/wpswizardstepfour.cpp \
+    src/wpswizardstepfive.cpp \
+    src/cwpsactiverunner.cpp
+LIBS += -lecom
+symbian { 
+    HEADERS += 
+    SOURCES += 
+    INCLUDEPATH += inc \
+        ../../inc \
+        ../wlanwizard/inc \
+        $$MW_LAYER_SYSTEMINCLUDE \
+        $$OS_LAYER_SYSTEMINCLUDE
+    TARGET.UID3 = 0x2003D2FE
+    TARGET.CAPABILITY = CAP_GENERAL_DLL
+    BLD_INF_RULES.prj_exports += "rom/wpswizard.iby CORE_MW_LAYER_IBY_EXPORT_PATH(wpswizard.iby)"
+    TARGET.EPOCALLOWDLLDATA = 1
+    MMP_RULES += EXPORTUNFROZEN
+}