diff options
author | Denis Shienkov <[email protected]> | 2019-11-18 19:06:17 +0300 |
---|---|---|
committer | Denis Shienkov <[email protected]> | 2019-11-19 10:47:44 +0000 |
commit | cab228d05afa6b2f1bc37d9aa9c2e11efd93ba2d (patch) | |
tree | f0572061eeccc0ab8273ec4b02035fcf3a706c42 /src/plugins/baremetal/idebugserverprovider.h | |
parent | cc85cdf8d1631ca821d16c0d75b2438f0332822d (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.h | 23 |
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); |