diff options
author | hjk <[email protected]> | 2022-09-30 12:38:51 +0200 |
---|---|---|
committer | hjk <[email protected]> | 2022-09-30 14:38:47 +0000 |
commit | 5ff70b6f9950b00353bcc3887df0c91bd82a5d77 (patch) | |
tree | bc6a07d4332424544cd92cc33c39e41e9f6eb65d | |
parent | 4b1f1cb33502df5ab0597629c95cdce978d6476b (diff) |
ProjectExplorer: Introduce an IDevice::usableAsBuildDevice
Better approach than whitelisting ids from leaf plugins.
Change-Id: Ida7e23d7ea02eb76d7de4049737f2cb0fad2b9d7
Reviewed-by: <[email protected]>
Reviewed-by: Christian Kandeler <[email protected]>
-rw-r--r-- | src/plugins/docker/dockerdevice.cpp | 5 | ||||
-rw-r--r-- | src/plugins/docker/dockerdevice.h | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/devicesupport/desktopdevice.cpp | 5 | ||||
-rw-r--r-- | src/plugins/projectexplorer/devicesupport/desktopdevice.h | 1 | ||||
-rw-r--r-- | src/plugins/projectexplorer/devicesupport/idevice.h | 2 | ||||
-rw-r--r-- | src/plugins/projectexplorer/kitinformation.cpp | 5 |
6 files changed, 15 insertions, 4 deletions
diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index 2abd9ed946e..64d1b1edf6e 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -667,6 +667,11 @@ DeviceEnvironmentFetcher::Ptr DockerDevice::environmentFetcher() const return DeviceEnvironmentFetcher::Ptr(); } +bool DockerDevice::usableAsBuildDevice() const +{ + return true; +} + FilePath DockerDevice::mapToGlobalPath(const FilePath &pathOnDevice) const { if (pathOnDevice.needsDevice()) { diff --git a/src/plugins/docker/dockerdevice.h b/src/plugins/docker/dockerdevice.h index 32997070693..7de2a762829 100644 --- a/src/plugins/docker/dockerdevice.h +++ b/src/plugins/docker/dockerdevice.h @@ -76,6 +76,7 @@ public: ProjectExplorer::DeviceTester *createDeviceTester() const override; ProjectExplorer::DeviceProcessSignalOperation::Ptr signalOperation() const override; ProjectExplorer::DeviceEnvironmentFetcher::Ptr environmentFetcher() const override; + bool usableAsBuildDevice() const override; Utils::FilePath mapToGlobalPath(const Utils::FilePath &pathOnDevice) const override; QString mapToDevicePath(const Utils::FilePath &globalPath) const override; diff --git a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp index 9b21fc0f79d..baee2cd84eb 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp +++ b/src/plugins/projectexplorer/devicesupport/desktopdevice.cpp @@ -126,6 +126,11 @@ QUrl DesktopDevice::toolControlChannel(const ControlChannelHint &) const return url; } +bool DesktopDevice::usableAsBuildDevice() const +{ + return true; +} + bool DesktopDevice::handlesFile(const FilePath &filePath) const { return !filePath.needsDevice(); diff --git a/src/plugins/projectexplorer/devicesupport/desktopdevice.h b/src/plugins/projectexplorer/devicesupport/desktopdevice.h index 8f7de354a2d..b310c73b7d3 100644 --- a/src/plugins/projectexplorer/devicesupport/desktopdevice.h +++ b/src/plugins/projectexplorer/devicesupport/desktopdevice.h @@ -30,6 +30,7 @@ public: DeviceProcessSignalOperation::Ptr signalOperation() const override; DeviceEnvironmentFetcher::Ptr environmentFetcher() const override; QUrl toolControlChannel(const ControlChannelHint &) const override; + bool usableAsBuildDevice() const override; bool handlesFile(const Utils::FilePath &filePath) const override; Utils::Environment systemEnvironment() const override; diff --git a/src/plugins/projectexplorer/devicesupport/idevice.h b/src/plugins/projectexplorer/devicesupport/idevice.h index 06f1e28929d..3e144a9e502 100644 --- a/src/plugins/projectexplorer/devicesupport/idevice.h +++ b/src/plugins/projectexplorer/devicesupport/idevice.h @@ -137,6 +137,8 @@ public: virtual bool isCompatibleWith(const Kit *k) const; virtual QList<Task> validate() const; + virtual bool usableAsBuildDevice() const { return false; } + QString displayType() const; Utils::OsType osType() const; diff --git a/src/plugins/projectexplorer/kitinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp index b5b9f47bc8d..556cade2299 100644 --- a/src/plugins/projectexplorer/kitinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -13,8 +13,6 @@ #include "toolchain.h" #include "toolchainmanager.h" -#include <docker/dockerconstants.h> - #include <utils/algorithm.h> #include <utils/elidinglabel.h> #include <utils/environment.h> @@ -1183,8 +1181,7 @@ private: const DeviceManager *dm = DeviceManager::instance(); for (int i = 0; i < dm->deviceCount(); ++i) { IDevice::ConstPtr device = dm->deviceAt(i); - if (!(device->type() == Constants::DESKTOP_DEVICE_TYPE - || device->type() == Docker::Constants::DOCKER_DEVICE_TYPE)) + if (!device->usableAsBuildDevice()) blackList.append(device->id()); } |