wlanutilities/wlanqtutilities/tsrc/stubs/wlanqtutilsconnmonstub.cpp
author hgs
Mon, 24 May 2010 21:11:39 +0300
changeset 31 e8f4211554fb
permissions -rw-r--r--
201021
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
* This is a source file for connmon library stub functions
hgs
parents:
diff changeset
    16
*/
hgs
parents:
diff changeset
    17
hgs
parents:
diff changeset
    18
#include <QString>
hgs
parents:
diff changeset
    19
#include <QObject>
hgs
parents:
diff changeset
    20
#include <QVariant>
hgs
parents:
diff changeset
    21
#include <rconnmon.h>
hgs
parents:
diff changeset
    22
#include <nifvar.h>
hgs
parents:
diff changeset
    23
#include <cmmanager_shim.h>
hgs
parents:
diff changeset
    24
hgs
parents:
diff changeset
    25
#include "wlanqtutilsap.h"
hgs
parents:
diff changeset
    26
hgs
parents:
diff changeset
    27
#ifdef __WINS__
hgs
parents:
diff changeset
    28
hgs
parents:
diff changeset
    29
// TODO: This function is copied from ConnMonWLANNetworksArrayPckg_v2.cpp because this
hgs
parents:
diff changeset
    30
// function, although being in rconnmon.h, is not in the interface because IMPORT_C/EXPORT_C
hgs
parents:
diff changeset
    31
// declarations are not used for this particular constructor. The only change that was made to 
hgs
parents:
diff changeset
    32
// this version was to remove traces and some empty lines. This function is needed when
hgs
parents:
diff changeset
    33
// creating output in RConnectionMonitor::GetPckgAttribute() for WLAN scan results.
hgs
parents:
diff changeset
    34
// This is needed for both UT and emulator compilation.
hgs
parents:
diff changeset
    35
CConnMonWlanNetworksPtrArrayPckg::CConnMonWlanNetworksPtrArrayPckg(
hgs
parents:
diff changeset
    36
    const RPointerArray<CConnMonWlanNetwork>& aRef,
hgs
parents:
diff changeset
    37
    TUint aBufLen )
hgs
parents:
diff changeset
    38
    {
hgs
parents:
diff changeset
    39
    RPointerArray<HBufC> items;
hgs
parents:
diff changeset
    40
    TUint len( 0 );
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
    for ( TUint i( 0 ); i < aRef.Count(); ++i )
hgs
parents:
diff changeset
    43
        {
hgs
parents:
diff changeset
    44
        const HBufC* item( aRef[i]->ToBuf() );
hgs
parents:
diff changeset
    45
        if ( item )
hgs
parents:
diff changeset
    46
            {
hgs
parents:
diff changeset
    47
            // Is there room in buffer
hgs
parents:
diff changeset
    48
            TUint countFields( 3 ); // aRef.Count(); items->Count(); item->Length()
hgs
parents:
diff changeset
    49
            if ( (countFields + len + item->Length()) > aBufLen )
hgs
parents:
diff changeset
    50
                {
hgs
parents:
diff changeset
    51
                delete item;
hgs
parents:
diff changeset
    52
                item = NULL;
hgs
parents:
diff changeset
    53
                break;
hgs
parents:
diff changeset
    54
                }
hgs
parents:
diff changeset
    55
            items.Append( item );
hgs
parents:
diff changeset
    56
            ++( len += item->Length() ); // ++ is for item's size
hgs
parents:
diff changeset
    57
            }
hgs
parents:
diff changeset
    58
        else
hgs
parents:
diff changeset
    59
            {
hgs
parents:
diff changeset
    60
            ; // There was a trace.
hgs
parents:
diff changeset
    61
            }
hgs
parents:
diff changeset
    62
        }
hgs
parents:
diff changeset
    63
    // Check that given buflen (aBufLen) is not smaller than one
hgs
parents:
diff changeset
    64
    // item (TConnMonWLANNetwork) + aRef count + items count
hgs
parents:
diff changeset
    65
    // + item length
hgs
parents:
diff changeset
    66
    if ( items.Count() == 0 && aRef.Count() > 0 )
hgs
parents:
diff changeset
    67
        {
hgs
parents:
diff changeset
    68
        aBufLen = 2; // aRef.Count(), items.Count()
hgs
parents:
diff changeset
    69
        }
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
    iBuf = HBufC::New( aBufLen ); // Set size exactly to a buffer length
hgs
parents:
diff changeset
    72
    if ( !iBuf )
hgs
parents:
diff changeset
    73
        {
hgs
parents:
diff changeset
    74
        items.ResetAndDestroy();
hgs
parents:
diff changeset
    75
        items.Close();
hgs
parents:
diff changeset
    76
        return;
hgs
parents:
diff changeset
    77
        }
hgs
parents:
diff changeset
    78
    iBuf->Des().Append( aRef.Count() ); // Total amount of data
hgs
parents:
diff changeset
    79
    iBuf->Des().Append( items.Count() );  // Amount of transferring data
hgs
parents:
diff changeset
    80
    for ( TUint i(0); i<items.Count(); ++i )
hgs
parents:
diff changeset
    81
        {
hgs
parents:
diff changeset
    82
        iBuf->Des().Append( items[i]->Length() );
hgs
parents:
diff changeset
    83
        iBuf->Des().Append( *items[i] );
hgs
parents:
diff changeset
    84
        }
hgs
parents:
diff changeset
    85
    items.ResetAndDestroy();
hgs
parents:
diff changeset
    86
    items.Close();
hgs
parents:
diff changeset
    87
    }
hgs
parents:
diff changeset
    88
hgs
parents:
diff changeset
    89
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    90
// CConnMonEventBase::CConnMonEventBase
hgs
parents:
diff changeset
    91
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
    92
//
hgs
parents:
diff changeset
    93
CConnMonEventBase::CConnMonEventBase( const TInt aEventType, const TUint aConnectionId )
hgs
parents:
diff changeset
    94
    {
hgs
parents:
diff changeset
    95
    iEventType = aEventType;
hgs
parents:
diff changeset
    96
    iConnectionId = aConnectionId;
hgs
parents:
diff changeset
    97
    }
hgs
parents:
diff changeset
    98
hgs
parents:
diff changeset
    99
// Destructor
hgs
parents:
diff changeset
   100
CConnMonEventBase::~CConnMonEventBase()
hgs
parents:
diff changeset
   101
    {
hgs
parents:
diff changeset
   102
    }
hgs
parents:
diff changeset
   103
hgs
parents:
diff changeset
   104
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   105
// CConnMonEventBase::EventType
hgs
parents:
diff changeset
   106
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   107
//
hgs
parents:
diff changeset
   108
TInt CConnMonEventBase::EventType() const
hgs
parents:
diff changeset
   109
    {
hgs
parents:
diff changeset
   110
    return iEventType;
hgs
parents:
diff changeset
   111
    }
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   114
// CConnMonConnectionStatusChange::CConnMonConnectionStatusChange
hgs
parents:
diff changeset
   115
// -----------------------------------------------------------------------------
hgs
parents:
diff changeset
   116
//
hgs
parents:
diff changeset
   117
CConnMonConnectionStatusChange::CConnMonConnectionStatusChange(
hgs
parents:
diff changeset
   118
    const TUint aConnectionId,
hgs
parents:
diff changeset
   119
    const TUint aSubConnectionId,
hgs
parents:
diff changeset
   120
    const TInt aConnectionStatus ) :
hgs
parents:
diff changeset
   121
    CConnMonEventBase(EConnMonConnectionStatusChange, aConnectionId)
hgs
parents:
diff changeset
   122
    {
hgs
parents:
diff changeset
   123
    iSubConnectionId = aSubConnectionId;
hgs
parents:
diff changeset
   124
    iConnectionStatus = aConnectionStatus;
hgs
parents:
diff changeset
   125
    }
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
// Destructor
hgs
parents:
diff changeset
   128
CConnMonConnectionStatusChange::~CConnMonConnectionStatusChange()
hgs
parents:
diff changeset
   129
    {
hgs
parents:
diff changeset
   130
    }
hgs
parents:
diff changeset
   131
hgs
parents:
diff changeset
   132
#ifdef WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
// ----------------------------------------------
hgs
parents:
diff changeset
   135
// Stub functions for connmon library, used in UT
hgs
parents:
diff changeset
   136
// ----------------------------------------------
hgs
parents:
diff changeset
   137
hgs
parents:
diff changeset
   138
#include "wlanqtutilstestcontext.h"
hgs
parents:
diff changeset
   139
hgs
parents:
diff changeset
   140
extern WlanQtUtilsTestContext testContext;
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
// Request status for canceling stubbed async request
hgs
parents:
diff changeset
   143
TRequestStatus* iStubRequestStatus = 0;
hgs
parents:
diff changeset
   144
hgs
parents:
diff changeset
   145
EXPORT_C void RConnectionMonitor::CancelAsyncRequest(
hgs
parents:
diff changeset
   146
    TInt aReqToCancel)
hgs
parents:
diff changeset
   147
{
hgs
parents:
diff changeset
   148
    (void)aReqToCancel;
hgs
parents:
diff changeset
   149
    User::RequestComplete(iStubRequestStatus, KErrCancel);
hgs
parents:
diff changeset
   150
    iStubRequestStatus = 0;
hgs
parents:
diff changeset
   151
}
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
EXPORT_C void RConnectionMonitor::GetConnectionCount(
hgs
parents:
diff changeset
   154
    TUint& aConnectionCount,
hgs
parents:
diff changeset
   155
    TRequestStatus& aStatus)
hgs
parents:
diff changeset
   156
{
hgs
parents:
diff changeset
   157
    aConnectionCount = testContext.connMon_.activeConnections_.activeConnList_.count();
hgs
parents:
diff changeset
   158
    User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   159
}
hgs
parents:
diff changeset
   160
hgs
parents:
diff changeset
   161
EXPORT_C TInt RConnectionMonitor::GetConnectionInfo(
hgs
parents:
diff changeset
   162
        const TUint aIndex,
hgs
parents:
diff changeset
   163
        TUint& aConnectionId,
hgs
parents:
diff changeset
   164
        TUint& aSubConnectionCount ) const
hgs
parents:
diff changeset
   165
{
hgs
parents:
diff changeset
   166
    aConnectionId = testContext.connMon_.activeConnections_.activeConnList_[aIndex - 1]->connectionId();
hgs
parents:
diff changeset
   167
    aSubConnectionCount = 0;
hgs
parents:
diff changeset
   168
    return KErrNone; // TODO: put return value into context.
hgs
parents:
diff changeset
   169
}
hgs
parents:
diff changeset
   170
hgs
parents:
diff changeset
   171
EXPORT_C void RConnectionMonitor::GetIntAttribute(
hgs
parents:
diff changeset
   172
        const TUint aConnectionId,
hgs
parents:
diff changeset
   173
        const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   174
        const TUint aAttribute,
hgs
parents:
diff changeset
   175
        TInt& aValue,
hgs
parents:
diff changeset
   176
        TRequestStatus& aStatus )
hgs
parents:
diff changeset
   177
{
hgs
parents:
diff changeset
   178
    WlanQtUtilsCtxActiveConn *activeConn = testContext.connMon_.activeConnections_.findActiveConn(aConnectionId);
hgs
parents:
diff changeset
   179
    if (aAttribute == KBearer) {
hgs
parents:
diff changeset
   180
        aValue = activeConn->connMonBearerType_;
hgs
parents:
diff changeset
   181
    } else if (aAttribute == KConnectionStatus) {
hgs
parents:
diff changeset
   182
        aValue = activeConn->connMonConnectionStatus_;
hgs
parents:
diff changeset
   183
    } else {
hgs
parents:
diff changeset
   184
        Q_ASSERT(false);
hgs
parents:
diff changeset
   185
    }
hgs
parents:
diff changeset
   186
    User::RequestComplete(&aStatus, KErrNone); // TODO: Take return value from the context.
hgs
parents:
diff changeset
   187
}
hgs
parents:
diff changeset
   188
hgs
parents:
diff changeset
   189
EXPORT_C void RConnectionMonitor::GetUintAttribute(
hgs
parents:
diff changeset
   190
        const TUint aConnectionId,
hgs
parents:
diff changeset
   191
        const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   192
        const TUint aAttribute,
hgs
parents:
diff changeset
   193
        TUint& aValue,
hgs
parents:
diff changeset
   194
        TRequestStatus& aStatus )
hgs
parents:
diff changeset
   195
{
hgs
parents:
diff changeset
   196
    WlanQtUtilsCtxActiveConn *activeConn = testContext.connMon_.activeConnections_.findActiveConn(aConnectionId);
hgs
parents:
diff changeset
   197
    if (aAttribute == KIAPId) {
hgs
parents:
diff changeset
   198
        aValue = activeConn->iapId();
hgs
parents:
diff changeset
   199
    } else {
hgs
parents:
diff changeset
   200
        Q_ASSERT(false);
hgs
parents:
diff changeset
   201
    }
hgs
parents:
diff changeset
   202
hgs
parents:
diff changeset
   203
    User::RequestComplete(&aStatus, KErrNone); // TODO: Take return value from the context.
hgs
parents:
diff changeset
   204
}
hgs
parents:
diff changeset
   205
hgs
parents:
diff changeset
   206
EXPORT_C void RConnectionMonitor::GetPckgAttribute(
hgs
parents:
diff changeset
   207
    const TUint aConnectionId,
hgs
parents:
diff changeset
   208
    const TUint aSubConnectionId,
hgs
parents:
diff changeset
   209
    const TUint aAttribute,
hgs
parents:
diff changeset
   210
    TDes8& aValue,
hgs
parents:
diff changeset
   211
    TRequestStatus& aStatus ) const
hgs
parents:
diff changeset
   212
{
hgs
parents:
diff changeset
   213
    // This is copy-paste from real implementation and we'll use that for other requests.
hgs
parents:
diff changeset
   214
    TIpcArgs args(aConnectionId, aSubConnectionId, aAttribute, &aValue);
hgs
parents:
diff changeset
   215
    SendReceive(EReqGetPckgAttribute, args, aStatus);
hgs
parents:
diff changeset
   216
}
hgs
parents:
diff changeset
   217
hgs
parents:
diff changeset
   218
// ---------------------------------------------------------
hgs
parents:
diff changeset
   219
// connUtils2ConnMonSecModeMap()
hgs
parents:
diff changeset
   220
// Local function to map WlanQtUtilsWlanSecMode into Connection
hgs
parents:
diff changeset
   221
// monitor's security mode. Currently for UT use only.
hgs
parents:
diff changeset
   222
// ---------------------------------------------------------
hgs
parents:
diff changeset
   223
//
hgs
parents:
diff changeset
   224
static TUint connUtils2ConnMonSecModeMap(int connUtilsWlanSecMode, bool pskUse)
hgs
parents:
diff changeset
   225
{
hgs
parents:
diff changeset
   226
    TUint ret;
hgs
parents:
diff changeset
   227
    switch (connUtilsWlanSecMode) {
hgs
parents:
diff changeset
   228
    case CMManagerShim::WlanSecModeWep:
hgs
parents:
diff changeset
   229
        ret = EConnMonSecurityV2WepOpen;
hgs
parents:
diff changeset
   230
        break;
hgs
parents:
diff changeset
   231
    case CMManagerShim::WlanSecMode802_1x:
hgs
parents:
diff changeset
   232
        ret = EConnMonSecurityV2802d1x;        
hgs
parents:
diff changeset
   233
        break;
hgs
parents:
diff changeset
   234
    case CMManagerShim::WlanSecModeWpa:
hgs
parents:
diff changeset
   235
        if (pskUse) {
hgs
parents:
diff changeset
   236
            ret = EConnMonSecurityV2WpaPsk;
hgs
parents:
diff changeset
   237
        } else {
hgs
parents:
diff changeset
   238
            ret = EConnMonSecurityV2Wpa;            
hgs
parents:
diff changeset
   239
        }
hgs
parents:
diff changeset
   240
        break;
hgs
parents:
diff changeset
   241
    case CMManagerShim::WlanSecModeWpa2:
hgs
parents:
diff changeset
   242
        if (pskUse) {
hgs
parents:
diff changeset
   243
            ret = EConnMonSecurityV2Wpa2Psk;
hgs
parents:
diff changeset
   244
        } else {
hgs
parents:
diff changeset
   245
            ret = EConnMonSecurityV2Wpa2;            
hgs
parents:
diff changeset
   246
        }
hgs
parents:
diff changeset
   247
        break;
hgs
parents:
diff changeset
   248
    case CMManagerShim::WlanSecModeWapi:
hgs
parents:
diff changeset
   249
        if (pskUse) {
hgs
parents:
diff changeset
   250
            ret = EConnMonSecurityV2WapiPsk;
hgs
parents:
diff changeset
   251
        } else {
hgs
parents:
diff changeset
   252
            ret = EConnMonSecurityV2Wapi;            
hgs
parents:
diff changeset
   253
        }
hgs
parents:
diff changeset
   254
        break;
hgs
parents:
diff changeset
   255
    default:
hgs
parents:
diff changeset
   256
        ret = EConnMonSecurityV2Open;
hgs
parents:
diff changeset
   257
        break;
hgs
parents:
diff changeset
   258
    }
hgs
parents:
diff changeset
   259
    return ret;
hgs
parents:
diff changeset
   260
}
hgs
parents:
diff changeset
   261
hgs
parents:
diff changeset
   262
hgs
parents:
diff changeset
   263
// ---------------------------------------------------------
hgs
parents:
diff changeset
   264
// connUtils2ConnMonConModeMap()
hgs
parents:
diff changeset
   265
// ---------------------------------------------------------
hgs
parents:
diff changeset
   266
//
hgs
parents:
diff changeset
   267
static TUint connUtils2ConnMonConModeMap(int connUtilsWlanConMode)
hgs
parents:
diff changeset
   268
{
hgs
parents:
diff changeset
   269
    TUint ret;
hgs
parents:
diff changeset
   270
    switch (connUtilsWlanConMode) {
hgs
parents:
diff changeset
   271
    case CMManagerShim::Adhoc:
hgs
parents:
diff changeset
   272
        ret = EConnMonAdHoc;
hgs
parents:
diff changeset
   273
        break;
hgs
parents:
diff changeset
   274
    case CMManagerShim::Infra:
hgs
parents:
diff changeset
   275
        ret = EConnMonInfraStructure;        
hgs
parents:
diff changeset
   276
        break;
hgs
parents:
diff changeset
   277
    }
hgs
parents:
diff changeset
   278
    return ret;
hgs
parents:
diff changeset
   279
}
hgs
parents:
diff changeset
   280
hgs
parents:
diff changeset
   281
hgs
parents:
diff changeset
   282
EXPORT_C void RConnectionMonitor::GetPckgAttribute(
hgs
parents:
diff changeset
   283
    const TUint /* aConnectionId */,
hgs
parents:
diff changeset
   284
    const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   285
    const TUint /* aAttribute */,
hgs
parents:
diff changeset
   286
    TDes16& aValue,
hgs
parents:
diff changeset
   287
    TRequestStatus& aStatus ) const
hgs
parents:
diff changeset
   288
    {
hgs
parents:
diff changeset
   289
    // TODO: verify input parameters, i.e., first three params...
hgs
parents:
diff changeset
   290
    
hgs
parents:
diff changeset
   291
    RConnMonWlanNetworksPtrArray wlanPtrArray;
hgs
parents:
diff changeset
   292
    RBuf vendorData;
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
    for (int i = 0; i < testContext.connMon_.wlanScanResult_.wlanScanResultList_.count(); i++) {
hgs
parents:
diff changeset
   295
        WlanQtUtilsAp* ap = testContext.connMon_.wlanScanResult_.wlanScanResultList_[i];
hgs
parents:
diff changeset
   296
        TBufC<CConnMonWlanNetwork::KMaxNameLength> name(ap->value(WlanQtUtilsAp::ConfIdSsid).toString().utf16());
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
        TBufC<CConnMonWlanNetwork::KWlanBssId> bssid16(QString("addMAC").utf16());
hgs
parents:
diff changeset
   299
        TBuf8<CConnMonWlanNetwork::KWlanBssId> bssid;
hgs
parents:
diff changeset
   300
        bssid.Copy(bssid16);
hgs
parents:
diff changeset
   301
        
hgs
parents:
diff changeset
   302
        CConnMonWlanNetwork* wlanAp = CConnMonWlanNetwork::NewL(
hgs
parents:
diff changeset
   303
            name,
hgs
parents:
diff changeset
   304
            connUtils2ConnMonConModeMap(ap->value(WlanQtUtilsAp::ConfIdConnectionMode).toInt()),
hgs
parents:
diff changeset
   305
            ap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt(),
hgs
parents:
diff changeset
   306
            0, // old security mode not used anymore
hgs
parents:
diff changeset
   307
            connUtils2ConnMonSecModeMap(
hgs
parents:
diff changeset
   308
                ap->value(WlanQtUtilsAp::ConfIdSecurityMode).toInt(),
hgs
parents:
diff changeset
   309
                ap->value(WlanQtUtilsAp::ConfIdWpaPskUse).toBool()),
hgs
parents:
diff changeset
   310
            0,
hgs
parents:
diff changeset
   311
            bssid,
hgs
parents:
diff changeset
   312
            vendorData );
hgs
parents:
diff changeset
   313
        wlanPtrArray.Append(wlanAp);
hgs
parents:
diff changeset
   314
    }
hgs
parents:
diff changeset
   315
hgs
parents:
diff changeset
   316
    CConnMonWlanNetworksPtrArrayPckg wlanBuf(wlanPtrArray, 2560);
hgs
parents:
diff changeset
   317
    aValue.Copy(wlanBuf.Buf()->Des());
hgs
parents:
diff changeset
   318
hgs
parents:
diff changeset
   319
    if (testContext.connMon_.wlanScanResult_.completeWlanScan_) {
hgs
parents:
diff changeset
   320
        User::RequestComplete(&aStatus, testContext.connMon_.wlanScanResult_.scanRetValue_);
hgs
parents:
diff changeset
   321
    } else {
hgs
parents:
diff changeset
   322
        iStubRequestStatus = &aStatus;
hgs
parents:
diff changeset
   323
    }
hgs
parents:
diff changeset
   324
    }
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
#else // WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
hgs
parents:
diff changeset
   327
hgs
parents:
diff changeset
   328
// ----------------------------------------------------
hgs
parents:
diff changeset
   329
// Stub functions for connmon library, used in emulator
hgs
parents:
diff changeset
   330
// ----------------------------------------------------
hgs
parents:
diff changeset
   331
hgs
parents:
diff changeset
   332
#if 0
hgs
parents:
diff changeset
   333
// In emulator, there are always two active connections.
hgs
parents:
diff changeset
   334
// The following functions return different properties of these active connection
hgs
parents:
diff changeset
   335
// so that it's easy to test in emulator.
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
EXPORT_C void RConnectionMonitor::GetConnectionCount(
hgs
parents:
diff changeset
   338
    TUint& aConnectionCount,
hgs
parents:
diff changeset
   339
    TRequestStatus& aStatus)
hgs
parents:
diff changeset
   340
{
hgs
parents:
diff changeset
   341
    aConnectionCount = 2;
hgs
parents:
diff changeset
   342
    User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   343
}
hgs
parents:
diff changeset
   344
hgs
parents:
diff changeset
   345
EXPORT_C TInt RConnectionMonitor::GetConnectionInfo(
hgs
parents:
diff changeset
   346
        const TUint aIndex,
hgs
parents:
diff changeset
   347
        TUint& aConnectionId,
hgs
parents:
diff changeset
   348
        TUint& aSubConnectionCount ) const
hgs
parents:
diff changeset
   349
{
hgs
parents:
diff changeset
   350
    if (aIndex == 1) {
hgs
parents:
diff changeset
   351
        aConnectionId = 10;
hgs
parents:
diff changeset
   352
    } else if (aIndex == 2) {
hgs
parents:
diff changeset
   353
        aConnectionId = 20;
hgs
parents:
diff changeset
   354
    } else {
hgs
parents:
diff changeset
   355
        Q_ASSERT(false);
hgs
parents:
diff changeset
   356
    }
hgs
parents:
diff changeset
   357
hgs
parents:
diff changeset
   358
    aSubConnectionCount = 0;
hgs
parents:
diff changeset
   359
    return KErrNone;
hgs
parents:
diff changeset
   360
}
hgs
parents:
diff changeset
   361
hgs
parents:
diff changeset
   362
EXPORT_C void RConnectionMonitor::GetIntAttribute(
hgs
parents:
diff changeset
   363
        const TUint aConnectionId,
hgs
parents:
diff changeset
   364
        const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   365
        const TUint aAttribute,
hgs
parents:
diff changeset
   366
        TInt& aValue,
hgs
parents:
diff changeset
   367
        TRequestStatus& aStatus )
hgs
parents:
diff changeset
   368
{
hgs
parents:
diff changeset
   369
    if (aAttribute == KBearer) {
hgs
parents:
diff changeset
   370
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   371
            aValue = EBearerGPRS;
hgs
parents:
diff changeset
   372
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   373
            aValue = EBearerWLAN;
hgs
parents:
diff changeset
   374
        } else {
hgs
parents:
diff changeset
   375
            Q_ASSERT(false);
hgs
parents:
diff changeset
   376
        }
hgs
parents:
diff changeset
   377
    } else if (aAttribute == KConnectionStatus) {
hgs
parents:
diff changeset
   378
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   379
            aValue = KConnectionOpen;
hgs
parents:
diff changeset
   380
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   381
            aValue = KStartingConnection;
hgs
parents:
diff changeset
   382
        } else {
hgs
parents:
diff changeset
   383
            Q_ASSERT(false);
hgs
parents:
diff changeset
   384
        }
hgs
parents:
diff changeset
   385
    } else if (aAttribute == KSignalStrength) {
hgs
parents:
diff changeset
   386
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   387
            Q_ASSERT(false);
hgs
parents:
diff changeset
   388
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   389
            aValue = 78;
hgs
parents:
diff changeset
   390
        } else {
hgs
parents:
diff changeset
   391
            Q_ASSERT(false);
hgs
parents:
diff changeset
   392
        }
hgs
parents:
diff changeset
   393
    } else if (aAttribute == KNetworkMode) {
hgs
parents:
diff changeset
   394
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   395
            Q_ASSERT(false);
hgs
parents:
diff changeset
   396
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   397
            aValue = EConnMonInfraStructure;
hgs
parents:
diff changeset
   398
        } else {
hgs
parents:
diff changeset
   399
            Q_ASSERT(false);
hgs
parents:
diff changeset
   400
        }
hgs
parents:
diff changeset
   401
    } else if (aAttribute == KSecurityMode) {
hgs
parents:
diff changeset
   402
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   403
            Q_ASSERT(false);
hgs
parents:
diff changeset
   404
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   405
            aValue = EConnMonSecurityWpaPsk;
hgs
parents:
diff changeset
   406
        } else {
hgs
parents:
diff changeset
   407
            Q_ASSERT(false);
hgs
parents:
diff changeset
   408
        }
hgs
parents:
diff changeset
   409
    } else {
hgs
parents:
diff changeset
   410
        Q_ASSERT(false);
hgs
parents:
diff changeset
   411
    }
hgs
parents:
diff changeset
   412
    User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   413
}
hgs
parents:
diff changeset
   414
hgs
parents:
diff changeset
   415
EXPORT_C void RConnectionMonitor::GetUintAttribute(
hgs
parents:
diff changeset
   416
        const TUint aConnectionId,
hgs
parents:
diff changeset
   417
        const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   418
        const TUint aAttribute,
hgs
parents:
diff changeset
   419
        TUint& aValue,
hgs
parents:
diff changeset
   420
        TRequestStatus& aStatus )
hgs
parents:
diff changeset
   421
{
hgs
parents:
diff changeset
   422
    if (aAttribute == KIAPId) {
hgs
parents:
diff changeset
   423
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   424
            aValue = 1;
hgs
parents:
diff changeset
   425
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   426
            aValue = 10;
hgs
parents:
diff changeset
   427
        } else {
hgs
parents:
diff changeset
   428
            Q_ASSERT(false);
hgs
parents:
diff changeset
   429
        }
hgs
parents:
diff changeset
   430
    } else if (aAttribute == KDownlinkData) {
hgs
parents:
diff changeset
   431
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   432
            aValue = 123;
hgs
parents:
diff changeset
   433
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   434
            aValue = 12345;
hgs
parents:
diff changeset
   435
        } else {
hgs
parents:
diff changeset
   436
            Q_ASSERT(false);
hgs
parents:
diff changeset
   437
        }
hgs
parents:
diff changeset
   438
    } else if (aAttribute == KUplinkData) {
hgs
parents:
diff changeset
   439
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   440
            aValue = 987654321;
hgs
parents:
diff changeset
   441
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   442
            aValue = 1234567890;
hgs
parents:
diff changeset
   443
        } else {
hgs
parents:
diff changeset
   444
            Q_ASSERT(false);
hgs
parents:
diff changeset
   445
        }
hgs
parents:
diff changeset
   446
    } else if (aAttribute == KTransmitPower) {
hgs
parents:
diff changeset
   447
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   448
            Q_ASSERT(false);
hgs
parents:
diff changeset
   449
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   450
            aValue = 50;
hgs
parents:
diff changeset
   451
        } else {
hgs
parents:
diff changeset
   452
            Q_ASSERT(false);
hgs
parents:
diff changeset
   453
        }
hgs
parents:
diff changeset
   454
    } else {
hgs
parents:
diff changeset
   455
        Q_ASSERT(false);
hgs
parents:
diff changeset
   456
    }
hgs
parents:
diff changeset
   457
hgs
parents:
diff changeset
   458
    User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   459
}
hgs
parents:
diff changeset
   460
hgs
parents:
diff changeset
   461
EXPORT_C void RConnectionMonitor::GetBoolAttribute(
hgs
parents:
diff changeset
   462
        const TUint aConnectionId,
hgs
parents:
diff changeset
   463
        const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   464
        const TUint aAttribute,
hgs
parents:
diff changeset
   465
        TBool& aValue,
hgs
parents:
diff changeset
   466
        TRequestStatus& aStatus )
hgs
parents:
diff changeset
   467
{
hgs
parents:
diff changeset
   468
    if (aAttribute == KConnectionActive) {
hgs
parents:
diff changeset
   469
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   470
            aValue = EFalse;
hgs
parents:
diff changeset
   471
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   472
            aValue = ETrue;
hgs
parents:
diff changeset
   473
        } else {
hgs
parents:
diff changeset
   474
            Q_ASSERT(false);
hgs
parents:
diff changeset
   475
        }
hgs
parents:
diff changeset
   476
    } else {
hgs
parents:
diff changeset
   477
        Q_ASSERT(false);
hgs
parents:
diff changeset
   478
    }
hgs
parents:
diff changeset
   479
hgs
parents:
diff changeset
   480
    User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   481
}
hgs
parents:
diff changeset
   482
hgs
parents:
diff changeset
   483
EXPORT_C void RConnectionMonitor::GetStringAttribute(
hgs
parents:
diff changeset
   484
    const TUint aConnectionId,
hgs
parents:
diff changeset
   485
    const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   486
    const TUint aAttribute,
hgs
parents:
diff changeset
   487
    TDes& aValue,
hgs
parents:
diff changeset
   488
    TRequestStatus& aStatus ) const
hgs
parents:
diff changeset
   489
{
hgs
parents:
diff changeset
   490
    if (aAttribute == KIAPName) {
hgs
parents:
diff changeset
   491
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   492
            _LIT(iapNameLit, "PACKET DATA 1");
hgs
parents:
diff changeset
   493
            TBufC<KConnMonMaxStringAttributeLength> iapName(iapNameLit);
hgs
parents:
diff changeset
   494
            aValue = iapName.Des();
hgs
parents:
diff changeset
   495
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   496
            _LIT(iapNameLit, "WLAN IAP 3");
hgs
parents:
diff changeset
   497
            TBufC<KConnMonMaxStringAttributeLength> iapName(iapNameLit);
hgs
parents:
diff changeset
   498
            aValue = iapName.Des();
hgs
parents:
diff changeset
   499
        } else {
hgs
parents:
diff changeset
   500
            Q_ASSERT(false);
hgs
parents:
diff changeset
   501
        }
hgs
parents:
diff changeset
   502
    } else if (aAttribute == KNetworkName) {
hgs
parents:
diff changeset
   503
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   504
            Q_ASSERT(false);
hgs
parents:
diff changeset
   505
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   506
            _LIT(ssidLit, "WLAN SSID 3");
hgs
parents:
diff changeset
   507
            TBufC<KConnMonMaxStringAttributeLength> ssid(ssidLit);
hgs
parents:
diff changeset
   508
            aValue = ssid.Des();
hgs
parents:
diff changeset
   509
        } else {
hgs
parents:
diff changeset
   510
            Q_ASSERT(false);
hgs
parents:
diff changeset
   511
        }
hgs
parents:
diff changeset
   512
    } else if (aAttribute == KAccessPointName) {
hgs
parents:
diff changeset
   513
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   514
            _LIT(iapNameLit, "PACKET DATA 1");
hgs
parents:
diff changeset
   515
            TBufC<KConnMonMaxStringAttributeLength> iapName(iapNameLit);
hgs
parents:
diff changeset
   516
            aValue = iapName.Des();
hgs
parents:
diff changeset
   517
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   518
            Q_ASSERT(false);
hgs
parents:
diff changeset
   519
        } else {
hgs
parents:
diff changeset
   520
            Q_ASSERT(false);
hgs
parents:
diff changeset
   521
        }
hgs
parents:
diff changeset
   522
    } else {
hgs
parents:
diff changeset
   523
        Q_ASSERT(false);
hgs
parents:
diff changeset
   524
    }
hgs
parents:
diff changeset
   525
hgs
parents:
diff changeset
   526
    User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   527
}
hgs
parents:
diff changeset
   528
hgs
parents:
diff changeset
   529
EXPORT_C void RConnectionMonitor::GetPckgAttribute(
hgs
parents:
diff changeset
   530
    const TUint aConnectionId,
hgs
parents:
diff changeset
   531
    const TUint aSubConnectionId,
hgs
parents:
diff changeset
   532
    const TUint aAttribute,
hgs
parents:
diff changeset
   533
    TDes8& aValue,
hgs
parents:
diff changeset
   534
    TRequestStatus& aStatus ) const
hgs
parents:
diff changeset
   535
{
hgs
parents:
diff changeset
   536
    if (aAttribute == KStartTime) {
hgs
parents:
diff changeset
   537
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   538
            TDateTime dateTime(2009, EMarch, 31-1, 15, 15, 15, 0);
hgs
parents:
diff changeset
   539
            TTime time(dateTime);
hgs
parents:
diff changeset
   540
            TConnMonTimeBuf timePckg(time);
hgs
parents:
diff changeset
   541
            aValue.Copy(timePckg);
hgs
parents:
diff changeset
   542
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   543
            TTime time;
hgs
parents:
diff changeset
   544
            time.UniversalTime();
hgs
parents:
diff changeset
   545
            TConnMonTimeBuf timePckg(time);
hgs
parents:
diff changeset
   546
            aValue.Copy(timePckg);
hgs
parents:
diff changeset
   547
        } else {
hgs
parents:
diff changeset
   548
            Q_ASSERT(false);
hgs
parents:
diff changeset
   549
        }
hgs
parents:
diff changeset
   550
        User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   551
    } else if (aAttribute == KClientInfo) {
hgs
parents:
diff changeset
   552
        TConnMonClientEnum applications;
hgs
parents:
diff changeset
   553
        if (aConnectionId == 10) {
hgs
parents:
diff changeset
   554
            applications.iCount = 1;
hgs
parents:
diff changeset
   555
            applications.iUid[0].iUid = 0x10008D39; // Web
hgs
parents:
diff changeset
   556
            applications.iUid[1].iUid = 0;
hgs
parents:
diff changeset
   557
            applications.iUid[2].iUid = 0;
hgs
parents:
diff changeset
   558
            applications.iUid[3].iUid = 0;
hgs
parents:
diff changeset
   559
            applications.iUid[4].iUid = 0;
hgs
parents:
diff changeset
   560
            applications.iUid[5].iUid = 0;
hgs
parents:
diff changeset
   561
            applications.iUid[6].iUid = 0;
hgs
parents:
diff changeset
   562
            applications.iUid[7].iUid = 0;
hgs
parents:
diff changeset
   563
            applications.iUid[8].iUid = 0;
hgs
parents:
diff changeset
   564
            applications.iUid[9].iUid = 0;
hgs
parents:
diff changeset
   565
        } else if (aConnectionId == 20) {
hgs
parents:
diff changeset
   566
            applications.iCount = 7;
hgs
parents:
diff changeset
   567
            applications.iUid[0].iUid = 0x101fd9c5; // KBannedServerUID
hgs
parents:
diff changeset
   568
            applications.iUid[1].iUid = 0x1020728E; // KFeedsServerUid
hgs
parents:
diff changeset
   569
            applications.iUid[2].iUid = 0x10008D60; // KDownloadMgrServerUid
hgs
parents:
diff changeset
   570
            applications.iUid[3].iUid = 0x1000484b; // KMessagingServerUid
hgs
parents:
diff changeset
   571
            applications.iUid[4].iUid = 0x102033E6; // KJavaVMUid
hgs
parents:
diff changeset
   572
            applications.iUid[5].iUid = 0x102073CA; // KSUPLServerUid
hgs
parents:
diff changeset
   573
            applications.iUid[6].iUid = 0x200212F3; // Connect Screen
hgs
parents:
diff changeset
   574
            applications.iUid[7].iUid = 0;
hgs
parents:
diff changeset
   575
            applications.iUid[8].iUid = 0;
hgs
parents:
diff changeset
   576
            applications.iUid[9].iUid = 0;
hgs
parents:
diff changeset
   577
        } else {
hgs
parents:
diff changeset
   578
            Q_ASSERT(false);
hgs
parents:
diff changeset
   579
        }
hgs
parents:
diff changeset
   580
        TPckgBuf< TConnMonClientEnum > applicationsPckg( applications );
hgs
parents:
diff changeset
   581
        aValue.Copy(applicationsPckg);
hgs
parents:
diff changeset
   582
        User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   583
    } else {
hgs
parents:
diff changeset
   584
        // This is copy-paste from real implementation and we'll use that for other requests.
hgs
parents:
diff changeset
   585
        TIpcArgs args( aConnectionId, aSubConnectionId, aAttribute, &aValue );
hgs
parents:
diff changeset
   586
        SendReceive( EReqGetPckgAttribute, args, aStatus );
hgs
parents:
diff changeset
   587
    }
hgs
parents:
diff changeset
   588
}
hgs
parents:
diff changeset
   589
#endif
hgs
parents:
diff changeset
   590
hgs
parents:
diff changeset
   591
// This function returns WLAN scan results.
hgs
parents:
diff changeset
   592
// Six results in every second scan and the others have two.
hgs
parents:
diff changeset
   593
EXPORT_C void RConnectionMonitor::GetPckgAttribute(
hgs
parents:
diff changeset
   594
    const TUint /* aConnectionId */,
hgs
parents:
diff changeset
   595
    const TUint /* aSubConnectionId */,
hgs
parents:
diff changeset
   596
    const TUint aAttribute,
hgs
parents:
diff changeset
   597
    TDes16& aValue,
hgs
parents:
diff changeset
   598
    TRequestStatus& aStatus ) const {
hgs
parents:
diff changeset
   599
hgs
parents:
diff changeset
   600
    if (aAttribute == KWlanNetworks) {
hgs
parents:
diff changeset
   601
        RConnMonWlanNetworksPtrArray wlanPtrArray;
hgs
parents:
diff changeset
   602
        RBuf vendorData;
hgs
parents:
diff changeset
   603
    
hgs
parents:
diff changeset
   604
        TBufC<CConnMonWlanNetwork::KWlanBssId> bssid16(QString("addMAC").utf16());
hgs
parents:
diff changeset
   605
        TBuf8<CConnMonWlanNetwork::KWlanBssId> bssid;
hgs
parents:
diff changeset
   606
        bssid.Copy(bssid16);
hgs
parents:
diff changeset
   607
    
hgs
parents:
diff changeset
   608
        static bool refresh = true;
hgs
parents:
diff changeset
   609
    
hgs
parents:
diff changeset
   610
        _LIT(wlanAp1Name, "Test AP 1");
hgs
parents:
diff changeset
   611
        TBufC<CConnMonWlanNetwork::KMaxNameLength> name1(wlanAp1Name);
hgs
parents:
diff changeset
   612
        CConnMonWlanNetwork* wlanAp1 = CConnMonWlanNetwork::NewL(
hgs
parents:
diff changeset
   613
            name1,
hgs
parents:
diff changeset
   614
            EConnMonInfraStructure,
hgs
parents:
diff changeset
   615
            20,
hgs
parents:
diff changeset
   616
            EConnMonSecurityOpen,
hgs
parents:
diff changeset
   617
            EConnMonSecurityV2Open,
hgs
parents:
diff changeset
   618
            0,
hgs
parents:
diff changeset
   619
            bssid,
hgs
parents:
diff changeset
   620
            vendorData );
hgs
parents:
diff changeset
   621
        wlanPtrArray.Append(wlanAp1);
hgs
parents:
diff changeset
   622
    
hgs
parents:
diff changeset
   623
        _LIT(wlanAp2Name, "Test AP 2");
hgs
parents:
diff changeset
   624
        TBufC<CConnMonWlanNetwork::KMaxNameLength> name2(wlanAp2Name);
hgs
parents:
diff changeset
   625
        CConnMonWlanNetwork* wlanAp2 = CConnMonWlanNetwork::NewL(
hgs
parents:
diff changeset
   626
            name2,
hgs
parents:
diff changeset
   627
            EConnMonAdHoc,
hgs
parents:
diff changeset
   628
            (refresh == true) ? 20 : 90, // signal strength variates between refreshes
hgs
parents:
diff changeset
   629
            EConnMonSecurityOpen,
hgs
parents:
diff changeset
   630
            EConnMonSecurityV2Open,
hgs
parents:
diff changeset
   631
            0,
hgs
parents:
diff changeset
   632
            bssid,
hgs
parents:
diff changeset
   633
            vendorData );
hgs
parents:
diff changeset
   634
        wlanPtrArray.Append(wlanAp2);
hgs
parents:
diff changeset
   635
    
hgs
parents:
diff changeset
   636
        if (refresh) {
hgs
parents:
diff changeset
   637
            _LIT(wlanAp3Name, "Test AP 3");
hgs
parents:
diff changeset
   638
            TBufC<CConnMonWlanNetwork::KMaxNameLength> name3(wlanAp3Name);
hgs
parents:
diff changeset
   639
            CConnMonWlanNetwork* wlanAp3 = CConnMonWlanNetwork::NewL(
hgs
parents:
diff changeset
   640
                name3,
hgs
parents:
diff changeset
   641
                EConnMonInfraStructure,
hgs
parents:
diff changeset
   642
                20,
hgs
parents:
diff changeset
   643
                EConnMonSecurityWep,
hgs
parents:
diff changeset
   644
                EConnMonSecurityV2WepOpen,
hgs
parents:
diff changeset
   645
                0,
hgs
parents:
diff changeset
   646
                bssid,
hgs
parents:
diff changeset
   647
                vendorData );
hgs
parents:
diff changeset
   648
            wlanPtrArray.Append(wlanAp3);
hgs
parents:
diff changeset
   649
    
hgs
parents:
diff changeset
   650
            _LIT(wlanAp4Name, "Test AP 4");
hgs
parents:
diff changeset
   651
            TBufC<CConnMonWlanNetwork::KMaxNameLength> name4(wlanAp4Name);
hgs
parents:
diff changeset
   652
            CConnMonWlanNetwork* wlanAp4 = CConnMonWlanNetwork::NewL(
hgs
parents:
diff changeset
   653
                name4,
hgs
parents:
diff changeset
   654
                EConnMonInfraStructure,
hgs
parents:
diff changeset
   655
                20,
hgs
parents:
diff changeset
   656
                EConnMonSecurityOpen,
hgs
parents:
diff changeset
   657
                EConnMonSecurityV2Open,
hgs
parents:
diff changeset
   658
                0,
hgs
parents:
diff changeset
   659
                bssid,
hgs
parents:
diff changeset
   660
                vendorData );
hgs
parents:
diff changeset
   661
            wlanPtrArray.Append(wlanAp4);
hgs
parents:
diff changeset
   662
    
hgs
parents:
diff changeset
   663
            _LIT(wlanAp5Name, "Test AP 5");
hgs
parents:
diff changeset
   664
            TBufC<CConnMonWlanNetwork::KMaxNameLength> name5(wlanAp5Name);
hgs
parents:
diff changeset
   665
            CConnMonWlanNetwork* wlanAp5 = CConnMonWlanNetwork::NewL(
hgs
parents:
diff changeset
   666
                name5,
hgs
parents:
diff changeset
   667
                EConnMonInfraStructure,
hgs
parents:
diff changeset
   668
                20,
hgs
parents:
diff changeset
   669
                EConnMonSecurityWpa,
hgs
parents:
diff changeset
   670
                EConnMonSecurityV2Wpa,
hgs
parents:
diff changeset
   671
                0,
hgs
parents:
diff changeset
   672
                bssid,
hgs
parents:
diff changeset
   673
                vendorData );
hgs
parents:
diff changeset
   674
            wlanPtrArray.Append(wlanAp5);
hgs
parents:
diff changeset
   675
    
hgs
parents:
diff changeset
   676
            _LIT(wlanAp6Name, "Test AP 6");
hgs
parents:
diff changeset
   677
            TBufC<CConnMonWlanNetwork::KMaxNameLength> name6(wlanAp6Name);
hgs
parents:
diff changeset
   678
            CConnMonWlanNetwork* wlanAp6 = CConnMonWlanNetwork::NewL(
hgs
parents:
diff changeset
   679
                name6,
hgs
parents:
diff changeset
   680
                EConnMonInfraStructure,
hgs
parents:
diff changeset
   681
                20,
hgs
parents:
diff changeset
   682
                EConnMonSecurityWpaPsk,
hgs
parents:
diff changeset
   683
                EConnMonSecurityV2WpaPsk,
hgs
parents:
diff changeset
   684
                0,
hgs
parents:
diff changeset
   685
                bssid,
hgs
parents:
diff changeset
   686
                vendorData );
hgs
parents:
diff changeset
   687
            wlanPtrArray.Append(wlanAp6);
hgs
parents:
diff changeset
   688
    
hgs
parents:
diff changeset
   689
            refresh = false;
hgs
parents:
diff changeset
   690
        } else {
hgs
parents:
diff changeset
   691
            refresh = true;
hgs
parents:
diff changeset
   692
        }
hgs
parents:
diff changeset
   693
    
hgs
parents:
diff changeset
   694
        CConnMonWlanNetworksPtrArrayPckg wlanBuf(wlanPtrArray, 2560); // TODO: buffer size to more dynamic or use constant
hgs
parents:
diff changeset
   695
        aValue.Copy(wlanBuf.Buf()->Des());
hgs
parents:
diff changeset
   696
    } else {
hgs
parents:
diff changeset
   697
        Q_ASSERT(false);
hgs
parents:
diff changeset
   698
    }
hgs
parents:
diff changeset
   699
    
hgs
parents:
diff changeset
   700
    User::RequestComplete(&aStatus, KErrNone);
hgs
parents:
diff changeset
   701
}
hgs
parents:
diff changeset
   702
hgs
parents:
diff changeset
   703
#endif // WLANQTUTILS_T_WLANQTUTILS_UT_FLAG
hgs
parents:
diff changeset
   704
#endif // __WINS__