testexecfw/stf/stfext/testmodules/teftestmod/teftestmodulefw/tefutilities/platsec/cleanup/src/cleanup.cpp
changeset 2 8bb370ba6d1d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/testexecfw/stf/stfext/testmodules/teftestmod/teftestmodulefw/tefutilities/platsec/cleanup/src/cleanup.cpp	Fri Apr 09 10:46:28 2010 +0800
@@ -0,0 +1,106 @@
+/*
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:  
+* Plattest_Platsec_Cleanup.exe
+* Deletes the file specified in the command line. 
+* Command Line Syntax:
+* Plattest_Platsec_Cleanup.exe <Filename>
+* <Filename> can be with path or without path. If path is not
+* specified, the default path of c:\sys\bin\ will be taken.
+*
+*/
+
+
+
+/**
+ @file cleanup.cpp
+*/
+
+
+//Epoc include
+#include <f32file.h>
+#include <f32image.h>
+#include <wrapperutilsplugin.h>
+#include <test/tefutils.h>
+
+TParse FileName;
+
+_LIT(KDefaultExePath,"?:\\sys\\bin\\");
+
+/**
+ Parses the Command Line arguments
+ @return TInt - KErrNone if no error else, system wide error codes
+*/
+TInt ParseCommandLine()
+      {
+	TDriveName defaultSysDrive(_L("C:"));
+	RFs fileServer;
+	TVersionName version(fileServer.Version().Name());
+	
+	RLibrary pluginLibrary;
+	CWrapperUtilsPlugin* plugin = TEFUtils::WrapperPluginNew(pluginLibrary);
+	
+	if (plugin!=NULL)
+		{
+		TDriveUnit driveUnit(plugin->GetSystemDrive());
+		defaultSysDrive.Copy(driveUnit.Name());
+		delete plugin;
+		pluginLibrary.Close();
+		}
+
+	  TBuf<256> c;
+      
+      User::CommandLine(c);
+
+      TLex l(c);
+
+	  TFileName defaultExePath(KDefaultExePath);
+	  defaultExePath.Replace(0, 2, defaultSysDrive);
+
+      if(FileName.SetNoWild(l.NextToken(),0,&defaultExePath)!=KErrNone)
+            return KErrArgument;
+
+      // Check we used all the arguments
+      if (l.NextToken() != KNullDesC)
+            return KErrArgument;
+
+      return KErrNone;
+      }
+
+
+TInt E32Main()
+	{
+	TInt r;
+
+	//Parses the command line
+	r = ParseCommandLine();
+	if(r!=KErrNone)
+		return r;
+
+	//Connects with FileServer
+	RFs Fs;
+	r = Fs.Connect();
+	if(r!=KErrNone)
+		return r;
+
+	//Deletes the File specified
+	r= Fs.Delete(FileName.FullName());
+	if(r != KErrNone)
+		return r;
+
+	//Closes the sesssion with FileServer
+	Fs.Close();
+
+	return r;
+	}