14 explicit QmlProcess(QObject* parent =
nullptr);
17 bool running()
const {
return state() == Running; }
20 QString program()
const {
return QProcess::program(); }
21 QStringList arguments()
const {
return QProcess::arguments(); }
22 QString workingDirectory()
const {
return QProcess::workingDirectory(); }
23 QProcess::ProcessState processState()
const {
return QProcess::state(); }
24 QProcess::ProcessError processError()
const {
return QProcess::error(); }
25 int exitCode()
const {
return QProcess::exitCode(); }
26 QProcess::ExitStatus exitStatus()
const {
return QProcess::exitStatus(); }
27 qint64 processId()
const {
return QProcess::processId(); }
29 QString standardOutput()
const {
return m_standardOutput; }
30 QString standardError()
const {
return m_standardError; }
40 W_INVOKABLE(clearOutput);
41 void write(
const QString& data);
45 void setProgram(
const QString& program);
46 void setArguments(
const QStringList& arguments);
47 void setWorkingDirectory(
const QString& dir);
50 void started() W_SIGNAL(started);
51 void finished(
int exitCode, QProcess::ExitStatus status)
52 W_SIGNAL(finished, exitCode, status);
54 void programChanged() W_SIGNAL(programChanged);
55 void argumentsChanged() W_SIGNAL(argumentsChanged);
56 void workingDirectoryChanged() W_SIGNAL(workingDirectoryChanged);
57 void processStateChanged() W_SIGNAL(processStateChanged);
58 void runningChanged() W_SIGNAL(runningChanged);
59 void processErrorChanged() W_SIGNAL(processErrorChanged);
60 void exitCodeChanged() W_SIGNAL(exitCodeChanged);
61 void exitStatusChanged() W_SIGNAL(exitStatusChanged);
62 void standardOutputChanged() W_SIGNAL(standardOutputChanged);
63 void standardErrorChanged() W_SIGNAL(standardErrorChanged);
65 void outputLineReceived(
const QString& line) W_SIGNAL(outputLineReceived, line);
66 void errorLineReceived(
const QString& line) W_SIGNAL(errorLineReceived, line);
68 void lineReceived(
const QString& line,
bool isError)
69 W_SIGNAL(lineReceived, line, isError);
73 void onReadyReadStandardOutput();
74 W_SLOT(onReadyReadStandardOutput);
75 void onReadyReadStandardError();
76 W_SLOT(onReadyReadStandardError);
77 void onStateChanged(QProcess::ProcessState newState);
78 W_SLOT(onStateChanged);
79 void onFinished(
int code, QProcess::ExitStatus status);
81 void onErrorOccurred(QProcess::ProcessError error);
82 W_SLOT(onErrorOccurred);
84 W_PROPERTY(QString, program READ program WRITE setProgram NOTIFY programChanged)
86 QStringList, arguments READ arguments WRITE setArguments NOTIFY argumentsChanged)
88 QString, workingDirectory READ workingDirectory WRITE setWorkingDirectory NOTIFY
89 workingDirectoryChanged)
92 W_PROPERTY(ProcessState, processState READ processState NOTIFY processStateChanged)
93 W_PROPERTY(
bool, running READ running NOTIFY runningChanged)
94 W_PROPERTY(ProcessError, processError READ processError NOTIFY processErrorChanged)
95 W_PROPERTY(
int, exitCode READ exitCode NOTIFY exitCodeChanged)
96 W_PROPERTY(ExitStatus, exitStatus READ exitStatus NOTIFY exitStatusChanged)
97 W_PROPERTY(qint64, processId READ processId NOTIFY started)
100 W_PROPERTY(QString, standardOutput READ standardOutput NOTIFY standardOutputChanged)
101 W_PROPERTY(QString, standardError READ standardError NOTIFY standardErrorChanged)
104 QString m_standardOutput;
105 QString m_standardError;
106 QByteArray m_stdoutBuffer;
107 QByteArray m_stderrBuffer;