23 #include <wlanmgmtcommon.h> |
23 #include <wlanmgmtcommon.h> |
24 #include <cmpluginwlandef.h> |
24 #include <cmpluginwlandef.h> |
25 #include <cmcommonconstants.h> |
25 #include <cmcommonconstants.h> |
26 #include <featmgr.h> |
26 #include <featmgr.h> |
27 |
27 |
|
28 #include "datamobilitycommsdattypes.h" |
28 #include "cmpluginwlan.h" |
29 #include "cmpluginwlan.h" |
29 #include "cmwlancoveragecheck.h" |
30 #include "cmwlancoveragecheck.h" |
30 #include "cmmanagerdef.h" |
31 #include "cmmanagerdef.h" |
31 |
32 |
32 #include "OstTraceDefinitions.h" |
33 #include "OstTraceDefinitions.h" |
50 const TBool KDefIpDnsAddrFromServer = ETrue; |
51 const TBool KDefIpDnsAddrFromServer = ETrue; |
51 const TBool KDefIp6DnsAddrFromServer = ETrue; |
52 const TBool KDefIp6DnsAddrFromServer = ETrue; |
52 |
53 |
53 const TInt KWlanServiceRecordIndex = 0; |
54 const TInt KWlanServiceRecordIndex = 0; |
54 |
55 |
55 const TUint32 KDefaultPriorityWLan = 0; |
|
56 |
|
57 const TInt KWlanLastSocketActivityTimeout = -1; |
56 const TInt KWlanLastSocketActivityTimeout = -1; |
58 const TInt KWlanLastSessionClosedTimeout = 1; |
57 const TInt KWlanLastSessionClosedTimeout = 1; |
59 const TInt KWlanLastSocketClosedTimeout = -1; |
58 const TInt KWlanLastSocketClosedTimeout = -1; |
60 |
59 |
61 /// Modem bearer names for WLAN connection methods |
60 /// Modem bearer names for WLAN connection methods. |
62 _LIT( KModemBearerWLAN, "WLANBearer" ); |
61 _LIT( KModemBearerWLAN, "WLANBearer" ); |
63 |
62 |
64 _LIT( KWlanBearerName, "WLANBearer" ); |
63 _LIT( KWlanBearerName, "WLANBearer" ); |
65 _LIT( KWlanBearerAgent, "wlanagt.agt" ); |
64 _LIT( KWlanBearerAgent, "wlanagt.agt" ); |
66 _LIT( KWlanBearerNif, "wlannif" ); |
65 _LIT( KWlanBearerNif, "wlannif" ); |
151 |
150 |
152 User::Leave( KErrNotSupported ); |
151 User::Leave( KErrNotSupported ); |
153 } |
152 } |
154 |
153 |
155 CCmPluginBaseEng::ConstructL(); |
154 CCmPluginBaseEng::ConstructL(); |
|
155 |
|
156 // Get bearer priority table ID. |
|
157 TRAP_IGNORE( iBearerPriorityTableId = |
|
158 CCDGlobalBearerTypePriorizationRecord::TableIdL( iSession ) ); |
|
159 |
|
160 if ( !iBearerPriorityTableId ) |
|
161 { |
|
162 iBearerPriorityTableId = |
|
163 CCDGlobalBearerTypePriorizationRecord::CreateTableL( iSession ); |
|
164 } |
156 |
165 |
157 // get WLAN table id |
166 // get WLAN table id |
158 TRAP_IGNORE( iWlanTableId = CCDWlanServiceRecord::TableIdL( iSession ) ); |
167 TRAP_IGNORE( iWlanTableId = CCDWlanServiceRecord::TableIdL( iSession ) ); |
159 |
168 |
160 if ( !iWlanTableId ) |
169 if ( !iWlanTableId ) |
310 retVal = KCommDbBearerWLAN; |
319 retVal = KCommDbBearerWLAN; |
311 } |
320 } |
312 break; |
321 break; |
313 case ECmDefaultUiPriority: |
322 case ECmDefaultUiPriority: |
314 { |
323 { |
315 retVal = KDefaultPriorityWLan; |
324 retVal = GetDefPriorityL( aAttribute ); |
316 } |
325 } |
317 break; |
326 break; |
318 case ECmDefaultPriority: |
327 case ECmDefaultPriority: |
319 { |
328 { |
320 retVal = KDefaultPriorityWLan; |
329 retVal = GetDefPriorityL( aAttribute ); |
321 } |
330 } |
322 break; |
331 break; |
323 case EWlanServiceId: |
332 case EWlanServiceId: |
324 { |
333 { |
325 retVal = wlanServiceRecord->iWlanServiceId; |
334 retVal = wlanServiceRecord->iWlanServiceId; |
1230 { |
1239 { |
1231 OstTraceFunctionEntry0( CCMPLUGINWLAN_CANHANDLEIAPIDL_ENTRY ); |
1240 OstTraceFunctionEntry0( CCMPLUGINWLAN_CANHANDLEIAPIDL_ENTRY ); |
1232 |
1241 |
1233 TBool retVal( EFalse ); |
1242 TBool retVal( EFalse ); |
1234 |
1243 |
1235 CCDIAPRecord *iapRecord = static_cast<CCDIAPRecord *> |
1244 CCDIAPRecord *iapRecord = static_cast<CCDIAPRecord *>( |
1236 ( CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord) ); |
1245 CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord) ); |
1237 |
1246 |
1238 CleanupStack::PushL( iapRecord ); |
1247 CleanupStack::PushL( iapRecord ); |
1239 iapRecord->SetRecordId( aIapId ); |
1248 iapRecord->SetRecordId( aIapId ); |
1240 |
1249 |
1241 TRAPD( err, iapRecord->LoadL( iSession ) ); |
1250 TRAPD( err, iapRecord->LoadL( iSession ) ); |
1305 { |
1314 { |
1306 OstTraceFunctionEntry0( CCMPLUGINWLAN_LOADSERVICERECORDL_ENTRY ); |
1315 OstTraceFunctionEntry0( CCMPLUGINWLAN_LOADSERVICERECORDL_ENTRY ); |
1307 |
1316 |
1308 if ( TPtrC( KCDTypeNameLANService ) == iIapRecord->iServiceType ) |
1317 if ( TPtrC( KCDTypeNameLANService ) == iIapRecord->iServiceType ) |
1309 { |
1318 { |
1310 iServiceRecord = static_cast<CCDLANServiceRecord *> |
1319 iServiceRecord = static_cast<CCDLANServiceRecord*>( |
1311 ( CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) ); |
1320 CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) ); |
1312 |
1321 |
1313 ServiceRecord().SetRecordId( iIapRecord->iService ); |
1322 ServiceRecord().SetRecordId( iIapRecord->iService ); |
1314 ServiceRecord().LoadL( iSession ); |
1323 ServiceRecord().LoadL( iSession ); |
1315 } |
1324 } |
1316 else |
1325 else |
1360 OstTraceFunctionEntry0( CCMPLUGINWLAN_CREATESERVICERECORDL_ENTRY ); |
1369 OstTraceFunctionEntry0( CCMPLUGINWLAN_CREATESERVICERECORDL_ENTRY ); |
1361 |
1370 |
1362 delete iServiceRecord; |
1371 delete iServiceRecord; |
1363 iServiceRecord = NULL; |
1372 iServiceRecord = NULL; |
1364 |
1373 |
1365 iServiceRecord = static_cast<CCDLANServiceRecord*> |
1374 iServiceRecord = static_cast<CCDLANServiceRecord*>( |
1366 (CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) ); |
1375 CCDRecordBase::RecordFactoryL( KCDTIdLANServiceRecord ) ); |
1367 |
1376 |
1368 CCDLANServiceRecord* lanServiceRecord = static_cast<CCDLANServiceRecord *>( iServiceRecord ); |
1377 CCDLANServiceRecord* lanServiceRecord = static_cast<CCDLANServiceRecord*>( iServiceRecord ); |
1369 |
|
1370 |
1378 |
1371 if ( FeatureManager::FeatureSupported( KFeatureIdIPv6 ) ) |
1379 if ( FeatureManager::FeatureSupported( KFeatureIdIPv6 ) ) |
1372 { |
1380 { |
1373 lanServiceRecord->iIfNetworks.SetL( KDefIspIfNetworksIPv4IPv6 ); |
1381 lanServiceRecord->iIfNetworks.SetL( KDefIspIfNetworksIPv4IPv6 ); |
1374 } |
1382 } |
1399 { |
1407 { |
1400 lanServiceRecord->iConfigDaemonManagerName.SetL( KEmpty ); |
1408 lanServiceRecord->iConfigDaemonManagerName.SetL( KEmpty ); |
1401 lanServiceRecord->iConfigDaemonName.SetL( KEmpty ); |
1409 lanServiceRecord->iConfigDaemonName.SetL( KEmpty ); |
1402 } |
1410 } |
1403 |
1411 |
1404 // create WLAN service record |
1412 // Create WLAN service record. |
1405 CreateWlanServiceRecordL(); |
1413 CreateWlanServiceRecordL(); |
1406 |
1414 |
1407 OstTraceFunctionExit0( CCMPLUGINWLAN_CREATESERVICERECORDL_EXIT ); |
1415 OstTraceFunctionExit0( CCMPLUGINWLAN_CREATESERVICERECORDL_EXIT ); |
1408 } |
1416 } |
1409 |
1417 |
1420 iWlanServiceRecord = NULL; |
1428 iWlanServiceRecord = NULL; |
1421 |
1429 |
1422 iWlanServiceRecord = new( ELeave ) CCDWlanServiceRecord ( iWlanTableId ); |
1430 iWlanServiceRecord = new( ELeave ) CCDWlanServiceRecord ( iWlanTableId ); |
1423 iWlanServiceRecord->SetRecordId( KCDNewRecordRequest ); |
1431 iWlanServiceRecord->SetRecordId( KCDNewRecordRequest ); |
1424 |
1432 |
|
1433 // Some attributes need to have default values set. |
1425 iWlanServiceRecord->iRecordName.SetL( iIapRecord->iRecordName ); |
1434 iWlanServiceRecord->iRecordName.SetL( iIapRecord->iRecordName ); |
1426 iWlanServiceRecord->iWlanConnMode.SetL( CMManager::EInfra ); |
1435 iWlanServiceRecord->iWlanConnMode.SetL( CMManager::EInfra ); |
1427 iWlanServiceRecord->iWlanSecMode.SetL( CMManager::EWlanSecModeOpen ); |
1436 iWlanServiceRecord->iWlanSecMode.SetL( CMManager::EWlanSecModeOpen ); |
|
1437 iWlanServiceRecord->iWlanAuthMode.SetL( CMManager::EWlanAuthModeOpen ); |
1428 iWlanServiceRecord->iWlanScanSSID.SetL( EFalse ); |
1438 iWlanServiceRecord->iWlanScanSSID.SetL( EFalse ); |
1429 |
1439 |
1430 OstTraceFunctionExit0( CCMPLUGINWLAN_CREATEWLANSERVICERECORDL_EXIT ); |
1440 OstTraceFunctionExit0( CCMPLUGINWLAN_CREATEWLANSERVICERECORDL_EXIT ); |
1431 } |
1441 } |
1432 |
1442 |
2224 { |
2234 { |
2225 retVal = KCommDbBearerWLAN; |
2235 retVal = KCommDbBearerWLAN; |
2226 } |
2236 } |
2227 break; |
2237 break; |
2228 case ECmDefaultUiPriority: |
2238 case ECmDefaultUiPriority: |
|
2239 { |
|
2240 retVal = GetDefPriorityL( aAttribute ); |
|
2241 } |
|
2242 break; |
2229 case ECmDefaultPriority: |
2243 case ECmDefaultPriority: |
2230 { |
2244 { |
2231 retVal = KDefaultPriorityWLan; |
2245 retVal = GetDefPriorityL( aAttribute ); |
2232 } |
2246 } |
2233 break; |
2247 break; |
2234 case ECmExtensionLevel: |
2248 case ECmExtensionLevel: |
2235 { |
2249 { |
2236 // This is extension from LAN plugin. |
2250 // This is extension from LAN plugin. |
2612 User::Leave( KErrArgument ); |
2626 User::Leave( KErrArgument ); |
2613 } |
2627 } |
2614 return result; |
2628 return result; |
2615 } |
2629 } |
2616 |
2630 |
|
2631 // --------------------------------------------------------------------------- |
|
2632 // CCmPluginWlan::GetDefPriorityL |
|
2633 // --------------------------------------------------------------------------- |
|
2634 // |
|
2635 TUint32 CCmPluginWlan::GetDefPriorityL( const TUint32 aAttribute ) const//TODO, OST |
|
2636 { |
|
2637 |
|
2638 TUint32 retVal( KDataMobilitySelectionPolicyPriorityWildCard ); |
|
2639 |
|
2640 CCDGlobalBearerTypePriorizationRecord* priorityRecord = |
|
2641 new( ELeave ) CCDGlobalBearerTypePriorizationRecord( iBearerPriorityTableId ); |
|
2642 CleanupStack::PushL( priorityRecord ); |
|
2643 |
|
2644 priorityRecord->iServiceType.SetL( TPtrC( KCDTypeNameLANService ) ); |
|
2645 |
|
2646 if ( priorityRecord->FindL( iSession ) ) |
|
2647 { |
|
2648 priorityRecord->LoadL( iSession ); |
|
2649 |
|
2650 switch ( aAttribute ) |
|
2651 { |
|
2652 case ECmDefaultPriority: |
|
2653 { |
|
2654 retVal = priorityRecord->iPriority; |
|
2655 } |
|
2656 break; |
|
2657 case ECmDefaultUiPriority: |
|
2658 { |
|
2659 retVal = priorityRecord->iUIPriority; |
|
2660 } |
|
2661 break; |
|
2662 default: |
|
2663 break; |
|
2664 } |
|
2665 } |
|
2666 CleanupStack::PopAndDestroy( priorityRecord ); |
|
2667 |
|
2668 return retVal; |
|
2669 } |
|
2670 |
2617 // End of File |
2671 // End of File |