/**
- * \file systemcall.C
- * Copyright 2002 the LyX Team
- * Read the file COPYING
+ * \file systemcall.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
*
* \author Asger Alstrup
*
* Interface cleaned up by
- * \author Angus Leeming <a.leeming@ic.ac.uk>
+ * \author Angus Leeming
*
- * Class Systemcall uses "system" to launch the child process.
- * The user can choose to wait or not wait for the process to complete, but no
- * callback is invoked upon completion of the child.
- *
- * The child process is not killed when the Systemcall instance goes out of
- * scope.
+ * Full author contact details are available in file CREDITS.
*/
#include <config.h>
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
-#include "systemcall.h"
-#include "os.h"
+#include "support/systemcall.h"
+#include "support/os.h"
-#include <cstdlib> //for ::system
+#include <cstdlib>
+using std::string;
-#if 0
-Systemcall::Systemcall(Starttype how, string const & what)
-{
- startscript(how, what);
-}
+#ifndef CXX_GLOBAL_CSTD
+using std::system;
#endif
+namespace lyx {
+namespace support {
// Reuse of instance
int Systemcall::startscript(Starttype how, string const & what)
string command = what;
if (how == DontWait) {
- if (os::shell() == os::UNIX) {
+ switch (os::shell()) {
+ case os::UNIX:
command += " &";
- } else {
- command = "start /min/n " + command;
+ break;
+ case os::CMD_EXE:
+ command = "start /min " + command;
+ break;
}
}
return ::system(command.c_str());
}
+
+} // namespace support
+} // namespace lyx