connectionmonitoring/connmon/connectionmonitor/src/CWlanSupport.cpp
branchRCL_3
changeset 57 05bc53fe583b
parent 17 c14618f9de99
child 58 83ca720e2b9a
equal deleted inserted replaced
55:fc7b30ed2058 57:05bc53fe583b
   589 TInt CWlanSupport::GetConnectionSecurity( TInt& aConnectionSecurity )
   589 TInt CWlanSupport::GetConnectionSecurity( TInt& aConnectionSecurity )
   590     {
   590     {
   591     LOGENTRFN("CWlanSupport::GetConnectionSecurity()")
   591     LOGENTRFN("CWlanSupport::GetConnectionSecurity()")
   592     TInt err( KErrNone );
   592     TInt err( KErrNone );
   593 
   593 
   594     TWlanConnectionSecurityMode mode( EWlanConnectionSecurityOpen );
   594     TWlanConnectionExtentedSecurityMode mode( EWlanConnectionExtentedSecurityModeOpen );
   595 
   595 
   596     // Get security mode
   596     // Get security mode
   597     err = iWlanMgmt->GetConnectionSecurityMode( mode );
   597     err = iWlanMgmt->GetExtendedConnectionSecurityMode( mode );
   598     if ( KErrNone == err )
   598     if ( KErrNone == err )
   599         {
   599         {
   600         switch ( mode )
   600         aConnectionSecurity = ConvertWlanExtSecModeToConnMonSecModeV2( mode );
   601             {
       
   602             case EWlanConnectionSecurityOpen:
       
   603                 aConnectionSecurity = EConnMonSecurityOpen;
       
   604                 break;
       
   605             case EWlanConnectionSecurityWep:
       
   606                 aConnectionSecurity = EConnMonSecurityWep;
       
   607                 break;
       
   608             case EWlanConnectionSecurity802d1x:
       
   609                 aConnectionSecurity = EConnMonSecurity802d1x;
       
   610                 break;
       
   611             case EWlanConnectionSecurityWpa:
       
   612                 aConnectionSecurity = EConnMonSecurityWpa;
       
   613                 break;
       
   614             case EWlanConnectionSecurityWpaPsk:
       
   615                 aConnectionSecurity = EConnMonSecurityWpaPsk;
       
   616                 break;
       
   617             default:
       
   618                 aConnectionSecurity = EConnMonSecurityOpen;
       
   619                 break;
       
   620             }
       
   621         LOGIT1("GetConnectionSecurity: security mode %d", aConnectionSecurity)
   601         LOGIT1("GetConnectionSecurity: security mode %d", aConnectionSecurity)
   622         }
   602         }
   623 
   603 
   624     LOGEXITFN1("CWlanSupport::GetConnectionSecurity()", err)
   604     LOGEXITFN1("CWlanSupport::GetConnectionSecurity()", err)
   625     return err;
   605     return err;
   771 
   751 
   772             // Signal strength
   752             // Signal strength
   773             TUint signalStrength(scanInfo->RXLevel());
   753             TUint signalStrength(scanInfo->RXLevel());
   774             LOGIT1("CWlanSupport::GetWLANNetworksL: signalStrength %d", signalStrength)
   754             LOGIT1("CWlanSupport::GetWLANNetworksL: signalStrength %d", signalStrength)
   775 
   755 
   776             // SecurityMode
   756             // Security mode
   777             TUint securityMode = ConvertWlan2ConnMonExtSecMode(scanInfo);
   757             TInt wlanExtSecurityMode( scanInfo->ExtendedSecurityMode() );
       
   758             TInt securityModeV2( ConvertWlanExtSecModeToConnMonSecModeV2( wlanExtSecurityMode ) );
       
   759             TInt securityMode( ConvertConMonSecModeV2ToConnMonSecMode( securityModeV2 ) );
   778             LOGIT1("CWlanSupport::GetWLANNetworksL: securityMode %d", securityMode)
   760             LOGIT1("CWlanSupport::GetWLANNetworksL: securityMode %d", securityMode)
   779 
   761 
   780             // SSID == name
   762             // SSID == name
   781             TBuf8<TConnMonWLANNetwork::KMaxNameLength> name8;
   763             TBuf8<TConnMonWLANNetwork::KMaxNameLength> name8;
   782             TUint8 ieLen( 0 );
   764             TUint8 ieLen( 0 );
   877             }
   859             }
   878 
   860 
   879         // Signal strength
   861         // Signal strength
   880         TUint signalStrength( aScanInfo->RXLevel() );
   862         TUint signalStrength( aScanInfo->RXLevel() );
   881 
   863 
   882         // SecurityMode
   864         // Security mode
   883         TUint securityMode = ConvertWlan2ConnMonExtSecMode(aScanInfo);
   865         TInt wlanExtSecurityMode( aScanInfo->ExtendedSecurityMode() );
   884                 
   866         TInt securityModeV2( ConvertWlanExtSecModeToConnMonSecModeV2( wlanExtSecurityMode ) );
       
   867         TInt securityMode( ConvertConMonSecModeV2ToConnMonSecMode( securityModeV2 ) );
       
   868 
       
   869         // Protected setup
       
   870         TBool protectedSetupSupport( aScanInfo->IsProtectedSetupSupported() );
       
   871 
   885         // SSID == name
   872         // SSID == name
   886         TBuf8<CConnMonWlanNetwork::KMaxNameLength> name8;
   873         TBuf8<CConnMonWlanNetwork::KMaxNameLength> name8;
   887         TUint8 ieLen( 0 );
   874         TUint8 ieLen( 0 );
   888         const TUint8* ieData;
   875         const TUint8* ieData;
   889         ieData = NULL;
   876         ieData = NULL;
   913         CConnMonWlanNetwork* net = CConnMonWlanNetwork::NewL(
   900         CConnMonWlanNetwork* net = CConnMonWlanNetwork::NewL(
   914                 name,
   901                 name,
   915                 connectionMode,
   902                 connectionMode,
   916                 signalStrength,
   903                 signalStrength,
   917                 securityMode,
   904                 securityMode,
       
   905                 securityModeV2,
       
   906                 protectedSetupSupport,
   918                 bssid,
   907                 bssid,
   919                 KNullDesC() );
   908                 KNullDesC() );
   920         CleanupStack::PushL( net );
   909         CleanupStack::PushL( net );
   921         aWlanNetworks.AppendL( net );
   910         aWlanNetworks.AppendL( net );
   922         CleanupStack::Pop( net );
   911         CleanupStack::Pop( net );
   939     LOGENTRFN("CWlanSupport::GetCurrentWlanNetworkL()")
   928     LOGENTRFN("CWlanSupport::GetCurrentWlanNetworkL()")
   940     TInt err( KErrNone );
   929     TInt err( KErrNone );
   941 
   930 
   942     TInt connectionMode;
   931     TInt connectionMode;
   943     TInt connectionSecurity;
   932     TInt connectionSecurity;
       
   933     TInt connectionSecurityV2;
   944     TInt connectionSignalQuality;
   934     TInt connectionSignalQuality;
   945     TBuf<CConnMonWlanNetwork::KMaxNameLength> connectionSsid;
   935     TBuf<CConnMonWlanNetwork::KMaxNameLength> connectionSsid;
   946     TBuf8<CConnMonWlanNetwork::KWlanBssId> connectionBssid;
   936     TBuf8<CConnMonWlanNetwork::KWlanBssId> connectionBssid;
   947 
   937 
   948     // Get connection mode to see if connection exists
   938     // Get connection mode to see if connection exists
   949     err = GetConnectionMode( connectionMode );
   939     err = GetConnectionMode( connectionMode );
   950     if ( KErrNone == err )
   940     if ( KErrNone == err )
   951         {
   941         {
   952         // Get connection security mode
   942         // Get connection security mode
   953         err = GetConnectionSecurity( connectionSecurity );
   943         err = GetConnectionSecurity( connectionSecurityV2 );
       
   944         connectionSecurity = ConvertConMonSecModeV2ToConnMonSecMode( connectionSecurityV2 );
   954         }
   945         }
   955     if ( KErrNone == err )
   946     if ( KErrNone == err )
   956         {
   947         {
   957         // Get connection signal quality
   948         // Get connection signal quality
   958         err = GetConnectionSignalQuality( connectionSignalQuality );
   949         err = GetConnectionSignalQuality( connectionSignalQuality );
   973         CConnMonWlanNetwork* net = CConnMonWlanNetwork::NewL(
   964         CConnMonWlanNetwork* net = CConnMonWlanNetwork::NewL(
   974                 connectionSsid,
   965                 connectionSsid,
   975                 connectionMode,
   966                 connectionMode,
   976                 connectionSignalQuality,
   967                 connectionSignalQuality,
   977                 connectionSecurity,
   968                 connectionSecurity,
       
   969                 connectionSecurityV2,
       
   970                 0,
   978                 connectionBssid,
   971                 connectionBssid,
   979                 KNullDesC() );
   972                 KNullDesC() );
   980         CleanupStack::PushL( net );
   973         CleanupStack::PushL( net );
   981         aWlanNetwork.AppendL( net );
   974         aWlanNetwork.AppendL( net );
   982         CleanupStack::Pop( net );
   975         CleanupStack::Pop( net );
  1430     LOGEXITFN1("CWlanSupport::WlanRssGoodEnough()", value)
  1423     LOGEXITFN1("CWlanSupport::WlanRssGoodEnough()", value)
  1431     return value;
  1424     return value;
  1432     }
  1425     }
  1433 
  1426 
  1434 // -----------------------------------------------------------------------------
  1427 // -----------------------------------------------------------------------------
  1435 // CWlanSupport::ConvertWlan2ConnMonExtSecMode
  1428 // CWlanSupport::ConvertConMonSecModeV2ToConnMonSecMode
  1436 // -----------------------------------------------------------------------------
  1429 // -----------------------------------------------------------------------------
  1437 //
  1430 //
  1438 TUint CWlanSupport::ConvertWlan2ConnMonExtSecMode(CWlanScanInfo* scanInfo)
  1431 TInt CWlanSupport::ConvertConMonSecModeV2ToConnMonSecMode( TInt aConnMonSecModeV2 )
  1439     {
  1432     {
  1440     LOGENTRFN("CWlanSupport::ConvertWlan2ConnMonExtSecMode()")
  1433     TInt connMonSecMode( EConnMonSecurityOpen );
  1441 
  1434     switch ( aConnMonSecModeV2 )
  1442     TUint securityMode(EConnMonSecurityOpen);
  1435         {
  1443     switch (scanInfo->ExtendedSecurityMode())
  1436         case EConnMonSecurityV2Open:
       
  1437             connMonSecMode = EConnMonSecurityOpen;
       
  1438             break;
       
  1439         case EConnMonSecurityV2WepOpen:
       
  1440         case EConnMonSecurityV2WepShared:
       
  1441             connMonSecMode = EConnMonSecurityWep;
       
  1442             break;
       
  1443         case EConnMonSecurityV2802d1x:
       
  1444             connMonSecMode = EConnMonSecurity802d1x;
       
  1445             break;
       
  1446         case EConnMonSecurityV2Wpa:
       
  1447         case EConnMonSecurityV2Wpa2:
       
  1448             connMonSecMode = EConnMonSecurityWpa;
       
  1449             break;
       
  1450         case EConnMonSecurityV2WpaPsk:
       
  1451         case EConnMonSecurityV2Wpa2Psk:
       
  1452             connMonSecMode = EConnMonSecurityWpaPsk;
       
  1453             break;
       
  1454         case EConnMonSecurityV2Wapi:
       
  1455         case EConnMonSecurityV2WapiPsk:
       
  1456             connMonSecMode = EConnMonSecurity802d1x;
       
  1457             break;
       
  1458         default:
       
  1459             connMonSecMode = EConnMonSecurityOpen;
       
  1460             break;
       
  1461         }
       
  1462     return connMonSecMode;
       
  1463     }
       
  1464 
       
  1465 // -----------------------------------------------------------------------------
       
  1466 // CWlanSupport::ConvertWlanExtSecModeToConnMonSecModeV2
       
  1467 // -----------------------------------------------------------------------------
       
  1468 //
       
  1469 TInt CWlanSupport::ConvertWlanExtSecModeToConnMonSecModeV2( TInt aWlanExtSecMode )
       
  1470     {
       
  1471     TInt connMonSecModeV2( EConnMonSecurityV2Open );
       
  1472     switch ( aWlanExtSecMode )
  1444         {
  1473         {
  1445         case EWlanConnectionExtentedSecurityModeOpen:
  1474         case EWlanConnectionExtentedSecurityModeOpen:
  1446             securityMode = EConnMonSecurityOpen;
  1475             connMonSecModeV2 = EConnMonSecurityV2Open;
  1447             break;
  1476             break;
  1448             
       
  1449         case EWlanConnectionExtentedSecurityModeWepOpen:
  1477         case EWlanConnectionExtentedSecurityModeWepOpen:
       
  1478             connMonSecModeV2 = EConnMonSecurityV2WepOpen;
       
  1479             break;
  1450         case EWlanConnectionExtentedSecurityModeWepShared:
  1480         case EWlanConnectionExtentedSecurityModeWepShared:
  1451             securityMode = EConnMonSecurityWep;
  1481             connMonSecModeV2 = EConnMonSecurityV2WepShared;
  1452             break;
  1482             break;
  1453             
       
  1454         case EWlanConnectionExtentedSecurityMode802d1x:
  1483         case EWlanConnectionExtentedSecurityMode802d1x:
  1455             securityMode = EConnMonSecurity802d1x;
  1484             connMonSecModeV2 = EConnMonSecurityV2802d1x;
  1456             break;
  1485             break;
  1457             
       
  1458         case EWlanConnectionExtentedSecurityModeWpa:
  1486         case EWlanConnectionExtentedSecurityModeWpa:
       
  1487             connMonSecModeV2 = EConnMonSecurityV2Wpa;
       
  1488             break;
       
  1489         case EWlanConnectionExtentedSecurityModeWpaPsk:
       
  1490             connMonSecModeV2 = EConnMonSecurityV2WpaPsk;
       
  1491             break;
  1459         case EWlanConnectionExtentedSecurityModeWpa2:
  1492         case EWlanConnectionExtentedSecurityModeWpa2:
  1460             securityMode = EConnMonSecurityWpa;
  1493             connMonSecModeV2 = EConnMonSecurityV2Wpa2;
  1461             break;
  1494             break;
  1462             
       
  1463         case EWlanConnectionExtentedSecurityModeWpaPsk:
       
  1464         case EWlanConnectionExtentedSecurityModeWpa2Psk:
  1495         case EWlanConnectionExtentedSecurityModeWpa2Psk:
  1465             securityMode = EConnMonSecurityWpaPsk;
  1496             connMonSecModeV2 = EConnMonSecurityV2Wpa2Psk;
  1466             break;
  1497             break;
  1467             
       
  1468         case EWlanConnectionExtentedSecurityModeWapi:
  1498         case EWlanConnectionExtentedSecurityModeWapi:
       
  1499             connMonSecModeV2 = EConnMonSecurityV2Wapi;
       
  1500             break;
  1469         case EWlanConnectionExtentedSecurityModeWapiPsk:
  1501         case EWlanConnectionExtentedSecurityModeWapiPsk:
       
  1502             connMonSecModeV2 = EConnMonSecurityV2WapiPsk;
       
  1503             break;
  1470         default:
  1504         default:
  1471             securityMode = EConnMonSecurityOpen;
  1505             connMonSecModeV2 = EConnMonSecurityV2Open;
  1472             break;
  1506             break;
  1473         }
  1507         }
  1474 
  1508     return connMonSecModeV2;
  1475     LOGEXITFN1("CWlanSupport::ConvertWlan2ConnMonExtSecMode()", securityMode)
       
  1476     return securityMode;
       
  1477     }
  1509     }
  1478 
  1510 
  1479 // ============================ MEMBER FUNCTIONS ===============================
  1511 // ============================ MEMBER FUNCTIONS ===============================
  1480 
  1512 
  1481 // -----------------------------------------------------------------------------
  1513 // -----------------------------------------------------------------------------