wlanutilities/wlanqtutilities/base/src/wlanqtutilsiapsettings.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:
31
hgs
parents:
diff changeset
     1
/*
hgs
parents:
diff changeset
     2
* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
* All rights reserved.
hgs
parents:
diff changeset
     4
* This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
* which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
*
hgs
parents:
diff changeset
     9
* Initial Contributors:
hgs
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
*
hgs
parents:
diff changeset
    12
* Contributors:
hgs
parents:
diff changeset
    13
*
hgs
parents:
diff changeset
    14
* Description: 
hgs
parents:
diff changeset
    15
* WLAN Qt Utilities WLAN IAP settings handling.
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
// System includes
hgs
parents:
diff changeset
    19
hgs
parents:
diff changeset
    20
#include <QScopedPointer>
hgs
parents:
diff changeset
    21
#include <QSharedPointer>
hgs
parents:
diff changeset
    22
#include <QVariant>
hgs
parents:
diff changeset
    23
hgs
parents:
diff changeset
    24
#include <cmmanager_shim.h>
hgs
parents:
diff changeset
    25
#include <cmdestination_shim.h>
hgs
parents:
diff changeset
    26
#include <cmconnectionmethod_shim.h>
hgs
parents:
diff changeset
    27
hgs
parents:
diff changeset
    28
// User includes
hgs
parents:
diff changeset
    29
hgs
parents:
diff changeset
    30
#include "wlanqtutils.h"
hgs
parents:
diff changeset
    31
#include "wlanqtutilsap.h"
hgs
parents:
diff changeset
    32
#include "wlanqtutilsiap.h"
hgs
parents:
diff changeset
    33
#include "wlanqtutilsiapsettings.h"
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
#include "OstTraceDefinitions.h"
hgs
parents:
diff changeset
    36
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents:
diff changeset
    37
#include "wlanqtutilsiapsettingsTraces.h"
hgs
parents:
diff changeset
    38
#endif
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
/*!
hgs
parents:
diff changeset
    41
    \class WlanQtUtilsIapSettings
hgs
parents:
diff changeset
    42
    \brief WLAN IAP related settings handler.
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
    Provides functionality to manipulate WLAN IAPs via the CM Manager Shim
hgs
parents:
diff changeset
    45
    interface.
hgs
parents:
diff changeset
    46
    
hgs
parents:
diff changeset
    47
    NOTE: Shim functions may throw exceptions that need to be catched in
hgs
parents:
diff changeset
    48
    this class.
hgs
parents:
diff changeset
    49
*/
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
// External function prototypes
hgs
parents:
diff changeset
    52
hgs
parents:
diff changeset
    53
// Local constants
hgs
parents:
diff changeset
    54
39
hgs
parents: 31
diff changeset
    55
//! IAP trace types
hgs
parents: 31
diff changeset
    56
#define WLANQTUTILS_IAP_TRACE_FETCH     1
hgs
parents: 31
diff changeset
    57
#define WLANQTUTILS_IAP_TRACE_CREATE    2
hgs
parents: 31
diff changeset
    58
#define WLANQTUTILS_IAP_TRACE_UPDATE    3
hgs
parents: 31
diff changeset
    59
31
hgs
parents:
diff changeset
    60
// WEP key lengths used to determine key format
hgs
parents:
diff changeset
    61
static const int WepHex64BitMaxLength = 10;
hgs
parents:
diff changeset
    62
static const int WepHex128BitMaxLength = 26;
hgs
parents:
diff changeset
    63
static const int WepAscii64BitMaxLength = 5;
hgs
parents:
diff changeset
    64
static const int WepAscii128BitMaxLength = 13;
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
// ======== LOCAL FUNCTIONS ========
hgs
parents:
diff changeset
    67
hgs
parents:
diff changeset
    68
// ======== MEMBER FUNCTIONS ========
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
/*!
hgs
parents:
diff changeset
    71
    Constructor.
hgs
parents:
diff changeset
    72
    
hgs
parents:
diff changeset
    73
    @param [in] parent Parent object.
hgs
parents:
diff changeset
    74
*/
hgs
parents:
diff changeset
    75
hgs
parents:
diff changeset
    76
WlanQtUtilsIapSettings::WlanQtUtilsIapSettings(QObject *parent) :
hgs
parents:
diff changeset
    77
    QObject(parent),
hgs
parents:
diff changeset
    78
    mCmManager(new CmManagerShim())
hgs
parents:
diff changeset
    79
{
hgs
parents:
diff changeset
    80
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_ENTRY);
hgs
parents:
diff changeset
    81
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_EXIT);
hgs
parents:
diff changeset
    82
}
hgs
parents:
diff changeset
    83
hgs
parents:
diff changeset
    84
/*!
hgs
parents:
diff changeset
    85
    Destructor.
hgs
parents:
diff changeset
    86
*/
hgs
parents:
diff changeset
    87
hgs
parents:
diff changeset
    88
WlanQtUtilsIapSettings::~WlanQtUtilsIapSettings()
hgs
parents:
diff changeset
    89
{
hgs
parents:
diff changeset
    90
    OstTraceFunctionEntry0(DUP1_WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_ENTRY);
hgs
parents:
diff changeset
    91
    
hgs
parents:
diff changeset
    92
    delete mCmManager;
hgs
parents:
diff changeset
    93
    
hgs
parents:
diff changeset
    94
    OstTraceFunctionExit0(DUP1_WLANQTUTILSIAPSETTINGS_WLANQTUTILSIAPSETTINGS_EXIT);
hgs
parents:
diff changeset
    95
}
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
/*!
hgs
parents:
diff changeset
    98
    Fetch all WLAN IAPs.
hgs
parents:
diff changeset
    99
    
hgs
parents:
diff changeset
   100
    @param [out] iapList List of WLAN IAPs.
hgs
parents:
diff changeset
   101
*/
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
void WlanQtUtilsIapSettings::fetchIaps(
hgs
parents:
diff changeset
   104
    QList< QSharedPointer<WlanQtUtilsIap> > &iapList) const
hgs
parents:
diff changeset
   105
{
hgs
parents:
diff changeset
   106
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_FETCHIAPS_ENTRY);
hgs
parents:
diff changeset
   107
    
hgs
parents:
diff changeset
   108
    // Clear the list content first for safety
hgs
parents:
diff changeset
   109
    iapList.clear();
hgs
parents:
diff changeset
   110
    
hgs
parents:
diff changeset
   111
    QList<uint> iapIds;
hgs
parents:
diff changeset
   112
    try {
hgs
parents:
diff changeset
   113
        mCmManager->connectionMethod(iapIds, false);
hgs
parents:
diff changeset
   114
    } catch (const std::exception &ex) {
hgs
parents:
diff changeset
   115
        int error = qt_symbian_exception2Error(ex);
hgs
parents:
diff changeset
   116
        OstTrace1(
hgs
parents:
diff changeset
   117
            TRACE_NORMAL,
hgs
parents:
diff changeset
   118
            WLANQTUTILSIAPSETTINGS_FETCHIAPS_EXCEPTION,
hgs
parents:
diff changeset
   119
            "WlanQtUtilsIapSettings::fetchIaps exception;error=%d",
hgs
parents:
diff changeset
   120
            error);
hgs
parents:
diff changeset
   121
    }
hgs
parents:
diff changeset
   122
39
hgs
parents: 31
diff changeset
   123
#ifdef OST_TRACE_COMPILER_IN_USE
hgs
parents: 31
diff changeset
   124
    int iapCount = iapIds.count();
hgs
parents: 31
diff changeset
   125
    OstTrace1(
hgs
parents: 31
diff changeset
   126
        TRACE_NORMAL,
hgs
parents: 31
diff changeset
   127
        WLANQTUTILSIAPSETTINGS_FETCHIAPS_COUNT,
hgs
parents: 31
diff changeset
   128
        "WlanQtUtilsIapSettings::fetchIaps;iapCount=%d",
hgs
parents: 31
diff changeset
   129
        iapCount);
hgs
parents: 31
diff changeset
   130
#endif
hgs
parents: 31
diff changeset
   131
hgs
parents: 31
diff changeset
   132
    foreach (uint iapId, iapIds) {
31
hgs
parents:
diff changeset
   133
        QSharedPointer<WlanQtUtilsIap> wlanIap = fetchIap(iapId);
hgs
parents:
diff changeset
   134
        if (wlanIap) {
hgs
parents:
diff changeset
   135
            iapList.append(wlanIap);
hgs
parents:
diff changeset
   136
        }
hgs
parents:
diff changeset
   137
    }
hgs
parents:
diff changeset
   138
    
hgs
parents:
diff changeset
   139
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_FETCHIAPS_EXIT);
hgs
parents:
diff changeset
   140
}
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
/*!
hgs
parents:
diff changeset
   143
    Fetch WLAN IAP with the given ID
hgs
parents:
diff changeset
   144
    
hgs
parents:
diff changeset
   145
    @param [in] iapId ID of IAP to fetch.
hgs
parents:
diff changeset
   146
    
hgs
parents:
diff changeset
   147
    @return Found IAP, NULL if not found.
hgs
parents:
diff changeset
   148
*/
hgs
parents:
diff changeset
   149
39
hgs
parents: 31
diff changeset
   150
QSharedPointer<WlanQtUtilsIap> WlanQtUtilsIapSettings::fetchIap(uint iapId) const
31
hgs
parents:
diff changeset
   151
{
hgs
parents:
diff changeset
   152
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_FETCHIAP_ENTRY);
39
hgs
parents: 31
diff changeset
   153
31
hgs
parents:
diff changeset
   154
    QSharedPointer<WlanQtUtilsIap> wlanIap;
hgs
parents:
diff changeset
   155
    try {
hgs
parents:
diff changeset
   156
        QScopedPointer<CmConnectionMethodShim> iap(
hgs
parents:
diff changeset
   157
            mCmManager->connectionMethod(iapId));
hgs
parents:
diff changeset
   158
        if (iap && iap->getIntAttribute(CMManagerShim::CmBearerType) ==
hgs
parents:
diff changeset
   159
            KUidWlanBearerType) {
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
            // Get WLAN IAP parameters
hgs
parents:
diff changeset
   162
            int netId = iap->getIntAttribute(CMManagerShim::CmNetworkId);
hgs
parents:
diff changeset
   163
            QString name = iap->getStringAttribute(CMManagerShim::CmName);
hgs
parents:
diff changeset
   164
            QString ssid = iap->getStringAttribute(CMManagerShim::WlanSSID);
39
hgs
parents: 31
diff changeset
   165
            int connMode = iap->getIntAttribute(CMManagerShim::WlanConnectionMode);
31
hgs
parents:
diff changeset
   166
            int secMode = iap->getIntAttribute(
hgs
parents:
diff changeset
   167
                CMManagerShim::WlanSecurityMode);
hgs
parents:
diff changeset
   168
            bool wpaPskUse = iap->getBoolAttribute(
hgs
parents:
diff changeset
   169
                CMManagerShim::WlanEnableWpaPsk);
hgs
parents:
diff changeset
   170
    
hgs
parents:
diff changeset
   171
            // Create a WLAN Qt Utils IAP
hgs
parents:
diff changeset
   172
            wlanIap = QSharedPointer<WlanQtUtilsIap>(new WlanQtUtilsIap());
hgs
parents:
diff changeset
   173
            wlanIap->setValue(WlanQtUtilsIap::ConfIdIapId, iapId);
hgs
parents:
diff changeset
   174
            wlanIap->setValue(WlanQtUtilsIap::ConfIdNetworkId, netId);
hgs
parents:
diff changeset
   175
            wlanIap->setValue(WlanQtUtilsIap::ConfIdName, name);
hgs
parents:
diff changeset
   176
            wlanIap->setValue(WlanQtUtilsAp::ConfIdSsid, ssid);
39
hgs
parents: 31
diff changeset
   177
            wlanIap->setValue(WlanQtUtilsAp::ConfIdConnectionMode, connMode);
31
hgs
parents:
diff changeset
   178
            wlanIap->setValue(WlanQtUtilsAp::ConfIdSecurityMode, secMode);
hgs
parents:
diff changeset
   179
            wlanIap->setValue(WlanQtUtilsAp::ConfIdWpaPskUse, wpaPskUse);
39
hgs
parents: 31
diff changeset
   180
            
hgs
parents: 31
diff changeset
   181
            // Trace the fetched IAP
hgs
parents: 31
diff changeset
   182
            traceIap(
hgs
parents: 31
diff changeset
   183
                wlanIap.data(),
hgs
parents: 31
diff changeset
   184
                WLANQTUTILS_IAP_TRACE_FETCH,
hgs
parents: 31
diff changeset
   185
                iapId);
31
hgs
parents:
diff changeset
   186
        }
hgs
parents:
diff changeset
   187
    } catch (const std::exception &ex) {
hgs
parents:
diff changeset
   188
        int error = qt_symbian_exception2Error(ex);
hgs
parents:
diff changeset
   189
        OstTrace1(
hgs
parents:
diff changeset
   190
            TRACE_NORMAL,
hgs
parents:
diff changeset
   191
            WLANQTUTILSIAPSETTINGS_FETCHIAP_EXCEPTION,
hgs
parents:
diff changeset
   192
            "WlanQtUtilsIapSettings::fetchIap exception;error=%d",
hgs
parents:
diff changeset
   193
            error);
hgs
parents:
diff changeset
   194
    }
hgs
parents:
diff changeset
   195
    
hgs
parents:
diff changeset
   196
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_FETCHIAP_EXIT);
hgs
parents:
diff changeset
   197
    return wlanIap;
hgs
parents:
diff changeset
   198
}
hgs
parents:
diff changeset
   199
hgs
parents:
diff changeset
   200
/*!
hgs
parents:
diff changeset
   201
    Create a new WLAN IAP as an uncategorized IAP.
hgs
parents:
diff changeset
   202
    
hgs
parents:
diff changeset
   203
    @param [in] wlanAp Information about the WLAN AP.
hgs
parents:
diff changeset
   204
    
hgs
parents:
diff changeset
   205
    @return ID of the created IAP, IapIdNone in error cases.
hgs
parents:
diff changeset
   206
*/
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
int WlanQtUtilsIapSettings::createIap(const WlanQtUtilsAp *wlanAp)
hgs
parents:
diff changeset
   209
{
hgs
parents:
diff changeset
   210
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_CREATEIAP_ENTRY);
hgs
parents:
diff changeset
   211
    
hgs
parents:
diff changeset
   212
    int iapId = WlanQtUtils::IapIdNone;
hgs
parents:
diff changeset
   213
    
hgs
parents:
diff changeset
   214
    try {
hgs
parents:
diff changeset
   215
        // Create the new IAP
hgs
parents:
diff changeset
   216
        QScopedPointer<CmConnectionMethodShim> iap(
hgs
parents:
diff changeset
   217
            mCmManager->createConnectionMethod(KUidWlanBearerType));
hgs
parents:
diff changeset
   218
        storeSettings(wlanAp, iap.data());
hgs
parents:
diff changeset
   219
        iapId = iap->getIntAttribute(CMManagerShim::CmIapId);
39
hgs
parents: 31
diff changeset
   220
        
hgs
parents: 31
diff changeset
   221
        // Trace the created IAP
hgs
parents: 31
diff changeset
   222
        traceIap(
hgs
parents: 31
diff changeset
   223
            wlanAp,
hgs
parents: 31
diff changeset
   224
            WLANQTUTILS_IAP_TRACE_CREATE,
hgs
parents: 31
diff changeset
   225
            iapId);
31
hgs
parents:
diff changeset
   226
    } catch (const std::exception &ex) {
hgs
parents:
diff changeset
   227
        // Trace error cause and return failure (default value) to caller.
hgs
parents:
diff changeset
   228
        int error = qt_symbian_exception2Error(ex);
hgs
parents:
diff changeset
   229
        OstTrace1(
hgs
parents:
diff changeset
   230
            TRACE_NORMAL,
hgs
parents:
diff changeset
   231
            WLANQTUTILSIAPSETTINGS_CREATEIAP_EXCEPTION,
hgs
parents:
diff changeset
   232
            "WlanQtUtilsIapSettings::createIap exception;error=%d",
hgs
parents:
diff changeset
   233
            error);
hgs
parents:
diff changeset
   234
    }
hgs
parents:
diff changeset
   235
    
hgs
parents:
diff changeset
   236
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_CREATEIAP_EXIT);
hgs
parents:
diff changeset
   237
    return iapId;
hgs
parents:
diff changeset
   238
}
hgs
parents:
diff changeset
   239
hgs
parents:
diff changeset
   240
/*!
hgs
parents:
diff changeset
   241
    Update the WLAN IAP given as parameter. All settings are stored to
hgs
parents:
diff changeset
   242
    database (again) without checking whether they have actually changed
hgs
parents:
diff changeset
   243
    or not.
hgs
parents:
diff changeset
   244
    
hgs
parents:
diff changeset
   245
    @param [in] iapId ID of IAP to update.
hgs
parents:
diff changeset
   246
    @param [in] wlanAp Information about the WLAN AP.
hgs
parents:
diff changeset
   247
    
hgs
parents:
diff changeset
   248
    @return Was update succesful or not?
hgs
parents:
diff changeset
   249
*/
hgs
parents:
diff changeset
   250
hgs
parents:
diff changeset
   251
bool WlanQtUtilsIapSettings::updateIap(
hgs
parents:
diff changeset
   252
    int iapId,
hgs
parents:
diff changeset
   253
    const WlanQtUtilsAp *wlanAp)
hgs
parents:
diff changeset
   254
{
hgs
parents:
diff changeset
   255
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_UPDATEIAP_ENTRY);
hgs
parents:
diff changeset
   256
    
hgs
parents:
diff changeset
   257
    bool success = false;
hgs
parents:
diff changeset
   258
    
hgs
parents:
diff changeset
   259
    try {
hgs
parents:
diff changeset
   260
        QScopedPointer<CmConnectionMethodShim> iap(
hgs
parents:
diff changeset
   261
            mCmManager->connectionMethod(iapId));
hgs
parents:
diff changeset
   262
        storeSettings(wlanAp, iap.data());
39
hgs
parents: 31
diff changeset
   263
        // Trace the updated IAP
hgs
parents: 31
diff changeset
   264
        traceIap(
hgs
parents: 31
diff changeset
   265
            wlanAp,
hgs
parents: 31
diff changeset
   266
            WLANQTUTILS_IAP_TRACE_UPDATE,
hgs
parents: 31
diff changeset
   267
            iapId);
31
hgs
parents:
diff changeset
   268
        success = true;
hgs
parents:
diff changeset
   269
    } catch (const std::exception &ex) {
hgs
parents:
diff changeset
   270
        // Trace error cause and return failure (default value) to caller.
hgs
parents:
diff changeset
   271
        int error = qt_symbian_exception2Error(ex);
hgs
parents:
diff changeset
   272
        OstTrace1(
hgs
parents:
diff changeset
   273
            TRACE_NORMAL,
hgs
parents:
diff changeset
   274
            WLANQTUTILSIAPSETTINGS_UPDATEIAP_EXCEPTION,
hgs
parents:
diff changeset
   275
            "WlanQtUtilsIapSettings::updateIap exception;error=%d",
hgs
parents:
diff changeset
   276
            error);
hgs
parents:
diff changeset
   277
    }
hgs
parents:
diff changeset
   278
    
hgs
parents:
diff changeset
   279
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_UPDATEIAP_EXIT);
hgs
parents:
diff changeset
   280
    return success;
hgs
parents:
diff changeset
   281
}
hgs
parents:
diff changeset
   282
hgs
parents:
diff changeset
   283
/*!
hgs
parents:
diff changeset
   284
    Delete the WLAN IAP given as parameter.
hgs
parents:
diff changeset
   285
    
hgs
parents:
diff changeset
   286
    @param [in] iapId ID of IAP to delete.
hgs
parents:
diff changeset
   287
*/
hgs
parents:
diff changeset
   288
hgs
parents:
diff changeset
   289
void WlanQtUtilsIapSettings::deleteIap(int iapId)
hgs
parents:
diff changeset
   290
{
hgs
parents:
diff changeset
   291
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_DELETEIAP_ENTRY);
hgs
parents:
diff changeset
   292
    
hgs
parents:
diff changeset
   293
    try {
hgs
parents:
diff changeset
   294
        QScopedPointer<CmConnectionMethodShim> iap(
hgs
parents:
diff changeset
   295
            mCmManager->connectionMethod(iapId));
hgs
parents:
diff changeset
   296
        iap->deleteConnectionMethod();
hgs
parents:
diff changeset
   297
    } catch (const std::exception &ex) {
hgs
parents:
diff changeset
   298
        // Just trace error cause. It is not fatal, if we are not able to
hgs
parents:
diff changeset
   299
        // delete the IAP. No need to retry, since errors should be very
hgs
parents:
diff changeset
   300
        // rare and user can delete the IAP later from Control Panel, if
hgs
parents:
diff changeset
   301
        // needed.
hgs
parents:
diff changeset
   302
        int error = qt_symbian_exception2Error(ex);
hgs
parents:
diff changeset
   303
        OstTrace1(
hgs
parents:
diff changeset
   304
            TRACE_NORMAL,
hgs
parents:
diff changeset
   305
            WLANQTUTILSIAPSETTINGS_DELETEIAP_EXCEPTION,
hgs
parents:
diff changeset
   306
            "WlanQtUtilsIapSettings::deleteIap exception;error=%d",
hgs
parents:
diff changeset
   307
            error);
hgs
parents:
diff changeset
   308
    }
hgs
parents:
diff changeset
   309
hgs
parents:
diff changeset
   310
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_DELETEIAP_EXIT);
hgs
parents:
diff changeset
   311
}
hgs
parents:
diff changeset
   312
hgs
parents:
diff changeset
   313
/*!
hgs
parents:
diff changeset
   314
    Move IAP to the Internet SNAP.
hgs
parents:
diff changeset
   315
    
hgs
parents:
diff changeset
   316
    @param [in] iapId ID of the IAP to move.
hgs
parents:
diff changeset
   317
*/
hgs
parents:
diff changeset
   318
hgs
parents:
diff changeset
   319
void WlanQtUtilsIapSettings::moveIapToInternetSnap(int iapId)
hgs
parents:
diff changeset
   320
{
hgs
parents:
diff changeset
   321
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_MOVEIAPTOINTERNETSNAP_ENTRY);
hgs
parents:
diff changeset
   322
    
hgs
parents:
diff changeset
   323
    // Read all destination (SNAP) IDs
hgs
parents:
diff changeset
   324
    QList<uint> destinations;
hgs
parents:
diff changeset
   325
    try {
hgs
parents:
diff changeset
   326
        mCmManager->allDestinations(destinations);
hgs
parents:
diff changeset
   327
        foreach (int destId, destinations) {
hgs
parents:
diff changeset
   328
            QScopedPointer<CmDestinationShim> destination(
hgs
parents:
diff changeset
   329
                mCmManager->destination(destId));
hgs
parents:
diff changeset
   330
        
hgs
parents:
diff changeset
   331
            // Internet destination will always exist in the system. It has 
hgs
parents:
diff changeset
   332
            // SnapPurposeInternet set in its metadata.
hgs
parents:
diff changeset
   333
            if (destination->metadata(CMManagerShim::SnapMetadataPurpose)
hgs
parents:
diff changeset
   334
                == CMManagerShim::SnapPurposeInternet) {
hgs
parents:
diff changeset
   335
                QScopedPointer<CmConnectionMethodShim> iap(
hgs
parents:
diff changeset
   336
                    mCmManager->connectionMethod(iapId));
hgs
parents:
diff changeset
   337
                destination->addConnectionMethod(iap.data());
hgs
parents:
diff changeset
   338
                destination->update();
hgs
parents:
diff changeset
   339
                break;
hgs
parents:
diff changeset
   340
            }
hgs
parents:
diff changeset
   341
        }
hgs
parents:
diff changeset
   342
    } catch (const std::exception &ex) {
hgs
parents:
diff changeset
   343
        int error = qt_symbian_exception2Error(ex);
hgs
parents:
diff changeset
   344
        OstTrace1(
hgs
parents:
diff changeset
   345
            TRACE_NORMAL,
hgs
parents:
diff changeset
   346
            WLANQTUTILSIAPSETTINGS_MOVEIAPTOINTERNETSNAP_EXCEPTION,
hgs
parents:
diff changeset
   347
            "WlanQtUtilsIapSettings::moveIapToInternetSnap exception;error=%d",
hgs
parents:
diff changeset
   348
            error);
hgs
parents:
diff changeset
   349
    }
hgs
parents:
diff changeset
   350
hgs
parents:
diff changeset
   351
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_MOVEIAPTOINTERNETSNAP_EXIT);
hgs
parents:
diff changeset
   352
}
hgs
parents:
diff changeset
   353
hgs
parents:
diff changeset
   354
/*!
39
hgs
parents: 31
diff changeset
   355
    Set Hotspot metadata to the Hotspot IAP given as parameter.
hgs
parents: 31
diff changeset
   356
    
hgs
parents: 31
diff changeset
   357
    @param [in] iapId ID of IAP to set.
hgs
parents: 31
diff changeset
   358
*/
hgs
parents: 31
diff changeset
   359
hgs
parents: 31
diff changeset
   360
void WlanQtUtilsIapSettings::setAsHotspotIap(int iapId)
hgs
parents: 31
diff changeset
   361
{
hgs
parents: 31
diff changeset
   362
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_SETASHOTSPOTIAP_ENTRY);
hgs
parents: 31
diff changeset
   363
        
hgs
parents: 31
diff changeset
   364
    try {
hgs
parents: 31
diff changeset
   365
        QScopedPointer<CmConnectionMethodShim> iap(
hgs
parents: 31
diff changeset
   366
            mCmManager->connectionMethod(iapId));
hgs
parents: 31
diff changeset
   367
        iap->setBoolAttribute(CMManagerShim::CmMetaHotSpot, true);
hgs
parents: 31
diff changeset
   368
        iap->update();
hgs
parents: 31
diff changeset
   369
    } catch (const std::exception &ex) {
hgs
parents: 31
diff changeset
   370
        // Just trace error cause. It is not fatal, if we are not able to
hgs
parents: 31
diff changeset
   371
        // set IAP as hotspot IAP. No need to retry, since errors should be very
hgs
parents: 31
diff changeset
   372
        // rare and it does not prevent connection opening of the hotspot IAP.
hgs
parents: 31
diff changeset
   373
        int error = qt_symbian_exception2Error(ex);
hgs
parents: 31
diff changeset
   374
        OstTrace1(
hgs
parents: 31
diff changeset
   375
            TRACE_NORMAL,
hgs
parents: 31
diff changeset
   376
            WLANQTUTILSIAPSETTINGS_SETASHOTSPOTIAP_EXCEPTION,
hgs
parents: 31
diff changeset
   377
            "WlanQtUtilsIapSettings::setAsHotspotIap exception;error=%d",
hgs
parents: 31
diff changeset
   378
            error);
hgs
parents: 31
diff changeset
   379
    }
hgs
parents: 31
diff changeset
   380
                 
hgs
parents: 31
diff changeset
   381
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_SETASHOTSPOTIAP_EXIT);
hgs
parents: 31
diff changeset
   382
}
hgs
parents: 31
diff changeset
   383
hgs
parents: 31
diff changeset
   384
/*!
31
hgs
parents:
diff changeset
   385
    Stores the given Wlan AP settings to database using CM Manager Shim.
hgs
parents:
diff changeset
   386
   
hgs
parents:
diff changeset
   387
    @param [in] wlanAp WLAN AP settings to store.
hgs
parents:
diff changeset
   388
    @param [in] iap WLAN IAP to store to.
hgs
parents:
diff changeset
   389
*/
hgs
parents:
diff changeset
   390
hgs
parents:
diff changeset
   391
void WlanQtUtilsIapSettings::storeSettings(
hgs
parents:
diff changeset
   392
    const WlanQtUtilsAp *wlanAp,
hgs
parents:
diff changeset
   393
    CmConnectionMethodShim *iap)
hgs
parents:
diff changeset
   394
{
hgs
parents:
diff changeset
   395
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_STORESETTINGS_ENTRY);
39
hgs
parents: 31
diff changeset
   396
31
hgs
parents:
diff changeset
   397
    int secMode = wlanAp->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
hgs
parents:
diff changeset
   398
    QString ssid = wlanAp->value(WlanQtUtilsAp::ConfIdSsid).toString();
39
hgs
parents: 31
diff changeset
   399
hgs
parents: 31
diff changeset
   400
    // Store general settings
31
hgs
parents:
diff changeset
   401
    iap->setStringAttribute(CMManagerShim::CmName, ssid);
hgs
parents:
diff changeset
   402
    iap->setStringAttribute(CMManagerShim::WlanSSID, ssid);
hgs
parents:
diff changeset
   403
    iap->setIntAttribute(CMManagerShim::WlanSecurityMode, secMode);
hgs
parents:
diff changeset
   404
    iap->setIntAttribute(
hgs
parents:
diff changeset
   405
        CMManagerShim::WlanConnectionMode, 
hgs
parents:
diff changeset
   406
        wlanAp->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt());
hgs
parents:
diff changeset
   407
39
hgs
parents: 31
diff changeset
   408
    // Store the WEP settings
hgs
parents: 31
diff changeset
   409
    storeWepKey(
hgs
parents: 31
diff changeset
   410
        wlanAp->value(WlanQtUtilsAp::ConfIdWepKey1).toString(),
hgs
parents: 31
diff changeset
   411
        1,
hgs
parents: 31
diff changeset
   412
        iap);
hgs
parents: 31
diff changeset
   413
    storeWepKey(
hgs
parents: 31
diff changeset
   414
        wlanAp->value(WlanQtUtilsAp::ConfIdWepKey2).toString(),
hgs
parents: 31
diff changeset
   415
        2,
hgs
parents: 31
diff changeset
   416
        iap);
hgs
parents: 31
diff changeset
   417
    storeWepKey(
hgs
parents: 31
diff changeset
   418
        wlanAp->value(WlanQtUtilsAp::ConfIdWepKey3).toString(),
hgs
parents: 31
diff changeset
   419
        3,
hgs
parents: 31
diff changeset
   420
        iap);
hgs
parents: 31
diff changeset
   421
    storeWepKey(
hgs
parents: 31
diff changeset
   422
        wlanAp->value(WlanQtUtilsAp::ConfIdWepKey4).toString(),
hgs
parents: 31
diff changeset
   423
        4,
hgs
parents: 31
diff changeset
   424
        iap);
hgs
parents: 31
diff changeset
   425
    iap->setIntAttribute(
hgs
parents: 31
diff changeset
   426
        CMManagerShim::WlanWepKeyIndex,
hgs
parents: 31
diff changeset
   427
        wlanAp->value(WlanQtUtilsAp::ConfIdWepDefaultIndex).toInt());
hgs
parents: 31
diff changeset
   428
hgs
parents: 31
diff changeset
   429
    // Store WPA PSK settings
hgs
parents: 31
diff changeset
   430
    bool usePsk = wlanAp->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool();
hgs
parents: 31
diff changeset
   431
    iap->setBoolAttribute(CMManagerShim::WlanEnableWpaPsk, usePsk);
hgs
parents: 31
diff changeset
   432
    QString wpaKey(wlanAp->value(WlanQtUtilsAp::ConfIdWpaPsk).toString());
hgs
parents: 31
diff changeset
   433
    iap->setString8Attribute(CMManagerShim::WlanWpaPreSharedKey, wpaKey);
hgs
parents: 31
diff changeset
   434
hgs
parents: 31
diff changeset
   435
    // Write the settings.
31
hgs
parents:
diff changeset
   436
    iap->update();
hgs
parents:
diff changeset
   437
hgs
parents:
diff changeset
   438
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_STORESETTINGS_EXIT);
hgs
parents:
diff changeset
   439
}
hgs
parents:
diff changeset
   440
hgs
parents:
diff changeset
   441
/*!
39
hgs
parents: 31
diff changeset
   442
    Stores the given valid WEP key to database using CM Manager Shim. If key
hgs
parents: 31
diff changeset
   443
    is not used an empty key must be provided.
31
hgs
parents:
diff changeset
   444
  
39
hgs
parents: 31
diff changeset
   445
    @note This method MUST not be called for invalid WEP Keys and/or indexes.
hgs
parents: 31
diff changeset
   446
          Wlanwizard validates keys, before accepting user input.
31
hgs
parents:
diff changeset
   447
          
hgs
parents:
diff changeset
   448
    @param [in] key Key to write.
hgs
parents:
diff changeset
   449
    @param [in] index Key index. Valid range is [0,4].
hgs
parents:
diff changeset
   450
    @param [in] iap WLAN IAP to store the key into.
hgs
parents:
diff changeset
   451
*/
hgs
parents:
diff changeset
   452
hgs
parents:
diff changeset
   453
void WlanQtUtilsIapSettings::storeWepKey(
hgs
parents:
diff changeset
   454
    const QString &key,
hgs
parents:
diff changeset
   455
    int index,
hgs
parents:
diff changeset
   456
    CmConnectionMethodShim *iap)
hgs
parents:
diff changeset
   457
{
hgs
parents:
diff changeset
   458
    OstTraceFunctionEntry0(WLANQTUTILSIAPSETTINGS_STOREWEPKEY_ENTRY);
hgs
parents:
diff changeset
   459
    
hgs
parents:
diff changeset
   460
    int length = key.length();
hgs
parents:
diff changeset
   461
    if (length == WepHex64BitMaxLength || length == WepHex128BitMaxLength) {
hgs
parents:
diff changeset
   462
        // HEX
39
hgs
parents: 31
diff changeset
   463
        iap->setString8Attribute(mapWepKeyIndexHex(index), key);
31
hgs
parents:
diff changeset
   464
    } else if (length == WepAscii64BitMaxLength || length == WepAscii128BitMaxLength) {
hgs
parents:
diff changeset
   465
        // ASCII
39
hgs
parents: 31
diff changeset
   466
        iap->setString8Attribute(mapWepKeyIndexAscii(index), key);
hgs
parents: 31
diff changeset
   467
    } else {
hgs
parents: 31
diff changeset
   468
        // Length must always be a valid one or zero
hgs
parents: 31
diff changeset
   469
        Q_ASSERT(length == 0);
hgs
parents: 31
diff changeset
   470
        
hgs
parents: 31
diff changeset
   471
        // Write default value. Note that the key is stored in the same data
hgs
parents: 31
diff changeset
   472
        // field regardless of the format so writing only one key is enough.
hgs
parents: 31
diff changeset
   473
        iap->setString8Attribute(mapWepKeyIndexHex(index), key);
31
hgs
parents:
diff changeset
   474
    }
hgs
parents:
diff changeset
   475
hgs
parents:
diff changeset
   476
    OstTraceFunctionExit0(WLANQTUTILSIAPSETTINGS_STOREWEPKEY_EXIT);
hgs
parents:
diff changeset
   477
}
39
hgs
parents: 31
diff changeset
   478
hgs
parents: 31
diff changeset
   479
/*!
hgs
parents: 31
diff changeset
   480
    Maps given Hex WEP key index into the corresponding CM Manager Connection
hgs
parents: 31
diff changeset
   481
    Method attribute.
hgs
parents: 31
diff changeset
   482
    
hgs
parents: 31
diff changeset
   483
    @param [in] index Hex WEP key index [1,4].
hgs
parents: 31
diff changeset
   484
    
hgs
parents: 31
diff changeset
   485
    @return Connection Method attribute. 
hgs
parents: 31
diff changeset
   486
*/
hgs
parents: 31
diff changeset
   487
hgs
parents: 31
diff changeset
   488
CMManagerShim::ConnectionMethodAttribute WlanQtUtilsIapSettings::mapWepKeyIndexHex(
hgs
parents: 31
diff changeset
   489
    int index)
hgs
parents: 31
diff changeset
   490
{
hgs
parents: 31
diff changeset
   491
    CMManagerShim::ConnectionMethodAttribute attribute = 
hgs
parents: 31
diff changeset
   492
        CMManagerShim::WlanWepKey1InHex;
hgs
parents: 31
diff changeset
   493
    
hgs
parents: 31
diff changeset
   494
    switch (index) {
hgs
parents: 31
diff changeset
   495
    case 1:
hgs
parents: 31
diff changeset
   496
        attribute = CMManagerShim::WlanWepKey1InHex;
hgs
parents: 31
diff changeset
   497
        break;
hgs
parents: 31
diff changeset
   498
        
hgs
parents: 31
diff changeset
   499
    case 2:
hgs
parents: 31
diff changeset
   500
        attribute = CMManagerShim::WlanWepKey2InHex;
hgs
parents: 31
diff changeset
   501
        break;
hgs
parents: 31
diff changeset
   502
        
hgs
parents: 31
diff changeset
   503
    case 3:
hgs
parents: 31
diff changeset
   504
        attribute = CMManagerShim::WlanWepKey3InHex;
hgs
parents: 31
diff changeset
   505
        break;
hgs
parents: 31
diff changeset
   506
        
hgs
parents: 31
diff changeset
   507
    case 4:
hgs
parents: 31
diff changeset
   508
        attribute = CMManagerShim::WlanWepKey4InHex;
hgs
parents: 31
diff changeset
   509
        break;
hgs
parents: 31
diff changeset
   510
        
hgs
parents: 31
diff changeset
   511
#ifndef QT_NO_DEBUG
hgs
parents: 31
diff changeset
   512
    default:
hgs
parents: 31
diff changeset
   513
        // Invalid key index detected
hgs
parents: 31
diff changeset
   514
        Q_ASSERT(0);
hgs
parents: 31
diff changeset
   515
        break;
hgs
parents: 31
diff changeset
   516
#endif
hgs
parents: 31
diff changeset
   517
    }
hgs
parents: 31
diff changeset
   518
hgs
parents: 31
diff changeset
   519
    return attribute;
hgs
parents: 31
diff changeset
   520
}
hgs
parents: 31
diff changeset
   521
hgs
parents: 31
diff changeset
   522
/*!
hgs
parents: 31
diff changeset
   523
    Maps given Ascii WEP key index into the corresponding CM Manager Connection
hgs
parents: 31
diff changeset
   524
    Method attribute.
hgs
parents: 31
diff changeset
   525
    
hgs
parents: 31
diff changeset
   526
    @param [in] index Ascii WEP key index [1,4].
hgs
parents: 31
diff changeset
   527
    
hgs
parents: 31
diff changeset
   528
    @return Connection Method attribute. 
hgs
parents: 31
diff changeset
   529
*/
hgs
parents: 31
diff changeset
   530
hgs
parents: 31
diff changeset
   531
CMManagerShim::ConnectionMethodAttribute WlanQtUtilsIapSettings::mapWepKeyIndexAscii(
hgs
parents: 31
diff changeset
   532
    int index)
hgs
parents: 31
diff changeset
   533
{
hgs
parents: 31
diff changeset
   534
    CMManagerShim::ConnectionMethodAttribute attribute = 
hgs
parents: 31
diff changeset
   535
        CMManagerShim::WlanWepKey1InAscii;
hgs
parents: 31
diff changeset
   536
hgs
parents: 31
diff changeset
   537
    switch (index) {
hgs
parents: 31
diff changeset
   538
    case 1:
hgs
parents: 31
diff changeset
   539
        attribute = CMManagerShim::WlanWepKey1InAscii;
hgs
parents: 31
diff changeset
   540
        break;
hgs
parents: 31
diff changeset
   541
        
hgs
parents: 31
diff changeset
   542
    case 2:
hgs
parents: 31
diff changeset
   543
        attribute = CMManagerShim::WlanWepKey2InAscii;
hgs
parents: 31
diff changeset
   544
        break;
hgs
parents: 31
diff changeset
   545
        
hgs
parents: 31
diff changeset
   546
    case 3:
hgs
parents: 31
diff changeset
   547
        attribute = CMManagerShim::WlanWepKey3InAscii;
hgs
parents: 31
diff changeset
   548
        break;
hgs
parents: 31
diff changeset
   549
hgs
parents: 31
diff changeset
   550
    case 4:
hgs
parents: 31
diff changeset
   551
        attribute = CMManagerShim::WlanWepKey4InAscii;
hgs
parents: 31
diff changeset
   552
        break;
hgs
parents: 31
diff changeset
   553
        
hgs
parents: 31
diff changeset
   554
#ifndef QT_NO_DEBUG
hgs
parents: 31
diff changeset
   555
    default:
hgs
parents: 31
diff changeset
   556
        // Invalid key index detected
hgs
parents: 31
diff changeset
   557
        Q_ASSERT(0);
hgs
parents: 31
diff changeset
   558
        break;
hgs
parents: 31
diff changeset
   559
#endif            
hgs
parents: 31
diff changeset
   560
    }
hgs
parents: 31
diff changeset
   561
hgs
parents: 31
diff changeset
   562
    return attribute;
hgs
parents: 31
diff changeset
   563
}
hgs
parents: 31
diff changeset
   564
hgs
parents: 31
diff changeset
   565
/*
hgs
parents: 31
diff changeset
   566
    Traces given IAP (which is taken in as an AP).
hgs
parents: 31
diff changeset
   567
hgs
parents: 31
diff changeset
   568
    @param [in] ap IAP to trace.
hgs
parents: 31
diff changeset
   569
    @param [in] traceType Trace type (WLANQTUTILS_IAP_TRACE_*).
hgs
parents: 31
diff changeset
   570
    @param [in] iapId IAP ID.
hgs
parents: 31
diff changeset
   571
*/
hgs
parents: 31
diff changeset
   572
hgs
parents: 31
diff changeset
   573
void WlanQtUtilsIapSettings::traceIap(
hgs
parents: 31
diff changeset
   574
    const WlanQtUtilsAp *ap,
hgs
parents: 31
diff changeset
   575
    int traceType,
hgs
parents: 31
diff changeset
   576
    uint iapId) const
hgs
parents: 31
diff changeset
   577
{
hgs
parents: 31
diff changeset
   578
#ifndef OST_TRACE_COMPILER_IN_USE
hgs
parents: 31
diff changeset
   579
    Q_UNUSED(ap);
hgs
parents: 31
diff changeset
   580
    Q_UNUSED(traceType);
hgs
parents: 31
diff changeset
   581
    Q_UNUSED(iapId);
hgs
parents: 31
diff changeset
   582
#else    
hgs
parents: 31
diff changeset
   583
    QString ssid_string(ap->value(WlanQtUtilsAp::ConfIdSsid).toString());
hgs
parents: 31
diff changeset
   584
    TPtrC16 ssid(ssid_string.utf16(), ssid_string.length());
hgs
parents: 31
diff changeset
   585
    int secMode = ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt();
hgs
parents: 31
diff changeset
   586
    int connMode = ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt();    
hgs
parents: 31
diff changeset
   587
    bool useWpaPsk = ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool();
hgs
parents: 31
diff changeset
   588
    
hgs
parents: 31
diff changeset
   589
    switch (traceType) {
hgs
parents: 31
diff changeset
   590
    case WLANQTUTILS_IAP_TRACE_FETCH:
hgs
parents: 31
diff changeset
   591
        OstTraceExt5(
hgs
parents: 31
diff changeset
   592
            TRACE_NORMAL,
hgs
parents: 31
diff changeset
   593
            WLANQTUTILSIAPSETTINGS_TRACEIAP_FETCH,
hgs
parents: 31
diff changeset
   594
            "WlanQtUtilsIapSettings::traceIap Fetched;iapId=%u;ssid=%S;secMode=%{WlanSecMode};useWpaPsk=%u;connMode=%{WlanConnMode}",
hgs
parents: 31
diff changeset
   595
            iapId,
hgs
parents: 31
diff changeset
   596
            ssid,
hgs
parents: 31
diff changeset
   597
            secMode,
hgs
parents: 31
diff changeset
   598
            useWpaPsk,
hgs
parents: 31
diff changeset
   599
            connMode);
hgs
parents: 31
diff changeset
   600
        break;
hgs
parents: 31
diff changeset
   601
hgs
parents: 31
diff changeset
   602
    case WLANQTUTILS_IAP_TRACE_CREATE:
hgs
parents: 31
diff changeset
   603
        OstTraceExt5(
hgs
parents: 31
diff changeset
   604
            TRACE_NORMAL,
hgs
parents: 31
diff changeset
   605
            WLANQTUTILSIAPSETTINGS_TRACEIAP_CREATE,
hgs
parents: 31
diff changeset
   606
            "WlanQtUtilsIapSettings::traceIap Created;iapId=%u;ssid=%S;secMode=%{WlanSecMode};useWpaPsk=%u;connMode=%{WlanConnMode}",
hgs
parents: 31
diff changeset
   607
            iapId,
hgs
parents: 31
diff changeset
   608
            ssid,
hgs
parents: 31
diff changeset
   609
            secMode,
hgs
parents: 31
diff changeset
   610
            useWpaPsk,
hgs
parents: 31
diff changeset
   611
            connMode);
hgs
parents: 31
diff changeset
   612
        break;
hgs
parents: 31
diff changeset
   613
hgs
parents: 31
diff changeset
   614
    case WLANQTUTILS_IAP_TRACE_UPDATE:
hgs
parents: 31
diff changeset
   615
        OstTraceExt5(
hgs
parents: 31
diff changeset
   616
            TRACE_NORMAL,
hgs
parents: 31
diff changeset
   617
            WLANQTUTILSIAPSETTINGS_TRACEIAP_UPDATE,
hgs
parents: 31
diff changeset
   618
            "WlanQtUtilsIapSettings::traceIap Updated;iapId=%u;ssid=%S;secMode=%{WlanSecMode};useWpaPsk=%u;connMode=%{WlanConnMode}",
hgs
parents: 31
diff changeset
   619
            iapId,
hgs
parents: 31
diff changeset
   620
            ssid,
hgs
parents: 31
diff changeset
   621
            secMode,
hgs
parents: 31
diff changeset
   622
            useWpaPsk,
hgs
parents: 31
diff changeset
   623
            connMode);
hgs
parents: 31
diff changeset
   624
        break;
hgs
parents: 31
diff changeset
   625
    }
hgs
parents: 31
diff changeset
   626
#endif
hgs
parents: 31
diff changeset
   627
}