]> git.lyx.org Git - lyx.git/blobdiff - src/support/Systemcall.h
Remove ugly multiple definition hack
[lyx.git] / src / support / Systemcall.h
index 2205ebc9b2a780fa62daa39058962a2abe0cd29d..1d4c75374a68148aac48b8d65b0c6b8ec960cbff 100644 (file)
@@ -16,9 +16,6 @@
 #define SYSTEMCALL_H
 
 #include <string>
-#include <QObject>
-
-class QProcess;
 
 namespace lyx {
 namespace support {
@@ -43,51 +40,14 @@ public:
 
        /** Start child process.
         *  The string "what" contains a commandline with arguments separated
-        *  by spaces.
+        *  by spaces and encoded in the filesystem encoding. The string "path"
+        *  contains the path to be prepended to the TEXINPUTS environment
+        *  variable and encoded in utf-8. Unset "process_events" in case
+        *  UI should be blocked while processing the external command.
         */
-       int startscript(Starttype how, std::string const & what);
-};
-
-
-/**
- * Outputs to the console terminal the line buffered standard output and
- * error of a spawned process when there is a controlling terminal and 
- * stdout/stderr have not been redirected.
- */
-class ConOut : public QObject
-{
-       Q_OBJECT
-public:
-       ConOut(QProcess * proc);
-       ~ConOut();
-
-       /// Should the standard output be displayed?
-       void showout() { showout_ = true; }
-
-       /// Should the standard error be displayed?
-       void showerr() { showerr_ = true; }
-
-private:
-       /// Pointer to the process to monitor.
-       QProcess * proc_;
-       /// Index to the standard output buffer.
-       size_t outindex_;
-       /// Index to the standard error buffer.
-       size_t errindex_;
-       /// Size of buffers.
-       static size_t const bufsize_ = 200;
-       /// Standard output buffer.
-       char outdata_[bufsize_];
-       /// Standard error buffer.
-       char errdata_[bufsize_];
-       /// 
-       bool showout_;
-       /// 
-       bool showerr_;
-
-public Q_SLOTS:
-       void stdOut();
-       void stdErr();
+       int startscript(Starttype how, std::string const & what,
+                       std::string const & path = empty_string(),
+                       bool process_events = false);
 };
 
 } // namespace support