lyx_mirror/src/support/Systemcall.h
Scott Kostyshak 1821c6d8a3 Centralize substitution of python commands
The code for detecting python commands and substituting in the
correct prefix is now merged with what used to be libScriptSearch()
and is now renamed to commandPrep(). This commit does not change
any functionality and just improves organization to reduce the
chance of bugs in the future.
2014-05-14 15:45:20 -04:00

59 lines
1.6 KiB
C++

// -*- C++ -*-
/**
* \file Systemcall.h
* 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
*
* Full author contact details are available in file CREDITS.
*/
#ifndef SYSTEMCALL_H
#define SYSTEMCALL_H
#include <string>
namespace lyx {
namespace support {
/**
* An instance of Class Systemcall represents a single child process.
*
* 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.
*/
class Systemcall {
public:
/// whether to wait for completion
enum Starttype {
Wait, //< wait for completion before returning from startscript()
DontWait //< don't wait for completion
};
/** 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 commandPrep(). 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.
*/
int startscript(Starttype how, std::string const & what,
std::string const & path = empty_string(),
bool process_events = false);
};
} // namespace support
} // namespace lyx
#endif // SYSTEMCALL_H