diff options
author | hjk <[email protected]> | 2023-07-14 15:38:02 +0200 |
---|---|---|
committer | hjk <[email protected]> | 2023-07-14 14:06:37 +0000 |
commit | bd24f18dd5f7b54f402379f0f6cfaa231ef2462e (patch) | |
tree | e40cd9a3ed6a71c20bbe526b6a625a21b49ff07c | |
parent | baf5377b60ba388caffecbdc60642e855cb1c47e (diff) |
Docker: Simplify plugin definition
Change-Id: If37a8df1292f01f1048549adb135a65fda66a09f
Reviewed-by: Marcus Tillmanns <[email protected]>
-rw-r--r-- | src/plugins/docker/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/plugins/docker/docker.qbs | 1 | ||||
-rw-r--r-- | src/plugins/docker/dockerplugin.cpp | 47 | ||||
-rw-r--r-- | src/plugins/docker/dockerplugin.h | 26 |
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 |