4 * This file is part of LyX, the document processor.
5 * Licence details can be found in the file COPYING.
7 * \author Asger Alstrup
9 * Interface cleaned up by
10 * \author Angus Leeming
12 * Full author contact details are available in file CREDITS.
24 * An instance of Class Systemcall represents a single child process.
26 * Class Systemcall uses system() to launch the child process.
27 * The user can choose to wait or not wait for the process to complete, but no
28 * callback is invoked upon completion of the child.
30 * The child process is not killed when the Systemcall instance goes out of
35 /// whether to wait for completion
37 Wait, //< wait for completion before returning from startscript()
38 DontWait //< don't wait for completion
41 /** Start child process.
42 * The string "what" contains a commandline with arguments separated
43 * by spaces and encoded in the filesystem encoding. "$$s" will be
44 * replaced accordingly by commandPrep(). The string "path" contains
45 * the path to be prepended to the TEXINPUTS environment variable
46 * encoded in utf-8. Similarly for the string "lpath" that, if not
47 * empty, specifies an additional directory to be added to TEXINPUTS
48 * but after "path". Unset "process_events" in case UI should be
49 * blocked while processing the external command.
51 int startscript(Starttype how, std::string const & what,
52 std::string const & path = empty_string(),
53 std::string const & lpath = empty_string(),
54 bool process_events = false);
57 } // namespace support
60 #endif // SYSTEMCALL_H