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