homescreensrv_plat/sapi_homescreenplugin/hspsservice/src/hspspersonalisationservice.cpp
changeset 4 1a2a00e78665
parent 0 79c6a41cd166
child 14 15e4dd19031c
--- a/homescreensrv_plat/sapi_homescreenplugin/hspsservice/src/hspspersonalisationservice.cpp	Tue Jan 26 12:11:15 2010 +0200
+++ b/homescreensrv_plat/sapi_homescreenplugin/hspsservice/src/hspspersonalisationservice.cpp	Tue Feb 02 00:23:10 2010 +0200
@@ -424,6 +424,35 @@
         }
     }
 
+// -----------------------------------------------------------------------------
+// Repaces a plugin in active application configuration
+// -----------------------------------------------------------------------------
+EXPORT_C void CHspsPersonalisationService::RestoreConfigurationsL(
+    const TInt aAppUid, 
+    const TBool aResetAllViews )
+    {        
+    ThspsServiceCompletedMessage ret = 
+        iHspsClient->hspsRestoreConfigurations( aAppUid, aResetAllViews );            
+    if( ret != EhspsRestoreConfigurationsSuccess )
+        {
+        // Get error code from the server process
+        ChspsResult* errorDetails = ChspsResult::NewL();
+        CleanupStack::PushL( errorDetails );
+        iHspsClient->GethspsResult( *errorDetails );
+        
+        // Check if disk full error case.
+        if( errorDetails->iXuikonError == KErrDiskFull )
+            {
+            User::Leave( KErrDiskFull );
+            }                
+        
+        CleanupStack::PopAndDestroy( errorDetails );
+        
+        // Other error cases.
+        User::Leave( KErrGeneral );
+        }
+    }
+
 
 // ---------------------------------------------------------------------------
 // Hsps client service observer