aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/webassembly/webassemblydevice.cpp
diff options
context:
space:
mode:
authorhjk <[email protected]>2023-11-24 15:33:31 +0100
committerhjk <[email protected]>2023-12-04 12:16:47 +0000
commite729c37d956d046184f6dcd7db49c68302b4364c (patch)
treedc56491b0058ac34dd5847a7e45a4349d913eb7f /src/plugins/webassembly/webassemblydevice.cpp
parent0afd50aa3361b46069dbe32cfa11286ea950549e (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.cpp60
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