homescreensrv_plat/sapi_homescreenplugin/src/hspsconfigurationif.cpp
branchRCL_3
changeset 14 15e4dd19031c
parent 12 502e5d91ad42
child 22 1b207dd38b72
--- 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<ChspsODT>* list = 
-            new ( ELeave )CArrayPtrFlat<ChspsODT>( 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<ChspsODT>* list = 
+        new ( ELeave )CArrayPtrFlat<ChspsODT>( 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 );
+            
     }
 
 // -----------------------------------------------------------------------------