]> git.lyx.org Git - lyx.git/blobdiff - src/support/Systemcall.h
Use more informative descriptions fro Springer layouts
[lyx.git] / src / support / Systemcall.h
index 173387b71e26c77b1afd81c30b4a319e4e1ea8b3..d3d2189d51900d956581f8bbfd7c4021b72c1c9a 100644 (file)
@@ -34,21 +34,37 @@ class Systemcall {
 public:
        /// whether to wait for completion
        enum Starttype {
-               Wait, //< wait for completion before returning from startscript()
-               DontWait //< don't wait for completion
+               Wait,     //< wait for completion before returning from startscript()
+               WaitLoop, //< wait, but check occasionally for cancellation
+               DontWait  //< don't wait for completion
        };
 
+       // enum values chosen hopefully not to conflict with ordinary return values
+       enum ReturnValue {
+               OK = 0,
+               NOSTART = 1001,
+               ERROR = 2001,
+               TIMEOUT = 4001,
+               KILLED = 9001
+       };
+
+
+       // Kill the process which is running at time being
+       static void killscript();
+
        /** Start child process.
         *  The string "what" contains a commandline with arguments separated
         *  by spaces and encoded in the filesystem encoding. "$$s" will be
-        *  replaced accordingly by libScriptSearch(). The string "path"
-        *  contains the path to be prepended to the TEXINPUTS environment
-        *  variable and encoded in the path to be prepended to the TEXINPUTS
-        *  environment variable and utf-8. Unset "process_events" in case UI
-        *  should be blocked while processing the external command.
+        *  replaced accordingly by commandPrep(). The string "path" contains
+        *  the path to be prepended to the TEXINPUTS environment variable
+        *  encoded in utf-8. Similarly for the string "lpath" that, if not
+        *  empty, specifies an additional directory to be added to TEXINPUTS
+        *  but after "path". Unset "process_events" in case UI should be
+        *  blocked while  processing the external command.
         */
        int startscript(Starttype how, std::string const & what,
                        std::string const & path = empty_string(),
+                       std::string const & lpath = empty_string(),
                        bool process_events = false);
 };