--- a/htiui/HtiDeviceReboot/src/HtiDeviceReboot.cpp Mon May 03 12:32:02 2010 +0300
+++ b/htiui/HtiDeviceReboot/src/HtiDeviceReboot.cpp Fri May 14 15:53:02 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;