diff options
Diffstat (limited to 'src/plugins/remotelinux/linuxprocessinterface.h')
-rw-r--r-- | src/plugins/remotelinux/linuxprocessinterface.h | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/src/plugins/remotelinux/linuxprocessinterface.h b/src/plugins/remotelinux/linuxprocessinterface.h index 949c5934200..e2a8e82fc8c 100644 --- a/src/plugins/remotelinux/linuxprocessinterface.h +++ b/src/plugins/remotelinux/linuxprocessinterface.h @@ -5,32 +5,35 @@ #include "remotelinux_export.h" -#include "sshprocessinterface.h" +#include "linuxdevice.h" + +#include <utils/processinterface.h> namespace RemoteLinux { -class LinuxDevice; class SshProcessInterfacePrivate; -class REMOTELINUX_EXPORT LinuxProcessInterface : public SshProcessInterface +class REMOTELINUX_EXPORT SshProcessInterface : public Utils::ProcessInterface { public: - LinuxProcessInterface(const LinuxDevice *linuxDevice); - ~LinuxProcessInterface(); + explicit SshProcessInterface(const ProjectExplorer::IDevice::ConstPtr &device); + ~SshProcessInterface(); -private: - void handleSendControlSignal(Utils::ControlSignal controlSignal) override; +protected: + void emitStarted(qint64 processId); + void killIfRunning(); + qint64 processId() const; + bool runInShell(const Utils::CommandLine &command, const QByteArray &data = {}); - void handleStarted(qint64 processId) final; - void handleDone(const Utils::ProcessResultData &resultData) final; - void handleReadyReadStandardOutput(const QByteArray &outputData) final; - void handleReadyReadStandardError(const QByteArray &errorData) final; +private: + virtual void handleSendControlSignal(Utils::ControlSignal controlSignal); - QString fullCommandLine(const Utils::CommandLine &commandLine) const final; + void start() final; + qint64 write(const QByteArray &data) final; + void sendControlSignal(Utils::ControlSignal controlSignal) final; - QByteArray m_output; - QByteArray m_error; - bool m_pidParsed = false; + friend class SshProcessInterfacePrivate; + SshProcessInterfacePrivate *d = nullptr; }; } // namespace RemoteLinux |