From 53a461c70128fdefbfa02d535a6706a67f9f69d0 Mon Sep 17 00:00:00 2001 From: James Turner Date: Mon, 6 Apr 2026 11:57:29 +0100 Subject: [PATCH] Support for deploying Network Information plugins Issue-Id: https://github.com/linuxdeploy/linuxdeploy-plugin-qt/issues/154 --- src/deployers/CMakeLists.txt | 1 + .../NetworkInformationPluginsDeployer.cpp | 11 ++++++++++ .../NetworkInformationPluginsDeployer.h | 17 +++++++++++++++ src/deployers/PluginsDeployerFactory.cpp | 21 +++++++++++++------ 4 files changed, 44 insertions(+), 6 deletions(-) create mode 100644 src/deployers/NetworkInformationPluginsDeployer.cpp create mode 100644 src/deployers/NetworkInformationPluginsDeployer.h diff --git a/src/deployers/CMakeLists.txt b/src/deployers/CMakeLists.txt index 0833e05..b9b069d 100644 --- a/src/deployers/CMakeLists.txt +++ b/src/deployers/CMakeLists.txt @@ -14,6 +14,7 @@ set(CLASSES LocationPluginsDeployer Multimedia5PluginsDeployer Multimedia6PluginsDeployer + NetworkInformationPluginsDeployer WebEnginePluginsDeployer QmlPluginsDeployer Qt3DPluginsDeployer diff --git a/src/deployers/NetworkInformationPluginsDeployer.cpp b/src/deployers/NetworkInformationPluginsDeployer.cpp new file mode 100644 index 0000000..e922331 --- /dev/null +++ b/src/deployers/NetworkInformationPluginsDeployer.cpp @@ -0,0 +1,11 @@ +#include "NetworkInformationPluginsDeployer.h" + +namespace linuxdeploy { +namespace plugin { +namespace qt { +bool NetworkInformationPluginsDeployer::doDeploy() { + return deployStandardQtPlugins({"networkinformation"}); +} +} // namespace qt +} // namespace plugin +} // namespace linuxdeploy diff --git a/src/deployers/NetworkInformationPluginsDeployer.h b/src/deployers/NetworkInformationPluginsDeployer.h new file mode 100644 index 0000000..1c6c766 --- /dev/null +++ b/src/deployers/NetworkInformationPluginsDeployer.h @@ -0,0 +1,17 @@ +#pragma once + +#include "BasicPluginsDeployer.h" + +namespace linuxdeploy { +namespace plugin { +namespace qt { +class NetworkInformationPluginsDeployer : public BasicPluginsDeployer { +public: + // we can just use the base class's constructor + using BasicPluginsDeployer::BasicPluginsDeployer; + + bool doDeploy() override; +}; +} // namespace qt +} // namespace plugin +} // namespace linuxdeploy diff --git a/src/deployers/PluginsDeployerFactory.cpp b/src/deployers/PluginsDeployerFactory.cpp index 18a9130..b3aa124 100644 --- a/src/deployers/PluginsDeployerFactory.cpp +++ b/src/deployers/PluginsDeployerFactory.cpp @@ -1,23 +1,24 @@ // local headers #include "PluginsDeployerFactory.h" #include "BasicPluginsDeployer.h" -#include "PlatformPluginsDeployer.h" #include "BearerPluginsDeployer.h" #include "GamepadPluginsDeployer.h" #include "LocationPluginsDeployer.h" #include "Multimedia5PluginsDeployer.h" #include "Multimedia6PluginsDeployer.h" -#include "PrintSupportPluginsDeployer.h" +#include "NetworkInformationPluginsDeployer.h" +#include "PlatformPluginsDeployer.h" #include "PositioningPluginsDeployer.h" +#include "PrintSupportPluginsDeployer.h" #include "QmlPluginsDeployer.h" #include "Qt3DPluginsDeployer.h" #include "SqlPluginsDeployer.h" #include "SvgPluginsDeployer.h" #include "TextToSpeechPluginsDeployer.h" -#include "WebEnginePluginsDeployer.h" -#include "XcbglIntegrationPluginsDeployer.h" #include "TlsBackendsDeployer.h" #include "WaylandcompositorPluginsDeployer.h" +#include "WebEnginePluginsDeployer.h" +#include "XcbglIntegrationPluginsDeployer.h" using namespace linuxdeploy::plugin::qt; using namespace linuxdeploy::core::appdir; @@ -51,8 +52,16 @@ std::vector> PluginsDeployerFactory::getDeploye if (moduleName == "network") { if (qtMajorVersion < 6) { return {getInstance(moduleName)}; - } else if (qtMinorVersion >= 2) { - return {getInstance(moduleName)}; + } else { + std::vector> deployers; + if (qtMinorVersion >= 1) { + deployers.push_back( + getInstance(moduleName)); + } + if (qtMinorVersion >= 2) { + deployers.push_back(getInstance(moduleName)); + } + return deployers; } }