This commit is contained in:
2025-08-13 22:29:44 +03:00
parent 39266f8c3c
commit a41379a40e

View File

@@ -55,55 +55,63 @@ public:
int pID() const;
//! \~english Returns current attached execution working directory or empty string if it wasn`t set
//! \~russian
//! \~russian Возвращает рабочую директорию выполнения или пустую строку, если не установлена
PIString workingDirectory() const { return wd; }
//! \~english Set attached execution working directory
//! \~russian
//! \~russian Устанавливает рабочую директорию для выполнения
void setWorkingDirectory(const PIString & path) { wd = path; }
//! \~english Rseet attached execution working directory, application working dir will be used
//! \~russian
//! \~russian Сбрасывает рабочую директорию, будет использоваться директория приложения
void resetWorkingDirectory() { wd.clear(); }
//! \~english Returns all attached execution output stream
//! \~russian
//! \~russian Возвращает весь вывод из стандартного потока вывода (stdout)
PIByteArray readOutput();
//! \~english Returns all attached execution error stream
//! \~russian
//! \~russian Возвращает весь вывод из потока ошибок (stderr)
PIByteArray readError();
//! \~english Write data to attached execution input stream
//! \~russian
//! \~russian Записывает данные в стандартный поток ввода (stdin)
bool writeInput(const PIByteArray & data);
//! \~english Close attached execution input stream and send EOF
//! \~russian
//! \~russian Закрывает поток ввода (stdin) и отправляет EOF
void closeInput();
//! \~english Enable or disable writing to process stdin
//! \~russian Включает или отключает запись в стандартный поток ввода (stdin) процесса
void enableWriteStdIn(bool on = true);
//! \~english Enable or disable reading from process stdout
//! \~russian Включает или отключает чтение из стандартного потока вывода (stdout) процесса
void enableReadStdOut(bool on = true);
//! \~english Enable or disable reading from process stderr
//! \~russian Включает или отключает чтение из потока ошибок (stderr) процесса
void enableReadStdErr(bool on = true);
//! \~english Returns current attached execution environment
//! \~russian
//! \~russian Возвращает текущее окружение выполнения
PIStringList environment() { return env; }
//! \~english Clear current attached execution environment. Call before \a exec()
//! \~russian
//! \~russian Очищает окружение выполнения. Вызывать перед \a exec()
void clearEnvironment() { env.clear(); }
//! \~english Remove variable "variable" from current attached execution environment. Call before \a exec()
//! \~russian
//! \~russian Удаляет переменную "variable" из окружения выполнения. Вызывать перед \a exec()
void removeEnvironmentVariable(const PIString & variable);
//! \~english Set variable "variable" to "value" in current attached execution environment. Call before \a exec()
//! \~russian
//! \~russian Устанавливает значение "value" для переменной "variable" в окружении выполнения. Вызывать перед \a exec()
void setEnvironmentVariable(const PIString & variable, const PIString & value);
//! \~english Start attached execution "program" with one argument "arg"
//! \~russian
//! \~russian Запускает выполнение "program" с одним аргументом "arg"
void exec(const PIString & program, const PIString & arg) {
args.clear();
args << program << arg;
@@ -127,33 +135,37 @@ public:
EVENT1(execStarted, PIString, program);
EVENT2(execFinished, PIString, program, int, exit_code);
bool isExecFinished() const {return exec_finished;}
bool isExecStarted() const {return exec_start;}
//! \~english Check if attached execution has finished
//! \~russian Проверяет, завершилось ли выполнение процесса
bool isExecFinished() const { return exec_finished; }
//! \~english Check if attached execution has started
//! \~russian Проверяет, запущен ли процесс выполнения
bool isExecStarted() const { return exec_start; }
//! \~english Start detached execution "program" without arguments
//! \~russian
//! \~russian Запускает независимое выполнение "program" без аргументов
static void execIndependent(const PIString & program) { execIndependent(program, PIStringList()); }
//! \~english Start detached execution "program" with one argument "arg"
//! \~russian
//! \~russian Запускает независимое выполнение "program" с одним аргументом "arg"
static void execIndependent(const PIString & program, const PIString & arg) { execIndependent(program, PIStringList() << arg); }
//! \~english Start detached execution "program" with arguments "args"
//! \~russian
//! \~russian Запускает независимое выполнение "program" с аргументами "args"
static void execIndependent(const PIString & program, const PIStringList & args);
//! \~english Returns application environment
//! \~russian
//! \~russian Возвращает окружение текущего приложения
static PIStringList currentEnvironment();
//! \~english Returns application process ID
//! \~russian
//! \~russian Возвращает ID процесса текущего приложения
static int currentPID();
//! \~english Returns variable "variable" value from application environment
//! \~russian
//! \~russian Возвращает значение переменной "variable" из окружения приложения
static PIString getEnvironmentVariable(const PIString & variable);
//! \handlers
@@ -162,27 +174,27 @@ public:
//! \fn void exec(const PIString & program)
//! \brief
//! \~english Start attached execution "program" without arguments
//! \~russian
//! \~russian Запускает выполнение "program" без аргументов
//! \fn void exec(const PIString & program, const PIStringList & args)
//! \brief
//! \~english Start attached execution "program" with arguments "args"
//! \~russian
//! \~russian Запускает выполнение "program" с аргументами "args"
//! \fn void terminate()
//! \brief
//! \~english Immediately terminate attached execution
//! \~russian
//! \~russian Немедленно завершает выполнение
//! \fn bool waitForFinish()
//! \brief
//! \~english Wait for attached execution finish maximum for 60 seconds
//! \~russian
//! \~russian Ожидает завершения выполнения (максимум 60 секунд)
//! \fn bool waitForFinish(PISystemTime timeout)
//! \brief
//! \~english Wait for attached execution finish maximum for "timeout_"
//! \~russian
//! \~russian Ожидает завершения выполнения в течение "timeout_"
//! \}
//! \events
@@ -191,12 +203,12 @@ public:
//! \fn void execStarted(PIString program)
//! \brief
//! \~english Raise on attached execution start
//! \~russian
//! \~russian Генерируется при запуске выполнения
//! \fn void execFinished(PIString program)
//! \brief
//! \~english Raise on attached execution finish
//! \~russian
//! \~russian Генерируется при завершении выполнения
//! \}