13 explicit QmlProcess(QObject* parent =
nullptr);
16 bool running()
const {
return state() == Running; }
19 QString program()
const {
return QProcess::program(); }
20 QStringList arguments()
const {
return QProcess::arguments(); }
21 QString workingDirectory()
const {
return QProcess::workingDirectory(); }
22 QProcess::ProcessState processState()
const {
return QProcess::state(); }
23 QProcess::ProcessError processError()
const {
return QProcess::error(); }
24 int exitCode()
const {
return QProcess::exitCode(); }
25 QProcess::ExitStatus exitStatus()
const {
return QProcess::exitStatus(); }
26 qint64 processId()
const {
return QProcess::processId(); }
28 QString standardOutput()
const {
return m_standardOutput; }
29 QString standardError()
const {
return m_standardError; }
39 W_INVOKABLE(clearOutput);
40 void write(
const QString& data);
44 void setProgram(
const QString& program);
45 void setArguments(
const QStringList& arguments);
46 void setWorkingDirectory(
const QString& dir);
49 void started() W_SIGNAL(started);
50 void finished(
int exitCode, QProcess::ExitStatus status)
51 W_SIGNAL(finished, exitCode, status);
53 void programChanged() W_SIGNAL(programChanged);
54 void argumentsChanged() W_SIGNAL(argumentsChanged);
55 void workingDirectoryChanged() W_SIGNAL(workingDirectoryChanged);
56 void processStateChanged() W_SIGNAL(processStateChanged);
57 void runningChanged() W_SIGNAL(runningChanged);
58 void processErrorChanged() W_SIGNAL(processErrorChanged);
59 void exitCodeChanged() W_SIGNAL(exitCodeChanged);
60 void exitStatusChanged() W_SIGNAL(exitStatusChanged);
61 void standardOutputChanged() W_SIGNAL(standardOutputChanged);
62 void standardErrorChanged() W_SIGNAL(standardErrorChanged);
64 void outputLineReceived(
const QString& line) W_SIGNAL(outputLineReceived, line);
65 void errorLineReceived(
const QString& line) W_SIGNAL(errorLineReceived, line);
67 void lineReceived(
const QString& line,
bool isError)
68 W_SIGNAL(lineReceived, line, isError);
72 void onReadyReadStandardOutput();
73 W_SLOT(onReadyReadStandardOutput);
74 void onReadyReadStandardError();
75 W_SLOT(onReadyReadStandardError);
76 void onStateChanged(QProcess::ProcessState newState);
77 W_SLOT(onStateChanged);
78 void onFinished(
int code, QProcess::ExitStatus status);
80 void onErrorOccurred(QProcess::ProcessError error);
81 W_SLOT(onErrorOccurred);
83 W_PROPERTY(QString, program READ program WRITE setProgram NOTIFY programChanged)
85 QStringList, arguments READ arguments WRITE setArguments NOTIFY argumentsChanged)
87 QString, workingDirectory READ workingDirectory WRITE setWorkingDirectory NOTIFY
88 workingDirectoryChanged)
91 W_PROPERTY(ProcessState, processState READ processState NOTIFY processStateChanged)
92 W_PROPERTY(
bool, running READ running NOTIFY runningChanged)
93 W_PROPERTY(ProcessError, processError READ processError NOTIFY processErrorChanged)
94 W_PROPERTY(
int, exitCode READ exitCode NOTIFY exitCodeChanged)
95 W_PROPERTY(ExitStatus, exitStatus READ exitStatus NOTIFY exitStatusChanged)
96 W_PROPERTY(qint64, processId READ processId NOTIFY started)
99 W_PROPERTY(QString, standardOutput READ standardOutput NOTIFY standardOutputChanged)
100 W_PROPERTY(QString, standardError READ standardError NOTIFY standardErrorChanged)
103 QString m_standardOutput;
104 QString m_standardError;
105 QByteArray m_stdoutBuffer;
106 QByteArray m_stderrBuffer;