aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/baremetal/idebugserverprovider.h
diff options
context:
space:
mode:
authorDenis Shienkov <[email protected]>2019-11-18 19:06:17 +0300
committerDenis Shienkov <[email protected]>2019-11-19 10:47:44 +0000
commitcab228d05afa6b2f1bc37d9aa9c2e11efd93ba2d (patch)
treef0572061eeccc0ab8273ec4b02035fcf3a706c42 /src/plugins/baremetal/idebugserverprovider.h
parentcc85cdf8d1631ca821d16c0d75b2438f0332822d (diff)
BareMetal: Continue minimize dependency from GDB engine
The BareMetalDevice and the BareMetalDebugSupport classes should not know anything about the specific implementation of the providers. For this purpose, we just extend a providers by a new virtual methods which are should be overridden for a concrete provider. Change-Id: Ic5fef49f6b79e0ee7e8c4c386b4ed36cb5346dc1 Reviewed-by: hjk <[email protected]>
Diffstat (limited to 'src/plugins/baremetal/idebugserverprovider.h')
-rw-r--r--src/plugins/baremetal/idebugserverprovider.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/src/plugins/baremetal/idebugserverprovider.h b/src/plugins/baremetal/idebugserverprovider.h
index 21416587856..78d414d7e05 100644
--- a/src/plugins/baremetal/idebugserverprovider.h
+++ b/src/plugins/baremetal/idebugserverprovider.h
@@ -40,6 +40,17 @@ class QLabel;
class QLineEdit;
QT_END_NAMESPACE
+namespace Debugger {
+class DebuggerRunTool;
+}
+
+namespace ProjectExplorer {
+class IDevice;
+class RunControl;
+class DeviceProcess;
+}
+
+
namespace BareMetal {
namespace Internal {
@@ -68,8 +79,18 @@ public:
virtual QVariantMap toMap() const;
+ virtual bool aboutToRun(Debugger::DebuggerRunTool *runTool,
+ QString &errorMessage) const = 0;
+ virtual void addTargetRunner(Debugger::DebuggerRunTool *runTool,
+ ProjectExplorer::RunControl *runControl) const = 0;
+ virtual void updateDevice(ProjectExplorer::IDevice *dev) const = 0;
+
virtual bool isValid() const = 0;
- virtual bool hasProcess() const { return false; }
+
+ virtual bool canCreateProcess() const { return false; }
+ virtual ProjectExplorer::DeviceProcess *createProcess(
+ const QSharedPointer<const ProjectExplorer::IDevice> &,
+ QObject *) const { return nullptr; }
void registerDevice(BareMetalDevice *device);
void unregisterDevice(BareMetalDevice *device);