From a6940abc29b7926af33280c873e672fb59ec2d16 Mon Sep 17 00:00:00 2001 From: Jarek Kobus Date: Fri, 29 Apr 2022 13:18:42 +0200 Subject: [PATCH] Implement QdbProcessInterface It's going to replace QdbDeviceProcess. Change-Id: I88d7dc110b71986462894f10ecb18632dcf02669 Reviewed-by: hjk Reviewed-by: --- src/plugins/boot2qt/qdbdevice.cpp | 21 +++++++++++++++++++++ src/plugins/boot2qt/qdbdevice.h | 1 + 2 files changed, 22 insertions(+) diff --git a/src/plugins/boot2qt/qdbdevice.cpp b/src/plugins/boot2qt/qdbdevice.cpp index 9c55aa35176..c7f59337ec2 100644 --- a/src/plugins/boot2qt/qdbdevice.cpp +++ b/src/plugins/boot2qt/qdbdevice.cpp @@ -36,6 +36,7 @@ #include #include +#include #include @@ -49,6 +50,7 @@ #include using namespace ProjectExplorer; +using namespace RemoteLinux; using namespace Utils; namespace Qdb { @@ -74,6 +76,20 @@ public: } }; +class QdbProcessImpl : public LinuxProcessInterface +{ +public: + QdbProcessImpl(const LinuxDevice *linuxDevice) + : LinuxProcessInterface(linuxDevice) {} + ~QdbProcessImpl() { killIfRunning(); } +private: + void sendControlSignal(ControlSignal controlSignal) final + { + QTC_ASSERT(controlSignal != ControlSignal::Interrupt, return); + QTC_ASSERT(controlSignal != ControlSignal::KickOff, return); + runInShell({Constants::AppcontrollerFilepath, {"--stop"}}); + } +}; class DeviceApplicationObserver : public ApplicationLauncher { @@ -172,6 +188,11 @@ QtcProcess *QdbDevice::createProcess(QObject *parent) const return new QdbDeviceProcess(sharedFromThis(), parent); } +ProcessInterface *QdbDevice::createProcessInterface() const +{ + return new QdbProcessImpl(this); +} + void QdbDevice::setSerialNumber(const QString &serial) { m_serialNumber = serial; diff --git a/src/plugins/boot2qt/qdbdevice.h b/src/plugins/boot2qt/qdbdevice.h index 3148cf6fe8a..1e55799614e 100644 --- a/src/plugins/boot2qt/qdbdevice.h +++ b/src/plugins/boot2qt/qdbdevice.h @@ -45,6 +45,7 @@ public: ProjectExplorer::IDeviceWidget *createWidget() final; Utils::QtcProcess *createProcess(QObject *parent) const final; + Utils::ProcessInterface *createProcessInterface() const override; void setSerialNumber(const QString &serial); QString serialNumber() const;