Details
-
Task
-
Resolution: Fixed
-
P2: Important
-
None
-
None
Description
Aim for minimal and full functional API for ProcessInterface. Preferably like this:
enum class ControlSignal { Terminate, Kill, Interrupt, KickOff }; enum class ProcessSignal { Started, ReadyRead, Done }; class QTCREATOR_UTILS_EXPORT ProcessInterface : public QObject { Q_OBJECT public: ProcessInterface(QObject *parent = nullptr) : QObject(parent) {} signals: void started(qint64 processId, qint64 appMainThreadId = -1); void done(const Utils::ProcessResultData &resultData); void readyReadStandardOutput(const QByteArray &data); void readyReadStandardError(const QByteArray &data); private: virtual void start(const ProcessSetupData &setupData) = 0; virtual qint64 write(const QByteArray &data) = 0; virtual void sendControlSignal(ControlSignal controlSignal) = 0; virtual bool waitForProcessSignal(ProcessSignal processSignal, int msecs) = 0; };
Having such an interface makes ProcessProxyInterface useless, so remove it.