aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorhjk <[email protected]>2023-07-14 15:38:02 +0200
committerhjk <[email protected]>2023-07-14 14:06:37 +0000
commitbd24f18dd5f7b54f402379f0f6cfaa231ef2462e (patch)
treee40cd9a3ed6a71c20bbe526b6a625a21b49ff07c
parentbaf5377b60ba388caffecbdc60642e855cb1c47e (diff)
Docker: Simplify plugin definition
Change-Id: If37a8df1292f01f1048549adb135a65fda66a09f Reviewed-by: Marcus Tillmanns <[email protected]>
-rw-r--r--src/plugins/docker/CMakeLists.txt2
-rw-r--r--src/plugins/docker/docker.qbs1
-rw-r--r--src/plugins/docker/dockerplugin.cpp47
-rw-r--r--src/plugins/docker/dockerplugin.h26
4 files changed, 25 insertions, 51 deletions
diff --git a/src/plugins/docker/CMakeLists.txt b/src/plugins/docker/CMakeLists.txt
index b2773c25056..827c78732dc 100644
--- a/src/plugins/docker/CMakeLists.txt
+++ b/src/plugins/docker/CMakeLists.txt
@@ -8,7 +8,7 @@ add_qtc_plugin(Docker
dockerconstants.h
dockerdevice.cpp dockerdevice.h
dockerdevicewidget.cpp dockerdevicewidget.h
- dockerplugin.cpp dockerplugin.h
+ dockerplugin.cpp
dockersettings.cpp dockersettings.h
kitdetector.cpp kitdetector.h
)
diff --git a/src/plugins/docker/docker.qbs b/src/plugins/docker/docker.qbs
index d2e0dd416fd..a2cb29ae9e9 100644
--- a/src/plugins/docker/docker.qbs
+++ b/src/plugins/docker/docker.qbs
@@ -20,7 +20,6 @@ QtcPlugin {
"dockerdevicewidget.cpp",
"dockerdevicewidget.h",
"dockerplugin.cpp",
- "dockerplugin.h",
"dockersettings.cpp",
"dockersettings.h",
"kitdetector.cpp",
diff --git a/src/plugins/docker/dockerplugin.cpp b/src/plugins/docker/dockerplugin.cpp
index a3714f13148..eb4ce5a7468 100644
--- a/src/plugins/docker/dockerplugin.cpp
+++ b/src/plugins/docker/dockerplugin.cpp
@@ -1,16 +1,15 @@
// Copyright (C) 2021 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-#include "dockerplugin.h"
-
#include "dockerapi.h"
#include "dockerconstants.h"
#include "dockerdevice.h"
+#include <extensionsystem/iplugin.h>
+
#include <projectexplorer/projectexplorerconstants.h>
#include <utils/fsengine/fsengine.h>
-#include <utils/qtcassert.h>
using namespace Core;
using namespace ProjectExplorer;
@@ -18,32 +17,34 @@ using namespace Utils;
namespace Docker::Internal {
-class DockerPluginPrivate
+class DockerPlugin final : public ExtensionSystem::IPlugin
{
+ Q_OBJECT
+ Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Docker.json")
+
public:
- ~DockerPluginPrivate()
+ DockerPlugin()
{
- m_deviceFactory.shutdownExistingDevices();
+ FSEngine::registerDeviceScheme(Constants::DOCKER_DEVICE_SCHEME);
}
- DockerDeviceFactory m_deviceFactory;
- DockerApi m_dockerApi;
-};
+private:
+ ~DockerPlugin() final
+ {
+ FSEngine::unregisterDeviceScheme(Constants::DOCKER_DEVICE_SCHEME);
+ m_deviceFactory->shutdownExistingDevices();
+ }
-DockerPlugin::DockerPlugin()
-{
- FSEngine::registerDeviceScheme(Constants::DOCKER_DEVICE_SCHEME);
-}
+ void initialize() final
+ {
+ m_deviceFactory = std::make_unique<DockerDeviceFactory>();
+ m_dockerApi = std::make_unique<DockerApi>();
+ }
-DockerPlugin::~DockerPlugin()
-{
- FSEngine::unregisterDeviceScheme(Constants::DOCKER_DEVICE_SCHEME);
- delete d;
-}
+ std::unique_ptr<DockerDeviceFactory> m_deviceFactory;
+ std::unique_ptr<DockerApi> m_dockerApi;
+};
-void DockerPlugin::initialize()
-{
- d = new DockerPluginPrivate;
-}
+} // Docker::Internal
-} // Docker::Interanl
+#include "dockerplugin.moc"
diff --git a/src/plugins/docker/dockerplugin.h b/src/plugins/docker/dockerplugin.h
deleted file mode 100644
index 267244709d8..00000000000
--- a/src/plugins/docker/dockerplugin.h
+++ /dev/null
@@ -1,26 +0,0 @@
-// Copyright (C) 2021 The Qt Company Ltd.
-// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
-
-#pragma once
-
-#include <extensionsystem/iplugin.h>
-
-namespace Docker::Internal {
-
-class DockerPlugin final : public ExtensionSystem::IPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QtCreatorPlugin" FILE "Docker.json")
-
-public:
- DockerPlugin();
-
-private:
- ~DockerPlugin() final;
-
- void initialize() final;
-
- class DockerPluginPrivate *d = nullptr;
-};
-
-} // Docker::Internal