hotspotfw/hsserver/src/hssiapsettingshandler.cpp
branchRCL_3
changeset 15 dff6ebfd236f
parent 8 c2bc3f8c7777
child 21 d9aaeb96a256
equal deleted inserted replaced
8:c2bc3f8c7777 15:dff6ebfd236f
    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 // ---------------------------------------------------------