/* (C) 2003 XDA Developers * Author: Willem Jan Hengeveld * Web: http://www.xda-developers.com/ * * $Header$ */ #include "stringutils.h" #include "processutils.h" #include "fileutils.h" #include "debug.h" #include "command.h" // waits for command to finish bool CmdExecute::execute(const StringList& parameters) { if (parameters.size()<1 || parameters.size()>2) { debug("ERROR: incorrect nr of params for execute\n"); return false; } string command= parameters[0]; string argumentstring= parameters.size()==1 ? "" : parameters[1]; if (!RunApp(command, argumentstring)) return false; Sleep(1000); // should be sufficient time for app to startup while (AppExists(command)) { Sleep(200); SystemIdleTimerReset(); } return true; } // start command, and continue processing bool CmdSpawn::execute(const StringList& parameters) { if (parameters.size()<1 || parameters.size()>2) { debug("ERROR: incorrect nr of params for spawn\n"); return false; } string command= parameters[0]; string argumentstring= parameters.size()==1 ? "" : parameters[1]; return RunApp(command, argumentstring); } bool CmdCopy::execute(const StringList& parameters) { if (parameters.size()!=2) { debug("ERROR: incorrect nr of params for copy\n"); return false; } return CopyFile(parameters[0], parameters[1]); } bool CmdRename::execute(const StringList& parameters) { if (parameters.size()!=2) { debug("ERROR: incorrect nr of params for rename\n"); return false; } return RenameFile(parameters[0], parameters[1]); } bool CmdDelete::execute(const StringList& parameters) { if (parameters.size()!=1) { debug("ERROR: incorrect nr of params for delete\n"); return false; } return DeleteFile(parameters[0]); } bool CmdMakelink::execute(const StringList& parameters) { if (parameters.size()!=2) { debug("ERROR: incorrect nr of params for makelink\n"); return false; } return MakeLink(parameters[0], parameters[1]); }