--- a/cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp Fri May 14 16:15:46 2010 +0300
+++ b/cmmanager/cmmgr/cmmpluginbase/src/ccmpluginbaseeng.cpp Thu May 27 13:17:01 2010 +0300
@@ -20,7 +20,7 @@
#include <datamobilitycommsdattypes.h>
#include <cmpluginbaseeng.h>
#include <cmpsettingsconsts.h>
-#include <FeatMgr.h>
+#include <featmgr.h>
#include "ccmpluginbaseengtextresolver.h"
@@ -94,8 +94,6 @@
//
void CCmClientPluginInstance::ConstructL()
{
- OstTraceFunctionEntry0( CCMCLIENTPLUGININSTANCE_CONSTRUCTL_ENTRY );
- OstTraceFunctionExit0( CCMCLIENTPLUGININSTANCE_CONSTRUCTL_EXIT );
}
@@ -331,31 +329,31 @@
User::Leave( KErrAlreadyExists );
}
- // optional record is disabled in default
+ // Optional record, disabled by default.
iLocationEnabled = EFalse;
- // create mandatory records
- iIapRecord = static_cast<CCDIAPRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
- iNetworkRecord = static_cast<CCDNetworkRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdNetworkRecord));
- iProxyRecord = static_cast<CCDProxiesRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord));
+ // Create mandatory records.
+ iIapRecord = static_cast<CCDIAPRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
+ iNetworkRecord = static_cast<CCDNetworkRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdNetworkRecord ) );
+ iProxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) );
NewWapRecordL();
iWapIPBearerRecord->iWAPGatewayAddress.SetL( KDefWapGatewayIpAddress );
iMetaDataRecord = NewMetadataRecordL( ETrue );
- // call plugin to create its own records
+ // Call plugin to create its own records.
CreateServiceRecordL();
- // Update iaprecord servicetype name
+ // Update iaprecord servicetype name.
HBufC* servicetypeName( NULL );
ServiceRecordNameLC( servicetypeName );
iIapRecord->iServiceType.SetL( *servicetypeName );
CleanupStack::PopAndDestroy( servicetypeName );
- // Update iaprecord bearertype name
+ // Update iaprecord bearertype name.
HBufC* bearerTypeName( NULL );
BearerRecordNameLC( bearerTypeName );
iIapRecord->iBearerType.SetL( *bearerTypeName );
@@ -365,7 +363,7 @@
EnableProxyL( EFalse );
- _LIT(KDefaultConnNameTextId, "txt_occ_setlabel_connection_name_val_connection");
+ _LIT( KDefaultConnNameTextId, "txt_occ_setlabel_connection_name_val_connection" );
HBufC* resolvedText( NULL );
resolvedText = CCmPluginBaseEngTextResolver::ResolveTextL( KDefaultConnNameTextId );
if ( resolvedText != NULL )
@@ -400,23 +398,19 @@
// ---------------------------------------------------------------------------
//
EXPORT_C CCmPluginBaseEng* CCmPluginBaseEng::CreateCopyL(
- CCmClientPluginInstance* /*aClientPluginInstance*/ )
+ CCmClientPluginInstance* /*aClientPluginInstance*/ )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_CREATECOPYL_ENTRY );
TCmPluginInitParam params( iSession );
-
CCmPluginBaseEng* copyInst = CreateInstanceL( params );
CleanupStack::PushL( copyInst );
PrepareToCopyDataL( copyInst );
-
CopyDataL( copyInst );
-
CleanupStack::Pop( copyInst );
OstTraceFunctionExit0( CCMPLUGINBASEENG_CREATECOPYL_EXIT );
-
return copyInst;
}
@@ -427,7 +421,7 @@
EXPORT_C void CCmPluginBaseEng::GetGenericTableIdsToBeObserved(
RArray<TUint32>& aTableIdArray ) const
{
- // Service and bearer records should be added by plugins
+ // Service and bearer records should be added by plugins.
aTableIdArray.Append( KCDTIdIAPRecord );
aTableIdArray.Append( KCDTIdWAPAccessPointRecord );
@@ -460,17 +454,17 @@
CopyRecordDataL( KIapRecordIndex, aCopyInstance );
- // Ensure that iap's name is set by the rules(Naming Method)
- SetNameL( iIapRecord->iRecordName.GetL(),
- aCopyInstance->iIapRecord,
- aCopyInstance->iNamingMethod );
+ // Ensure that IAP's name is set by the rules (Naming Method).
+ SetNameL(
+ iIapRecord->iRecordName.GetL(),
+ aCopyInstance->iIapRecord,
+ aCopyInstance->iNamingMethod );
CopyRecordDataL( KServiceRecordIndex, aCopyInstance );
CopyRecordDataL( KNetworkRecordIndex, aCopyInstance );
CopyRecordDataL( KWAPAPRecordIndex, aCopyInstance );
CopyRecordDataL( KWAPBearerRecordIndex, aCopyInstance );
CopyRecordDataL( KMetaDataRecordIndex, aCopyInstance );
- CopyRecordDataL( KLocationRecordIndex, aCopyInstance );
CopyRecordDataL( KProxyRecordIndex, aCopyInstance );
CopyBearerRecordsL( aCopyInstance );
@@ -499,6 +493,8 @@
case KServiceRecordIndex:
{
aCopyInstance->iServiceRecord = CopyServiceRecordL();
+ // The name of the service record copy is changed during update
+ // process, in PrepareToUpdateRecordsL()-method.
}
break;
case KNetworkRecordIndex:
@@ -521,18 +517,12 @@
break;
case KMetaDataRecordIndex:
{
- aCopyInstance->iMetaDataRecord =
+ CCDIAPMetadataRecord* metadataRecord =
new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId );
- aCopyInstance->iMetaDataRecord->iIAP = IAPRecordElementId();
- aCopyInstance->iMetaDataRecord->iMetadata.SetL( iMetaDataRecord->iMetadata );
- aCopyInstance->iMetaDataRecord->iSeamlessness.SetL( iMetaDataRecord->iSeamlessness );
- }
- break;
- case KLocationRecordIndex:
- {
- aCopyInstance->iWapIPBearerRecord =
- static_cast<CCDWAPIPBearerRecord*>
- ( CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );
+ CleanupStack::PushL( metadataRecord );
+ CopyRecordFieldsL( *iMetaDataRecord, *metadataRecord );
+ CleanupStack::Pop( metadataRecord );
+ aCopyInstance->iMetaDataRecord = metadataRecord;
}
break;
case KProxyRecordIndex:
@@ -555,6 +545,87 @@
}
// ---------------------------------------------------------------------------
+// CCmPluginBaseEng:: CopyRecordFieldsL
+// ---------------------------------------------------------------------------
+//
+void CCmPluginBaseEng::CopyRecordFieldsL(
+ CommsDat::CMDBRecordBase& aSource,
+ CommsDat::CMDBRecordBase& aDestination )
+ {
+ OstTraceFunctionEntry0( CCMPLUGINBASEENG_COPYRECORDFIELDSL_ENTRY );
+
+ const SRecordTypeInfo* recordInfo = aSource.GetRecordInfo();
+ if ( recordInfo == NULL )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
+ CMDBElement* ptrSource( NULL );
+ CMDBElement* ptrDest( NULL );
+
+ while ( recordInfo != NULL && recordInfo->iTypeId != 0 )
+ {
+ ptrSource = aSource.GetFieldByIdL( recordInfo->iTypeId );
+ ptrDest = aDestination.GetFieldByIdL( recordInfo->iTypeId );
+
+ // Make sure we see only basic type info. Masks out any additional info
+ // on links (CommsDat internal stuff).
+ switch ( recordInfo->iValType & 0x000000ff )
+ {
+ case CommsDat::EInt:
+ case CommsDat::EBool:
+ {
+ if ( !( ptrSource->IsNull() ) )
+ {
+ static_cast<CMDBField<TInt>&>( *ptrDest ).SetL(
+ static_cast<CMDBField<TInt>&>( *ptrSource ) );
+ }
+ }
+ break;
+ case CommsDat::EUint32:
+ case CommsDat::ELink:
+ {
+ if ( !( ptrSource->IsNull() ) )
+ {
+ static_cast<CMDBField<TUint32>&>( *ptrDest ).SetL(
+ static_cast<CMDBField<TUint32>&>( *ptrSource ) );
+ }
+ }
+ break;
+ case CommsDat::EDesC8:
+ {
+ if ( !( ptrSource->IsNull() ) )
+ {
+ static_cast<CMDBField<TDesC8>&>( *ptrDest ).SetL(
+ static_cast<CMDBField<TDesC8>&>( *ptrSource ) );
+ }
+ }
+ break;
+ case CommsDat::EText:
+ case CommsDat::EMedText:
+ case CommsDat::ELongText:
+ {
+ if ( !( ptrSource->IsNull() ) )
+ {
+ static_cast<CMDBField<TDesC>&>( *ptrDest ).SetL(
+ static_cast<CMDBField<TDesC>&>( *ptrSource ) );
+ }
+ }
+ break;
+ default:
+ {
+ User::Leave( KErrCorrupt );
+ }
+ break;
+ }
+ ptrDest->SetAttributes( ptrSource->Attributes() );
+ recordInfo++;
+ }
+
+ OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYRECORDFIELDSL_EXIT );
+ }
+
+// ---------------------------------------------------------------------------
// CCmPluginBaseEng::DoLoadL
// ---------------------------------------------------------------------------
//
@@ -568,7 +639,6 @@
LoadWapRecordL();
LoadMetadataRecordL();
LoadNetworkRecordL();
- LoadLocationRecordL();
// This is a connectionmethodinfo instance, that has no
// service and proxy setting.
@@ -637,7 +707,7 @@
// Now try to find the linked proxy record
// create new record
- CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord *>(
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) );
CleanupStack::PushL( proxyRecord );
@@ -653,7 +723,7 @@
if ( proxieRS->FindL(iSession) )
{
TInt i( 0 );
- while( i < proxieRS->iRecords.Count() )
+ while ( i < proxieRS->iRecords.Count() )
// Now that we have a list of services with the proper service type
// search for our proxy record and remove it from the array,
// then destroy the array.
@@ -726,27 +796,6 @@
void CCmPluginBaseEng::LoadLocationRecordL()
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_LOADLOCATIONSETTINGL_ENTRY );
-
- CCDLocationRecord* locationRecord = static_cast<CCDLocationRecord*>
- (CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord));
-
- CleanupStack::PushL( locationRecord );
-
- locationRecord->SetRecordId( iIapRecord->iLocation );
- if ( locationRecord->FindL(iSession) )
- {
- iLocationEnabled = ETrue;
-
- iLocationRecord = locationRecord;
-
- CleanupStack::Pop( locationRecord );
- }
- else
- {
- iLocationEnabled = EFalse;
-
- CleanupStack::PopAndDestroy( locationRecord );
- }
OstTraceFunctionExit0( CCMPLUGINBASEENG_LOADLOCATIONSETTINGL_EXIT );
}
@@ -755,24 +804,28 @@
// ---------------------------------------------------------------------------
//
void CCmPluginBaseEng::PrepareToUpdateRecordsL(
- CCmClientPluginInstance* aClientPluginInstance )
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_PREPARETOUPDATERECORDSL_ENTRY );
- // Set the record attributes to bearer specific records
- CCDIAPRecord* iapRecord =
- static_cast<CCDIAPRecord*>( aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+ //TODO, Add null checks for mandatory generic record pointers.
+ //
+
+ // Set the record attributes to bearer specific records.
+ CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
for ( TInt i = 0; i < aClientPluginInstance->iBearerSpecRecordArray.Count(); i++ )
{
- CCDRecordBase* record =
- static_cast<CCDRecordBase*>( aClientPluginInstance->iBearerSpecRecordArray[i] );
+ CCDRecordBase* record = static_cast<CCDRecordBase*>(
+ aClientPluginInstance->iBearerSpecRecordArray[i] );
CopyAttributes( iapRecord, record );
}
- PreparePluginToUpdateRecordsL( aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray );
+ PreparePluginToUpdateRecordsL(
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray );
OstTraceFunctionExit0( CCMPLUGINBASEENG_PREPARETOUPDATERECORDSL_EXIT );
}
@@ -782,16 +835,16 @@
// ---------------------------------------------------------------------------
//
void CCmPluginBaseEng::UpdateIAPRecordL(
- CCmClientPluginInstance* aClientPluginInstance )
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_UPDATEIAPRECORDL_ENTRY );
- CCDIAPRecord* iapRecord =
- static_cast<CCDIAPRecord*>( aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+ CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
if ( iIapId == 0 )
{
- // Otherwise predefined iapid
+ // Otherwise predefined iapid.
if ( !iIapRecord->RecordId() )
{
iIapRecord->SetRecordId( KCDNewRecordRequest );
@@ -814,14 +867,7 @@
iIapRecord->iNetwork = iNetworkRecord->RecordId();
- if ( iLocationRecord )
- {
- iIapRecord->iLocation = iLocationRecord->RecordId();
- }
- else
- {
- iIapRecord->iLocation = GetLocationIdL();
- }
+ iIapRecord->iLocation = GetLocationIdL();
CopyAttributes( iapRecord, iIapRecord );
CheckIfNameModifiedL( iapRecord, iIapRecord );
@@ -840,24 +886,24 @@
CleanupStack::PushL( iapRecord );
aClientPluginInstance->iGenRecordArray.InsertL(
- static_cast<CommsDat::CCDRecordBase*>( tempIapRecord ), KIapRecordIndex );
+ static_cast<CommsDat::CCDRecordBase*>( tempIapRecord ),
+ KIapRecordIndex );
CleanupStack::PopAndDestroy( iapRecord );
CleanupStack::Pop( tempIapRecord );
-
}
else
{
delete iIapRecord;
iIapRecord = NULL;
- iIapRecord = static_cast<CCDIAPRecord*>
- ( CCDRecordBase::CreateCopyRecordL( *iapRecord ) );
+ iIapRecord = static_cast<CCDIAPRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iapRecord ) );
iIapRecord->SetElementId( iapRecord->ElementId() );
-
iIapRecord->ModifyL( iSession );
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATEIAPRECORDL_EXIT );
}
@@ -876,6 +922,11 @@
CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
+ if ( !iapRecord || !proxyRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
CopyAttributes( iapRecord, proxyRecord );
CheckIfNameModifiedL( iapRecord, proxyRecord );
@@ -884,17 +935,17 @@
delete iProxyRecord;
iProxyRecord = NULL;
- iProxyRecord = static_cast<CCDProxiesRecord*>
- ( CCDRecordBase::CreateCopyRecordL( *proxyRecord ) );
+ iProxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *proxyRecord ) );
iProxyRecord->SetElementId( proxyRecord->ElementId() );
if ( !iProxyRecord->RecordId() )
- // new proxy setting -> create new record
{
+ // New proxy setting -> create new record.
iProxyRecord->iService = iServiceRecord->RecordId();
iProxyRecord->iServiceType.SetL( iIapRecord->iServiceType );
- // By default protocol is set to "http"
+ // By default protocol is set to "http".
if ( TPtrC( proxyRecord->iProtocolName ).Length() == 0 )
{
iProxyRecord->iProtocolName.SetL( KDefProxyProtocolName );
@@ -907,7 +958,7 @@
proxyRecord->iServiceType.SetL( iIapRecord->iServiceType );
}
else
- // already existing record -> update only
+ // Already existing record -> update only.
{
iProxyRecord->ModifyL( iSession );
}
@@ -919,6 +970,7 @@
iProxyRecord->DeleteL( iSession );
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATEPROXYRECORDL_EXIT );
}
@@ -931,32 +983,29 @@
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_UPDATEMETADATARECORDL_ENTRY );
- CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ CCDIAPRecord* clientIapRecord = static_cast<CCDIAPRecord*>(
aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
- CCDIAPMetadataRecord* metadataRecord = static_cast<CCDIAPMetadataRecord*>(
+ CCDIAPMetadataRecord* clientMetadataRecord = static_cast<CCDIAPMetadataRecord*>(
aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] );
- CopyAttributes( iapRecord, metadataRecord );
- CheckIfNameModifiedL( iapRecord, metadataRecord );
-
+ // Adjust client side metadata record attributes and name if needed.
+ CopyAttributes( clientIapRecord, clientMetadataRecord );
+ CheckIfNameModifiedL( clientIapRecord, clientMetadataRecord );
+
+ // Make a copy of client's metadata record and save to database.
delete iMetaDataRecord;
iMetaDataRecord = NULL;
-
- // Get a new blank IAP metadata record.
- iMetaDataRecord = NewMetadataRecordL( EFalse );
-
- iMetaDataRecord->SetElementId( metadataRecord->ElementId() );
- iMetaDataRecord->iRecordName.SetL( metadataRecord->iRecordName );
- iMetaDataRecord->iMetadata.SetL( metadataRecord->iMetadata );
- iMetaDataRecord->iSeamlessness.SetL( metadataRecord->iSeamlessness );
+ iMetaDataRecord = new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId );
+ CopyRecordFieldsL( *clientMetadataRecord, *iMetaDataRecord );
+ iMetaDataRecord->SetElementId( clientMetadataRecord->ElementId() );
if ( !iMetaDataRecord->RecordId() )
{
iMetaDataRecord->iIAP = IAPRecordElementId();
iMetaDataRecord->SetRecordId( KCDNewRecordRequest );
iMetaDataRecord->StoreL( iSession );
- metadataRecord->SetElementId( iMetaDataRecord->ElementId() );
+ clientMetadataRecord->SetElementId( iMetaDataRecord->ElementId() );
}
else
{
@@ -975,16 +1024,17 @@
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_UPDATESERVICERECORDL_ENTRY );
- CCDIAPRecord* iapRecord =
- static_cast<CCDIAPRecord*>( aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
-
- CCDRecordBase* serviceRecord =
- static_cast<CCDRecordBase*>( aClientPluginInstance->iGenRecordArray[KServiceRecordIndex] );
+ CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+
+ CCDRecordBase* serviceRecord = static_cast<CCDRecordBase*>(
+ aClientPluginInstance->iGenRecordArray[KServiceRecordIndex] );
CopyAttributes( iapRecord, serviceRecord );
- UpdateServiceRecordL( aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray );
+ UpdateServiceRecordL(
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray );
OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATESERVICERECORDL_EXIT );
}
@@ -994,15 +1044,15 @@
// ---------------------------------------------------------------------------
//
void CCmPluginBaseEng::UpdateNetworkRecordL(
- CCmClientPluginInstance* aClientPluginInstance )
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_UPDATENETWORKRECORDL_ENTRY );
- CCDIAPRecord* iapRecord =
- static_cast<CCDIAPRecord*>( aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
-
- CCDNetworkRecord* networkRecord =
- static_cast<CCDNetworkRecord*>( aClientPluginInstance->iGenRecordArray[KNetworkRecordIndex] );
+ CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+
+ CCDNetworkRecord* networkRecord = static_cast<CCDNetworkRecord*>(
+ aClientPluginInstance->iGenRecordArray[KNetworkRecordIndex] );
CopyAttributes( iapRecord, networkRecord );
@@ -1011,8 +1061,8 @@
CheckIfNameModifiedL( iapRecord, networkRecord );
- iNetworkRecord = static_cast<CCDNetworkRecord*>
- ( CCDRecordBase::CreateCopyRecordL( *networkRecord ) );
+ iNetworkRecord = static_cast<CCDNetworkRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *networkRecord ) );
iNetworkRecord->SetElementId( networkRecord->ElementId() );
@@ -1026,6 +1076,7 @@
{
iNetworkRecord->ModifyL( iSession );
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATENETWORKRECORDL_EXIT );
}
@@ -1034,49 +1085,9 @@
// ---------------------------------------------------------------------------
//
void CCmPluginBaseEng::UpdateLocationRecordL(
- CCmClientPluginInstance* aClientPluginInstance )
+ CCmClientPluginInstance* /*aClientPluginInstance*/ )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_UPDATELOCATIONRECORDL_ENTRY );
-
- if ( iLocationEnabled )
- {
- CCDIAPRecord* iapRecord =
- static_cast<CCDIAPRecord*>( aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
-
- CCDLocationRecord* locationRecord =
- static_cast<CCDLocationRecord*>( aClientPluginInstance->iGenRecordArray[KLocationRecordIndex] );
-
- // location record is not set as hidden because it can be shared between iaps
- CopyAttributes( iapRecord, locationRecord );
- locationRecord->ClearAttributes( ECDHidden );
-
- delete iLocationRecord;
- iLocationRecord = NULL;
-
- iLocationRecord = static_cast<CCDLocationRecord*>
- ( CCDRecordBase::CreateCopyRecordL( *locationRecord ) );
-
- iLocationRecord->SetElementId( locationRecord->ElementId() );
-
- CheckIfNameModifiedL( iapRecord, locationRecord );
-
- if ( !iLocationRecord->RecordId() )
- {
- iLocationRecord->SetRecordId( KCDNewRecordRequest );
- iLocationRecord->StoreL( iSession );
- }
- else
- {
- iLocationRecord->ModifyL( iSession );
- }
- }
- else
- {
- if ( iLocationRecord )
- {
- iLocationRecord->DeleteL( iSession );
- }
- }
OstTraceFunctionExit0( CCMPLUGINBASEENG_UPDATELOCATIONRECORDL_EXIT );
}
@@ -1105,8 +1116,8 @@
if ( !iProxyRecord )
{
- iProxyRecord = static_cast<CCDProxiesRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord));
+ iProxyRecord = static_cast<CCDProxiesRecord *>(
+ CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) );
}
iProxyRecord->iUseProxyServer = aEnable;
@@ -1122,15 +1133,7 @@
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_ENABLELOCATIONL_ENTRY );
- if ( aEnable )
- {
- if ( !iLocationRecord )
- {
- iLocationRecord = static_cast<CCDLocationRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord));
- }
- }
-
+ // Not supported anymore
iLocationEnabled = aEnable;
OstTraceFunctionExit0( CCMPLUGINBASEENG_ENABLELOCATIONL_EXIT );
@@ -1147,8 +1150,8 @@
iWapIPBearerRecord = FindWAPRecordL();
if ( iWapIPBearerRecord )
{
- CCDWAPAccessPointRecord *wapApRecord = static_cast<CCDWAPAccessPointRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdWAPAccessPointRecord));
+ CCDWAPAccessPointRecord *wapApRecord = static_cast<CCDWAPAccessPointRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdWAPAccessPointRecord ) );
CleanupStack::PushL( wapApRecord );
@@ -1158,8 +1161,8 @@
{
CleanupStack::PopAndDestroy( wapApRecord );
- wapApRecord = static_cast<CCDWAPAccessPointRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdWAPAccessPointRecord));
+ wapApRecord = static_cast<CCDWAPAccessPointRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdWAPAccessPointRecord ) );
}
else
{
@@ -1175,6 +1178,7 @@
{
NewWapRecordL();
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_LOADWAPRECORDL_EXIT );
}
@@ -1196,7 +1200,7 @@
// ---------------------------------------------------------------------------
//
void CCmPluginBaseEng::UpdateWapRecordL(
- CCmClientPluginInstance* aClientPluginInstance )
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_UPDATEWAPRECORDL_ENTRY );
@@ -1206,14 +1210,14 @@
delete iWapIPBearerRecord;
iWapIPBearerRecord = NULL;
- CCDIAPRecord* iapRecord =
- static_cast<CCDIAPRecord*>( aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
-
- CCDWAPAccessPointRecord* wapAPRecord =
- static_cast<CCDWAPAccessPointRecord*>( aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
-
- CCDWAPIPBearerRecord* wapIPBearerRecord =
- static_cast<CCDWAPIPBearerRecord*>( aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
+ CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+
+ CCDWAPAccessPointRecord* wapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
+ aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
+
+ CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
+ aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
CopyAttributes( iapRecord, wapAPRecord );
CopyAttributes( iapRecord, wapIPBearerRecord );
@@ -1221,12 +1225,12 @@
CheckIfNameModifiedL( iapRecord, wapAPRecord );
CheckIfNameModifiedL( iapRecord, wapIPBearerRecord );
- iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>
- ( CCDRecordBase::CreateCopyRecordL( *wapAPRecord ) );
+ iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *wapAPRecord ) );
iWapAPRecord->SetElementId( wapAPRecord->ElementId() );
- iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>
- ( CCDRecordBase::CreateCopyRecordL( *wapIPBearerRecord ) );
+ iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *wapIPBearerRecord ) );
iWapIPBearerRecord->SetElementId( wapIPBearerRecord->ElementId() );
if ( !iWapAPRecord->RecordId() )
@@ -1256,6 +1260,7 @@
{
iWapIPBearerRecord->ModifyL( iSession );
}
+
OstTraceFunctionExit0( DUP1_CCMPLUGINBASEENG_UPDATEWAPRECORDL_EXIT );
}
@@ -1269,8 +1274,8 @@
if ( !iWapIPBearerRecord )
{
- iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord *>
- ( CCDRecordBase::RecordFactoryL( KCDTIdWAPIPBearerRecord ) );
+ iWapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdWAPIPBearerRecord ) );
iWapIPBearerRecord->iWAPProxyPort = 0;
iWapIPBearerRecord->iWAPWSPOption = ECmWapWspOptionConnectionOriented;
iWapIPBearerRecord->iWAPSecurity = EFalse;
@@ -1278,11 +1283,12 @@
if ( !iWapAPRecord )
{
- iWapAPRecord = static_cast<CCDWAPAccessPointRecord *>
- ( CCDRecordBase::RecordFactoryL( KCDTIdWAPAccessPointRecord ) );
- // SMS bearer is not supported by this version
+ iWapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdWAPAccessPointRecord ) );
+ // SMS bearer is not supported by this version.
iWapAPRecord->iWAPCurrentBearer.SetL( TPtrC( KCDTypeNameWAPIPBearer ) );
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_NEWWAPRECORDL_EXIT );
}
@@ -1313,9 +1319,10 @@
// CCmPluginBaseEng::SetAttribute
// ---------------------------------------------------------------------------
//
-void CCmPluginBaseEng::SetAttribute( CCDRecordBase* aRecord,
- TUint32 aAttribute,
- TBool aSet )
+void CCmPluginBaseEng::SetAttribute(
+ CCDRecordBase* aRecord,
+ TUint32 aAttribute,
+ TBool aSet )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_SETATTRIBUTE_ENTRY );
@@ -1335,22 +1342,23 @@
// CCmPluginBaseEng::CopyAttributes
// ---------------------------------------------------------------------------
//
-void CCmPluginBaseEng::CopyAttributes( CCDRecordBase* aSrcRecord,
- CCDRecordBase* aDstRecord )
+void CCmPluginBaseEng::CopyAttributes(
+ CCDRecordBase* aSrcRecord,
+ CCDRecordBase* aDstRecord )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_COPYATTRIBUTES_ENTRY );
if ( aSrcRecord == NULL || aDstRecord == NULL )
{
+ OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYATTRIBUTES_EXIT );
return;
}
- // clear the target record attributes first
+ // Clear the target record attributes first.
aDstRecord->ClearAttributes( aDstRecord->Attributes() );
-
aDstRecord->SetAttributes( aSrcRecord->Attributes() );
- OstTraceFunctionExit0( CCMPLUGINBASEENG_COPYATTRIBUTES_EXIT );
+ OstTraceFunctionExit0( DUP1_CCMPLUGINBASEENG_COPYATTRIBUTES_EXIT );
}
// ---------------------------------------------------------------------------
@@ -1362,12 +1370,11 @@
OstTraceFunctionEntry0( CCMPLUGINBASEENG_FINDWAPRECORDL_ENTRY );
CMDBRecordSet<CCDWAPIPBearerRecord>* wapRS =
- new(ELeave)
- CMDBRecordSet<CCDWAPIPBearerRecord>(KCDTIdWAPIPBearerRecord);
+ new( ELeave ) CMDBRecordSet<CCDWAPIPBearerRecord>( KCDTIdWAPIPBearerRecord );
CleanupStack::PushL( wapRS );
- CCDWAPIPBearerRecord* wapBearerRecord = static_cast<CCDWAPIPBearerRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdWAPIPBearerRecord));
+ CCDWAPIPBearerRecord* wapBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdWAPIPBearerRecord ) );
CleanupStack::PushL( wapBearerRecord );
@@ -1377,19 +1384,17 @@
CleanupStack::Pop( wapBearerRecord );
wapBearerRecord = NULL;
- if ( wapRS->FindL(iSession) )
+ if ( wapRS->FindL( iSession ) )
{
- wapBearerRecord =
- static_cast<CCDWAPIPBearerRecord *>(wapRS->iRecords[0]);
-
- // we take over the ownership of this record
+ wapBearerRecord = static_cast<CCDWAPIPBearerRecord*>( wapRS->iRecords[0] );
+
+ // Take over the ownership of this record.
wapRS->iRecords.Remove( 0 );
}
CleanupStack::PopAndDestroy( wapRS );
OstTraceFunctionExit0( CCMPLUGINBASEENG_FINDWAPRECORDL_EXIT );
-
return wapBearerRecord;
}
@@ -1402,12 +1407,11 @@
OstTraceFunctionEntry0( CCMPLUGINBASEENG_FINDSEAMLESSNESSRECORDL_ENTRY );
CMDBRecordSet<CCDIAPMetadataRecord>* metadataRecordSet =
- new(ELeave) CMDBRecordSet<CCDIAPMetadataRecord>( iMetadataTableId );
+ new( ELeave ) CMDBRecordSet<CCDIAPMetadataRecord>( iMetadataTableId );
CleanupStack::PushL( metadataRecordSet );
CCDIAPMetadataRecord* metadataRecord =
- new (ELeave) CCDIAPMetadataRecord( iMetadataTableId );
-
+ new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId );
CleanupStack::PushL( metadataRecord );
metadataRecord->iIAP = IAPRecordElementId();
@@ -1434,7 +1438,6 @@
CleanupStack::PopAndDestroy( metadataRecordSet );
OstTraceFunctionExit0( CCMPLUGINBASEENG_FINDSEAMLESSNESSRECORDL_EXIT );
-
return metadataRecord;
}
@@ -1442,8 +1445,9 @@
// CCmPluginBaseEng::DoMakeValidNameL
// ---------------------------------------------------------------------------
//
-HBufC* CCmPluginBaseEng::DoMakeValidNameL( const TDesC& aName,
- const TUint32& aIapId )
+HBufC* CCmPluginBaseEng::DoMakeValidNameL(
+ const TDesC& aName,
+ const TUint32& aIapId )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_DOMAKEVALIDNAMEL_ENTRY );
@@ -1469,9 +1473,9 @@
{
changed = ETrue;
postfix++;
- // check the length of postfix, check text length accordingly
+ // Check the length of postfix, check text length accordingly.
pf = postfix;
- for (i=1; i<10; i++)
+ for ( i = 1; i < 10; i++ )
{
pf /= 10;
if ( !pf )
@@ -1496,7 +1500,7 @@
}
if ( postfix )
{
- TBuf< KMaxPostfixLength > postfixString;
+ TBuf<KMaxPostfixLength> postfixString;
if ( postfix > 9 )
{
postfixString.Format( KFormatLargePostfix, postfix );
@@ -1507,8 +1511,7 @@
postfixString.Format( KFormatPostfix, postfix );
// TODO: AknTextUtils::LanguageSpecificNumberConversion( postfixString );
}
- sgdptr.Format( KFormatNameWithPostfix, &sgdptr2,
- &postfixString );
+ sgdptr.Format( KFormatNameWithPostfix, &sgdptr2, &postfixString );
}
else
{
@@ -1531,7 +1534,6 @@
}
OstTraceFunctionExit0( CCMPLUGINBASEENG_DOMAKEVALIDNAMEL_EXIT );
-
return temp;
}
@@ -1539,8 +1541,9 @@
// CCmPluginBaseEng::EnsureMaxLengthLC
// ---------------------------------------------------------------------------
//
-HBufC* CCmPluginBaseEng::EnsureMaxLengthLC( const TDesC& aName,
- TBool& aChanged )
+HBufC* CCmPluginBaseEng::EnsureMaxLengthLC(
+ const TDesC& aName,
+ TBool& aChanged )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_ENSUREMAXLENGTHLC_ENTRY );
@@ -1556,7 +1559,8 @@
HBufC* corrname;
if ( KApMaxConnNameLength < length )
- { // name too long, truncate.
+ {
+ // Name too long, truncate.
corrname = aName.Left( KApMaxConnNameLength ).AllocLC();
aChanged = ETrue;
}
@@ -1568,7 +1572,7 @@
{
User::Leave( KErrArgument );
}
- // comes here only if name is valid
+ // Comes here only if name is valid.
if ( corrname->Length() != aName.Length() )
{
aChanged = ETrue;
@@ -1576,7 +1580,6 @@
}
OstTraceFunctionExit0( CCMPLUGINBASEENG_ENSUREMAXLENGTHLC_EXIT );
-
return corrname;
}
@@ -1613,8 +1616,8 @@
prefix.Set( aName.Left( lastBrace ) );
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_GETPREFIX_EXIT );
-
return prefix;
}
@@ -1682,8 +1685,8 @@
}
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_GETPOSTFIX_EXIT );
-
return postfix;
}
@@ -1691,49 +1694,46 @@
// CCmPluginBaseEng::IsValidNameL
// ---------------------------------------------------------------------------
//
-TBool CCmPluginBaseEng::IsValidNameL( const TDesC& aNameText,
- const TUint32& aIapId )
+TBool CCmPluginBaseEng::IsValidNameL(
+ const TDesC& aNameText,
+ const TUint32& aIapId )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_ISVALIDNAMEL_ENTRY );
TBool retVal( ETrue );
CMDBRecordSet<CCDIAPRecord>* iapRS =
- new(ELeave) CMDBRecordSet<CCDIAPRecord>(KCDTIdIAPRecord);
+ new( ELeave ) CMDBRecordSet<CCDIAPRecord>(KCDTIdIAPRecord);
CleanupStack::PushL(iapRS);
- CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
-
+ CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdIAPRecord ) );
CleanupStack::PushL( iapRecord );
- // Prime record
+ // Prime record.
iapRecord->iRecordName.SetL( aNameText );
-
iapRS->iRecords.AppendL( iapRecord );
-
CleanupStack::Pop( iapRecord );
-
iapRecord = NULL;
- if ( iapRS->FindL(iSession) )
+ if ( iapRS->FindL( iSession ) )
{
if ( iIapId )
- // this is not a new CM
{
+ // This is not a new CM.
for ( TInt i = 0; i < iapRS->iRecords.Count(); ++i )
{
if ( iapRS->iRecords[i]->RecordId() != aIapId )
- // duplication because it's not our name
{
+ // Duplication because it's not our name.
retVal = EFalse;
break;
}
}
}
else
- // new CM -> any occurence is a duplication
{
+ // New CM -> any occurence is a duplication.
retVal = EFalse;
}
}
@@ -1741,7 +1741,6 @@
CleanupStack::PopAndDestroy( iapRS );
OstTraceFunctionExit0( CCMPLUGINBASEENG_ISVALIDNAMEL_EXIT );
-
return retVal;
}
@@ -1760,7 +1759,7 @@
TUint quote( '\'' ); // TChar gives warnings in THUMB & ARMI
TInt i( 0 );
- for ( i=0; i<l; i++ )
+ for ( i = 0; i < l; i++ )
{
ret.Append( aLiteral[i] );
if ( aLiteral[i] == quote )
@@ -1769,8 +1768,8 @@
ret.Append( quote );
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_ESCAPETEXTLC_EXIT );
-
return retbuf;
}
@@ -1791,7 +1790,7 @@
HBufC* newName = DoMakeValidNameL( aName, iIapId );
if ( newName )
- // name converted to unique
+ // Name converted to unique.
{
CleanupStack::PushL( newName );
iIapRecord->iRecordName.SetL( *newName );
@@ -1817,6 +1816,7 @@
{
User::Leave( KErrCorrupt );
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_SETDEFAULTNAMEL_EXIT );
}
@@ -1841,7 +1841,7 @@
HBufC* newName = DoMakeValidNameL( aName, iapid );
if ( newName )
- // name converted to unique
+ // Name converted to unique.
{
CleanupStack::PushL( newName );
aIapRecord->iRecordName.SetL( *newName );
@@ -1880,9 +1880,14 @@
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_CHECKIFNAMEMODIFIEDL_ENTRY );
+ if ( !aSrcRecord || !aDestRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
if ( !TPtrC( aSrcRecord->iRecordName ).CompareF( TPtrC( aDestRecord->iRecordName ) ) )
- // names matche
{
+ // Names match.
OstTraceFunctionExit0( CCMPLUGINBASEENG_CHECKIFNAMEMODIFIEDL_EXIT );
return;
}
@@ -1897,8 +1902,6 @@
// ---------------------------------------------------------------------------
TMDBElementId CCmPluginBaseEng::IAPRecordElementId() const
{
- OstTraceFunctionEntry0( CCMPLUGINBASEENG_IAPRECORDELEMENTID_ENTRY );
-
return ( KCDMaskShowField & iIapRecord->ElementId() );
}
@@ -1921,45 +1924,43 @@
TUint32 locId( 0 );
CMDBRecordSet<CCDLocationRecord>* locRS =
- new(ELeave) CMDBRecordSet<CCDLocationRecord>(KCDTIdLocationRecord);
+ new( ELeave ) CMDBRecordSet<CCDLocationRecord>( KCDTIdLocationRecord );
CleanupStack::PushL( locRS );
- CCDLocationRecord* locRecord = static_cast<CCDLocationRecord *>
- (CCDRecordBase::RecordFactoryL(KCDTIdLocationRecord));
-
+ CCDLocationRecord* locRecord = static_cast<CCDLocationRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdLocationRecord ) );
CleanupStack::PushL( locRecord );
+
locRecord->iRecordName.SetL( KLocationName );
locRS->iRecords.AppendL( locRecord );
CleanupStack::Pop( locRecord );
if ( locRS->FindL(iSession) )
{
- locRecord = static_cast<CCDLocationRecord *>(locRS->iRecords[0]);
-
+ locRecord = static_cast<CCDLocationRecord*>( locRS->iRecords[0] );
locId = locRecord->RecordId();
}
else
{
- User::Leave( KErrNotFound );
+ User::Leave( KErrNotFound ); //TODO, what to do if not found. Can we create it? need study.
}
CleanupStack::PopAndDestroy( locRS );
OstTraceFunctionExit0( CCMPLUGINBASEENG_GETLOCATIONIDL_EXIT );
-
return locId;
}
// ---------------------------------------------------------------------------
// CCmPluginBaseEng::SetProxyServerNameL
// ---------------------------------------------------------------------------
- void CCmPluginBaseEng::SetProxyServerNameL( const TDesC& aProxyServer,
- CCDRecordBase* aProxyRecord )
+ void CCmPluginBaseEng::SetProxyServerNameL(
+ const TDesC& aProxyServer,
+ CCDRecordBase* aProxyRecord )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_SETPROXYSERVERNAMEL_ENTRY );
- CCDProxiesRecord* proxyRecord =
- static_cast<CCDProxiesRecord*>( aProxyRecord );
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>( aProxyRecord );
proxyRecord->iServerName.SetL( aProxyServer );
if ( !aProxyServer.Length() )
@@ -1979,10 +1980,11 @@
// CCmPluginBaseEng::CheckDNSServerAddressL
// ---------------------------------------------------------------------------
//
-EXPORT_C void CCmPluginBaseEng::CheckDNSServerAddressL( TBool aIPv6,
- CMDBField<TDesC>& aDNS1,
- CMDBField<TDesC>& aDNS2,
- CMDBField<TBool>& aDNSFromServer )
+EXPORT_C void CCmPluginBaseEng::CheckDNSServerAddressL(
+ TBool aIPv6,
+ CMDBField<TDesC>& aDNS1,
+ CMDBField<TDesC>& aDNS2,
+ CMDBField<TBool>& aDNSFromServer )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_CHECKDNSSERVERADDRESSL_ENTRY );
@@ -1999,7 +2001,7 @@
}
else
{
- // Both are unspecified
+ // Both are unspecified.
aDNSFromServer = ETrue;
}
}
@@ -2015,7 +2017,7 @@
}
else
{
- // Both are unspecified
+ // Both are unspecified.
aDNSFromServer = ETrue;
}
}
@@ -2046,11 +2048,12 @@
if ( iIapRecord )
{
- CCDIAPRecord* iapRecord =
- static_cast<CCDIAPRecord*>( CCDRecordBase::CreateCopyRecordL( *iIapRecord ) );
+ CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iIapRecord ) );
+ iapRecord->SetElementId( iIapRecord->ElementId() );
CleanupStack::PushL( iapRecord );
- iapRecord->SetElementId( iIapRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( iapRecord ) );
+ aClientPluginInstance->iGenRecordArray.AppendL(
+ static_cast<CommsDat::CCDRecordBase*>( iapRecord ) );
CleanupStack::Pop( iapRecord );
}
else
@@ -2073,11 +2076,12 @@
if ( iNetworkRecord )
{
- CCDNetworkRecord* networkRecord =
- static_cast<CCDNetworkRecord*>( CCDRecordBase::CreateCopyRecordL( *iNetworkRecord ) );
+ CCDNetworkRecord* networkRecord = static_cast<CCDNetworkRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iNetworkRecord ) );
+ networkRecord->SetElementId( iNetworkRecord->ElementId() );
CleanupStack::PushL( networkRecord );
- networkRecord->SetElementId( iNetworkRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( networkRecord ) );
+ aClientPluginInstance->iGenRecordArray.AppendL(
+ static_cast<CommsDat::CCDRecordBase*>( networkRecord ) );
CleanupStack::Pop( networkRecord );
}
else
@@ -2087,11 +2091,12 @@
if ( iWapAPRecord )
{
- CCDWAPAccessPointRecord* wapAPRecord =
- static_cast<CCDWAPAccessPointRecord*>( CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );
+ CCDWAPAccessPointRecord* wapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iWapAPRecord ) );
+ wapAPRecord->SetElementId( iWapAPRecord->ElementId() );
CleanupStack::PushL( wapAPRecord );
- wapAPRecord->SetElementId( iWapAPRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( wapAPRecord ) );
+ aClientPluginInstance->iGenRecordArray.AppendL(
+ static_cast<CommsDat::CCDRecordBase*>( wapAPRecord ) );
CleanupStack::Pop( wapAPRecord );
}
else
@@ -2101,11 +2106,12 @@
if ( iWapIPBearerRecord )
{
- CCDWAPIPBearerRecord* wapIPBearerRecord =
- static_cast<CCDWAPIPBearerRecord*>( CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );
+ CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iWapIPBearerRecord ) );
+ wapIPBearerRecord->SetElementId( iWapIPBearerRecord->ElementId() );
CleanupStack::PushL( wapIPBearerRecord );
- wapIPBearerRecord->SetElementId( iWapIPBearerRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( wapIPBearerRecord ) );
+ aClientPluginInstance->iGenRecordArray.AppendL(
+ static_cast<CommsDat::CCDRecordBase*>( wapIPBearerRecord ) );
CleanupStack::Pop( wapIPBearerRecord );
}
else
@@ -2115,45 +2121,33 @@
if ( iMetaDataRecord )
{
- CCDIAPMetadataRecord* metaDataRecord =
+ CCDIAPMetadataRecord* metadataRecord =
new( ELeave ) CCDIAPMetadataRecord( iMetadataTableId );
- CleanupStack::PushL( metaDataRecord );
- metaDataRecord->iIAP = IAPRecordElementId();
- metaDataRecord->iMetadata.SetL( iMetaDataRecord->iMetadata );
- metaDataRecord->iSeamlessness.SetL( iMetaDataRecord->iSeamlessness );
- metaDataRecord->SetElementId( iMetaDataRecord->ElementId() );
- // Record name is set during update.
+ CleanupStack::PushL( metadataRecord );
+ CopyRecordFieldsL( *iMetaDataRecord, *metadataRecord );
+ metadataRecord->SetElementId( iMetaDataRecord->ElementId() );
+ // Record name is set/changed during update.
aClientPluginInstance->iGenRecordArray.AppendL(
- static_cast<CommsDat::CCDRecordBase*>( metaDataRecord ) );
- CleanupStack::Pop( metaDataRecord );
+ static_cast<CommsDat::CCDRecordBase*>( metadataRecord ) );
+ CleanupStack::Pop( metadataRecord );
}
else
{
aClientPluginInstance->iGenRecordArray.AppendL( NULL );
}
- if ( iLocationRecord )
- {
- CCDLocationRecord* locationRecord =
- static_cast<CCDLocationRecord*>( CCDRecordBase::CreateCopyRecordL( *iLocationRecord ) );
- CleanupStack::PushL( locationRecord );
- locationRecord->SetElementId( iLocationRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( locationRecord ) );
- CleanupStack::Pop( locationRecord );
- }
- else
- {
- aClientPluginInstance->iGenRecordArray.AppendL( NULL );
- }
+ // Location record does not need to be loaded
+ aClientPluginInstance->iGenRecordArray.AppendL( NULL );
if ( iProxyRecord )
{
- CCDProxiesRecord* proxyRecord =
- static_cast<CCDProxiesRecord*>( CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
+ proxyRecord->SetElementId( iProxyRecord->ElementId() );
CleanupStack::PushL( proxyRecord );
- proxyRecord->SetElementId( iProxyRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( proxyRecord ) );
+ aClientPluginInstance->iGenRecordArray.AppendL(
+ static_cast<CommsDat::CCDRecordBase*>( proxyRecord ) );
CleanupStack::Pop( proxyRecord );
}
else
@@ -2330,9 +2324,10 @@
break;
case ECmDestination:
{
- TRAPD( err, retVal = GetBearerBoolAttributeL( aAttribute,
- aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray ) );
+ TRAPD( err, retVal = GetBearerBoolAttributeL(
+ aAttribute,
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray ) );
if ( err )
{
if ( err == KErrNotFound )
@@ -2351,12 +2346,18 @@
retVal = EFalse;
}
break;
+ case ECmLocationUsageEnabled:
+ {
+ retVal = iLocationEnabled;
+ }
+ break;
case ECmCoverage:
// By default the plugin has no network coverage.
{
- TRAPD( err, retVal = GetBearerBoolAttributeL( aAttribute,
- aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray ) );
+ TRAPD( err, retVal = GetBearerBoolAttributeL(
+ aAttribute,
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray ) );
if ( err )
{
if ( err == KErrNotFound )
@@ -2372,16 +2373,14 @@
break;
case ECmMetaHighlight:
{
- CCDIAPMetadataRecord* metadataRecord =
- static_cast<CCDIAPMetadataRecord*>(
+ CCDIAPMetadataRecord* metadataRecord = static_cast<CCDIAPMetadataRecord*>(
aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] );
retVal = metadataRecord->iMetadata & EMetaHighlight;
}
break;
case ECmMetaHiddenAgent:
{
- CCDIAPMetadataRecord* metadataRecord =
- static_cast<CCDIAPMetadataRecord*>(
+ CCDIAPMetadataRecord* metadataRecord = static_cast<CCDIAPMetadataRecord*>(
aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] );
retVal = metadataRecord->iMetadata & EMetaHiddenAgent;
}
@@ -2420,16 +2419,40 @@
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_GETSTRINGATTRIBUTEL_ENTRY );
+ if ( !aClientPluginInstance )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
HBufC* retVal = NULL;
switch ( aAttribute )
{
+ case ECmBearerIcon:
+ {
+ //TODO, read icon name from metadata record after commsdat changes implemented.
+ //CCDIAPMetadataRecord* metadataRecord = static_cast<CCDIAPMetadataRecord*>(
+ // aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] );
+
+ //if ( !metadataRecord )
+ // {
+ // User::Leave( KErrCorrupt );
+ // }
+
+ //retVal = TPtrC( metadataRecord->iIconFileName ).AllocL();
+ retVal = KNullDesC().AllocL();//TODO, check this freed
+ }
+ break;
case ECmStartPage:
{
- CCDWAPAccessPointRecord* wapAPRecord =
- static_cast<CCDWAPAccessPointRecord*>(
+ CCDWAPAccessPointRecord* wapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
+ if ( !wapAPRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( wapAPRecord->iWAPStartPage ).AllocL();
}
break;
@@ -2438,84 +2461,89 @@
CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+ if ( !iapRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( iapRecord->iRecordName ).AllocL();
}
break;
case ECmProxyServerName:
{
- if ( !aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )
- {
- User::Leave( KErrNotFound );
- }
-
CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
+ if ( !proxyRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( proxyRecord->iServerName ).AllocL();
}
break;
case ECmProxyProtocolName:
{
- if ( !aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )
- {
- User::Leave( KErrNotFound );
- }
-
CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
+ if ( !proxyRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( proxyRecord->iExceptions ).AllocL();
}
break;
case ECmProxyExceptions:
{
- if ( !aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )
- {
- User::Leave( KErrNotFound );
- }
-
CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
+ if ( !proxyRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( proxyRecord->iProtocolName ).AllocL();
}
break;
case ECmWapIPGatewayAddress:
{
- if ( !aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )
- {
- User::Leave( KErrNotFound );
- }
-
CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
+ if ( !wapIPBearerRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( wapIPBearerRecord->iWAPGatewayAddress ).AllocL();
}
break;
case ECmWapIPProxyLoginName:
{
- if ( !aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )
- {
- User::Leave( KErrNotFound );
- }
-
CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
+ if ( !wapIPBearerRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( wapIPBearerRecord->iWAPProxyLoginName ).AllocL();
}
break;
case ECmWapIPProxyLoginPass:
{
- if ( !aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )
- {
- User::Leave( KErrNotFound );
- }
-
CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
+ if ( !wapIPBearerRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
+
retVal = TPtrC( wapIPBearerRecord->iWAPProxyLoginPass ).AllocL();
}
break;
@@ -2560,13 +2588,13 @@
return retVal;
}
-//-----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// CCmPluginBaseEng::GetIntAttributeL
// -----------------------------------------------------------------------------
EXPORT_C void CCmPluginBaseEng::SetIntAttributeL(
- TUint32 aAttribute,
- TUint32 aValue,
- CCmClientPluginInstance* aClientPluginInstance )
+ TUint32 aAttribute,
+ TUint32 aValue,
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_SETINTATTRIBUTEL_ENTRY );
@@ -2593,7 +2621,7 @@
{
static_cast<CCDIAPMetadataRecord*>(
aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] )->
- iSeamlessness.SetL( aValue );
+ iSeamlessness.SetL( aValue );
}
else
{
@@ -2611,17 +2639,18 @@
{
if ( !aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )
{
- CCDProxiesRecord* proxyRecord =
- static_cast<CCDProxiesRecord*>( CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
CleanupStack::PushL( proxyRecord );
proxyRecord->SetElementId( iProxyRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( proxyRecord ) );
+ aClientPluginInstance->iGenRecordArray.AppendL(
+ static_cast<CommsDat::CCDRecordBase*>( proxyRecord ) );
CleanupStack::Pop( proxyRecord );
}
static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )
- ->iPortNumber = aValue;
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->
+ iPortNumber = aValue;
}
break;
case ECmWapIPWSPOption:
@@ -2633,39 +2662,43 @@
else
{
static_cast<CCDWAPIPBearerRecord*>(
- aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->iWAPWSPOption.SetL( aValue );
+ aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->
+ iWAPWSPOption.SetL( aValue );
}
}
break;
case ECmWapIPProxyPort:
{
static_cast<CCDWAPIPBearerRecord*>(
- aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->iWAPProxyPort.SetL( aValue );
+ aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->
+ iWAPProxyPort.SetL( aValue );
}
break;
default:
{
- SetBearerIntAttributeL( aAttribute,
- aValue,
- aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray );
+ SetBearerIntAttributeL(
+ aAttribute,
+ aValue,
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray );
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_SETINTATTRIBUTEL_EXIT );
}
-//-----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// CCmPluginBaseEng::SetBoolAttributeL
// -----------------------------------------------------------------------------
EXPORT_C void CCmPluginBaseEng::SetBoolAttributeL(
- TUint32 aAttribute,
- TBool aValue,
- CCmClientPluginInstance* aClientPluginInstance )
+ TUint32 aAttribute,
+ TBool aValue,
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_SETBOOLATTRIBUTEL_ENTRY );
CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
- aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+ aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
switch ( aAttribute )
{
@@ -2707,17 +2740,18 @@
{
if ( !aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )
{
- CCDProxiesRecord* proxyRecord =
- static_cast<CCDProxiesRecord*>( CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::CreateCopyRecordL( *iProxyRecord ) );
CleanupStack::PushL( proxyRecord );
proxyRecord->SetElementId( iProxyRecord->ElementId() );
- aClientPluginInstance->iGenRecordArray.AppendL( static_cast<CommsDat::CCDRecordBase*>( proxyRecord ) );
+ aClientPluginInstance->iGenRecordArray.AppendL(
+ static_cast<CommsDat::CCDRecordBase*>( proxyRecord ) );
CleanupStack::Pop( proxyRecord );
}
static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )
- ->iUseProxyServer = aValue;
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->iUseProxyServer =
+ aValue;
}
break;
case ECmChargeCardUsageEnabled:
@@ -2732,9 +2766,8 @@
break;
case ECmMetaHighlight:
{
- CCDIAPMetadataRecord* metadataRecord =
- static_cast<CCDIAPMetadataRecord*>(
- aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] );
+ CCDIAPMetadataRecord* metadataRecord = static_cast<CCDIAPMetadataRecord*>(
+ aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] );
if ( aValue )
{
metadataRecord->iMetadata = EMetaHighlight | metadataRecord->iMetadata;
@@ -2762,38 +2795,57 @@
case ECmWapIPSecurity:
{
static_cast<CCDWAPIPBearerRecord*>(
- aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )->iWAPSecurity.SetL( aValue );
+ aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] )
+ ->iWAPSecurity.SetL( aValue );
}
break;
default:
{
- SetBearerBoolAttributeL( aAttribute,
- aValue,
- aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray );
+ SetBearerBoolAttributeL(
+ aAttribute,
+ aValue,
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray );
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_SETBOOLATTRIBUTEL_EXIT );
}
-//-----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// CCmPluginBaseEng::SetStringAttributeL
// -----------------------------------------------------------------------------
EXPORT_C void CCmPluginBaseEng::SetStringAttributeL(
- TUint32 aAttribute,
- const TDesC16& aValue,
- CCmClientPluginInstance* aClientPluginInstance )
+ TUint32 aAttribute,
+ const TDesC16& aValue,
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_SETSTRINGATTRIBUTEL_ENTRY );
switch ( aAttribute )
{
+ case ECmBearerIcon:
+ {
+ //TODO, write icon name to metadata record after commsdat changes implemented.
+ //CCDIAPMetadataRecord* metadataRecord = static_cast<CCDIAPMetadataRecord*>(
+ // aClientPluginInstance->iGenRecordArray[KMetaDataRecordIndex] );
+
+ //if ( !metadataRecord )
+ // {
+ // User::Leave( KErrCorrupt );
+ // }
+ //metadataRecord->iIconFileName.SetL( aValue );
+ }
+ break;
case ECmStartPage:
{
- CCDWAPAccessPointRecord* wapAPRecord =
- static_cast<CCDWAPAccessPointRecord*>(
- aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
-
+ CCDWAPAccessPointRecord* wapAPRecord = static_cast<CCDWAPAccessPointRecord*>(
+ aClientPluginInstance->iGenRecordArray[KWAPAPRecordIndex] );
+
+ if ( !wapAPRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
wapAPRecord->iWAPStartPage.SetL( aValue );
}
break;
@@ -2802,23 +2854,25 @@
CCDIAPRecord* iapRecord = static_cast<CCDIAPRecord*>(
aClientPluginInstance->iGenRecordArray[KIapRecordIndex] );
+ if ( !iapRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
SetNameL( aValue, iapRecord, aClientPluginInstance->iNamingMethod );
}
break;
case ECmProxyServerName:
{
- CCDProxiesRecord* proxyRecord =
- static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
if ( !proxyRecord )
{
- proxyRecord = static_cast<CCDProxiesRecord *>
- ( CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord ) );
-
- // map proxy record to this iap.
- proxyRecord->iService =
- static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->RecordId();
+ proxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) );
+
+ // Map proxy record to this iap.
+ proxyRecord->iService = static_cast<CCDProxiesRecord*>(
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->RecordId();
aClientPluginInstance->iGenRecordArray.Insert( proxyRecord, KProxyRecordIndex );
}
@@ -2828,18 +2882,16 @@
break;
case ECmProxyProtocolName:
{
- CCDProxiesRecord* proxyRecord =
- static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
if ( !proxyRecord )
{
- proxyRecord = static_cast<CCDProxiesRecord *>
- ( CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord ) );
-
- // map proxy record to this iap.
- proxyRecord->iService =
- static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->RecordId();
+ proxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) );
+
+ // Map proxy record to this iap.
+ proxyRecord->iService = static_cast<CCDProxiesRecord*>(
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->RecordId();
aClientPluginInstance->iGenRecordArray.Insert( proxyRecord, KProxyRecordIndex );
}
@@ -2849,18 +2901,16 @@
break;
case ECmProxyExceptions:
{
- CCDProxiesRecord* proxyRecord =
- static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
+ CCDProxiesRecord* proxyRecord = static_cast<CCDProxiesRecord*>(
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] );
if ( !proxyRecord )
{
- proxyRecord = static_cast<CCDProxiesRecord *>
- ( CCDRecordBase::RecordFactoryL(KCDTIdProxiesRecord ) );
-
- // map proxy record to this iap.
- proxyRecord->iService =
- static_cast<CCDProxiesRecord*>(
- aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->RecordId();
+ proxyRecord = static_cast<CCDProxiesRecord*>(
+ CCDRecordBase::RecordFactoryL( KCDTIdProxiesRecord ) );
+
+ // Map proxy record to this iap.
+ proxyRecord->iService = static_cast<CCDProxiesRecord*>(
+ aClientPluginInstance->iGenRecordArray[KProxyRecordIndex] )->RecordId();
aClientPluginInstance->iGenRecordArray.Insert( proxyRecord, KProxyRecordIndex );
}
@@ -2873,6 +2923,10 @@
CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
+ if ( !wapIPBearerRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
wapIPBearerRecord->iWAPGatewayAddress.SetL( aValue );
}
break;
@@ -2881,6 +2935,10 @@
CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
+ if ( !wapIPBearerRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
wapIPBearerRecord->iWAPProxyLoginName.SetL( aValue );
}
break;
@@ -2889,27 +2947,33 @@
CCDWAPIPBearerRecord* wapIPBearerRecord = static_cast<CCDWAPIPBearerRecord*>(
aClientPluginInstance->iGenRecordArray[KWAPBearerRecordIndex] );
+ if ( !wapIPBearerRecord )
+ {
+ User::Leave( KErrCorrupt );
+ }
wapIPBearerRecord->iWAPProxyLoginPass.SetL( aValue );
}
break;
default:
{
- SetBearerStringAttributeL( aAttribute,
- aValue,
- aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray );
+ SetBearerStringAttributeL(
+ aAttribute,
+ aValue,
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray );
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_SETSTRINGATTRIBUTEL_EXIT );
}
-//-----------------------------------------------------------------------------
+// -----------------------------------------------------------------------------
// CCmPluginBaseEng::SetString8AttributeL
// -----------------------------------------------------------------------------
EXPORT_C void CCmPluginBaseEng::SetString8AttributeL(
- TUint32 aAttribute,
- const TDesC8& aValue,
- CCmClientPluginInstance* aClientPluginInstance )
+ TUint32 aAttribute,
+ const TDesC8& aValue,
+ CCmClientPluginInstance* aClientPluginInstance )
{
OstTraceFunctionEntry0( CCMPLUGINBASEENG_SETSTRING8ATTRIBUTEL_ENTRY );
@@ -2917,12 +2981,14 @@
{
default:
{
- SetBearerString8AttributeL( aAttribute,
- aValue,
- aClientPluginInstance->iGenRecordArray,
- aClientPluginInstance->iBearerSpecRecordArray );
+ SetBearerString8AttributeL(
+ aAttribute,
+ aValue,
+ aClientPluginInstance->iGenRecordArray,
+ aClientPluginInstance->iBearerSpecRecordArray );
}
}
+
OstTraceFunctionExit0( CCMPLUGINBASEENG_SETSTRING8ATTRIBUTEL_EXIT );
}
@@ -2941,7 +3007,6 @@
}
OstTraceFunctionExit0( DUP1__ISUNSPECIFIEDIPV4ADDRESS_EXIT );
-
return EFalse;
}
@@ -2968,7 +3033,6 @@
}
OstTraceFunctionExit0( DUP2__CLASSIFYIPV6ADDRESS_EXIT );
-
return EIPv6UserDefined;
}