diff options
author | hjk <[email protected]> | 2023-11-24 15:33:31 +0100 |
---|---|---|
committer | hjk <[email protected]> | 2023-12-04 12:16:47 +0000 |
commit | e729c37d956d046184f6dcd7db49c68302b4364c (patch) | |
tree | dc56491b0058ac34dd5847a7e45a4349d913eb7f /src/plugins/webassembly/webassemblydevice.cpp | |
parent | 0afd50aa3361b46069dbe32cfa11286ea950549e (diff) |
WebAssembly: Convert to new plugin setup scheme
Change-Id: I7d5def6084a0cc2cf164a4d72b693b44f8be7005
Reviewed-by: Alessandro Portale <[email protected]>
Diffstat (limited to 'src/plugins/webassembly/webassemblydevice.cpp')
-rw-r--r-- | src/plugins/webassembly/webassemblydevice.cpp | 60 |
1 files changed, 37 insertions, 23 deletions
diff --git a/src/plugins/webassembly/webassemblydevice.cpp b/src/plugins/webassembly/webassemblydevice.cpp index c3f16926310..e2e308ac86a 100644 --- a/src/plugins/webassembly/webassemblydevice.cpp +++ b/src/plugins/webassembly/webassemblydevice.cpp @@ -5,39 +5,53 @@ #include "webassemblydevice.h" #include "webassemblytr.h" +#include <projectexplorer/devicesupport/desktopdevice.h> +#include <projectexplorer/devicesupport/idevicefactory.h> + using namespace ProjectExplorer; using namespace Utils; -namespace WebAssembly { -namespace Internal { +namespace WebAssembly::Internal { -WebAssemblyDevice::WebAssemblyDevice() +class WebAssemblyDevice final : public DesktopDevice { - setupId(IDevice::AutoDetected, Constants::WEBASSEMBLY_DEVICE_DEVICE_ID); - setType(Constants::WEBASSEMBLY_DEVICE_TYPE); - const QString displayNameAndType = Tr::tr("Web Browser"); - settings()->displayName.setDefaultValue(displayNameAndType); - setDisplayType(displayNameAndType); - setDeviceState(IDevice::DeviceStateUnknown); - setMachineType(IDevice::Hardware); - setOsType(OsTypeOther); - setFileAccess(nullptr); -} +public: + WebAssemblyDevice() + { + setupId(IDevice::AutoDetected, Constants::WEBASSEMBLY_DEVICE_DEVICE_ID); + setType(Constants::WEBASSEMBLY_DEVICE_TYPE); + const QString displayNameAndType = Tr::tr("Web Browser"); + settings()->displayName.setDefaultValue(displayNameAndType); + setDisplayType(displayNameAndType); + setDeviceState(IDevice::DeviceStateUnknown); + setMachineType(IDevice::Hardware); + setOsType(OsTypeOther); + setFileAccess(nullptr); + } +}; -IDevice::Ptr WebAssemblyDevice::create() +IDevicePtr createWebAssemblyDevice() { return IDevicePtr(new WebAssemblyDevice); } -WebAssemblyDeviceFactory::WebAssemblyDeviceFactory() - : ProjectExplorer::IDeviceFactory(Constants::WEBASSEMBLY_DEVICE_TYPE) +class WebAssemblyDeviceFactory final : public IDeviceFactory +{ +public: + WebAssemblyDeviceFactory() + : IDeviceFactory(Constants::WEBASSEMBLY_DEVICE_TYPE) + { + setDisplayName(Tr::tr("WebAssembly Runtime")); + setCombinedIcon(":/webassembly/images/webassemblydevicesmall.png", + ":/webassembly/images/webassemblydevice.png"); + setConstructionFunction(&createWebAssemblyDevice); + setCreator(&createWebAssemblyDevice); + } +}; + +void setupWebAssemblyDevice() { - setDisplayName(Tr::tr("WebAssembly Runtime")); - setCombinedIcon(":/webassembly/images/webassemblydevicesmall.png", - ":/webassembly/images/webassemblydevice.png"); - setConstructionFunction(&WebAssemblyDevice::create); - setCreator(&WebAssemblyDevice::create); + static WebAssemblyDeviceFactory theWebAssemblyDeviceFactory; } -} // namespace Internal -} // namespace WebAssembly +} // WebAssembly::Internal |