|
1 /* |
|
2 * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). |
|
3 * All rights reserved. |
|
4 * This component and the accompanying materials are made available |
|
5 * under the terms of "Eclipse Public License v1.0" |
|
6 * which accompanies this distribution, and is available |
|
7 * at the URL "http://www.eclipse.org/legal/epl-v10.html". |
|
8 * |
|
9 * Initial Contributors: |
|
10 * Nokia Corporation - initial contribution. |
|
11 * |
|
12 * Contributors: |
|
13 * |
|
14 * Description: |
|
15 * WLAN Management API stubbing for WLAN Qt Utilities. |
|
16 */ |
|
17 |
|
18 #include <e32std.h> |
|
19 #include <e32base.h> |
|
20 #include "wlanmgmtclient.h" |
|
21 |
|
22 #include "wlanqtutilstestcontext.h" |
|
23 #include "wlanqtutilsiap.h" |
|
24 |
|
25 extern WlanQtUtilsTestContext testContext; |
|
26 |
|
27 // Request status for canceling stubbed GetScanResults async request |
|
28 static TRequestStatus* iGetScanResultsStatus = 0; |
|
29 |
|
30 // Request status for canceling stubbed GetAvailableIaps async request |
|
31 static TRequestStatus* iGetAvailableIapsStatus = 0; |
|
32 |
|
33 // --------------------------------------------------------- |
|
34 // CWlanMgmtClient::NewL |
|
35 // --------------------------------------------------------- |
|
36 // |
|
37 CWlanMgmtClient* CWlanMgmtClient::NewL() |
|
38 { |
|
39 CWlanMgmtClient* self = new CWlanMgmtClient; |
|
40 return self; |
|
41 } |
|
42 |
|
43 // --------------------------------------------------------- |
|
44 // CWlanMgmtClient::~CWlanMgmtClient |
|
45 // --------------------------------------------------------- |
|
46 // |
|
47 CWlanMgmtClient::~CWlanMgmtClient() |
|
48 { |
|
49 } |
|
50 |
|
51 // --------------------------------------------------------- |
|
52 // CWlanMgmtClient::CWlanMgmtClient |
|
53 // --------------------------------------------------------- |
|
54 // |
|
55 CWlanMgmtClient::CWlanMgmtClient() |
|
56 { |
|
57 } |
|
58 |
|
59 // --------------------------------------------------------- |
|
60 // CWlanMgmtClient::GetScanResults |
|
61 // --------------------------------------------------------- |
|
62 // |
|
63 void CWlanMgmtClient::GetScanResults( |
|
64 TRequestStatus& aStatus, |
|
65 CWlanScanInfo& aResults ) |
|
66 { |
|
67 (void)aResults; |
|
68 |
|
69 if (testContext.mScan.mCompleteWlanApScan) { |
|
70 // Complete the request immediately |
|
71 TRequestStatus *status = &aStatus; |
|
72 User::RequestComplete( |
|
73 status, |
|
74 testContext.mScan.mApScanRetValue); |
|
75 } else { |
|
76 iGetScanResultsStatus = &aStatus; |
|
77 } |
|
78 |
|
79 // Results are returned when asked per AP |
|
80 } |
|
81 |
|
82 // --------------------------------------------------------- |
|
83 // CWlanMgmtClient::GetScanResults |
|
84 // --------------------------------------------------------- |
|
85 // |
|
86 void CWlanMgmtClient::GetScanResults( |
|
87 TWlanSsid& aSsid, |
|
88 TRequestStatus& aStatus, |
|
89 CWlanScanInfo& aResults ) |
|
90 { |
|
91 (void)aSsid; |
|
92 (void)aResults; |
|
93 |
|
94 if (testContext.mScan.mCompleteWlanApScan) { |
|
95 // Complete the request immediately |
|
96 TRequestStatus *status = &aStatus; |
|
97 User::RequestComplete( |
|
98 status, |
|
99 testContext.mScan.mApScanRetValue); |
|
100 } else { |
|
101 iGetScanResultsStatus = &aStatus; |
|
102 } |
|
103 |
|
104 // Results are returned when asked per AP |
|
105 } |
|
106 |
|
107 // --------------------------------------------------------- |
|
108 // CWlanMgmtClient::CancelGetScanResults |
|
109 // --------------------------------------------------------- |
|
110 // |
|
111 void CWlanMgmtClient::CancelGetScanResults() |
|
112 { |
|
113 if (iGetScanResultsStatus) { |
|
114 User::RequestComplete(iGetScanResultsStatus, KErrCancel); |
|
115 iGetScanResultsStatus = NULL; |
|
116 } |
|
117 } |
|
118 |
|
119 // --------------------------------------------------------- |
|
120 // CWlanMgmtClient::GetAvailableIaps |
|
121 // --------------------------------------------------------- |
|
122 // |
|
123 void CWlanMgmtClient::GetAvailableIaps( |
|
124 TInt& aCacheLifetime, |
|
125 TUint& aMaxDelay, |
|
126 TBool aFilteredResults, |
|
127 TRequestStatus& aStatus, |
|
128 RArray<TWlanIapAvailabilityData>& aAvailableIaps ) |
|
129 { |
|
130 (void)aCacheLifetime; |
|
131 (void)aMaxDelay; |
|
132 (void)aFilteredResults; |
|
133 (void)aAvailableIaps; |
|
134 |
|
135 if (testContext.mScan.mCompleteWlanIapScan) { |
|
136 // Form results as defined in context |
|
137 aAvailableIaps.Reset(); |
|
138 for (int i=0; i < testContext.mScan.mWlanScanIapResultList.count(); i++) { |
|
139 QSharedPointer<WlanQtUtilsIap> iap(testContext.mScan.mWlanScanIapResultList[i]); |
|
140 TWlanIapAvailabilityData data; |
|
141 data.iIapId = (TUint)iap->value(WlanQtUtilsIap::ConfIdIapId).toInt(); |
|
142 data.iRssi = (TUint)iap->value(WlanQtUtilsAp::ConfIdSignalStrength).toInt(); |
|
143 aAvailableIaps.AppendL(data); |
|
144 } |
|
145 |
|
146 // Complete the request immediately |
|
147 TRequestStatus *status = &aStatus; |
|
148 User::RequestComplete( |
|
149 status, |
|
150 testContext.mScan.mIapScanRetValue); |
|
151 } else { |
|
152 iGetAvailableIapsStatus = &aStatus; |
|
153 } |
|
154 } |
|
155 |
|
156 // --------------------------------------------------------- |
|
157 // CWlanMgmtClient::CancelGetAvailableIaps |
|
158 // --------------------------------------------------------- |
|
159 // |
|
160 void CWlanMgmtClient::CancelGetAvailableIaps() |
|
161 { |
|
162 if (iGetAvailableIapsStatus) { |
|
163 User::RequestComplete(iGetAvailableIapsStatus, KErrCancel); |
|
164 iGetAvailableIapsStatus = 0; |
|
165 } |
|
166 } |