cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp
changeset 23 7ec726f93df1
parent 20 9c97ad6591ae
child 27 489cf6208544
equal deleted inserted replaced
20:9c97ad6591ae 23:7ec726f93df1
   480 
   480 
   481 // ---------------------------------------------------------------------------
   481 // ---------------------------------------------------------------------------
   482 // CCmPluginBaseEng::CopyRecordDataL
   482 // CCmPluginBaseEng::CopyRecordDataL
   483 // ---------------------------------------------------------------------------
   483 // ---------------------------------------------------------------------------
   484 //
   484 //
   485 void CCmPluginBaseEng::CopyRecordDataL( TUint32 aRecordIdentifier,
   485 void CCmPluginBaseEng::CopyRecordDataL(
   486                                         CCmPluginBaseEng* aCopyInstance )
   486         TUint32 aRecordIdentifier,
       
   487         CCmPluginBaseEng* aCopyInstance )
   487     {
   488     {
   488     OstTraceFunctionEntry0( CCMPLUGINBASEENG_COPYRECORDDATAL_ENTRY );
   489     OstTraceFunctionEntry0( CCMPLUGINBASEENG_COPYRECORDDATAL_ENTRY );
   489 
   490 
   490     switch( aRecordIdentifier )
   491     switch ( aRecordIdentifier )
   491         {
   492         {
   492         case KIapRecordIndex:
   493         case KIapRecordIndex:
   493             {
   494             {
   494             aCopyInstance->iIapRecord =
   495             aCopyInstance->iIapRecord = static_cast<CCDIAPRecord*>(
   495                 static_cast<CCDIAPRecord*>( CCDRecordBase::CreateCopyRecordL( *iIapRecord ) );
   496                     CCDRecordBase::CreateCopyRecordL( *iIapRecord ) );
   496             }
   497             }
   497             break;
   498             break;
   498         case KServiceRecordIndex:
   499         case KServiceRecordIndex:
   499             {
   500             {
   500             aCopyInstance->iServiceRecord = CopyServiceRecordL();
   501             aCopyInstance->iServiceRecord = CopyServiceRecordL();
   501             }
   502             }
   502             break;
   503             break;
   503         case KNetworkRecordIndex:
   504         case KNetworkRecordIndex:
   504             {
   505             {
   505             aCopyInstance->iNetworkRecord =
   506             aCopyInstance->iNetworkRecord = static_cast<CCDNetworkRecord*>(
   506                 static_cast<CCDNetworkRecord*>( CCDRecordBase::CreateCopyRecordL( *iNetworkRecord ) );
   507                     CCDRecordBase::CreateCopyRecordL( *iNetworkRecord ) );
   507             }
   508             }
   508             break;
   509             break;
   509         case KWAPAPRecordIndex:
   510         case KWAPAPRecordIndex:
   510             {
   511             {
   511             aCopyInstance->iWapAPRecord =
   512             aCopyInstance->iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
   512                 static_cast<CCDWAPAccessPointRecord*>( CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );
   513                     CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );
   513             }
   514             }
   514             break;
   515             break;
   515         case KWAPBearerRecordIndex:
   516         case KWAPBearerRecordIndex:
   516             {
   517             {
   517             aCopyInstance->iWapIPBearerRecord =
   518             aCopyInstance->iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
   518                 static_cast<CCDWAPIPBearerRecord*>( CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );
   519                     CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );
   519             }
   520             }
   520             break;
   521             break;
   521         case KMetaDataRecordIndex:
   522         case KMetaDataRecordIndex:
   522             {
   523             {
   523             aCopyInstance->iMetaDataRecord = new (ELeave) CCDIAPMetadataRecord( iMetadataTableId );
   524             aCopyInstance->iMetaDataRecord =
       
   525                     new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId );
   524             aCopyInstance->iMetaDataRecord->iIAP = IAPRecordElementId();
   526             aCopyInstance->iMetaDataRecord->iIAP = IAPRecordElementId();
   525             aCopyInstance->iMetaDataRecord->iMetadata.SetL( iMetaDataRecord->iMetadata );
   527             aCopyInstance->iMetaDataRecord->iMetadata.SetL( iMetaDataRecord->iMetadata );
   526             aCopyInstance->iMetaDataRecord->iSeamlessness.SetL( iMetaDataRecord->iSeamlessness );
   528             aCopyInstance->iMetaDataRecord->iSeamlessness.SetL( iMetaDataRecord->iSeamlessness );
   527             }
   529             }
   528             break;
   530             break;
   535             break;
   537             break;
   536         case KProxyRecordIndex:
   538         case KProxyRecordIndex:
   537             {
   539             {
   538             if ( iProxyRecord )
   540             if ( iProxyRecord )
   539                 {
   541                 {
   540                 aCopyInstance->iProxyRecord = static_cast<CCDProxiesRecord*>
   542                 aCopyInstance->iProxyRecord = static_cast<CCDProxiesRecord*>(
   541                                         ( CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
   543                         CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
   542                 }
   544                 }
   543             }
   545             }
   544             break;
   546             break;
   545         default:
   547         default:
   546             {
   548             {
   547             User::Leave( KErrArgument );
   549             User::Leave( KErrArgument );
   548             }
   550             }
   549         }
   551             break;
       
   552         }
       
   553 
   550     OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYRECORDDATAL_EXIT );
   554     OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYRECORDDATAL_EXIT );
   551     }
   555     }
   552 
   556 
   553 // ---------------------------------------------------------------------------
   557 // ---------------------------------------------------------------------------
   554 // CCmPluginBaseEng::DoLoadL
   558 // CCmPluginBaseEng::DoLoadL
  1861         }
  1865         }
  1862     else
  1866     else
  1863         {
  1867         {
  1864         User::Leave( KErrCorrupt );
  1868         User::Leave( KErrCorrupt );
  1865         }
  1869         }
       
  1870 
  1866     OstTraceFunctionExit0( CCMPLUGINBASEENG_SETNAMEL_EXIT );
  1871     OstTraceFunctionExit0( CCMPLUGINBASEENG_SETNAMEL_EXIT );
  1867     }
  1872     }
  1868 
  1873 
  1869 // ---------------------------------------------------------------------------
  1874 // ---------------------------------------------------------------------------
  1870 // CCmPluginBaseEng::CheckIfNameModifiedL
  1875 // CCmPluginBaseEng::CheckIfNameModifiedL
  1871 // ---------------------------------------------------------------------------
  1876 // ---------------------------------------------------------------------------
  1872 EXPORT_C void CCmPluginBaseEng::CheckIfNameModifiedL(
  1877 EXPORT_C void CCmPluginBaseEng::CheckIfNameModifiedL(
  1873     CCDRecordBase* aSrcRecord,
  1878         CCDRecordBase* aSrcRecord,
  1874     CCDRecordBase* aDestRecord ) const
  1879         CCDRecordBase* aDestRecord ) const
  1875     {
  1880     {
  1876     OstTraceFunctionEntry0( CCMPLUGINBASEENG_CHECKIFNAMEMODIFIEDL_ENTRY );
  1881     OstTraceFunctionEntry0( CCMPLUGINBASEENG_CHECKIFNAMEMODIFIEDL_ENTRY );
  1877 
  1882 
  1878     if ( !TPtrC( aSrcRecord->iRecordName ).CompareF( TPtrC( aDestRecord->iRecordName ) ) )
  1883     if ( !TPtrC( aSrcRecord->iRecordName ).CompareF( TPtrC( aDestRecord->iRecordName ) ) )
  1879         // names matche
  1884         // names matche
  2163 
  2168 
  2164 //-----------------------------------------------------------------------------
  2169 //-----------------------------------------------------------------------------
  2165 // CCmPluginBaseEng::GetIntAttributeL
  2170 // CCmPluginBaseEng::GetIntAttributeL
  2166 // -----------------------------------------------------------------------------
  2171 // -----------------------------------------------------------------------------
  2167 EXPORT_C TUint32 CCmPluginBaseEng::GetIntAttributeL(
  2172 EXPORT_C TUint32 CCmPluginBaseEng::GetIntAttributeL(
  2168     TUint32 aAttribute,
  2173         TUint32 aAttribute,
  2169     CCmClientPluginInstance* aClientPluginInstance )
  2174         CCmClientPluginInstance* aClientPluginInstance )
  2170     {
  2175     {
  2171     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETINTATTRIBUTEL_ENTRY );
  2176     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETINTATTRIBUTEL_ENTRY );
  2172 
  2177 
  2173     TUint32 retVal( 0 );
  2178     TUint32 retVal( 0 );
  2174 
  2179 
  2273                     aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->iWAPProxyPort;
  2278                     aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->iWAPProxyPort;
  2274             }
  2279             }
  2275             break;
  2280             break;
  2276         default:
  2281         default:
  2277             {
  2282             {
  2278             retVal = GetBearerIntAttributeL( aAttribute,
  2283             retVal = GetBearerIntAttributeL(
  2279                                              aClientPluginInstance->iGenRecordArray,
  2284                     aAttribute,
  2280                                              aClientPluginInstance->iBearerSpecRecordArray );
  2285                     aClientPluginInstance->iGenRecordArray,
       
  2286                     aClientPluginInstance->iBearerSpecRecordArray );
  2281             }
  2287             }
  2282             break;
  2288             break;
  2283         }
  2289         }
  2284 
  2290 
  2285     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETINTATTRIBUTEL_EXIT );
  2291     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETINTATTRIBUTEL_EXIT );
  2286 
       
  2287     return retVal;
  2292     return retVal;
  2288     }
  2293     }
  2289 
  2294 
  2290 //-----------------------------------------------------------------------------
  2295 //-----------------------------------------------------------------------------
  2291 // CCmPluginBaseEng::GetBoolAttributeL
  2296 // CCmPluginBaseEng::GetBoolAttributeL
  2292 // -----------------------------------------------------------------------------
  2297 // -----------------------------------------------------------------------------
  2293 EXPORT_C TBool CCmPluginBaseEng::GetBoolAttributeL(
  2298 EXPORT_C TBool CCmPluginBaseEng::GetBoolAttributeL(
  2294     TUint32 aAttribute,
  2299         TUint32 aAttribute,
  2295     CCmClientPluginInstance* aClientPluginInstance )
  2300         CCmClientPluginInstance* aClientPluginInstance )
  2296     {
  2301     {
  2297     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETBOOLATTRIBUTEL_ENTRY );
  2302     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETBOOLATTRIBUTEL_ENTRY );
  2298 
  2303 
  2299     TBool retVal( EFalse );
  2304     TBool retVal( EFalse );
  2300 
  2305 
  2306             }
  2311             }
  2307             break;
  2312             break;
  2308         case ECmHidden:
  2313         case ECmHidden:
  2309             {
  2314             {
  2310             CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
  2315             CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
  2311                                 aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
  2316                     aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
  2312             retVal = iapRecord->Attributes() & ECDHidden;
  2317             retVal = iapRecord->Attributes() & ECDHidden;
  2313             }
  2318             }
  2314             break;
  2319             break;
  2315         case ECmProxyUsageEnabled:
  2320         case ECmProxyUsageEnabled:
  2316             {
  2321             {
  2345             {
  2350             {
  2346             retVal = EFalse;
  2351             retVal = EFalse;
  2347             }
  2352             }
  2348             break;
  2353             break;
  2349         case ECmCoverage:
  2354         case ECmCoverage:
  2350             // In default the plugin has no network coverage
  2355             // By default the plugin has no network coverage.
  2351             {
  2356             {
  2352             TRAPD( err, retVal = GetBearerBoolAttributeL( aAttribute,
  2357             TRAPD( err, retVal = GetBearerBoolAttributeL( aAttribute,
  2353                                                           aClientPluginInstance->iGenRecordArray,
  2358                                                           aClientPluginInstance->iGenRecordArray,
  2354                                                           aClientPluginInstance->iBearerSpecRecordArray ) );
  2359                                                           aClientPluginInstance->iBearerSpecRecordArray ) );
  2355             if ( err )
  2360             if ( err )
  2392                     aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->iWAPSecurity;
  2397                     aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->iWAPSecurity;
  2393             }
  2398             }
  2394             break;
  2399             break;
  2395         default:
  2400         default:
  2396             {
  2401             {
  2397             retVal = GetBearerBoolAttributeL( aAttribute,
  2402             retVal = GetBearerBoolAttributeL(
  2398                                               aClientPluginInstance->iGenRecordArray,
  2403                     aAttribute,
  2399                                               aClientPluginInstance->iBearerSpecRecordArray );
  2404                     aClientPluginInstance->iGenRecordArray,
       
  2405                     aClientPluginInstance->iBearerSpecRecordArray );
  2400             }
  2406             }
  2401         }
  2407         }
  2402 
  2408 
  2403     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETBOOLATTRIBUTEL_EXIT );
  2409     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETBOOLATTRIBUTEL_EXIT );
  2404 
       
  2405     return retVal;
  2410     return retVal;
  2406     }
  2411     }
  2407 
  2412 
  2408 // -----------------------------------------------------------------------------
  2413 // -----------------------------------------------------------------------------
  2409 // CCmPluginBaseEng::GetStringAttributeL()
  2414 // CCmPluginBaseEng::GetStringAttributeL()
  2410 // -----------------------------------------------------------------------------
  2415 // -----------------------------------------------------------------------------
  2411 //
  2416 //
  2412 EXPORT_C HBufC* CCmPluginBaseEng::GetStringAttributeL(
  2417 EXPORT_C HBufC* CCmPluginBaseEng::GetStringAttributeL(
  2413     TUint32 aAttribute,
  2418         TUint32 aAttribute,
  2414     CCmClientPluginInstance* aClientPluginInstance )
  2419         CCmClientPluginInstance* aClientPluginInstance )
  2415     {
  2420     {
  2416     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETSTRINGATTRIBUTEL_ENTRY );
  2421     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETSTRINGATTRIBUTEL_ENTRY );
  2417 
  2422 
  2418     HBufC* retVal = NULL;
  2423     HBufC* retVal = NULL;
  2419 
  2424 
  2423             {
  2428             {
  2424             CCDWAPAccessPointRecord* wapAPRecord =
  2429             CCDWAPAccessPointRecord* wapAPRecord =
  2425                 static_cast<CCDWAPAccessPointRecord*>(
  2430                 static_cast<CCDWAPAccessPointRecord*>(
  2426                     aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
  2431                     aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
  2427 
  2432 
  2428             retVal = TPtrC( wapAPRecord->iWAPStartPage).AllocL();
  2433             retVal = TPtrC( wapAPRecord->iWAPStartPage ).AllocL();
  2429             }
  2434             }
  2430             break;
  2435             break;
  2431         case ECmName:
  2436         case ECmName:
  2432             {
  2437             {
  2433             CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
  2438             CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
  2434                                 aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
  2439                     aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
       
  2440 
  2435             retVal = TPtrC( iapRecord->iRecordName ).AllocL();
  2441             retVal = TPtrC( iapRecord->iRecordName ).AllocL();
  2436             }
  2442             }
  2437             break;
  2443             break;
  2438         case ECmProxyServerName:
  2444         case ECmProxyServerName:
  2439             {
  2445             {
  2513             retVal = TPtrC( wapIPBearerRecord->iWAPProxyLoginPass ).AllocL();
  2519             retVal = TPtrC( wapIPBearerRecord->iWAPProxyLoginPass ).AllocL();
  2514             }
  2520             }
  2515             break;
  2521             break;
  2516         default:
  2522         default:
  2517             {
  2523             {
  2518             retVal = GetBearerStringAttributeL( aAttribute,
  2524             retVal = GetBearerStringAttributeL(
  2519                                                 aClientPluginInstance->iGenRecordArray,
  2525                     aAttribute,
  2520                                                 aClientPluginInstance->iBearerSpecRecordArray );
  2526                     aClientPluginInstance->iGenRecordArray,
  2521             }
  2527                     aClientPluginInstance->iBearerSpecRecordArray );
       
  2528             }
       
  2529             break;
  2522         }
  2530         }
  2523 
  2531 
  2524     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETSTRINGATTRIBUTEL_EXIT );
  2532     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETSTRINGATTRIBUTEL_EXIT );
  2525 
       
  2526     return retVal;
  2533     return retVal;
  2527     }
  2534     }
  2528 
  2535 
  2529 // -----------------------------------------------------------------------------
  2536 // -----------------------------------------------------------------------------
  2530 // CCmPluginBaseEng::GetString8AttributeL()
  2537 // CCmPluginBaseEng::GetString8AttributeL()
  2531 // -----------------------------------------------------------------------------
  2538 // -----------------------------------------------------------------------------
  2532 //
  2539 //
  2533 EXPORT_C HBufC8* CCmPluginBaseEng::GetString8AttributeL(
  2540 EXPORT_C HBufC8* CCmPluginBaseEng::GetString8AttributeL(
  2534     TUint32 aAttribute,
  2541         TUint32 aAttribute,
  2535     CCmClientPluginInstance* aClientPluginInstance )
  2542         CCmClientPluginInstance* aClientPluginInstance )
  2536     {
  2543     {
  2537     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETSTRING8ATTRIBUTEL_ENTRY );
  2544     OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETSTRING8ATTRIBUTEL_ENTRY );
  2538 
  2545 
  2539     HBufC8* retVal = NULL;
  2546     HBufC8* retVal = NULL;
  2540 
  2547 
  2541     switch ( aAttribute )
  2548     switch ( aAttribute )
  2542         {
  2549         {
  2543         default:
  2550         default:
  2544             {
  2551             {
  2545             retVal = GetBearerString8AttributeL( aAttribute,
  2552             retVal = GetBearerString8AttributeL(
  2546                                                  aClientPluginInstance->iGenRecordArray,
  2553                     aAttribute,
  2547                                                  aClientPluginInstance->iBearerSpecRecordArray );
  2554                     aClientPluginInstance->iGenRecordArray,
       
  2555                     aClientPluginInstance->iBearerSpecRecordArray );
  2548             }
  2556             }
  2549         }
  2557         }
  2550 
  2558 
  2551     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETSTRING8ATTRIBUTEL_EXIT );
  2559     OstTraceFunctionExit0( CCMPLUGINBASEENG_GETSTRING8ATTRIBUTEL_EXIT );
  2552 
       
  2553     return retVal;
  2560     return retVal;
  2554     }
  2561     }
  2555 
  2562 
  2556 //-----------------------------------------------------------------------------
  2563 //-----------------------------------------------------------------------------
  2557 // CCmPluginBaseEng::GetIntAttributeL
  2564 // CCmPluginBaseEng::GetIntAttributeL