diff -r c16e04725da3 -r 5c4486441ae6 cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp --- a/cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp Mon May 17 09:55:27 2010 +0300 +++ b/cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp Mon May 24 20:51:35 2010 +0300 @@ -33,7 +33,7 @@ using namespace CMManager; using namespace CommsDat; -const TInt KApMaxConnNameLength = 30; +const TInt KApMaxConnNameLength = 50; _LIT( KFormatPostfix, "%02d" ); _LIT( KFormatLargePostfix, "%d" ); _LIT( KFormatNameWithPostfix, "%S(%S)" ); @@ -930,45 +930,34 @@ CopyAttributes( iapRecord, proxyRecord ); CheckIfNameModifiedL( iapRecord, proxyRecord ); - if ( proxyRecord->iUseProxyServer ) + delete iProxyRecord; + iProxyRecord = NULL; + + iProxyRecord = static_cast( + CCDRecordBase::CreateCopyRecordL( *proxyRecord ) ); + iProxyRecord->SetElementId( proxyRecord->ElementId() ); + + if ( !iProxyRecord->RecordId() ) { - delete iProxyRecord; - iProxyRecord = NULL; - - iProxyRecord = static_cast( - CCDRecordBase::CreateCopyRecordL( *proxyRecord ) ); - iProxyRecord->SetElementId( proxyRecord->ElementId() ); - - if ( !iProxyRecord->RecordId() ) + // New proxy setting -> create new record. + iProxyRecord->iService = iServiceRecord->RecordId(); + iProxyRecord->iServiceType.SetL( iIapRecord->iServiceType ); + + // By default protocol is set to "http". + if ( TPtrC( proxyRecord->iProtocolName ).Length() == 0 ) { - // New proxy setting -> create new record. - iProxyRecord->iService = iServiceRecord->RecordId(); - iProxyRecord->iServiceType.SetL( iIapRecord->iServiceType ); - - // By default protocol is set to "http". - if ( TPtrC( proxyRecord->iProtocolName ).Length() == 0 ) - { - iProxyRecord->iProtocolName.SetL( KDefProxyProtocolName ); - } - - iProxyRecord->SetRecordId( KCDNewRecordRequest ); - iProxyRecord->StoreL( iSession ); - proxyRecord->SetElementId( iProxyRecord->ElementId() ); - proxyRecord->iService = iServiceRecord->RecordId(); - proxyRecord->iServiceType.SetL( iIapRecord->iServiceType ); + iProxyRecord->iProtocolName.SetL( KDefProxyProtocolName ); } - else - // Already existing record -> update only. - { - iProxyRecord->ModifyL( iSession ); - } + + iProxyRecord->SetRecordId( KCDNewRecordRequest ); + iProxyRecord->StoreL( iSession ); + CopyRecordFieldsL( *iProxyRecord, *proxyRecord ); + proxyRecord->SetElementId( iProxyRecord->ElementId() ); } else + // Already existing record -> update only. { - if ( iProxyRecord->RecordId() ) - { - iProxyRecord->DeleteL( iSession ); - } + iProxyRecord->ModifyL( iSession ); } OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATEPROXYRECORDL_EXIT ); @@ -1965,7 +1954,6 @@ proxyRecord->iServerName.SetL( aProxyServer ); if ( !aProxyServer.Length() ) { - proxyRecord->iPortNumber = 0; proxyRecord->iUseProxyServer = EFalse; } else @@ -2330,14 +2318,7 @@ aClientPluginInstance->iBearerSpecRecordArray ) ); if ( err ) { - if ( err == KErrNotFound ) - { - retVal = EFalse; - } - else - { - User::Leave( err ); - } + retVal = EFalse; } } break; @@ -2387,7 +2368,12 @@ break; case ECmVirtual: { - retVal = EFalse; + // This is bearer specific attribute + TRAPD( err, retVal = GetBearerInfoBoolL( aAttribute ) ); + if ( err ) + { + retVal = EFalse; + } } break; case ECmWapIPSecurity: