425 |
425 |
426 // --------------------------------------------------------------------------- |
426 // --------------------------------------------------------------------------- |
427 // CCmPluginBaseEng::GetGenericTableIdsToBeObserved |
427 // CCmPluginBaseEng::GetGenericTableIdsToBeObserved |
428 // --------------------------------------------------------------------------- |
428 // --------------------------------------------------------------------------- |
429 // |
429 // |
430 EXPORT_C void CCmPluginBaseEng::GetGenericTableIdsToBeObserved( |
430 EXPORT_C void CCmPluginBaseEng::GetGenericTableIdsToBeObservedL( |
431 RArray<TUint32>& aTableIdArray ) const |
431 RArray<TUint32>& aTableIdArray ) const |
432 { |
432 { |
|
433 OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETGENERICTABLEIDSTOBEOBSERVED_ENTRY ); |
|
434 |
433 // Service and bearer records should be added by plugins. |
435 // Service and bearer records should be added by plugins. |
434 |
436 aTableIdArray.AppendL( KCDTIdIAPRecord ); |
435 aTableIdArray.Append( KCDTIdIAPRecord ); |
437 aTableIdArray.AppendL( KCDTIdWAPAccessPointRecord ); |
436 aTableIdArray.Append( KCDTIdWAPAccessPointRecord ); |
438 aTableIdArray.AppendL( KCDTIdWAPIPBearerRecord ); |
437 aTableIdArray.Append( KCDTIdProxiesRecord ); |
439 aTableIdArray.AppendL( KCDTIdProxiesRecord ); |
438 aTableIdArray.Append( iMetadataTableId ); |
440 aTableIdArray.AppendL( iMetadataTableId ); |
|
441 |
|
442 OstTraceFunctionExit0( CCMPLUGINBASEENG_GETGENERICTABLEIDSTOBEOBSERVED_EXIT ); |
439 } |
443 } |
440 |
444 |
441 // --------------------------------------------------------------------------- |
445 // --------------------------------------------------------------------------- |
442 // CCmPluginBaseEng::CopyDataL |
446 // CCmPluginBaseEng::CopyDataL |
443 // --------------------------------------------------------------------------- |
447 // --------------------------------------------------------------------------- |
493 |
497 |
494 switch ( aRecordIdentifier ) |
498 switch ( aRecordIdentifier ) |
495 { |
499 { |
496 case KIapRecordIndex: |
500 case KIapRecordIndex: |
497 { |
501 { |
498 CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>( |
502 aCopyInstance->iIapRecord = static_cast<CCDIAPRecord*>( |
499 CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) ); |
503 CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) ); |
500 CleanupStack::PushL( iapRecord ); |
504 CopyRecordFieldsL( *iIapRecord, *aCopyInstance->iIapRecord ); |
501 CopyRecordFieldsL( *iIapRecord, *iapRecord ); |
|
502 CleanupStack::Pop( iapRecord ); |
|
503 aCopyInstance->iIapRecord = iapRecord; |
|
504 } |
505 } |
505 break; |
506 break; |
506 case KServiceRecordIndex: |
507 case KServiceRecordIndex: |
507 { |
508 { |
508 aCopyInstance->iServiceRecord = CopyServiceRecordL(); |
509 aCopyInstance->iServiceRecord = CopyServiceRecordL(); |
510 // process, in PrepareToUpdateRecordsL()-method. |
511 // process, in PrepareToUpdateRecordsL()-method. |
511 } |
512 } |
512 break; |
513 break; |
513 case KNetworkRecordIndex: |
514 case KNetworkRecordIndex: |
514 { |
515 { |
515 CCDNetworkRecord* networkRecord = static_cast<CCDNetworkRecord*>( |
516 aCopyInstance->iNetworkRecord = static_cast<CCDNetworkRecord*>( |
516 CCDRecordBase::RecordFactoryL( KCDTIdNetworkRecord ) ); |
517 CCDRecordBase::RecordFactoryL( KCDTIdNetworkRecord ) ); |
517 CleanupStack::PushL( networkRecord ); |
518 CopyRecordFieldsL( *iNetworkRecord, *aCopyInstance->iNetworkRecord ); |
518 CopyRecordFieldsL( *iNetworkRecord, *networkRecord ); |
|
519 CleanupStack::Pop( networkRecord ); |
|
520 aCopyInstance->iNetworkRecord = networkRecord; |
|
521 } |
519 } |
522 break; |
520 break; |
523 case KWAPAPRecordIndex: |
521 case KWAPAPRecordIndex: |
524 { |
522 { |
525 aCopyInstance->iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>( |
523 aCopyInstance->iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>( |
526 CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );//TODO, convert to generic copy |
524 CCDRecordBase::RecordFactoryL( KCDTIdWAPAccessPointRecord ) ); |
|
525 CopyRecordFieldsL( *iWapAPRecord, *aCopyInstance->iWapAPRecord ); |
527 } |
526 } |
528 break; |
527 break; |
529 case KWAPBearerRecordIndex: |
528 case KWAPBearerRecordIndex: |
530 { |
529 { |
531 aCopyInstance->iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>( |
530 aCopyInstance->iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>( |
532 CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );//TODO, convert to generic copy |
531 CCDRecordBase::RecordFactoryL( KCDTIdWAPIPBearerRecord ) ); |
|
532 CopyRecordFieldsL( *iWapIPBearerRecord, *aCopyInstance->iWapIPBearerRecord ); |
533 } |
533 } |
534 break; |
534 break; |
535 case KMetaDataRecordIndex: |
535 case KMetaDataRecordIndex: |
536 { |
536 { |
537 CCDIAPMetadataRecord* metadataRecord = |
537 aCopyInstance->iMetaDataRecord = new( ELeave ) CCDIAPMetadataRecord( |
538 new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId ); |
538 iMetadataTableId ); |
539 CleanupStack::PushL( metadataRecord ); |
539 CopyRecordFieldsL( *iMetaDataRecord, *aCopyInstance->iMetaDataRecord ); |
540 CopyRecordFieldsL( *iMetaDataRecord, *metadataRecord ); |
|
541 CleanupStack::Pop( metadataRecord ); |
|
542 aCopyInstance->iMetaDataRecord = metadataRecord; |
|
543 } |
540 } |
544 break; |
541 break; |
545 case KProxyRecordIndex: |
542 case KProxyRecordIndex: |
546 { |
543 { |
547 if ( iProxyRecord ) |
544 if ( iProxyRecord ) |
548 { |
545 { |
549 CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>( |
546 aCopyInstance->iProxyRecord = static_cast<CCDProxiesRecord*>( |
550 CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) ); |
547 CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) ); |
551 CleanupStack::PushL( proxyRecord ); |
548 CopyRecordFieldsL( *iProxyRecord, *aCopyInstance->iProxyRecord ); |
552 CopyRecordFieldsL( *iProxyRecord, *proxyRecord ); |
|
553 CleanupStack::Pop( proxyRecord ); |
|
554 aCopyInstance->iProxyRecord = proxyRecord; |
|
555 } |
549 } |
556 } |
550 } |
557 break; |
551 break; |
558 default: |
552 default: |
559 { |
553 { |
589 while ( recordInfo && recordInfo->iTypeId != 0 ) |
583 while ( recordInfo && recordInfo->iTypeId != 0 ) |
590 { |
584 { |
591 ptrSource = aSource.GetFieldByIdL( recordInfo->iTypeId ); |
585 ptrSource = aSource.GetFieldByIdL( recordInfo->iTypeId ); |
592 ptrDest = aDestination.GetFieldByIdL( recordInfo->iTypeId ); |
586 ptrDest = aDestination.GetFieldByIdL( recordInfo->iTypeId ); |
593 |
587 |
594 // Make sure we see only basic type info. Masks out any additional info |
588 if ( !( ptrSource->IsNull() ) ) |
595 // on links (CommsDat internal stuff). |
589 { |
596 switch ( recordInfo->iValType & 0x000000ff ) |
590 // Make sure we see only basic type info. Masks out any additional info |
597 { |
591 // on links (CommsDat internal stuff). |
598 case CommsDat::EInt: |
592 switch ( recordInfo->iValType & 0x000000ff ) |
599 case CommsDat::EBool: |
593 { |
600 { |
594 case CommsDat::EInt: |
601 if ( !( ptrSource->IsNull() ) ) |
595 case CommsDat::EBool: |
602 { |
596 { |
603 static_cast<CMDBField<TInt>&>( *ptrDest ).SetL( |
597 static_cast<CMDBField<TInt>&>( *ptrDest ).SetL( |
604 static_cast<CMDBField<TInt>&>( *ptrSource ) ); |
598 static_cast<CMDBField<TInt>&>( *ptrSource ) ); |
605 } |
599 } |
606 } |
600 break; |
607 break; |
601 case CommsDat::EUint32: |
608 case CommsDat::EUint32: |
602 case CommsDat::ELink: |
609 case CommsDat::ELink: |
|
610 { |
|
611 if ( !( ptrSource->IsNull() ) ) |
|
612 { |
603 { |
613 static_cast<CMDBField<TUint32>&>( *ptrDest ).SetL( |
604 static_cast<CMDBField<TUint32>&>( *ptrDest ).SetL( |
614 static_cast<CMDBField<TUint32>&>( *ptrSource ) ); |
605 static_cast<CMDBField<TUint32>&>( *ptrSource ) ); |
615 } |
606 } |
616 } |
607 break; |
617 break; |
608 case CommsDat::EDesC8: |
618 case CommsDat::EDesC8: |
|
619 { |
|
620 if ( !( ptrSource->IsNull() ) ) |
|
621 { |
609 { |
622 static_cast<CMDBField<TDesC8>&>( *ptrDest ).SetL( |
610 static_cast<CMDBField<TDesC8>&>( *ptrDest ).SetL( |
623 static_cast<CMDBField<TDesC8>&>( *ptrSource ) ); |
611 static_cast<CMDBField<TDesC8>&>( *ptrSource ) ); |
624 } |
612 } |
625 } |
613 break; |
626 break; |
614 case CommsDat::EText: |
627 case CommsDat::EText: |
615 case CommsDat::EMedText: |
628 case CommsDat::EMedText: |
616 case CommsDat::ELongText: |
629 case CommsDat::ELongText: |
|
630 { |
|
631 if ( !( ptrSource->IsNull() ) ) |
|
632 { |
617 { |
633 static_cast<CMDBField<TDesC>&>( *ptrDest ).SetL( |
618 static_cast<CMDBField<TDesC>&>( *ptrDest ).SetL( |
634 static_cast<CMDBField<TDesC>&>( *ptrSource ) ); |
619 static_cast<CMDBField<TDesC>&>( *ptrSource ) ); |
635 } |
620 } |
636 } |
621 break; |
637 break; |
622 default: |
638 default: |
623 { |
639 { |
624 User::Leave( KErrCorrupt ); |
640 User::Leave( KErrCorrupt ); |
625 } |
641 } |
626 break; |
642 break; |
627 } |
643 } |
628 ptrDest->ClearAttributes( ptrDest->Attributes() ); |
644 ptrDest->SetAttributes( ptrSource->Attributes() ); |
629 ptrDest->SetAttributes( ptrSource->Attributes() ); |
|
630 } |
645 recordInfo++; |
631 recordInfo++; |
646 } |
632 } |
647 |
633 |
648 OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYRECORDFIELDSL_EXIT ); |
634 OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYRECORDFIELDSL_EXIT ); |
649 } |
635 } |
661 LoadIAPRecordL( aIapId ); |
647 LoadIAPRecordL( aIapId ); |
662 LoadWapRecordL(); |
648 LoadWapRecordL(); |
663 LoadMetadataRecordL(); |
649 LoadMetadataRecordL(); |
664 LoadNetworkRecordL(); |
650 LoadNetworkRecordL(); |
665 |
651 |
666 // This is a connectionmethodinfo instance, that has no |
652 LoadServiceRecordL(); |
667 // service and proxy setting. |
653 LoadProxyRecordL(); |
668 if ( KDummyBearerType != iBearerType ) |
|
669 { |
|
670 LoadServiceRecordL(); |
|
671 LoadProxyRecordL(); |
|
672 } |
|
673 |
654 |
674 LoadBearerRecordsL(); |
655 LoadBearerRecordsL(); |
675 |
656 |
676 OstTraceFunctionExit0( CCMPLUGINBASEENG_DOLOADL_EXIT ); |
657 OstTraceFunctionExit0( CCMPLUGINBASEENG_DOLOADL_EXIT ); |
677 } |
658 } |
893 |
874 |
894 CopyAttributes( iapRecord, iIapRecord ); |
875 CopyAttributes( iapRecord, iIapRecord ); |
895 CheckIfNameModifiedL( iapRecord, iIapRecord ); |
876 CheckIfNameModifiedL( iapRecord, iIapRecord ); |
896 |
877 |
897 iIapRecord->StoreL( iSession ); |
878 iIapRecord->StoreL( iSession ); |
|
879 // Have to be "reloaded" to get possible default values |
|
880 // from template records. |
|
881 iIapRecord->LoadL( iSession ); |
898 |
882 |
899 iCmId = iIapRecord->RecordId(); |
883 iCmId = iIapRecord->RecordId(); |
900 aClientPluginInstance->iIapId = iCmId; |
884 aClientPluginInstance->iIapId = iCmId; |
901 |
885 |
902 CCDIAPRecord* tempIapRecord = static_cast<CCDIAPRecord*>( |
886 CCDIAPRecord* tempIapRecord = static_cast<CCDIAPRecord*>( |
972 iProxyRecord->iProtocolName.SetL( KDefProxyProtocolName ); |
956 iProxyRecord->iProtocolName.SetL( KDefProxyProtocolName ); |
973 } |
957 } |
974 |
958 |
975 iProxyRecord->SetRecordId( KCDNewRecordRequest ); |
959 iProxyRecord->SetRecordId( KCDNewRecordRequest ); |
976 iProxyRecord->StoreL( iSession ); |
960 iProxyRecord->StoreL( iSession ); |
977 CopyRecordFieldsL( *iProxyRecord, *proxyRecord ); |
961 // Have to be "reloaded" to get possible default values from template records. |
|
962 iProxyRecord->LoadL( iSession ); |
|
963 |
978 proxyRecord->SetElementId( iProxyRecord->ElementId() ); |
964 proxyRecord->SetElementId( iProxyRecord->ElementId() ); |
979 } |
965 } |
980 else |
966 else |
981 // Already existing record -> update only. |
967 // Already existing record -> update only. |
982 { |
968 { |
983 iProxyRecord->ModifyL( iSession ); |
969 iProxyRecord->ModifyL( iSession ); |
984 } |
970 } |
|
971 CopyRecordFieldsL( *iProxyRecord, *proxyRecord ); |
985 |
972 |
986 OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATEPROXYRECORDL_EXIT ); |
973 OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATEPROXYRECORDL_EXIT ); |
987 } |
974 } |
988 |
975 |
989 // --------------------------------------------------------------------------- |
976 // --------------------------------------------------------------------------- |
1007 |
994 |
1008 // Make a copy of client's metadata record and save to database. |
995 // Make a copy of client's metadata record and save to database. |
1009 delete iMetaDataRecord; |
996 delete iMetaDataRecord; |
1010 iMetaDataRecord = NULL; |
997 iMetaDataRecord = NULL; |
1011 iMetaDataRecord = new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId ); |
998 iMetaDataRecord = new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId ); |
|
999 |
1012 CopyRecordFieldsL( *clientMetadataRecord, *iMetaDataRecord ); |
1000 CopyRecordFieldsL( *clientMetadataRecord, *iMetaDataRecord ); |
|
1001 |
1013 iMetaDataRecord->SetElementId( clientMetadataRecord->ElementId() ); |
1002 iMetaDataRecord->SetElementId( clientMetadataRecord->ElementId() ); |
1014 |
1003 |
1015 if ( !iMetaDataRecord->RecordId() ) |
1004 if ( !iMetaDataRecord->RecordId() ) |
1016 { |
1005 { |
1017 iMetaDataRecord->iIAP = IAPRecordElementId(); |
1006 iMetaDataRecord->iIAP = IAPRecordElementId(); |
1018 iMetaDataRecord->SetRecordId( KCDNewRecordRequest ); |
1007 iMetaDataRecord->SetRecordId( KCDNewRecordRequest ); |
1019 iMetaDataRecord->StoreL( iSession ); |
1008 iMetaDataRecord->StoreL( iSession ); |
|
1009 // Have to be "reloaded" to get possible default values from template records. |
|
1010 iMetaDataRecord->LoadL( iSession ); |
|
1011 |
1020 clientMetadataRecord->SetElementId( iMetaDataRecord->ElementId() ); |
1012 clientMetadataRecord->SetElementId( iMetaDataRecord->ElementId() ); |
1021 } |
1013 } |
1022 else |
1014 else |
1023 { |
1015 { |
1024 iMetaDataRecord->ModifyL( iSession ); |
1016 iMetaDataRecord->ModifyL( iSession ); |
1025 } |
1017 } |
|
1018 CopyRecordFieldsL( *iMetaDataRecord, *clientMetadataRecord ); |
1026 |
1019 |
1027 OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATEMETADATARECORDL_EXIT ); |
1020 OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATEMETADATARECORDL_EXIT ); |
1028 } |
1021 } |
1029 |
1022 |
1030 // --------------------------------------------------------------------------- |
1023 // --------------------------------------------------------------------------- |
1081 |
1074 |
1082 if ( !iNetworkRecord->RecordId() ) |
1075 if ( !iNetworkRecord->RecordId() ) |
1083 { |
1076 { |
1084 iNetworkRecord->SetRecordId( KCDNewRecordRequest ); |
1077 iNetworkRecord->SetRecordId( KCDNewRecordRequest ); |
1085 iNetworkRecord->StoreL( iSession ); |
1078 iNetworkRecord->StoreL( iSession ); |
|
1079 // Have to be "reloaded" to get possible default values from template records. |
|
1080 iNetworkRecord->LoadL( iSession ); |
|
1081 |
1086 networkRecord->SetElementId( iNetworkRecord->ElementId() ); |
1082 networkRecord->SetElementId( iNetworkRecord->ElementId() ); |
1087 } |
1083 } |
1088 else |
1084 else |
1089 { |
1085 { |
1090 iNetworkRecord->ModifyL( iSession ); |
1086 iNetworkRecord->ModifyL( iSession ); |
1091 } |
1087 } |
|
1088 CopyRecordFieldsL( *iNetworkRecord, *networkRecord ); |
1092 |
1089 |
1093 OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATENETWORKRECORDL_EXIT ); |
1090 OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATENETWORKRECORDL_EXIT ); |
1094 } |
1091 } |
1095 |
1092 |
1096 // --------------------------------------------------------------------------- |
1093 // --------------------------------------------------------------------------- |
1236 CopyAttributes( iapRecord, wapIPBearerRecord ); |
1233 CopyAttributes( iapRecord, wapIPBearerRecord ); |
1237 |
1234 |
1238 CheckIfNameModifiedL( iapRecord, wapAPRecord ); |
1235 CheckIfNameModifiedL( iapRecord, wapAPRecord ); |
1239 CheckIfNameModifiedL( iapRecord, wapIPBearerRecord ); |
1236 CheckIfNameModifiedL( iapRecord, wapIPBearerRecord ); |
1240 |
1237 |
|
1238 // WAP AP record |
1241 iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>( |
1239 iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>( |
1242 CCDRecordBase::CreateCopyRecordL( *wapAPRecord ) );//TODO, convert to generic copy |
1240 CCDRecordBase::RecordFactoryL( KCDTIdWAPAccessPointRecord ) ); |
|
1241 CopyRecordFieldsL( *wapAPRecord, *iWapAPRecord ); |
1243 iWapAPRecord->SetElementId( wapAPRecord->ElementId() ); |
1242 iWapAPRecord->SetElementId( wapAPRecord->ElementId() ); |
1244 |
1243 |
1245 iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>( |
1244 // WAP IP Bearer record |
1246 CCDRecordBase::CreateCopyRecordL( *wapIPBearerRecord ) );//TODO, convert to generic copy |
1245 iWapIPBearerRecord =static_cast<CCDWAPIPBearerRecord*>( |
|
1246 CCDRecordBase::RecordFactoryL( KCDTIdWAPIPBearerRecord ) ); |
|
1247 CopyRecordFieldsL( *wapIPBearerRecord, *iWapIPBearerRecord ); |
1247 iWapIPBearerRecord->SetElementId( wapIPBearerRecord->ElementId() ); |
1248 iWapIPBearerRecord->SetElementId( wapIPBearerRecord->ElementId() ); |
1248 |
1249 |
1249 if ( !iWapAPRecord->RecordId() ) |
1250 if ( !iWapAPRecord->RecordId() ) |
1250 { |
1251 { |
1251 iWapAPRecord->SetRecordId( KCDNewRecordRequest ); |
1252 iWapAPRecord->SetRecordId( KCDNewRecordRequest ); |
1252 iWapAPRecord->StoreL(iSession ); |
1253 iWapAPRecord->StoreL(iSession ); |
|
1254 // Have to be "reloaded" to get possible default values from template records. |
|
1255 iWapAPRecord->LoadL(iSession ); |
|
1256 |
1253 wapAPRecord->SetElementId( iWapAPRecord->ElementId() ); |
1257 wapAPRecord->SetElementId( iWapAPRecord->ElementId() ); |
1254 } |
1258 } |
1255 else |
1259 else |
1256 { |
1260 { |
1257 iWapAPRecord->ModifyL( iSession ); |
1261 iWapAPRecord->ModifyL( iSession ); |
1258 } |
1262 } |
|
1263 CopyRecordFieldsL( *iWapAPRecord, *wapAPRecord ); |
1259 |
1264 |
1260 if ( !iWapIPBearerRecord->RecordId() ) |
1265 if ( !iWapIPBearerRecord->RecordId() ) |
1261 { |
1266 { |
1262 iWapIPBearerRecord->iWAPAccessPointId = iWapAPRecord->RecordId(); |
1267 iWapIPBearerRecord->iWAPAccessPointId = iWapAPRecord->RecordId(); |
1263 iWapIPBearerRecord->iWAPIAP = iapRecord->RecordId(); |
1268 iWapIPBearerRecord->iWAPIAP = iapRecord->RecordId(); |
1264 |
1269 |
1265 iWapIPBearerRecord->SetRecordId( KCDNewRecordRequest ); |
1270 iWapIPBearerRecord->SetRecordId( KCDNewRecordRequest ); |
1266 iWapIPBearerRecord->StoreL( iSession ); |
1271 iWapIPBearerRecord->StoreL( iSession ); |
|
1272 // Have to be "reloaded" to get possible default values from template records. |
|
1273 iWapIPBearerRecord->LoadL( iSession ); |
|
1274 |
1267 wapIPBearerRecord->SetElementId( iWapIPBearerRecord->ElementId() ); |
1275 wapIPBearerRecord->SetElementId( iWapIPBearerRecord->ElementId() ); |
1268 |
|
1269 wapIPBearerRecord->iWAPAccessPointId = iWapAPRecord->RecordId(); |
|
1270 wapIPBearerRecord->iWAPIAP = iapRecord->RecordId(); |
|
1271 } |
1276 } |
1272 else |
1277 else |
1273 { |
1278 { |
1274 iWapIPBearerRecord->ModifyL( iSession ); |
1279 iWapIPBearerRecord->ModifyL( iSession ); |
1275 } |
1280 } |
|
1281 CopyRecordFieldsL( *iWapIPBearerRecord, *wapIPBearerRecord ); |
1276 |
1282 |
1277 OstTraceFunctionExit0( DUP1_CCMPLUGINBASEENG_UPDATEWAPRECORDL_EXIT ); |
1283 OstTraceFunctionExit0( DUP1_CCMPLUGINBASEENG_UPDATEWAPRECORDL_EXIT ); |
1278 } |
1284 } |
1279 |
1285 |
1280 // --------------------------------------------------------------------------- |
1286 // --------------------------------------------------------------------------- |
2105 } |
2111 } |
2106 |
2112 |
2107 if ( iWapAPRecord ) |
2113 if ( iWapAPRecord ) |
2108 { |
2114 { |
2109 CCDWAPAccessPointRecord* wapAPRecord = static_cast<CCDWAPAccessPointRecord*>( |
2115 CCDWAPAccessPointRecord* wapAPRecord = static_cast<CCDWAPAccessPointRecord*>( |
2110 CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );//TODO, convert to generic copy |
2116 CCDRecordBase::RecordFactoryL( KCDTIdWAPAccessPointRecord ) ); |
|
2117 CleanupStack::PushL( wapAPRecord ); |
|
2118 CopyRecordFieldsL( *iWapAPRecord, *wapAPRecord ); |
2111 wapAPRecord->SetElementId( iWapAPRecord->ElementId() ); |
2119 wapAPRecord->SetElementId( iWapAPRecord->ElementId() ); |
2112 CleanupStack::PushL( wapAPRecord ); |
|
2113 aClientPluginInstance->iGenRecordArray.AppendL( |
2120 aClientPluginInstance->iGenRecordArray.AppendL( |
2114 static_cast<CommsDat::CCDRecordBase*>( wapAPRecord ) ); |
2121 static_cast<CommsDat::CCDRecordBase*>( wapAPRecord ) ); |
2115 CleanupStack::Pop( wapAPRecord ); |
2122 CleanupStack::Pop( wapAPRecord ); |
2116 } |
2123 } |
2117 else |
2124 else |
2120 } |
2127 } |
2121 |
2128 |
2122 if ( iWapIPBearerRecord ) |
2129 if ( iWapIPBearerRecord ) |
2123 { |
2130 { |
2124 CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>( |
2131 CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>( |
2125 CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );//TODO, convert to generic copy |
2132 CCDRecordBase::RecordFactoryL( KCDTIdWAPIPBearerRecord ) ); |
|
2133 CleanupStack::PushL( wapIPBearerRecord ); |
|
2134 CopyRecordFieldsL( *iWapIPBearerRecord, *wapIPBearerRecord ); |
2126 wapIPBearerRecord->SetElementId( iWapIPBearerRecord->ElementId() ); |
2135 wapIPBearerRecord->SetElementId( iWapIPBearerRecord->ElementId() ); |
2127 CleanupStack::PushL( wapIPBearerRecord ); |
|
2128 aClientPluginInstance->iGenRecordArray.AppendL( |
2136 aClientPluginInstance->iGenRecordArray.AppendL( |
2129 static_cast<CommsDat::CCDRecordBase*>( wapIPBearerRecord ) ); |
2137 static_cast<CommsDat::CCDRecordBase*>( wapIPBearerRecord ) ); |
2130 CleanupStack::Pop( wapIPBearerRecord ); |
2138 CleanupStack::Pop( wapIPBearerRecord ); |
2131 } |
2139 } |
2132 else |
2140 else |