homescreensrv_plat/sapi_homescreenplugin/src/hspsconfigurationif.cpp
branchRCL_3
changeset 14 15e4dd19031c
parent 12 502e5d91ad42
child 22 1b207dd38b72
equal deleted inserted replaced
12:502e5d91ad42 14:15e4dd19031c
   422         CLiwGenericParamList& aOutParamList )
   422         CLiwGenericParamList& aOutParamList )
   423     {
   423     {
   424     TInt pos;
   424     TInt pos;
   425     TPtrC8 interface;
   425     TPtrC8 interface;
   426     TPtrC8 type;
   426     TPtrC8 type;
       
   427     TBool copyLogos = EFalse;
   427     const TLiwGenericParam* inParam;
   428     const TLiwGenericParam* inParam;
   428     TLiwVariant inParamVariant;
   429     TLiwVariant inParamVariant;    
   429     
   430     
   430     // Get interface parameter (mandatory)
   431     // Get interface parameter (mandatory)
   431     pos = 0;
   432     pos = 0;
   432     inParam = aInParamList.FindFirst( 
   433     inParam = aInParamList.FindFirst( 
   433         pos, 
   434         pos, 
   434         KHspsLiwInterface );
   435         KHspsLiwInterface );
   435     
   436     
   436     if( inParam )
   437     if( !inParam )        
   437         {
       
   438         inParamVariant = inParam->Value();
       
   439         interface.Set( inParamVariant.AsData() );    
       
   440 
       
   441         // Get type parameter (optional)
       
   442         pos = 0;
       
   443         inParam = aInParamList.FindFirst( 
       
   444             pos, 
       
   445             KHspsLiwType );
       
   446         if ( inParam )
       
   447             {
       
   448             inParamVariant = inParam->Value();
       
   449             type.Set( inParamVariant.AsData() );
       
   450             }
       
   451         
       
   452         // Get headers list of defined interface
       
   453         TUint32 family;
       
   454         iHspsConfigurationService->GetFamilyL( family );
       
   455         CArrayPtrFlat<ChspsODT>* list = 
       
   456             new ( ELeave )CArrayPtrFlat<ChspsODT>( KHeaderListGranularity );
       
   457         CleanupStack::PushL( TCleanupItem( DeleteArrayItems, list ) );
       
   458         iHspsPersonalisationService->GetPluginListL( 
       
   459             interface, 
       
   460             type,
       
   461             family,
       
   462             *list );
       
   463         
       
   464         // Create GetPlugins output parameters
       
   465         CHspsLiwUtilities::GetPluginsOutputL( *list, aOutParamList );
       
   466         CleanupStack::PopAndDestroy( list );
       
   467         }
       
   468     else
       
   469         {
   438         {
   470         // Invalid method call
   439         // Invalid method call
   471         User::Leave( KErrArgument );
   440         User::Leave( KErrArgument );
   472         }
   441         }
       
   442             
       
   443     inParamVariant = inParam->Value();
       
   444     interface.Set( inParamVariant.AsData() );    
       
   445 
       
   446     // Get type parameter (optional)
       
   447     pos = 0;
       
   448     inParam = aInParamList.FindFirst( 
       
   449         pos, 
       
   450         KHspsLiwType );
       
   451     if ( inParam )
       
   452         {
       
   453         inParamVariant = inParam->Value();
       
   454         type.Set( inParamVariant.AsData() );
       
   455         }        
       
   456     
       
   457     // Get copylogos parameter (optional)
       
   458     pos = 0;
       
   459     inParam = aInParamList.FindFirst( 
       
   460         pos, 
       
   461         KHspsLiwCopyLogos );
       
   462     if ( inParam )
       
   463         {
       
   464         inParamVariant = inParam->Value();
       
   465         copyLogos = inParamVariant.AsTBool();            
       
   466         }        
       
   467         
       
   468     // Get headers list of defined interface
       
   469     TUint32 family;
       
   470     iHspsConfigurationService->GetFamilyL( family );
       
   471     
       
   472     CArrayPtrFlat<ChspsODT>* list = 
       
   473         new ( ELeave )CArrayPtrFlat<ChspsODT>( KHeaderListGranularity );
       
   474     CleanupStack::PushL( TCleanupItem( DeleteArrayItems, list ) );
       
   475     
       
   476     // Get headers list of defined interface
       
   477     iHspsPersonalisationService->GetPluginListL( 
       
   478         interface, 
       
   479         type,
       
   480         family,
       
   481         copyLogos,
       
   482         *list );
       
   483     
       
   484     // Create GetPlugins output parameters
       
   485     CHspsLiwUtilities::GetPluginsOutputL( *list, aOutParamList );
       
   486     
       
   487     CleanupStack::PopAndDestroy( list );
       
   488             
   473     }
   489     }
   474 
   490 
   475 // -----------------------------------------------------------------------------
   491 // -----------------------------------------------------------------------------
   476 // Gets list of plugins with defined interface
   492 // Gets list of plugins with defined interface
   477 // -----------------------------------------------------------------------------
   493 // -----------------------------------------------------------------------------