diff -r 502e5d91ad42 -r 15e4dd19031c homescreensrv_plat/sapi_homescreenplugin/src/hspsconfigurationif.cpp --- a/homescreensrv_plat/sapi_homescreenplugin/src/hspsconfigurationif.cpp Mon Mar 15 12:41:53 2010 +0200 +++ b/homescreensrv_plat/sapi_homescreenplugin/src/hspsconfigurationif.cpp Wed Mar 31 22:04:35 2010 +0300 @@ -424,8 +424,9 @@ TInt pos; TPtrC8 interface; TPtrC8 type; + TBool copyLogos = EFalse; const TLiwGenericParam* inParam; - TLiwVariant inParamVariant; + TLiwVariant inParamVariant; // Get interface parameter (mandatory) pos = 0; @@ -433,43 +434,58 @@ pos, KHspsLiwInterface ); - if( inParam ) - { - inParamVariant = inParam->Value(); - interface.Set( inParamVariant.AsData() ); - - // Get type parameter (optional) - pos = 0; - inParam = aInParamList.FindFirst( - pos, - KHspsLiwType ); - if ( inParam ) - { - inParamVariant = inParam->Value(); - type.Set( inParamVariant.AsData() ); - } - - // Get headers list of defined interface - TUint32 family; - iHspsConfigurationService->GetFamilyL( family ); - CArrayPtrFlat* list = - new ( ELeave )CArrayPtrFlat( KHeaderListGranularity ); - CleanupStack::PushL( TCleanupItem( DeleteArrayItems, list ) ); - iHspsPersonalisationService->GetPluginListL( - interface, - type, - family, - *list ); - - // Create GetPlugins output parameters - CHspsLiwUtilities::GetPluginsOutputL( *list, aOutParamList ); - CleanupStack::PopAndDestroy( list ); - } - else + if( !inParam ) { // Invalid method call User::Leave( KErrArgument ); } + + inParamVariant = inParam->Value(); + interface.Set( inParamVariant.AsData() ); + + // Get type parameter (optional) + pos = 0; + inParam = aInParamList.FindFirst( + pos, + KHspsLiwType ); + if ( inParam ) + { + inParamVariant = inParam->Value(); + type.Set( inParamVariant.AsData() ); + } + + // Get copylogos parameter (optional) + pos = 0; + inParam = aInParamList.FindFirst( + pos, + KHspsLiwCopyLogos ); + if ( inParam ) + { + inParamVariant = inParam->Value(); + copyLogos = inParamVariant.AsTBool(); + } + + // Get headers list of defined interface + TUint32 family; + iHspsConfigurationService->GetFamilyL( family ); + + CArrayPtrFlat* list = + new ( ELeave )CArrayPtrFlat( KHeaderListGranularity ); + CleanupStack::PushL( TCleanupItem( DeleteArrayItems, list ) ); + + // Get headers list of defined interface + iHspsPersonalisationService->GetPluginListL( + interface, + type, + family, + copyLogos, + *list ); + + // Create GetPlugins output parameters + CHspsLiwUtilities::GetPluginsOutputL( *list, aOutParamList ); + + CleanupStack::PopAndDestroy( list ); + } // -----------------------------------------------------------------------------