--- a/wlanutilities/wlanqtutilities/base/src/wlanqtutils_p.cpp Tue Aug 31 16:18:40 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,865 +0,0 @@
-/*
-* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-* WLAN Qt Utilities private implementation.
-*/
-
-// System includes
-
-#include <QSharedPointer>
-
-// User includes
-
-#include "wlanqtutilsap.h"
-#include "wlanqtutilsiap.h"
-#include "wlanqtutilsconnection.h"
-#include "wlanqtutilsiapsettings.h"
-#include "wlanqtutilsconmonwrapper.h"
-#include "wlanqtutilsesockwrapper.h"
-#include "wlanqtutilsscan.h"
-
-#include "wlanqtutils.h"
-#include "wlanqtutils_p.h"
-
-#include "OstTraceDefinitions.h"
-#ifdef OST_TRACE_COMPILER_IN_USE
-#include "wlanqtutils_pTraces.h"
-#endif
-
-/*!
- \class WlanQtUtilsPrivate
- \brief Private implementation class for WLAN Qt Utilities.
-
- The private interface functions are identical to those in WlanQtUtils
- class, so refer to that for descriptions. Other functions contain
- implementation documentation.
-*/
-
-
-// External function prototypes
-
-// Local constants
-
-// ======== LOCAL FUNCTIONS ========
-
-// ======== MEMBER FUNCTIONS ========
-
-/*!
- Constructor.
-*/
-
-WlanQtUtilsPrivate::WlanQtUtilsPrivate(WlanQtUtils *q_ptr) :
- q_ptr(q_ptr),
- mSettings(new WlanQtUtilsIapSettings(this)),
- mConMonWrapper(new WlanQtUtilsConMonWrapper(this)),
- mScanWrapper(new WlanQtUtilsScan(this)),
- mEsockWrapper(new WlanQtUtilsEsockWrapper(this)),
- mIctService(),
- mScanMode(ScanModeNone),
- mIapScanList(),
- mWlanScanList(),
- mToBeTestedIapId(WlanQtUtils::IapIdNone),
- mConnectingIapId(WlanQtUtils::IapIdNone),
- mConnection()
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_ENTRY, this);
-
- // Make all connections.
- bool connectStatus = connect(
- mScanWrapper,
- SIGNAL(availableWlanIaps(QList< QSharedPointer<WlanQtUtilsIap> > &)),
- this,
- SLOT(updateAvailableWlanIaps(QList< QSharedPointer<WlanQtUtilsIap> > &)));
- Q_ASSERT(connectStatus);
-
- connectStatus = connect(
- mScanWrapper,
- SIGNAL(availableWlanAps(QList< QSharedPointer<WlanQtUtilsAp> >&)),
- this,
- SLOT(updateAvailableWlanAps(QList< QSharedPointer<WlanQtUtilsAp> >&)));
- Q_ASSERT(connectStatus);
-
- connectStatus = connect(
- mScanWrapper,
- SIGNAL(scanFailed(int)),
- this,
- SLOT(reportScanResult(int)));
- Q_ASSERT(connectStatus);
-
- connectStatus = connect(
- mEsockWrapper,
- SIGNAL(connectionStatusFromWrapper(bool)),
- this,
- SLOT(updateConnectionStatus(bool)));
- Q_ASSERT(connectStatus);
-
- connectStatus = connect(
- mConMonWrapper,
- SIGNAL(connCreatedEventFromWrapper(uint)),
- this,
- SLOT(addActiveConnection(uint)));
- Q_ASSERT(connectStatus);
-
- connectStatus = connect(
- mConMonWrapper,
- SIGNAL(connDeletedEventFromWrapper(uint)),
- this,
- SLOT(removeActiveConnection(uint)));
- Q_ASSERT(connectStatus);
-
- connectStatus = connect(
- mConMonWrapper,
- SIGNAL(connStatusEventFromWrapper(uint, WlanQtUtils::ConnStatus)),
- this,
- SLOT(updateActiveConnection(uint, WlanQtUtils::ConnStatus)));
- Q_ASSERT(connectStatus);
-
- // Retrieve initial status of active connections
- mConnection = QSharedPointer<WlanQtUtilsConnection>(
- mConMonWrapper->activeConnection());
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_EXIT, this);
-}
-
-/*!
- Destructor.
-*/
-
-WlanQtUtilsPrivate::~WlanQtUtilsPrivate()
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_ENTRY, this);
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::scanWlans().
-*/
-
-void WlanQtUtilsPrivate::scanWlans()
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANS_ENTRY, this);
-
- // Scanning while there is an ongoing scan is not supported
- Q_ASSERT(mScanMode == ScanModeNone);
-
- // Starting with an IAP scan, and continuing with AP scan
- mScanMode = ScanModeAvailableWlans;
- mScanWrapper->scanWlanIaps();
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANS_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::scanWlanAps().
-*/
-
-void WlanQtUtilsPrivate::scanWlanAps()
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANAPS_ENTRY, this);
-
- // Scanning while there is an ongoing scan is not supported
- Q_ASSERT(mScanMode == ScanModeNone);
-
- // Just forward the request to wrapper, which triggers a broadcast WLAN scan
- mScanMode = ScanModeAvailableWlanAps;
- mScanWrapper->scanWlanAps();
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANAPS_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::scanWlanDirect().
-*/
-
-void WlanQtUtilsPrivate::scanWlanDirect(const QString &ssid)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANDIRECT_ENTRY, this);
-
- // Scanning while there is an ongoing scan is not supported
- Q_ASSERT(mScanMode == ScanModeNone);
-
- // Just forward the request to wrapper, which triggers a direct WLAN scan
- mScanMode = ScanModeDirect;
- mScanWrapper->scanWlanDirect(ssid);
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANDIRECT_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::stopWlanScan().
-*/
-
-void WlanQtUtilsPrivate::stopWlanScan()
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_STOPWLANSCAN_ENTRY, this);
-
- if (mScanMode != ScanModeNone) {
- // Inform that scan was cancelled
- reportScanResult(WlanQtUtils::ScanStatusCancelled);
-
- // Stop the scan
- mScanMode = ScanModeNone;
- mScanWrapper->stopScan();
- }
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_STOPWLANSCAN_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::availableWlans().
-*/
-
-void WlanQtUtilsPrivate::availableWlans(
- QList< QSharedPointer<WlanQtUtilsIap> > &wlanIapList,
- QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_AVAILABLEWLAN_ENTRY, this);
-
- wlanIapList.clear();
- wlanApList.clear();
-
- // Read the list of configured IAPs
- QList< QSharedPointer<WlanQtUtilsIap> > configuredIapList;
- mSettings->fetchIaps(configuredIapList);
-
- // Update the list of available IAPs
- foreach (QSharedPointer<WlanQtUtilsIap> iapIter, mIapScanList) {
- int iapId = iapIter->value(WlanQtUtilsIap::ConfIdIapId).toInt();
- QSharedPointer<WlanQtUtilsIap> iap(mSettings->fetchIap(iapId));
- if (iap) {
- // Only add the IAP if we (still) have the settings for it
- iap->setValue(
- WlanQtUtilsAp::ConfIdSignalStrength,
- iapIter->value(WlanQtUtilsAp::ConfIdSignalStrength));
- wlanIapList.append(iap);
- }
- }
-
- // Go through the scan results to find unknown APs
- for (int i = 0; i < mWlanScanList.count(); i++) {
- // Check whether an IAP with these parameters exists (in which
- // case this network is already added as an IAP in the loop above)
- if (!wlanIapExists(configuredIapList, mWlanScanList[i].data())) {
- // No IAP found in, copy the AP to caller's list of
- // unknown APs
- wlanApList.append(mWlanScanList[i]);
- }
- }
-
- traceIapsAndAps(wlanIapList, wlanApList);
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_AVAILABLEWLAN_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::availableWlanAps().
-*/
-
-void WlanQtUtilsPrivate::availableWlanAps(
- QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_ENTRY, this);
-
- // Just copy the results
- wlanApList = mWlanScanList;
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::createIap().
-*/
-
-int WlanQtUtilsPrivate::createIap(const WlanQtUtilsAp *wlanAp)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_CREATEIAP_ENTRY, this);
-
- // Create the new IAP and return its ID
- int newIapId = mSettings->createIap(wlanAp);
-
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_CREATEIAP,
- "WlanQtUtilsPrivate::createIap;New IAP ID=%d",
- newIapId);
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_CREATEIAP_EXIT, this);
- return newIapId;
-}
-
-/*!
- See WlanQtUtils::updateIap().
-*/
-
-bool WlanQtUtilsPrivate::updateIap(int iapId, const WlanQtUtilsAp *wlanAp)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEIAP_ENTRY, this);
-
- bool success = mSettings->updateIap(iapId, wlanAp);
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEIAP_EXIT, this);
- return success;
-}
-
-/*!
- See WlanQtUtils::deleteIap().
-*/
-
-void WlanQtUtilsPrivate::deleteIap(int iapId)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_DELETEIAP_ENTRY, this);
-
- mSettings->deleteIap(iapId);
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_DELETEIAP_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::connectIap().
-*/
-
-void WlanQtUtilsPrivate::connectIap(int iapId, bool runIct)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_CONNECTIAP_ENTRY, this);
-
- OstTraceExt2(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_CONNECTIAP,
- "WlanQtUtilsPrivate::connectIap;IAP ID=%d;runIct=%hhu",
- iapId,
- runIct);
-
- Q_ASSERT(iapId != WlanQtUtils::IapIdNone);
-
- if (runIct) {
- // Mark this IAP for ICT testing after it has been opened
- mToBeTestedIapId = iapId;
- }
- mConnectingIapId = iapId;
- mEsockWrapper->connectIap(iapId);
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_CONNECTIAP_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::disconnectIap().
-*/
-
-void WlanQtUtilsPrivate::disconnectIap(int iapId)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_DISCONNECTIAP_ENTRY, this);
-
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_DISCONNECTIAP,
- "WlanQtUtilsPrivate::disconnectIap;IAP ID=%d",
- iapId);
-
- if (iapId != WlanQtUtils::IapIdNone) {
- // Close our RConnection handle, if needed. Wrapper ignores call, if
- // no handle exists.
- mEsockWrapper->disconnectIap();
-
- // In order to close connection even if there are other users for the
- // IAP, close also via ConMon
- mConMonWrapper->disconnectIap(iapId);
- } // else: just ignore call
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_DISCONNECTIAP_EXIT, this);
-}
-
-/*!
- See WlanQtUtils::connectionStatus().
-*/
-
-WlanQtUtils::ConnStatus WlanQtUtilsPrivate::connectionStatus() const
-{
- OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_CONNECTIONSTATUS_ENTRY);
-
- WlanQtUtils::ConnStatus status = WlanQtUtils::ConnStatusDisconnected;
-
- if (mConnection) {
- status = mConnection->connectionStatus();
- }
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_CONNECTIONSTATUS,
- "WlanQtUtilsPrivate::connectionStatus;status=%{ConnStatus};",
- (TUint)status);
-
- OstTraceFunctionExit0(WLANQTUTILSPRIVATE_CONNECTIONSTATUS_EXIT);
- return status;
-}
-
-/*!
- See WlanQtUtils::activeIap().
-*/
-
-int WlanQtUtilsPrivate::activeIap() const
-{
- OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_ACTIVEIAP_ENTRY);
-
- int iapId = WlanQtUtils::IapIdNone;
-
- if (mConnection) {
- iapId = mConnection->iapId();
- }
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_ACTIVEIAP,
- "WlanQtUtilsPrivate::activeIap;iapId=%d",
- iapId);
-
- OstTraceFunctionExit0(WLANQTUTILSPRIVATE_ACTIVEIAP_EXIT);
- return iapId;
-}
-
-/*!
- See WlanQtUtils::iapName().
-*/
-
-QString WlanQtUtilsPrivate::iapName(int iapId) const
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_IAPNAME_ENTRY, this);
-
- QString name;
- // Read the IAP from settings and return its name
- QSharedPointer<WlanQtUtilsIap> iap = mSettings->fetchIap(iapId);
- if (iap) {
- name = iap->value(WlanQtUtilsIap::ConfIdName).toString();
- }
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_IAPNAME_EXIT, this);
- return name;
-}
-
-/*!
- This function searches for a WLAN IAP matching the given WLAN AP.
-
- @param [in] list List to search from.
- @param [in] ap Access point to search for.
-
- @return True, if suitable WLAN IAP found, false otherwise.
-*/
-
-bool WlanQtUtilsPrivate::wlanIapExists(
- const QList< QSharedPointer<WlanQtUtilsIap> > list,
- const WlanQtUtilsAp *ap) const
-{
- bool match = false; // Return value
-
- foreach (QSharedPointer<WlanQtUtilsIap> iap, list) {
- if (WlanQtUtilsAp::compare(iap.data(), ap) == 0) {
- // Match found
- match = true;
- break;
- }
- }
-
- return match;
-}
-
-/*!
- This function traces the given IAPs and APs.
-
- @param [in] iaps IAPs to trace.
- @param [in] aps APs to trace.
-*/
-
-void WlanQtUtilsPrivate::traceIapsAndAps(
- const QList<QSharedPointer<WlanQtUtilsIap> > &iaps,
- const QList<QSharedPointer<WlanQtUtilsAp> > &aps) const
-{
-#ifndef OST_TRACE_COMPILER_IN_USE
- Q_UNUSED(iaps);
- Q_UNUSED(aps);
-#else
- foreach (QSharedPointer<WlanQtUtilsIap> iap, iaps) {
- QString tmp(iap->value(WlanQtUtilsIap::ConfIdName).toString());
- TPtrC16 name(tmp.utf16(), tmp.length());
- OstTraceExt3(
- TRACE_NORMAL,
- WLANQTUTILSPRIVATE_TRACEAVAILABLEWLANAPS_IAP,
- "WlanQtUtilsPrivate::traceAvailableWlanAps IAP;name=%S;secMode=%{WlanSecMode};signalStrength=%d",
- name,
- iap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
- iap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt());
- }
- foreach (QSharedPointer<WlanQtUtilsAp> ap, aps) {
- QString tmp(ap->value(WlanQtUtilsAp::ConfIdSsid).toString());
- TPtrC16 ssid(tmp.utf16(), tmp.length());
- OstTraceExt3(
- TRACE_NORMAL,
- WLANQTUTILSPRIVATE_TRACEAVAILABLEWLANAPS_AP,
- "WlanQtUtilsPrivate::traceAvailableWlanAps AP;ssid=%S;secMode=%{WlanSecMode};signalStrength=%d",
- ssid,
- ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
- ap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt());
- }
-#endif
-}
-
-/*!
- Slot for handling WLAN IAP scan result event from wrapper. Results are
- stored in a member variable.
-
- @param [in] availableIaps Available WLAN IAP's found in scan.
-*/
-
-void WlanQtUtilsPrivate::updateAvailableWlanIaps(
- QList< QSharedPointer<WlanQtUtilsIap> > &availableIaps)
-{
- OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANIAPS_ENTRY);
-
- // Store the new IAP list
- mIapScanList = availableIaps;
-
- // Continue with AP scan (which should come immediately from WLAN's scan cache)
- mScanWrapper->scanWlanAps();
-
- OstTraceFunctionExit0(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANIAPS_EXIT);
-}
-
-/*!
- Slot for handling WLAN AP scan result event from wrapper. Results are
- stored in member variable (possible duplicates are removed).
-
- @param [in] availableWlanList WLAN networks found in scan.
-*/
-
-void WlanQtUtilsPrivate::updateAvailableWlanAps(
- QList< QSharedPointer<WlanQtUtilsAp> > &availableWlanList)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_ENTRY, this);
-
- // Old results are removed
- mWlanScanList.clear();
-
- // Copy available WLANs to scan result list (duplicates are removed)
- for (int i = 0; i < availableWlanList.count(); i++) {
- bool duplicate = false;
- for (int j = 0; j < mWlanScanList.count(); j++) {
- if (WlanQtUtilsAp::compare(
- availableWlanList[i].data(),
- mWlanScanList[j].data()) == 0) {
- duplicate = true;
- break;
- }
- }
- if (duplicate == false) {
- mWlanScanList.append(availableWlanList[i]);
- }
- }
-
- // The information is forwarded to the client
- reportScanResult(WlanQtUtils::ScanStatusOk);
-
- // Scan is complete
- mScanMode = ScanModeNone;
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_EXIT, this);
-}
-
-/*!
- Scan result handler. Reports the scanning result to the client.
-
- @param [in] status Scan status code (WlanQtUtils::ScanStatus).
-*/
-
-void WlanQtUtilsPrivate::reportScanResult(int status)
-{
- switch (mScanMode) {
- case ScanModeAvailableWlans:
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_WLANSCANREADY,
- "WlanQtUtilsPrivate::reportScanResult emit wlanScanReady;status=%{ScanStatus};",
- status);
- emit q_ptr->wlanScanReady(status);
- break;
-
- case ScanModeAvailableWlanAps:
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_WLANSCANAPREADY,
- "WlanQtUtilsPrivate::reportScanResult emit wlanScanApReady;status=%{ScanStatus};",
- status);
- emit q_ptr->wlanScanApReady(status);
- break;
-
- case ScanModeDirect:
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_WLANSCANDIRECTREADY,
- "WlanQtUtilsPrivate::reportScanResult emit wlanScanDirectReady;status=%{ScanStatus};",
- status);
- emit q_ptr->wlanScanDirectReady(status);
- break;
-
-#ifndef QT_NO_DEBUG
- default:
- // Invalid scan mode detected
- Q_ASSERT(0);
- break;
-#endif
- }
-}
-
-/*!
- Slot for handling connection setup status event from wrapper.
-
- @param [in] isOpened Was connection setup successful?
-*/
-
-void WlanQtUtilsPrivate::updateConnectionStatus(bool isOpened)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_ENTRY, this);
-
- if (isOpened == false) {
- // Opening failed, update connection status and inform UI
- if (mConnection) {
- mConnection->setConnectionStatus(
- WlanQtUtils::ConnStatusDisconnected);
- }
-
- // Include the status code from connection wrapper
- int status = mEsockWrapper->lastStatusCode();
- OstTraceExt2(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_WLANNETWORKCLOSED,
- "WlanQtUtilsPrivate::emit wlanNetworkClosed;IAP ID=%d;status=%d",
- mConnectingIapId,
- status);
- emit q_ptr->wlanNetworkClosed(mConnectingIapId, status);
- } else {
- // Opening succeeded, update connection status and inform UI
- if (mConnection) {
- mConnection->setConnectionStatus(WlanQtUtils::ConnStatusConnected);
- }
-
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_WLANNETWORKOPENED,
- "WlanQtUtilsPrivate::emit wlanNetworkOpened;IAP ID=%d",
- mConnectingIapId);
- emit q_ptr->wlanNetworkOpened(mConnectingIapId);
-
- // Start ICT, if needed
- if (mConnectingIapId == mToBeTestedIapId) {
- QSharedPointer<WlanQtUtilsIap> iap(mSettings->fetchIap(mConnectingIapId));
-
- mIctService = QSharedPointer<IctsWlanLoginInterface>(
- new IctsWlanLoginInterface(this));
-
- // IctsWlanLoginInterface instance is created for each connectivity test
- // Note: Queued connection is required since mIctService is deleted
- // when signal comes
- bool connectStatus = connect(
- mIctService.data(),
- SIGNAL(ictsResult(int)),
- this,
- SLOT(updateIctResult(int)),
- Qt::QueuedConnection);
- Q_ASSERT(connectStatus);
- connectStatus = connect(
- mIctService.data(),
- SIGNAL(hotspotCase()),
- this,
- SLOT(updateIctHotspotCase()),
- Qt::QueuedConnection);
- Q_ASSERT(connectStatus);
-
- mIctService->start(
- mToBeTestedIapId,
- iap->value(WlanQtUtilsIap::ConfIdNetworkId).toInt());
- }
- }
- // IAP is no more in connecting state
- mConnectingIapId = WlanQtUtils::IapIdNone;
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_EXIT, this);
-}
-
-/*!
- Slot for handling internet connectivity test result event from wrapper.
- Tested IAP is stored to Internet SNAP, if test was successful. If the
- IAP needs Hotspot authentication, it remains ungategorized.
-
- @param [in] result Result of internet connectivity test and hotspot
- authentication (IctsWlanLoginInterface::ictsResultType).
-*/
-
-void WlanQtUtilsPrivate::updateIctResult(int ictsResult)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEICTRESULT_ENTRY, this);
-
- Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
- WlanQtUtils::IctStatus result = WlanQtUtils::IctFailed;
-
- if (ictsResult == IctsWlanLoginInterface::IctsPassed) {
- // Move the tested IAP to Internet SNAP since the test passed
- Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
- mSettings->moveIapToInternetSnap(mToBeTestedIapId);
- result = WlanQtUtils::IctPassed;
- } else if (ictsResult == IctsWlanLoginInterface::IctsHotspotPassed) {
- Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
- result = WlanQtUtils::IctHotspotPassed;
- } else if (ictsResult == IctsWlanLoginInterface::IctsCanceled) {
- Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
- result = WlanQtUtils::IctCancelled;
- } else {
- // ICTS failed - IAP remains to be uncategorized and mIctService is deleted.
- mIctService.clear();
- }
-
- // Inform UI
- OstTraceExt2(
- TRACE_NORMAL,
- WLANQTUTILSPRIVATE_ICTRESULT,
- "WlanQtUtilsPrivate::emit ictResult;iapId=%d;result=%{IctStatus}",
- mToBeTestedIapId,
- result);
-
- emit q_ptr->ictResult(mToBeTestedIapId, result);
-
- // This IAP is now tested
- mToBeTestedIapId = WlanQtUtils::IapIdNone;
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEICTRESULT_EXIT, this);
-}
-
-/*!
- Slot for setting IAP to be tested as hotspot IAP.
-*/
-
-void WlanQtUtilsPrivate::updateIctHotspotCase()
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE_ENTRY, this);
-
- mSettings->setAsHotspotIap(mToBeTestedIapId);
-
- Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE,
- "WlanQtUtilsPrivate::updateIctHotspotCase set as hotspot IAP;iapId=%d",
- mToBeTestedIapId);
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE_EXIT, this);
-}
-
-/*!
- Slot for updating active connection status from wrapper.
-
- @param [in] connectionId ID of the new connection.
-*/
-
-void WlanQtUtilsPrivate::addActiveConnection(uint connectionId)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_ENTRY, this);
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_ADDACTIVECONNECTION,
- "WlanQtUtilsPrivate::addActiveConnection;connectionId=%u",
- connectionId);
-
- Q_ASSERT(mConnection == NULL);
- mConnection = QSharedPointer<WlanQtUtilsConnection>(
- mConMonWrapper->connectionInfo(connectionId));
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_EXIT, this);
-}
-
-/*!
- Slot for updating active connection status from wrapper.
-
- @param [in] connectionId ID of the deleted connection.
-*/
-
-void WlanQtUtilsPrivate::removeActiveConnection(uint connectionId)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_ENTRY, this);
- OstTrace1(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION,
- "WlanQtUtilsPrivate::removeActiveConnection;connectionId=%u",
- connectionId);
-
- Q_ASSERT(mConnection);
- if (mConnection->connectionId() == connectionId) {
- int closedIapId = mConnection->iapId();
- mConnection.clear();
-
- if (mConnectingIapId != closedIapId) {
- // Connection is closed, inform UI. wlanNetworkClosed is sent
- // from here instead of updateActiveConnection(closed),
- // because, in some cases, connection may be removed without
- // any connection status updates.
- // Note: reason parameter is not accurate here, because it is
- // only relevant for connections opened by this dll
- // (updateConnectionStatus)
- OstTraceExt2(
- TRACE_BORDER,
- DUP1_WLANQTUTILSPRIVATE_WLANNETWORKCLOSED,
- "WlanQtUtilsPrivate::emit wlanNetworkClosed;iapID=%d;status=%d",
- closedIapId,
- KErrNone);
- emit q_ptr->wlanNetworkClosed(closedIapId, KErrNone);
- }
- // else: connection creation started by thid dll, but creation failed
- // -> wlanNetworkClosed is sent from updateConnectionStatus
- }
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_EXIT, this);
-}
-
-/*!
- Slot for updating active connection status from wrapper.
-
- @param [in] connectionId ID of the updated connection.
- @param [in] connectionStatus New status of the connection.
-*/
-
-void WlanQtUtilsPrivate::updateActiveConnection(
- uint connectionId,
- WlanQtUtils::ConnStatus connectionStatus)
-{
- OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_ENTRY, this);
- OstTraceExt2(
- TRACE_BORDER,
- WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION,
- "WlanQtUtilsPrivate::updateActiveConnection;connectionId=%u;connectionStatus=%{ConnStatus}",
- connectionId,
- (uint)connectionStatus);
-
- Q_ASSERT(mConnection);
- if (mConnection->connectionId() == connectionId
- && mConnection->connectionStatus() != connectionStatus) {
- // Update connection status and inform UI, if necessary
- mConnection->setConnectionStatus(connectionStatus);
- if (connectionStatus == WlanQtUtils::ConnStatusConnected) {
- OstTrace1(
- TRACE_BORDER,
- DUP1_WLANQTUTILSPRIVATE_WLANNETWORKOPENED,
- "WlanQtUtilsPrivate::emit wlanNetworkOpened;iapId=%d",
- mConnection->iapId());
- emit q_ptr->wlanNetworkOpened(mConnection->iapId());
- }
- // Do not inform UI about connection closing here. It is done in
- // removeActiveConnection(), because that may occur without any
- // connection status updates.
- } // else: connection status did not change
-
- OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_EXIT, this);
-}