htiui/HtiDeviceReboot/src/HtiDeviceReboot.cpp
branchRCL_3
changeset 11 454d022d514b
parent 0 d6fe6244b863
child 13 822c625f7adc
--- a/htiui/HtiDeviceReboot/src/HtiDeviceReboot.cpp	Tue Apr 27 16:38:40 2010 +0300
+++ b/htiui/HtiDeviceReboot/src/HtiDeviceReboot.cpp	Tue May 11 16:14:15 2010 +0300
@@ -35,7 +35,7 @@
 
 // LOCAL FUNCTION PROTOTYPES
 LOCAL_C TInt StartL();
-LOCAL_C TInt Reboot();
+LOCAL_C TInt Reboot(RStarterSession::TResetReason aReason);
 LOCAL_C TInt RestoreFactorySettings( TBool aIsDeepRfs );
 
 
@@ -54,12 +54,15 @@
 
     if ( cmdLen == 0 )
         {
-        error = Reboot();
+        error = Reboot(RStarterSession::EUnknownReset);
         }
 
     else
         {
         TLex parser( *cmdLine );
+        TInt input;
+        TInt ret = parser.Val(input);
+        
         parser.SkipCharacters();
         if ( parser.MarkedToken().CompareF( KParamNormalRfs ) == 0 )
             {
@@ -71,7 +74,14 @@
             }
         else
             {
-            error = KErrArgument;  // Unknown argument
+            if(ret != KErrNone )
+                {
+                error = KErrArgument;  // Unknown argument
+                }
+            else
+                {
+                error = Reboot((RStarterSession::TResetReason)input);
+                }
             }
         }
 
@@ -79,13 +89,13 @@
     return error;
     }
 
-LOCAL_C TInt Reboot()
+LOCAL_C TInt Reboot(RStarterSession::TResetReason aReason)
     {
     RStarterSession session;
     TInt error = session.Connect();
     if ( error == KErrNone )
         {
-        session.Reset( RStarterSession::EUnknownReset );
+        session.Reset( aReason );
         session.Close();
         }
     return error;