75 // ----------------------------------------------------------------------------- |
75 // ----------------------------------------------------------------------------- |
76 // CreateClientIapL |
76 // CreateClientIapL |
77 // ----------------------------------------------------------------------------- |
77 // ----------------------------------------------------------------------------- |
78 // |
78 // |
79 void CHssIapSettingsHandler::CreateClientIapL( const TDesC& aIapName, |
79 void CHssIapSettingsHandler::CreateClientIapL( const TDesC& aIapName, |
80 TUint32& aIapId, |
80 TUint32& aIapId, |
81 const TUid aUid ) |
81 const TDesC& aUid ) |
82 { |
82 { |
83 DEBUG("CHssIapSettingsHandler::CreateClientIapL"); |
83 DEBUG("CHssIapSettingsHandler::CreateClientIapL"); |
84 |
84 |
85 RCmManagerExt cmManager; |
85 RCmManagerExt cmManager; |
86 cmManager.OpenL(); |
86 cmManager.OpenL(); |
104 RCmConnectionMethodExt plugin = cmManager.CreateConnectionMethodL( KUidWlanBearerType ); |
104 RCmConnectionMethodExt plugin = cmManager.CreateConnectionMethodL( KUidWlanBearerType ); |
105 CleanupClosePushL( plugin ); |
105 CleanupClosePushL( plugin ); |
106 |
106 |
107 plugin.SetStringAttributeL( ECmName, aIapName ); |
107 plugin.SetStringAttributeL( ECmName, aIapName ); |
108 plugin.SetStringAttributeL( EWlanSSID, aIapName ); |
108 plugin.SetStringAttributeL( EWlanSSID, aIapName ); |
109 plugin.SetStringAttributeL( EWlanServiceExtensionTableName, aUid.Name() ); |
109 plugin.SetStringAttributeL( EWlanServiceExtensionTableName, aUid ); |
110 plugin.SetStringAttributeL( ECmConfigDaemonManagerName, KHotSpotPlugin ); |
110 plugin.SetStringAttributeL( ECmConfigDaemonManagerName, KHotSpotPlugin ); |
111 plugin.SetBoolAttributeL( ECmProtected, ETrue ); |
111 plugin.SetBoolAttributeL( ECmProtected, ETrue ); |
112 |
112 |
113 destination.AddConnectionMethodL( plugin ); |
113 destination.AddConnectionMethodL( plugin ); |
114 destination.UpdateL(); |
114 destination.UpdateL(); |
232 |
232 |
233 RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( aIapId ); |
233 RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( aIapId ); |
234 CleanupClosePushL( plugin ); |
234 CleanupClosePushL( plugin ); |
235 |
235 |
236 cmManager.RemoveAllReferencesL( plugin ); |
236 cmManager.RemoveAllReferencesL( plugin ); |
237 CleanupStack::Pop( &plugin ); |
|
238 |
|
239 TBool result = plugin.DeleteL(); |
237 TBool result = plugin.DeleteL(); |
|
238 |
240 DEBUG1("CHssIapSettingsHandler:::DeleteIapL result = %d ", result); |
239 DEBUG1("CHssIapSettingsHandler:::DeleteIapL result = %d ", result); |
241 |
240 CleanupStack::PopAndDestroy( &plugin ); |
242 CleanupStack::PopAndDestroy( &cmManager ); |
241 CleanupStack::PopAndDestroy( &cmManager ); |
243 } |
|
244 |
|
245 // ----------------------------------------------------------------------------- |
|
246 // FindClientL |
|
247 // ----------------------------------------------------------------------------- |
|
248 // |
|
249 TInt CHssIapSettingsHandler::FindClientL( const TUint aIapId, TUid& aUid, TDes8& aUidText ) |
|
250 { |
|
251 DEBUG("CHssIapSettingsHandler::FindClientL"); |
|
252 TInt ret( KErrNone ); |
|
253 aUid = TUid::Null(); |
|
254 RCmManagerExt cmManager; |
|
255 cmManager.OpenL(); |
|
256 CleanupClosePushL( cmManager ); |
|
257 |
|
258 RCmConnectionMethodExt plugin = cmManager.ConnectionMethodL( aIapId ); |
|
259 CleanupClosePushL( plugin ); |
|
260 |
|
261 HBufC* uid = plugin.GetStringAttributeL( EWlanServiceExtensionTableName ); |
|
262 |
|
263 TBuf8<KExtensionAPILength> buffer; |
|
264 buffer.Copy( *uid ); |
|
265 delete uid; |
|
266 // Find and remove [ and ]. |
|
267 // If found [ it's known that buffer contains UID |
|
268 TInt indx = buffer.Find( KMark1 ); |
|
269 if ( KErrNotFound != indx ) |
|
270 { |
|
271 DEBUG("CHssIapSettingsHandler::FindClientL Client is found"); |
|
272 buffer.Delete( indx, 1 ); |
|
273 indx = buffer.Find( KMark2 ); |
|
274 if ( KErrNotFound != indx ) |
|
275 { |
|
276 buffer.Delete( indx, 1 ); |
|
277 } |
|
278 // Convert TBuf to TUid |
|
279 TLex8 lex( buffer ); |
|
280 TUint value( 0 ); |
|
281 User::LeaveIfError( lex.Val( value, EHex ) ); |
|
282 aUid.iUid = value; |
|
283 aUidText = buffer; |
|
284 } |
|
285 |
|
286 CleanupStack::PopAndDestroy( &plugin ); // Close() called on "plugin" |
|
287 CleanupStack::PopAndDestroy( &cmManager ); |
|
288 DEBUG("CHssIapSettingsHandler::FindClientL"); |
|
289 |
|
290 return ret; |
|
291 } |
242 } |
292 |
243 |
293 // --------------------------------------------------------- |
244 // --------------------------------------------------------- |
294 // SaveWEPKeyL() |
245 // SaveWEPKeyL() |
295 // --------------------------------------------------------- |
246 // --------------------------------------------------------- |