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