--- a/cmmanager/cmmgr/cmmserver/src/cmmanagerimpl.cpp Thu Jun 17 22:32:02 2010 +0100
+++ b/cmmanager/cmmgr/cmmserver/src/cmmanagerimpl.cpp Thu Jul 22 16:37:38 2010 +0100
@@ -70,6 +70,8 @@
if ( iIsFeatureManagerInitialised )
{
+ // Feature manager must not be uninitialized earlier. Plugins must be
+ // able to use it.
FeatureManager::UnInitializeLib();
}
@@ -107,6 +109,8 @@
{
OstTraceFunctionEntry0( CCMMANAGERIMPL_CONSTRUCTL_ENTRY );
+ // Feature Manager is initialized here, and it can be used by plugins also.
+ // It is uninitialized in destructor.
FeatureManager::InitializeLibL();
iIsFeatureManagerInitialised = ETrue;
iWLanSupport = FeatureManager::FeatureSupported( KFeatureIdProtocolWlan );
@@ -133,22 +137,22 @@
TInt err( 0 );
- TRAP( err, iSnapTableId = CCDDataMobilitySelectionPolicyRecord::TableIdL( iTrans->Session() ));
+ TRAP( err, iBearerPriorityTableId =
+ CCDGlobalBearerTypePriorizationRecord::TableIdL( iTrans->Session() ) );
if ( err == KErrNotFound )
{
- iSnapTableId = CCDDataMobilitySelectionPolicyRecord::CreateTableL( iTrans->Session() );
+ iBearerPriorityTableId =
+ CCDGlobalBearerTypePriorizationRecord::CreateTableL( iTrans->Session() );
}
else
{
User::LeaveIfError( err );
}
- TRAP( err, iBearerPriorityTableId =
- CCDGlobalBearerTypePriorizationRecord::TableIdL( iTrans->Session() ) );
+ TRAP( err, iSnapTableId = CCDDataMobilitySelectionPolicyRecord::TableIdL( iTrans->Session() ));
if ( err == KErrNotFound )
{
- iBearerPriorityTableId =
- CCDGlobalBearerTypePriorizationRecord::CreateTableL( iTrans->Session() );
+ iSnapTableId = CCDDataMobilitySelectionPolicyRecord::CreateTableL( iTrans->Session() );
}
else
{
@@ -304,23 +308,25 @@
CleanupStack::PushL( plugin );
TBool inserted( EFalse );
- //TODO, Implement plugin sorting by priority later.
- /*
- TInt defaultPriority( KDataMobilitySelectionPolicyPriorityWildCard );
+
+ TInt defaultPriority( CMManager::KDataMobilitySelectionPolicyPriorityWildCard );
- // No UI priority -> wildcard
- TRAP_IGNORE( defaultPriority = plugin->GetIntAttributeL( ECmDefaultUiPriority ) );
+ // No priority -> wildcard
+ TRAP_IGNORE( defaultPriority = plugin->GetBearerInfoIntL(
+ CMManager::ECmDefaultPriority ) );
- for ( TInt j( 0 ); j < iPlugins->Count(); ++j )
+ for ( TInt j = 0; j < iPlugins->Count(); j++ )
{
- if ( defaultPriority > (*iPlugins)[j]->GetIntAttributeL( ECmDefaultUiPriority ) )
+ TUint32 bearerToCompare = (*iPlugins)[j]->GetBearerInfoIntL(
+ CMManager::ECmDefaultPriority );
+ if ( defaultPriority > bearerToCompare )
{
continue;
}
- else if ( defaultPriority == (*iPlugins)[j]->GetIntAttributeL( ECmDefaultUiPriority ) )
+ else if ( defaultPriority == bearerToCompare )
{
- if ( plugin->GetIntAttributeL( ECmExtensionLevel ) >
- (*iPlugins)[j]->GetIntAttributeL( ECmExtensionLevel ) )
+ if ( plugin->GetBearerInfoIntL( ECmExtensionLevel ) >
+ (*iPlugins)[j]->GetBearerInfoIntL( ECmExtensionLevel ) )
{
iPlugins->InsertL( j, plugin );
inserted = ETrue;
@@ -333,7 +339,7 @@
inserted = ETrue;
break;
}
- }*/
+ }
if ( !inserted )
{