homescreensrv_plat/sapi_homescreenplugin/src/hspsconfigurationif.cpp
branchRCL_3
changeset 27 2c7f27287390
parent 22 1b207dd38b72
equal deleted inserted replaced
25:9e077f9a342c 27:2c7f27287390
   357    	    *node, 
   357    	    *node, 
   358    	    KConfigurationAttrState, 
   358    	    KConfigurationAttrState, 
   359    	    state );
   359    	    state );
   360 
   360 
   361     if ( state.Compare( KConfStateError ) == 0 )
   361     if ( state.Compare( KConfStateError ) == 0 )
   362         {
   362         {                
   363         // Restore active application configuration
       
   364         TPtrC8 confUid;
       
   365         CHspsLiwUtilities::GetAttributeValueL( 
       
   366             *node, 
       
   367             KConfigurationAttrUid, 
       
   368             confUid );        
       
   369         TInt appUid;
   363         TInt appUid;
   370         iHspsConfigurationService->GetAppUidL( appUid );
   364         iHspsConfigurationService->GetAppUidL( appUid );
   371         iHspsPersonalisationService->RestoreActiveAppConfL( 
   365         iHspsPersonalisationService->RestoreActiveAppConfL( 
   372             appUid, 
   366                 appUid );
   373             confUid );
       
   374         
   367         
   375         // Invalidate ODT.
   368         // Invalidate ODT.
   376         iHspsConfigurationService->InvalidateODT();
   369         iHspsConfigurationService->InvalidateODT();
   377         }
   370         }
   378    	
   371    	
  1198     CHspsPersonalisationService::TRestore operation( CHspsPersonalisationService::EDefault );              
  1191     CHspsPersonalisationService::TRestore operation( CHspsPersonalisationService::EDefault );              
  1199     if( restorePtr.CompareF( KHspsLiwRestoreDefault ) == 0 )
  1192     if( restorePtr.CompareF( KHspsLiwRestoreDefault ) == 0 )
  1200         {
  1193         {
  1201         operation = CHspsPersonalisationService::EDefault;
  1194         operation = CHspsPersonalisationService::EDefault;
  1202         }
  1195         }
       
  1196     else if( restorePtr.CompareF( KHspsLiwRestoreAll ) == 0 )
       
  1197         {
       
  1198         operation = CHspsPersonalisationService::EAll;
       
  1199         }
  1203     else if( restorePtr.CompareF( KHspsLiwRestoreRom ) == 0 )
  1200     else if( restorePtr.CompareF( KHspsLiwRestoreRom ) == 0 )
  1204         {
  1201         {
  1205         operation = CHspsPersonalisationService::ERom;
  1202         operation = CHspsPersonalisationService::ERom;
  1206         }
  1203         }
  1207     else if( restorePtr.CompareF( KHspsLiwRestoreViews ) == 0 )
  1204     else if( restorePtr.CompareF( KHspsLiwRestoreViews ) == 0 )
  1214         }        
  1211         }        
  1215     
  1212     
  1216     // Get client application's uid
  1213     // Get client application's uid
  1217     TInt appUid;
  1214     TInt appUid;
  1218     iHspsConfigurationService->GetAppUidL( appUid );
  1215     iHspsConfigurationService->GetAppUidL( appUid );
  1219         
  1216     
  1220     iHspsPersonalisationService->RestoreConfigurationsL( appUid, operation );
  1217     if( operation == CHspsPersonalisationService::EDefault )
       
  1218         {
       
  1219         // Try to activate another application configuration which has a restorable status
       
  1220         iHspsPersonalisationService->RestoreActiveAppConfL( appUid );
       
  1221         }
       
  1222     else
       
  1223         {
       
  1224         // Re-install or strip plugins 
       
  1225         iHspsPersonalisationService->RestoreConfigurationsL( appUid, operation );
       
  1226         }
  1221 
  1227 
  1222     // Invalidate ODT.
  1228     // Invalidate ODT.
  1223     iHspsConfigurationService->InvalidateODT();
  1229     iHspsConfigurationService->InvalidateODT();
  1224     
  1230     
  1225     // Create output parameters
  1231     // Create output parameters