wlanutilities/wlanqtutilities/base/src/wlanqtutils_p.cpp
author hgs
Thu, 24 Jun 2010 10:49:51 +0300
changeset 39 7b3e49e4608a
parent 31 e8f4211554fb
child 53 bdc64aa9b954
permissions -rw-r--r--
201025
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
31
hgs
parents: 19
diff changeset
     2
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
* This component and the accompanying materials are made available
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
* which accompanies this distribution, and is available
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
* Initial Contributors:
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
*
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
* Contributors:
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
* Description:
31
hgs
parents: 19
diff changeset
    15
* WLAN Qt Utilities private implementation.
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
*/
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
31
hgs
parents: 19
diff changeset
    18
// System includes
hgs
parents: 19
diff changeset
    19
hgs
parents: 19
diff changeset
    20
#include <QSharedPointer>
hgs
parents: 19
diff changeset
    21
hgs
parents: 19
diff changeset
    22
// User includes
hgs
parents: 19
diff changeset
    23
hgs
parents: 19
diff changeset
    24
#include "wlanqtutilsap.h"
hgs
parents: 19
diff changeset
    25
#include "wlanqtutilsiap.h"
hgs
parents: 19
diff changeset
    26
#include "wlanqtutilsconnection.h"
hgs
parents: 19
diff changeset
    27
#include "wlanqtutilsiapsettings.h"
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include "wlanqtutilsconmonwrapper.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "wlanqtutilsesockwrapper.h"
39
hgs
parents: 31
diff changeset
    30
#include "wlanqtutilsscan.h"
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include "wlanqtutils.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include "wlanqtutils_p.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    35
#include "OstTraceDefinitions.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    36
#ifdef OST_TRACE_COMPILER_IN_USE
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#include "wlanqtutils_pTraces.h"
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#endif
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
31
hgs
parents: 19
diff changeset
    40
/*!
hgs
parents: 19
diff changeset
    41
    \class WlanQtUtilsPrivate
hgs
parents: 19
diff changeset
    42
    \brief Private implementation class for WLAN Qt Utilities.
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
31
hgs
parents: 19
diff changeset
    44
    The private interface functions are identical to those in WlanQtUtils
hgs
parents: 19
diff changeset
    45
    class, so refer to that for descriptions. Other functions contain
hgs
parents: 19
diff changeset
    46
    implementation documentation.
hgs
parents: 19
diff changeset
    47
*/
hgs
parents: 19
diff changeset
    48
hgs
parents: 19
diff changeset
    49
hgs
parents: 19
diff changeset
    50
// External function prototypes
hgs
parents: 19
diff changeset
    51
hgs
parents: 19
diff changeset
    52
// Local constants
hgs
parents: 19
diff changeset
    53
hgs
parents: 19
diff changeset
    54
// ======== LOCAL FUNCTIONS ========
hgs
parents: 19
diff changeset
    55
hgs
parents: 19
diff changeset
    56
// ======== MEMBER FUNCTIONS ========
hgs
parents: 19
diff changeset
    57
hgs
parents: 19
diff changeset
    58
/*!
hgs
parents: 19
diff changeset
    59
    Constructor.
hgs
parents: 19
diff changeset
    60
*/
hgs
parents: 19
diff changeset
    61
hgs
parents: 19
diff changeset
    62
WlanQtUtilsPrivate::WlanQtUtilsPrivate(WlanQtUtils *q_ptr) :
hgs
parents: 19
diff changeset
    63
    q_ptr(q_ptr),
hgs
parents: 19
diff changeset
    64
    mSettings(new WlanQtUtilsIapSettings(this)),
hgs
parents: 19
diff changeset
    65
    mConMonWrapper(new WlanQtUtilsConMonWrapper(this)),
39
hgs
parents: 31
diff changeset
    66
    mScanWrapper(new WlanQtUtilsScan(this)),
31
hgs
parents: 19
diff changeset
    67
    mEsockWrapper(new WlanQtUtilsEsockWrapper(this)),
39
hgs
parents: 31
diff changeset
    68
    mIctService(),
hgs
parents: 31
diff changeset
    69
    mScanMode(ScanModeNone),
31
hgs
parents: 19
diff changeset
    70
    mWlanScanList(),
hgs
parents: 19
diff changeset
    71
    mToBeTestedIapId(WlanQtUtils::IapIdNone), 
hgs
parents: 19
diff changeset
    72
    mConnectingIapId(WlanQtUtils::IapIdNone),
hgs
parents: 19
diff changeset
    73
    mConnection()
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
{
31
hgs
parents: 19
diff changeset
    75
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_ENTRY, this);
hgs
parents: 19
diff changeset
    76
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
    // Make all connections.
31
hgs
parents: 19
diff changeset
    78
    bool connectStatus = connect(
39
hgs
parents: 31
diff changeset
    79
        mScanWrapper, 
hgs
parents: 31
diff changeset
    80
        SIGNAL(availableWlanAps(QList< QSharedPointer<WlanQtUtilsAp> >&)), 
31
hgs
parents: 19
diff changeset
    81
        this, 
39
hgs
parents: 31
diff changeset
    82
        SLOT(updateAvailableWlanAps(QList< QSharedPointer<WlanQtUtilsAp> >&)));
hgs
parents: 31
diff changeset
    83
    Q_ASSERT(connectStatus);
hgs
parents: 31
diff changeset
    84
    
hgs
parents: 31
diff changeset
    85
    connectStatus = connect(
hgs
parents: 31
diff changeset
    86
        mScanWrapper,
hgs
parents: 31
diff changeset
    87
        SIGNAL(scanFailed(int)),
hgs
parents: 31
diff changeset
    88
        this,
hgs
parents: 31
diff changeset
    89
        SLOT(reportScanResult(int)));
31
hgs
parents: 19
diff changeset
    90
    Q_ASSERT(connectStatus);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
31
hgs
parents: 19
diff changeset
    92
    connectStatus = connect(
hgs
parents: 19
diff changeset
    93
        mEsockWrapper, 
hgs
parents: 19
diff changeset
    94
        SIGNAL(connectionStatusFromWrapper(bool)), 
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    95
        this,
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    96
        SLOT(updateConnectionStatus(bool)));
31
hgs
parents: 19
diff changeset
    97
    Q_ASSERT(connectStatus);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    98
31
hgs
parents: 19
diff changeset
    99
    connectStatus = connect(
hgs
parents: 19
diff changeset
   100
        mConMonWrapper, 
hgs
parents: 19
diff changeset
   101
        SIGNAL(connCreatedEventFromWrapper(uint)), 
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   102
        this,
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   103
        SLOT(addActiveConnection(uint)));
31
hgs
parents: 19
diff changeset
   104
    Q_ASSERT(connectStatus);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
31
hgs
parents: 19
diff changeset
   106
    connectStatus = connect(
hgs
parents: 19
diff changeset
   107
        mConMonWrapper, 
hgs
parents: 19
diff changeset
   108
        SIGNAL(connDeletedEventFromWrapper(uint)), 
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
        this,
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
        SLOT(removeActiveConnection(uint)));
31
hgs
parents: 19
diff changeset
   111
    Q_ASSERT(connectStatus);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   112
31
hgs
parents: 19
diff changeset
   113
    connectStatus = connect(
hgs
parents: 19
diff changeset
   114
        mConMonWrapper, 
hgs
parents: 19
diff changeset
   115
        SIGNAL(connStatusEventFromWrapper(uint, WlanQtUtils::ConnStatus)),
hgs
parents: 19
diff changeset
   116
        this, 
hgs
parents: 19
diff changeset
   117
        SLOT(updateActiveConnection(uint, WlanQtUtils::ConnStatus)));
hgs
parents: 19
diff changeset
   118
    Q_ASSERT(connectStatus);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   119
31
hgs
parents: 19
diff changeset
   120
    // Retrieve initial status of active connections
hgs
parents: 19
diff changeset
   121
    mConnection = QSharedPointer<WlanQtUtilsConnection>(
hgs
parents: 19
diff changeset
   122
        mConMonWrapper->activeConnection());
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   123
31
hgs
parents: 19
diff changeset
   124
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATE_EXIT, this);
hgs
parents: 19
diff changeset
   125
}
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   126
31
hgs
parents: 19
diff changeset
   127
/*!
hgs
parents: 19
diff changeset
   128
    Destructor. 
hgs
parents: 19
diff changeset
   129
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   130
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   131
WlanQtUtilsPrivate::~WlanQtUtilsPrivate()
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   132
{
31
hgs
parents: 19
diff changeset
   133
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_ENTRY, this);
hgs
parents: 19
diff changeset
   134
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_WLANQTUTILSPRIVATEDESTR_EXIT, this);
hgs
parents: 19
diff changeset
   135
}
hgs
parents: 19
diff changeset
   136
hgs
parents: 19
diff changeset
   137
/*!
hgs
parents: 19
diff changeset
   138
   See WlanQtUtils::scanWlans().
hgs
parents: 19
diff changeset
   139
*/
hgs
parents: 19
diff changeset
   140
hgs
parents: 19
diff changeset
   141
void WlanQtUtilsPrivate::scanWlans()
hgs
parents: 19
diff changeset
   142
{
hgs
parents: 19
diff changeset
   143
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANS_ENTRY, this);
hgs
parents: 19
diff changeset
   144
39
hgs
parents: 31
diff changeset
   145
    // Scanning while there is an ongoing scan is not supported
hgs
parents: 31
diff changeset
   146
    Q_ASSERT(mScanMode == ScanModeNone);
hgs
parents: 31
diff changeset
   147
    
hgs
parents: 31
diff changeset
   148
    // Just forward the request to wrapper, which triggers a broadcast WLAN scan
hgs
parents: 31
diff changeset
   149
    mScanMode = ScanModeAvailableWlans;
hgs
parents: 31
diff changeset
   150
    mScanWrapper->scanWlanAps();
31
hgs
parents: 19
diff changeset
   151
hgs
parents: 19
diff changeset
   152
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANS_EXIT, this);
hgs
parents: 19
diff changeset
   153
}
hgs
parents: 19
diff changeset
   154
hgs
parents: 19
diff changeset
   155
/*!
hgs
parents: 19
diff changeset
   156
   See WlanQtUtils::scanWlanAps().
hgs
parents: 19
diff changeset
   157
*/
hgs
parents: 19
diff changeset
   158
hgs
parents: 19
diff changeset
   159
void WlanQtUtilsPrivate::scanWlanAps()
hgs
parents: 19
diff changeset
   160
{
hgs
parents: 19
diff changeset
   161
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANAPS_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
    
39
hgs
parents: 31
diff changeset
   163
    // Scanning while there is an ongoing scan is not supported
hgs
parents: 31
diff changeset
   164
    Q_ASSERT(mScanMode == ScanModeNone);
hgs
parents: 31
diff changeset
   165
    
hgs
parents: 31
diff changeset
   166
    // Just forward the request to wrapper, which triggers a broadcast WLAN scan
hgs
parents: 31
diff changeset
   167
    mScanMode = ScanModeAvailableWlanAps;
hgs
parents: 31
diff changeset
   168
    mScanWrapper->scanWlanAps();
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
31
hgs
parents: 19
diff changeset
   170
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANAPS_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
31
hgs
parents: 19
diff changeset
   173
/*!
hgs
parents: 19
diff changeset
   174
   See WlanQtUtils::scanWlanDirect().
hgs
parents: 19
diff changeset
   175
*/
hgs
parents: 19
diff changeset
   176
hgs
parents: 19
diff changeset
   177
void WlanQtUtilsPrivate::scanWlanDirect(const QString &ssid)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
{
31
hgs
parents: 19
diff changeset
   179
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_SCANWLANDIRECT_ENTRY, this);
39
hgs
parents: 31
diff changeset
   180
hgs
parents: 31
diff changeset
   181
    // Scanning while there is an ongoing scan is not supported
hgs
parents: 31
diff changeset
   182
    Q_ASSERT(mScanMode == ScanModeNone);
31
hgs
parents: 19
diff changeset
   183
    
39
hgs
parents: 31
diff changeset
   184
    // Just forward the request to wrapper, which triggers a direct WLAN scan
hgs
parents: 31
diff changeset
   185
    mScanMode = ScanModeDirect;
hgs
parents: 31
diff changeset
   186
    mScanWrapper->scanWlanDirect(ssid);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   187
    
31
hgs
parents: 19
diff changeset
   188
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_SCANWLANDIRECT_EXIT, this);
hgs
parents: 19
diff changeset
   189
}
hgs
parents: 19
diff changeset
   190
hgs
parents: 19
diff changeset
   191
/*!
hgs
parents: 19
diff changeset
   192
   See WlanQtUtils::stopWlanScan().
hgs
parents: 19
diff changeset
   193
*/
hgs
parents: 19
diff changeset
   194
hgs
parents: 19
diff changeset
   195
void WlanQtUtilsPrivate::stopWlanScan()
hgs
parents: 19
diff changeset
   196
{
hgs
parents: 19
diff changeset
   197
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_STOPWLANSCAN_ENTRY, this);
hgs
parents: 19
diff changeset
   198
    
39
hgs
parents: 31
diff changeset
   199
    if (mScanMode != ScanModeNone) {
hgs
parents: 31
diff changeset
   200
        // Inform that scan was cancelled
hgs
parents: 31
diff changeset
   201
        reportScanResult(WlanQtUtils::ScanStatusCancelled);
hgs
parents: 31
diff changeset
   202
        
hgs
parents: 31
diff changeset
   203
        // Stop the scan
hgs
parents: 31
diff changeset
   204
        mScanMode = ScanModeNone;
hgs
parents: 31
diff changeset
   205
        mScanWrapper->stopScan();
hgs
parents: 31
diff changeset
   206
    }
31
hgs
parents: 19
diff changeset
   207
    
hgs
parents: 19
diff changeset
   208
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_STOPWLANSCAN_EXIT, this);
hgs
parents: 19
diff changeset
   209
}
hgs
parents: 19
diff changeset
   210
hgs
parents: 19
diff changeset
   211
/*!
hgs
parents: 19
diff changeset
   212
   See WlanQtUtils::availableWlans().
hgs
parents: 19
diff changeset
   213
*/
hgs
parents: 19
diff changeset
   214
hgs
parents: 19
diff changeset
   215
void WlanQtUtilsPrivate::availableWlans(
hgs
parents: 19
diff changeset
   216
    QList< QSharedPointer<WlanQtUtilsIap> > &wlanIapList,
hgs
parents: 19
diff changeset
   217
    QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
hgs
parents: 19
diff changeset
   218
{
hgs
parents: 19
diff changeset
   219
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_AVAILABLEWLAN_ENTRY, this);
hgs
parents: 19
diff changeset
   220
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
    wlanIapList.clear();
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
    wlanApList.clear();
31
hgs
parents: 19
diff changeset
   223
hgs
parents: 19
diff changeset
   224
    // Read the list of configured IAPs
39
hgs
parents: 31
diff changeset
   225
    QList< QSharedPointer<WlanQtUtilsIap> > configuredIapList;
31
hgs
parents: 19
diff changeset
   226
    mSettings->fetchIaps(configuredIapList);
hgs
parents: 19
diff changeset
   227
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
    // Match IAPs against WLAN scan results
31
hgs
parents: 19
diff changeset
   229
    foreach (QSharedPointer<WlanQtUtilsIap> iap, configuredIapList) {
hgs
parents: 19
diff changeset
   230
        foreach (QSharedPointer<WlanQtUtilsAp> scanAp, mWlanScanList) {
39
hgs
parents: 31
diff changeset
   231
            if (WlanQtUtilsAp::compare(iap.data(), scanAp.data()) == 0) {
31
hgs
parents: 19
diff changeset
   232
                // IAP found, add it to caller's list of known IAPs
hgs
parents: 19
diff changeset
   233
                // (signal strength needs to be updated manually since
hgs
parents: 19
diff changeset
   234
                // the IAP in our list does not have that information yet)
hgs
parents: 19
diff changeset
   235
                iap->setValue(
hgs
parents: 19
diff changeset
   236
                    WlanQtUtilsAp::ConfIdSignalStrength,
hgs
parents: 19
diff changeset
   237
                    scanAp->value(WlanQtUtilsAp::ConfIdSignalStrength));
hgs
parents: 19
diff changeset
   238
                wlanIapList.append(iap);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
                break;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   240
            }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
        }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   244
    // Go through the scan results to find unknown APs
31
hgs
parents: 19
diff changeset
   245
    for (int i = 0; i < mWlanScanList.count(); i++) {
hgs
parents: 19
diff changeset
   246
        // Check whether an IAP with these parameters exists (in which
hgs
parents: 19
diff changeset
   247
        // case this network is already added as an IAP in the loop above)
hgs
parents: 19
diff changeset
   248
        if (!wlanIapExists(configuredIapList, mWlanScanList[i].data())) {
hgs
parents: 19
diff changeset
   249
            // No IAP found in, copy the AP to caller's list of
hgs
parents: 19
diff changeset
   250
            // unknown APs
hgs
parents: 19
diff changeset
   251
            wlanApList.append(mWlanScanList[i]);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
        }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
    }
31
hgs
parents: 19
diff changeset
   254
hgs
parents: 19
diff changeset
   255
    traceIapsAndAps(wlanIapList, wlanApList);
hgs
parents: 19
diff changeset
   256
hgs
parents: 19
diff changeset
   257
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_AVAILABLEWLAN_EXIT, this);
hgs
parents: 19
diff changeset
   258
}
hgs
parents: 19
diff changeset
   259
hgs
parents: 19
diff changeset
   260
/*!
hgs
parents: 19
diff changeset
   261
   See WlanQtUtils::availableWlanAps().
hgs
parents: 19
diff changeset
   262
*/
hgs
parents: 19
diff changeset
   263
hgs
parents: 19
diff changeset
   264
void WlanQtUtilsPrivate::availableWlanAps(
hgs
parents: 19
diff changeset
   265
    QList< QSharedPointer<WlanQtUtilsAp> > &wlanApList) const
hgs
parents: 19
diff changeset
   266
{
hgs
parents: 19
diff changeset
   267
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
    
39
hgs
parents: 31
diff changeset
   269
    // Just copy the results
hgs
parents: 31
diff changeset
   270
    wlanApList = mWlanScanList;
31
hgs
parents: 19
diff changeset
   271
    
hgs
parents: 19
diff changeset
   272
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_AVAILABLEWLANAPS_EXIT, this);
hgs
parents: 19
diff changeset
   273
}
hgs
parents: 19
diff changeset
   274
hgs
parents: 19
diff changeset
   275
/*!
hgs
parents: 19
diff changeset
   276
   See WlanQtUtils::createIap().
hgs
parents: 19
diff changeset
   277
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
31
hgs
parents: 19
diff changeset
   279
int WlanQtUtilsPrivate::createIap(const WlanQtUtilsAp *wlanAp)
hgs
parents: 19
diff changeset
   280
{
hgs
parents: 19
diff changeset
   281
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_CREATEIAP_ENTRY, this);
hgs
parents: 19
diff changeset
   282
hgs
parents: 19
diff changeset
   283
    // Create the new IAP and return its ID
hgs
parents: 19
diff changeset
   284
    int newIapId = mSettings->createIap(wlanAp);
hgs
parents: 19
diff changeset
   285
hgs
parents: 19
diff changeset
   286
    OstTrace1(
hgs
parents: 19
diff changeset
   287
        TRACE_BORDER,
hgs
parents: 19
diff changeset
   288
        WLANQTUTILSPRIVATE_CREATEIAP,
hgs
parents: 19
diff changeset
   289
        "WlanQtUtilsPrivate::createIap;New IAP ID=%d",
hgs
parents: 19
diff changeset
   290
        newIapId);
hgs
parents: 19
diff changeset
   291
        
hgs
parents: 19
diff changeset
   292
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_CREATEIAP_EXIT, this);
hgs
parents: 19
diff changeset
   293
    return newIapId;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   294
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   295
31
hgs
parents: 19
diff changeset
   296
/*!
hgs
parents: 19
diff changeset
   297
   See WlanQtUtils::updateIap().
hgs
parents: 19
diff changeset
   298
*/
hgs
parents: 19
diff changeset
   299
hgs
parents: 19
diff changeset
   300
bool WlanQtUtilsPrivate::updateIap(int iapId, const WlanQtUtilsAp *wlanAp)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   301
{
31
hgs
parents: 19
diff changeset
   302
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEIAP_ENTRY, this);
hgs
parents: 19
diff changeset
   303
hgs
parents: 19
diff changeset
   304
    bool success = mSettings->updateIap(iapId, wlanAp);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   305
    
31
hgs
parents: 19
diff changeset
   306
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEIAP_EXIT, this);
hgs
parents: 19
diff changeset
   307
    return success;
hgs
parents: 19
diff changeset
   308
}
hgs
parents: 19
diff changeset
   309
hgs
parents: 19
diff changeset
   310
/*!
hgs
parents: 19
diff changeset
   311
   See WlanQtUtils::deleteIap().
hgs
parents: 19
diff changeset
   312
*/
hgs
parents: 19
diff changeset
   313
hgs
parents: 19
diff changeset
   314
void WlanQtUtilsPrivate::deleteIap(int iapId)
hgs
parents: 19
diff changeset
   315
{
hgs
parents: 19
diff changeset
   316
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_DELETEIAP_ENTRY, this);
hgs
parents: 19
diff changeset
   317
hgs
parents: 19
diff changeset
   318
    mSettings->deleteIap(iapId);
hgs
parents: 19
diff changeset
   319
hgs
parents: 19
diff changeset
   320
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_DELETEIAP_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   321
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
31
hgs
parents: 19
diff changeset
   323
/*!
hgs
parents: 19
diff changeset
   324
   See WlanQtUtils::connectIap().
hgs
parents: 19
diff changeset
   325
*/
hgs
parents: 19
diff changeset
   326
hgs
parents: 19
diff changeset
   327
void WlanQtUtilsPrivate::connectIap(int iapId, bool runIct)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   328
{
31
hgs
parents: 19
diff changeset
   329
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_CONNECTIAP_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
    
31
hgs
parents: 19
diff changeset
   331
    OstTraceExt2(
hgs
parents: 19
diff changeset
   332
        TRACE_BORDER,
hgs
parents: 19
diff changeset
   333
        WLANQTUTILSPRIVATE_CONNECTIAP,
hgs
parents: 19
diff changeset
   334
        "WlanQtUtilsPrivate::connectIap;IAP ID=%d;runIct=%hhu",
hgs
parents: 19
diff changeset
   335
        iapId,
hgs
parents: 19
diff changeset
   336
        runIct);
hgs
parents: 19
diff changeset
   337
hgs
parents: 19
diff changeset
   338
    Q_ASSERT(iapId != WlanQtUtils::IapIdNone);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
31
hgs
parents: 19
diff changeset
   340
    if (runIct) {
hgs
parents: 19
diff changeset
   341
        // Mark this IAP for ICT testing after it has been opened
hgs
parents: 19
diff changeset
   342
        mToBeTestedIapId = iapId;
hgs
parents: 19
diff changeset
   343
    }
hgs
parents: 19
diff changeset
   344
    mConnectingIapId = iapId;
hgs
parents: 19
diff changeset
   345
    mEsockWrapper->connectIap(iapId);
hgs
parents: 19
diff changeset
   346
hgs
parents: 19
diff changeset
   347
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_CONNECTIAP_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
31
hgs
parents: 19
diff changeset
   350
/*!
hgs
parents: 19
diff changeset
   351
   See WlanQtUtils::disconnectIap().
hgs
parents: 19
diff changeset
   352
*/
hgs
parents: 19
diff changeset
   353
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
void WlanQtUtilsPrivate::disconnectIap(int iapId)
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
{
31
hgs
parents: 19
diff changeset
   356
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_DISCONNECTIAP_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
    
31
hgs
parents: 19
diff changeset
   358
    OstTrace1(
hgs
parents: 19
diff changeset
   359
        TRACE_BORDER,
hgs
parents: 19
diff changeset
   360
        WLANQTUTILSPRIVATE_DISCONNECTIAP,
39
hgs
parents: 31
diff changeset
   361
        "WlanQtUtilsPrivate::disconnectIap;IAP ID=%d",
hgs
parents: 31
diff changeset
   362
        iapId);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
31
hgs
parents: 19
diff changeset
   364
    if (iapId != WlanQtUtils::IapIdNone) {
hgs
parents: 19
diff changeset
   365
        // Close our RConnection handle, if needed. Wrapper ignores call, if
hgs
parents: 19
diff changeset
   366
        // no handle exists.
hgs
parents: 19
diff changeset
   367
        mEsockWrapper->disconnectIap();
hgs
parents: 19
diff changeset
   368
        
hgs
parents: 19
diff changeset
   369
        // In order to close connection even if there are other users for the
hgs
parents: 19
diff changeset
   370
        // IAP, close also via ConMon
hgs
parents: 19
diff changeset
   371
        mConMonWrapper->disconnectIap(iapId);
hgs
parents: 19
diff changeset
   372
    } // else: just ignore call
hgs
parents: 19
diff changeset
   373
hgs
parents: 19
diff changeset
   374
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_DISCONNECTIAP_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
31
hgs
parents: 19
diff changeset
   377
/*!
hgs
parents: 19
diff changeset
   378
   See WlanQtUtils::connectionStatus().
hgs
parents: 19
diff changeset
   379
*/
hgs
parents: 19
diff changeset
   380
hgs
parents: 19
diff changeset
   381
WlanQtUtils::ConnStatus WlanQtUtilsPrivate::connectionStatus() const
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
{
31
hgs
parents: 19
diff changeset
   383
    OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_CONNECTIONSTATUS_ENTRY);
hgs
parents: 19
diff changeset
   384
hgs
parents: 19
diff changeset
   385
    WlanQtUtils::ConnStatus status = WlanQtUtils::ConnStatusDisconnected;
hgs
parents: 19
diff changeset
   386
    
hgs
parents: 19
diff changeset
   387
    if (mConnection) {
hgs
parents: 19
diff changeset
   388
        status = mConnection->connectionStatus();
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   389
    }
31
hgs
parents: 19
diff changeset
   390
    OstTrace1(
hgs
parents: 19
diff changeset
   391
        TRACE_BORDER,
hgs
parents: 19
diff changeset
   392
        WLANQTUTILSPRIVATE_CONNECTIONSTATUS,
hgs
parents: 19
diff changeset
   393
        "WlanQtUtilsPrivate::connectionStatus;status=%{ConnStatus};",
hgs
parents: 19
diff changeset
   394
        (TUint)status);
hgs
parents: 19
diff changeset
   395
    
hgs
parents: 19
diff changeset
   396
    OstTraceFunctionExit0(WLANQTUTILSPRIVATE_CONNECTIONSTATUS_EXIT);
hgs
parents: 19
diff changeset
   397
    return status;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
31
hgs
parents: 19
diff changeset
   400
/*!
hgs
parents: 19
diff changeset
   401
   See WlanQtUtils::activeIap().
hgs
parents: 19
diff changeset
   402
*/
hgs
parents: 19
diff changeset
   403
hgs
parents: 19
diff changeset
   404
int WlanQtUtilsPrivate::activeIap() const
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
{
31
hgs
parents: 19
diff changeset
   406
    OstTraceFunctionEntry0(WLANQTUTILSPRIVATE_ACTIVEIAP_ENTRY);
hgs
parents: 19
diff changeset
   407
hgs
parents: 19
diff changeset
   408
    int iapId = WlanQtUtils::IapIdNone;
hgs
parents: 19
diff changeset
   409
    
hgs
parents: 19
diff changeset
   410
    if (mConnection) {
hgs
parents: 19
diff changeset
   411
        iapId = mConnection->iapId();
hgs
parents: 19
diff changeset
   412
    }
hgs
parents: 19
diff changeset
   413
    OstTrace1(
hgs
parents: 19
diff changeset
   414
        TRACE_BORDER,
hgs
parents: 19
diff changeset
   415
        WLANQTUTILSPRIVATE_ACTIVEIAP,
hgs
parents: 19
diff changeset
   416
        "WlanQtUtilsPrivate::activeIap;iapId=%d",
hgs
parents: 19
diff changeset
   417
        iapId);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
    
31
hgs
parents: 19
diff changeset
   419
    OstTraceFunctionExit0(WLANQTUTILSPRIVATE_ACTIVEIAP_EXIT);
hgs
parents: 19
diff changeset
   420
    return iapId;
hgs
parents: 19
diff changeset
   421
}
hgs
parents: 19
diff changeset
   422
hgs
parents: 19
diff changeset
   423
/*!
hgs
parents: 19
diff changeset
   424
   See WlanQtUtils::iapName().
hgs
parents: 19
diff changeset
   425
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   426
31
hgs
parents: 19
diff changeset
   427
QString WlanQtUtilsPrivate::iapName(int iapId) const
hgs
parents: 19
diff changeset
   428
{
hgs
parents: 19
diff changeset
   429
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_IAPNAME_ENTRY, this);
hgs
parents: 19
diff changeset
   430
    
hgs
parents: 19
diff changeset
   431
    QString name;
hgs
parents: 19
diff changeset
   432
    // Read the IAP from settings and return its name
hgs
parents: 19
diff changeset
   433
    QSharedPointer<WlanQtUtilsIap> iap = mSettings->fetchIap(iapId);
hgs
parents: 19
diff changeset
   434
    if (iap) {
hgs
parents: 19
diff changeset
   435
        name = iap->value(WlanQtUtilsIap::ConfIdName).toString();
hgs
parents: 19
diff changeset
   436
    }
hgs
parents: 19
diff changeset
   437
hgs
parents: 19
diff changeset
   438
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_IAPNAME_EXIT, this);
hgs
parents: 19
diff changeset
   439
    return name;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
31
hgs
parents: 19
diff changeset
   442
/*!
hgs
parents: 19
diff changeset
   443
    This function searches for a WLAN IAP matching the given WLAN AP.
hgs
parents: 19
diff changeset
   444
hgs
parents: 19
diff changeset
   445
    @param [in] list List to search from.
hgs
parents: 19
diff changeset
   446
    @param [in] ap Access point to search for.
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
    
31
hgs
parents: 19
diff changeset
   448
    @return True, if suitable WLAN IAP found, false otherwise.
hgs
parents: 19
diff changeset
   449
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   450
31
hgs
parents: 19
diff changeset
   451
bool WlanQtUtilsPrivate::wlanIapExists(
hgs
parents: 19
diff changeset
   452
    const QList< QSharedPointer<WlanQtUtilsIap> > list,
hgs
parents: 19
diff changeset
   453
    const WlanQtUtilsAp *ap) const
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   454
{
31
hgs
parents: 19
diff changeset
   455
    bool match = false;     // Return value
hgs
parents: 19
diff changeset
   456
    
hgs
parents: 19
diff changeset
   457
    foreach (QSharedPointer<WlanQtUtilsIap> iap, list) {
39
hgs
parents: 31
diff changeset
   458
        if (WlanQtUtilsAp::compare(iap.data(), ap) == 0) {
31
hgs
parents: 19
diff changeset
   459
            // Match found
hgs
parents: 19
diff changeset
   460
            match = true;
hgs
parents: 19
diff changeset
   461
            break;
hgs
parents: 19
diff changeset
   462
        }
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
    }
31
hgs
parents: 19
diff changeset
   464
    
hgs
parents: 19
diff changeset
   465
    return match;
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
31
hgs
parents: 19
diff changeset
   468
/*!
hgs
parents: 19
diff changeset
   469
    This function traces the given IAPs and APs.
hgs
parents: 19
diff changeset
   470
hgs
parents: 19
diff changeset
   471
    @param [in] iaps IAPs to trace.
hgs
parents: 19
diff changeset
   472
    @param [in] aps APs to trace.
hgs
parents: 19
diff changeset
   473
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
31
hgs
parents: 19
diff changeset
   475
void WlanQtUtilsPrivate::traceIapsAndAps(
hgs
parents: 19
diff changeset
   476
    const QList<QSharedPointer<WlanQtUtilsIap> > &iaps,
hgs
parents: 19
diff changeset
   477
    const QList<QSharedPointer<WlanQtUtilsAp> > &aps) const
hgs
parents: 19
diff changeset
   478
{
hgs
parents: 19
diff changeset
   479
#ifndef OST_TRACE_COMPILER_IN_USE
hgs
parents: 19
diff changeset
   480
    Q_UNUSED(iaps);
hgs
parents: 19
diff changeset
   481
    Q_UNUSED(aps);
hgs
parents: 19
diff changeset
   482
#else
hgs
parents: 19
diff changeset
   483
    foreach (QSharedPointer<WlanQtUtilsIap> iap, iaps) {
hgs
parents: 19
diff changeset
   484
        QString tmp(iap->value(WlanQtUtilsIap::ConfIdName).toString());
hgs
parents: 19
diff changeset
   485
        TPtrC16 name(tmp.utf16(), tmp.length());
hgs
parents: 19
diff changeset
   486
        OstTraceExt3(
hgs
parents: 19
diff changeset
   487
            TRACE_NORMAL,
hgs
parents: 19
diff changeset
   488
            WLANQTUTILSPRIVATE_TRACEAVAILABLEWLANAPS_IAP,
39
hgs
parents: 31
diff changeset
   489
            "WlanQtUtilsPrivate::traceAvailableWlanAps IAP;name=%S;secMode=%{WlanSecMode};signalStrength=%d",
31
hgs
parents: 19
diff changeset
   490
            name,
hgs
parents: 19
diff changeset
   491
            iap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
hgs
parents: 19
diff changeset
   492
            iap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt());
hgs
parents: 19
diff changeset
   493
    }
hgs
parents: 19
diff changeset
   494
    foreach (QSharedPointer<WlanQtUtilsAp> ap, aps) {
hgs
parents: 19
diff changeset
   495
        QString tmp(ap->value(WlanQtUtilsAp::ConfIdSsid).toString());
hgs
parents: 19
diff changeset
   496
        TPtrC16 ssid(tmp.utf16(), tmp.length());
hgs
parents: 19
diff changeset
   497
        OstTraceExt3(
hgs
parents: 19
diff changeset
   498
            TRACE_NORMAL,
hgs
parents: 19
diff changeset
   499
            WLANQTUTILSPRIVATE_TRACEAVAILABLEWLANAPS_AP,
39
hgs
parents: 31
diff changeset
   500
            "WlanQtUtilsPrivate::traceAvailableWlanAps AP;ssid=%S;secMode=%{WlanSecMode};signalStrength=%d",
31
hgs
parents: 19
diff changeset
   501
            ssid,
hgs
parents: 19
diff changeset
   502
            ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
39
hgs
parents: 31
diff changeset
   503
            ap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt());
31
hgs
parents: 19
diff changeset
   504
    }
hgs
parents: 19
diff changeset
   505
#endif
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
31
hgs
parents: 19
diff changeset
   508
/*!
hgs
parents: 19
diff changeset
   509
    Slot for handling WLAN scan result event from wrapper. Results are
hgs
parents: 19
diff changeset
   510
    stored in member variable (possible duplicates are removed).
hgs
parents: 19
diff changeset
   511
hgs
parents: 19
diff changeset
   512
    @param [in] availableWlanList WLAN networks found in scan.
hgs
parents: 19
diff changeset
   513
*/
hgs
parents: 19
diff changeset
   514
hgs
parents: 19
diff changeset
   515
void WlanQtUtilsPrivate::updateAvailableWlanAps(
39
hgs
parents: 31
diff changeset
   516
    QList< QSharedPointer<WlanQtUtilsAp> > &availableWlanList)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
{
31
hgs
parents: 19
diff changeset
   518
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_ENTRY, this);
hgs
parents: 19
diff changeset
   519
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
    // Old results are removed
31
hgs
parents: 19
diff changeset
   521
    mWlanScanList.clear();
hgs
parents: 19
diff changeset
   522
    // Copy available WLANs to scan result list (duplicates are removed)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   523
    for (int i = 0; i < availableWlanList.count(); i++) {
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   524
        bool duplicate = false;
31
hgs
parents: 19
diff changeset
   525
        for (int j = 0; j < mWlanScanList.count(); j++) {
hgs
parents: 19
diff changeset
   526
            if (WlanQtUtilsAp::compare(
hgs
parents: 19
diff changeset
   527
                availableWlanList[i].data(),
39
hgs
parents: 31
diff changeset
   528
                mWlanScanList[j].data()) == 0) {
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
                duplicate = true;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
                break;
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
            }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
        }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
        if (duplicate == false) {
31
hgs
parents: 19
diff changeset
   534
            mWlanScanList.append(availableWlanList[i]);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
        }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
    }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
39
hgs
parents: 31
diff changeset
   538
    // The information is forwarded to the client
hgs
parents: 31
diff changeset
   539
    reportScanResult(WlanQtUtils::ScanStatusOk);
hgs
parents: 31
diff changeset
   540
    
hgs
parents: 31
diff changeset
   541
    // Scan is complete
hgs
parents: 31
diff changeset
   542
    mScanMode = ScanModeNone;
31
hgs
parents: 19
diff changeset
   543
    
hgs
parents: 19
diff changeset
   544
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEAVAILABLEWLANAPS_EXIT, this);
hgs
parents: 19
diff changeset
   545
}
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
31
hgs
parents: 19
diff changeset
   547
/*!
39
hgs
parents: 31
diff changeset
   548
    Scan result handler. Reports the scanning result to the client.
hgs
parents: 31
diff changeset
   549
        
hgs
parents: 31
diff changeset
   550
    @param [in] status Scan status code (WlanQtUtils::ScanStatus).
hgs
parents: 31
diff changeset
   551
*/
hgs
parents: 31
diff changeset
   552
hgs
parents: 31
diff changeset
   553
void WlanQtUtilsPrivate::reportScanResult(int status)
hgs
parents: 31
diff changeset
   554
{
hgs
parents: 31
diff changeset
   555
    switch (mScanMode) {
hgs
parents: 31
diff changeset
   556
    case ScanModeAvailableWlans:
hgs
parents: 31
diff changeset
   557
        OstTrace1(
hgs
parents: 31
diff changeset
   558
            TRACE_BORDER,
hgs
parents: 31
diff changeset
   559
            WLANQTUTILSPRIVATE_WLANSCANREADY,
hgs
parents: 31
diff changeset
   560
            "WlanQtUtilsPrivate::reportScanResult emit wlanScanReady;status=%{ScanStatus};",
hgs
parents: 31
diff changeset
   561
            status);
hgs
parents: 31
diff changeset
   562
        emit q_ptr->wlanScanReady(status);
hgs
parents: 31
diff changeset
   563
        break;
hgs
parents: 31
diff changeset
   564
hgs
parents: 31
diff changeset
   565
    case ScanModeAvailableWlanAps:
hgs
parents: 31
diff changeset
   566
        OstTrace1(
hgs
parents: 31
diff changeset
   567
            TRACE_BORDER,
hgs
parents: 31
diff changeset
   568
            WLANQTUTILSPRIVATE_WLANSCANAPREADY,
hgs
parents: 31
diff changeset
   569
            "WlanQtUtilsPrivate::reportScanResult emit wlanScanApReady;status=%{ScanStatus};",
hgs
parents: 31
diff changeset
   570
            status);
hgs
parents: 31
diff changeset
   571
        emit q_ptr->wlanScanApReady(status);
hgs
parents: 31
diff changeset
   572
        break;
hgs
parents: 31
diff changeset
   573
hgs
parents: 31
diff changeset
   574
    case ScanModeDirect:
hgs
parents: 31
diff changeset
   575
        OstTrace1(
hgs
parents: 31
diff changeset
   576
            TRACE_BORDER,
hgs
parents: 31
diff changeset
   577
            WLANQTUTILSPRIVATE_WLANSCANDIRECTREADY,
hgs
parents: 31
diff changeset
   578
            "WlanQtUtilsPrivate::reportScanResult emit wlanScanDirectReady;status=%{ScanStatus};",
hgs
parents: 31
diff changeset
   579
            status);
hgs
parents: 31
diff changeset
   580
        emit q_ptr->wlanScanDirectReady(status);
hgs
parents: 31
diff changeset
   581
        break;
hgs
parents: 31
diff changeset
   582
hgs
parents: 31
diff changeset
   583
#ifndef QT_NO_DEBUG
hgs
parents: 31
diff changeset
   584
    default:
hgs
parents: 31
diff changeset
   585
        // Invalid scan mode detected
hgs
parents: 31
diff changeset
   586
        Q_ASSERT(0);
hgs
parents: 31
diff changeset
   587
        break;
hgs
parents: 31
diff changeset
   588
#endif        
hgs
parents: 31
diff changeset
   589
    }
hgs
parents: 31
diff changeset
   590
}
hgs
parents: 31
diff changeset
   591
hgs
parents: 31
diff changeset
   592
/*!
31
hgs
parents: 19
diff changeset
   593
    Slot for handling connection setup status event from wrapper.
hgs
parents: 19
diff changeset
   594
hgs
parents: 19
diff changeset
   595
    @param [in] isOpened Was connection setup successful?
hgs
parents: 19
diff changeset
   596
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   597
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
void WlanQtUtilsPrivate::updateConnectionStatus(bool isOpened)
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
{
31
hgs
parents: 19
diff changeset
   600
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_ENTRY, this);
hgs
parents: 19
diff changeset
   601
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
    if (isOpened == false) {
31
hgs
parents: 19
diff changeset
   603
        // Opening failed, update connection status and inform UI
hgs
parents: 19
diff changeset
   604
        if (mConnection) {
hgs
parents: 19
diff changeset
   605
            mConnection->setConnectionStatus(
hgs
parents: 19
diff changeset
   606
                WlanQtUtils::ConnStatusDisconnected);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   607
        }
31
hgs
parents: 19
diff changeset
   608
        
hgs
parents: 19
diff changeset
   609
        // Include the status code from connection wrapper
hgs
parents: 19
diff changeset
   610
        int status = mEsockWrapper->lastStatusCode();
hgs
parents: 19
diff changeset
   611
        OstTraceExt2(
hgs
parents: 19
diff changeset
   612
            TRACE_BORDER,
hgs
parents: 19
diff changeset
   613
            WLANQTUTILSPRIVATE_WLANNETWORKCLOSED,
hgs
parents: 19
diff changeset
   614
            "WlanQtUtilsPrivate::emit wlanNetworkClosed;IAP ID=%d;status=%d",
hgs
parents: 19
diff changeset
   615
            mConnectingIapId,
hgs
parents: 19
diff changeset
   616
            status);
hgs
parents: 19
diff changeset
   617
        emit q_ptr->wlanNetworkClosed(mConnectingIapId, status);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
    } else {
31
hgs
parents: 19
diff changeset
   619
        // Opening succeeded, update connection status and inform UI
hgs
parents: 19
diff changeset
   620
        if (mConnection) {
39
hgs
parents: 31
diff changeset
   621
            mConnection->setConnectionStatus(WlanQtUtils::ConnStatusConnected);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   622
        }
31
hgs
parents: 19
diff changeset
   623
        
hgs
parents: 19
diff changeset
   624
        OstTrace1(
hgs
parents: 19
diff changeset
   625
            TRACE_BORDER,
hgs
parents: 19
diff changeset
   626
            WLANQTUTILSPRIVATE_WLANNETWORKOPENED,
hgs
parents: 19
diff changeset
   627
            "WlanQtUtilsPrivate::emit wlanNetworkOpened;IAP ID=%d",
hgs
parents: 19
diff changeset
   628
            mConnectingIapId);
hgs
parents: 19
diff changeset
   629
        emit q_ptr->wlanNetworkOpened(mConnectingIapId);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   630
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   631
        // Start ICT, if needed
31
hgs
parents: 19
diff changeset
   632
        if (mConnectingIapId == mToBeTestedIapId) {
39
hgs
parents: 31
diff changeset
   633
            QSharedPointer<WlanQtUtilsIap> iap(mSettings->fetchIap(mConnectingIapId));
hgs
parents: 31
diff changeset
   634
            
hgs
parents: 31
diff changeset
   635
            mIctService = QSharedPointer<IctsWlanLoginInterface>(
hgs
parents: 31
diff changeset
   636
                new IctsWlanLoginInterface(this));
hgs
parents: 31
diff changeset
   637
            
hgs
parents: 31
diff changeset
   638
            // IctsWlanLoginInterface instance is created for each connectivity test
hgs
parents: 31
diff changeset
   639
            // Note: Queued connection is required since mIctService is deleted
hgs
parents: 31
diff changeset
   640
            // when signal comes
hgs
parents: 31
diff changeset
   641
            bool connectStatus = connect(
hgs
parents: 31
diff changeset
   642
                mIctService.data(),
hgs
parents: 31
diff changeset
   643
                SIGNAL(ictsResult(int)),
hgs
parents: 31
diff changeset
   644
                this,
hgs
parents: 31
diff changeset
   645
                SLOT(updateIctResult(int)),
hgs
parents: 31
diff changeset
   646
                Qt::QueuedConnection); 
hgs
parents: 31
diff changeset
   647
            Q_ASSERT(connectStatus);            
hgs
parents: 31
diff changeset
   648
            connectStatus = connect(
hgs
parents: 31
diff changeset
   649
                mIctService.data(),
hgs
parents: 31
diff changeset
   650
                SIGNAL(hotspotCase()),
hgs
parents: 31
diff changeset
   651
                this,
hgs
parents: 31
diff changeset
   652
                SLOT(updateIctHotspotCase()),
hgs
parents: 31
diff changeset
   653
                Qt::QueuedConnection);
hgs
parents: 31
diff changeset
   654
            Q_ASSERT(connectStatus);
hgs
parents: 31
diff changeset
   655
            
hgs
parents: 31
diff changeset
   656
            mIctService->start(
31
hgs
parents: 19
diff changeset
   657
                mToBeTestedIapId,
hgs
parents: 19
diff changeset
   658
                iap->value(WlanQtUtilsIap::ConfIdNetworkId).toInt());
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   659
        }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   660
    }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   661
    // IAP is no more in connecting state
31
hgs
parents: 19
diff changeset
   662
    mConnectingIapId = WlanQtUtils::IapIdNone;
hgs
parents: 19
diff changeset
   663
hgs
parents: 19
diff changeset
   664
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATECONNECTIONSTATUS_EXIT, this);
hgs
parents: 19
diff changeset
   665
}
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   666
31
hgs
parents: 19
diff changeset
   667
/*!
39
hgs
parents: 31
diff changeset
   668
    Slot for handling internet connectivity test result event from wrapper.
hgs
parents: 31
diff changeset
   669
    Tested IAP is stored to Internet SNAP, if test was successful. If the
hgs
parents: 31
diff changeset
   670
    IAP needs Hotspot authentication, it remains ungategorized.
31
hgs
parents: 19
diff changeset
   671
39
hgs
parents: 31
diff changeset
   672
    @param [in] result Result of internet connectivity test and hotspot
hgs
parents: 31
diff changeset
   673
                       authentication (IctsWlanLoginInterface::ictsResultType).
31
hgs
parents: 19
diff changeset
   674
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   675
39
hgs
parents: 31
diff changeset
   676
void WlanQtUtilsPrivate::updateIctResult(int ictsResult)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   677
{
39
hgs
parents: 31
diff changeset
   678
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEICTRESULT_ENTRY, this);
31
hgs
parents: 19
diff changeset
   679
39
hgs
parents: 31
diff changeset
   680
    Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
hgs
parents: 31
diff changeset
   681
    WlanQtUtils::IctStatus result = WlanQtUtils::IctFailed;
hgs
parents: 31
diff changeset
   682
    
hgs
parents: 31
diff changeset
   683
    if (ictsResult == IctsWlanLoginInterface::IctsPassed) {
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   684
        // Move the tested IAP to Internet SNAP since the test passed
31
hgs
parents: 19
diff changeset
   685
        Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
hgs
parents: 19
diff changeset
   686
        mSettings->moveIapToInternetSnap(mToBeTestedIapId);
39
hgs
parents: 31
diff changeset
   687
        result = WlanQtUtils::IctPassed;
hgs
parents: 31
diff changeset
   688
    } else if (ictsResult == IctsWlanLoginInterface::IctsHotspotPassed) {
hgs
parents: 31
diff changeset
   689
        Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
hgs
parents: 31
diff changeset
   690
        result = WlanQtUtils::IctHotspotPassed;
hgs
parents: 31
diff changeset
   691
    } else if (ictsResult == IctsWlanLoginInterface::IctsCanceled) {
hgs
parents: 31
diff changeset
   692
        Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
hgs
parents: 31
diff changeset
   693
        result = WlanQtUtils::IctCancelled;
hgs
parents: 31
diff changeset
   694
    } else {
hgs
parents: 31
diff changeset
   695
        // ICTS failed - IAP remains to be uncategorized and mIctService is deleted.
hgs
parents: 31
diff changeset
   696
        mIctService.clear();
hgs
parents: 31
diff changeset
   697
    }
hgs
parents: 31
diff changeset
   698
    
31
hgs
parents: 19
diff changeset
   699
    // Inform UI
hgs
parents: 19
diff changeset
   700
    OstTraceExt2(
hgs
parents: 19
diff changeset
   701
        TRACE_NORMAL,
hgs
parents: 19
diff changeset
   702
        WLANQTUTILSPRIVATE_ICTRESULT,
39
hgs
parents: 31
diff changeset
   703
        "WlanQtUtilsPrivate::emit ictResult;iapId=%d;result=%{IctStatus}",
hgs
parents: 31
diff changeset
   704
        mToBeTestedIapId,
hgs
parents: 31
diff changeset
   705
        result);
31
hgs
parents: 19
diff changeset
   706
hgs
parents: 19
diff changeset
   707
    emit q_ptr->ictResult(mToBeTestedIapId, result);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   708
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   709
    // This IAP is now tested
31
hgs
parents: 19
diff changeset
   710
    mToBeTestedIapId = WlanQtUtils::IapIdNone;
hgs
parents: 19
diff changeset
   711
39
hgs
parents: 31
diff changeset
   712
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEICTRESULT_EXIT, this);
hgs
parents: 31
diff changeset
   713
}
hgs
parents: 31
diff changeset
   714
hgs
parents: 31
diff changeset
   715
/*!
hgs
parents: 31
diff changeset
   716
    Slot for setting IAP to be tested as hotspot IAP.
hgs
parents: 31
diff changeset
   717
*/
hgs
parents: 31
diff changeset
   718
hgs
parents: 31
diff changeset
   719
void WlanQtUtilsPrivate::updateIctHotspotCase()
hgs
parents: 31
diff changeset
   720
{
hgs
parents: 31
diff changeset
   721
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE_ENTRY, this);
hgs
parents: 31
diff changeset
   722
hgs
parents: 31
diff changeset
   723
    mSettings->setAsHotspotIap(mToBeTestedIapId);
hgs
parents: 31
diff changeset
   724
  
hgs
parents: 31
diff changeset
   725
    Q_ASSERT(mToBeTestedIapId != WlanQtUtils::IapIdNone);
hgs
parents: 31
diff changeset
   726
    OstTrace1(
hgs
parents: 31
diff changeset
   727
        TRACE_BORDER,
hgs
parents: 31
diff changeset
   728
        WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE,
hgs
parents: 31
diff changeset
   729
        "WlanQtUtilsPrivate::updateIctHotspotCase set as hotspot IAP;iapId=%d",
hgs
parents: 31
diff changeset
   730
        mToBeTestedIapId);
hgs
parents: 31
diff changeset
   731
        
hgs
parents: 31
diff changeset
   732
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEICTHOTSPOTCASE_EXIT, this);
31
hgs
parents: 19
diff changeset
   733
}
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   734
31
hgs
parents: 19
diff changeset
   735
/*!
hgs
parents: 19
diff changeset
   736
    Slot for updating active connection status from wrapper.
hgs
parents: 19
diff changeset
   737
hgs
parents: 19
diff changeset
   738
    @param [in] connectionId ID of the new connection.
hgs
parents: 19
diff changeset
   739
*/
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   740
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   741
void WlanQtUtilsPrivate::addActiveConnection(uint connectionId)
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   742
{
31
hgs
parents: 19
diff changeset
   743
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   744
    OstTrace1(
31
hgs
parents: 19
diff changeset
   745
        TRACE_BORDER,
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   746
        WLANQTUTILSPRIVATE_ADDACTIVECONNECTION,
31
hgs
parents: 19
diff changeset
   747
        "WlanQtUtilsPrivate::addActiveConnection;connectionId=%u",
hgs
parents: 19
diff changeset
   748
        connectionId);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   749
31
hgs
parents: 19
diff changeset
   750
    Q_ASSERT(mConnection == NULL);
hgs
parents: 19
diff changeset
   751
    mConnection = QSharedPointer<WlanQtUtilsConnection>(
hgs
parents: 19
diff changeset
   752
        mConMonWrapper->connectionInfo(connectionId));
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   753
31
hgs
parents: 19
diff changeset
   754
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_ADDACTIVECONNECTION_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   755
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   756
31
hgs
parents: 19
diff changeset
   757
/*!
hgs
parents: 19
diff changeset
   758
    Slot for updating active connection status from wrapper.
hgs
parents: 19
diff changeset
   759
hgs
parents: 19
diff changeset
   760
    @param [in] connectionId ID of the deleted connection.
hgs
parents: 19
diff changeset
   761
*/
hgs
parents: 19
diff changeset
   762
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   763
void WlanQtUtilsPrivate::removeActiveConnection(uint connectionId)
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   764
{
31
hgs
parents: 19
diff changeset
   765
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_ENTRY, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   766
    OstTrace1(
31
hgs
parents: 19
diff changeset
   767
        TRACE_BORDER,
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   768
        WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION,
31
hgs
parents: 19
diff changeset
   769
        "WlanQtUtilsPrivate::removeActiveConnection;connectionId=%u",
hgs
parents: 19
diff changeset
   770
        connectionId);
hgs
parents: 19
diff changeset
   771
hgs
parents: 19
diff changeset
   772
    Q_ASSERT(mConnection);
hgs
parents: 19
diff changeset
   773
    if (mConnection->connectionId() == connectionId) {
hgs
parents: 19
diff changeset
   774
        int closedIapId = mConnection->iapId();
hgs
parents: 19
diff changeset
   775
        mConnection.clear();
hgs
parents: 19
diff changeset
   776
hgs
parents: 19
diff changeset
   777
        if (mConnectingIapId != closedIapId) {
hgs
parents: 19
diff changeset
   778
            // Connection is closed, inform UI. wlanNetworkClosed is sent
hgs
parents: 19
diff changeset
   779
            // from here instead of updateActiveConnection(closed),
hgs
parents: 19
diff changeset
   780
            // because, in some cases, connection may be removed without
hgs
parents: 19
diff changeset
   781
            // any connection status updates.
hgs
parents: 19
diff changeset
   782
            // Note: reason parameter is not accurate here, because it is
hgs
parents: 19
diff changeset
   783
            // only relevant for connections opened by this dll
hgs
parents: 19
diff changeset
   784
            // (updateConnectionStatus)
hgs
parents: 19
diff changeset
   785
            OstTraceExt2(
hgs
parents: 19
diff changeset
   786
                TRACE_BORDER,
hgs
parents: 19
diff changeset
   787
                DUP1_WLANQTUTILSPRIVATE_WLANNETWORKCLOSED,
39
hgs
parents: 31
diff changeset
   788
                "WlanQtUtilsPrivate::emit wlanNetworkClosed;iapID=%d;status=%d",
31
hgs
parents: 19
diff changeset
   789
                closedIapId,
hgs
parents: 19
diff changeset
   790
                KErrNone);
hgs
parents: 19
diff changeset
   791
            emit q_ptr->wlanNetworkClosed(closedIapId, KErrNone);
hgs
parents: 19
diff changeset
   792
        }
hgs
parents: 19
diff changeset
   793
        // else: connection creation started by thid dll, but creation failed
hgs
parents: 19
diff changeset
   794
        // -> wlanNetworkClosed is sent from updateConnectionStatus
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   795
    }
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   796
31
hgs
parents: 19
diff changeset
   797
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_REMOVEACTIVECONNECTION_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   798
}
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   799
31
hgs
parents: 19
diff changeset
   800
/*!
hgs
parents: 19
diff changeset
   801
    Slot for updating active connection status from wrapper.
hgs
parents: 19
diff changeset
   802
hgs
parents: 19
diff changeset
   803
    @param [in] connectionId ID of the updated connection.
hgs
parents: 19
diff changeset
   804
    @param [in] connectionStatus New status of the connection.
hgs
parents: 19
diff changeset
   805
*/
hgs
parents: 19
diff changeset
   806
hgs
parents: 19
diff changeset
   807
void WlanQtUtilsPrivate::updateActiveConnection(
hgs
parents: 19
diff changeset
   808
    uint connectionId,
hgs
parents: 19
diff changeset
   809
    WlanQtUtils::ConnStatus connectionStatus)
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   810
{
31
hgs
parents: 19
diff changeset
   811
    OstTraceFunctionEntry1(WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_ENTRY, this);
hgs
parents: 19
diff changeset
   812
    OstTraceExt2(
hgs
parents: 19
diff changeset
   813
        TRACE_BORDER,
hgs
parents: 19
diff changeset
   814
        WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION,
39
hgs
parents: 31
diff changeset
   815
        "WlanQtUtilsPrivate::updateActiveConnection;connectionId=%u;connectionStatus=%{ConnStatus}",
31
hgs
parents: 19
diff changeset
   816
        connectionId,
hgs
parents: 19
diff changeset
   817
        (uint)connectionStatus);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   818
31
hgs
parents: 19
diff changeset
   819
    Q_ASSERT(mConnection);
hgs
parents: 19
diff changeset
   820
    if (mConnection->connectionId() == connectionId
hgs
parents: 19
diff changeset
   821
        && mConnection->connectionStatus() != connectionStatus) {
hgs
parents: 19
diff changeset
   822
        // Update connection status and inform UI, if necessary
hgs
parents: 19
diff changeset
   823
        mConnection->setConnectionStatus(connectionStatus);
hgs
parents: 19
diff changeset
   824
        if (connectionStatus == WlanQtUtils::ConnStatusConnected) {
hgs
parents: 19
diff changeset
   825
            OstTrace1(
hgs
parents: 19
diff changeset
   826
                TRACE_BORDER,
hgs
parents: 19
diff changeset
   827
                DUP1_WLANQTUTILSPRIVATE_WLANNETWORKOPENED,
39
hgs
parents: 31
diff changeset
   828
                "WlanQtUtilsPrivate::emit wlanNetworkOpened;iapId=%d",
31
hgs
parents: 19
diff changeset
   829
                mConnection->iapId());
hgs
parents: 19
diff changeset
   830
            emit q_ptr->wlanNetworkOpened(mConnection->iapId());
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   831
        }
31
hgs
parents: 19
diff changeset
   832
        // Do not inform UI about connection closing here. It is done in
hgs
parents: 19
diff changeset
   833
        // removeActiveConnection(), because that may occur without any
hgs
parents: 19
diff changeset
   834
        // connection status updates.
hgs
parents: 19
diff changeset
   835
    } // else: connection status did not change
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   836
31
hgs
parents: 19
diff changeset
   837
    OstTraceFunctionExit1(WLANQTUTILSPRIVATE_UPDATEACTIVECONNECTION_EXIT, this);
19
10810c91db26 Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   838
}