From 199d08641999b8d0226a943dc7e99c142f605e17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Mon, 7 Sep 2015 19:29:20 +0200 Subject: [PATCH] Trade: provide access to plugin manager in AbstractImageConverter. Similarly to what is done in AbstractImporter, allows me to implement AnyImageConverter plugin. --- src/Magnum/Trade/AbstractImageConverter.cpp | 4 +++- src/Magnum/Trade/AbstractImageConverter.h | 7 +++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Magnum/Trade/AbstractImageConverter.cpp b/src/Magnum/Trade/AbstractImageConverter.cpp index f38203328..a3430c206 100644 --- a/src/Magnum/Trade/AbstractImageConverter.cpp +++ b/src/Magnum/Trade/AbstractImageConverter.cpp @@ -35,7 +35,9 @@ namespace Magnum { namespace Trade { AbstractImageConverter::AbstractImageConverter() = default; -AbstractImageConverter::AbstractImageConverter(PluginManager::AbstractManager& manager, std::string plugin): AbstractPlugin(manager, std::move(plugin)) {} +AbstractImageConverter::AbstractImageConverter(PluginManager::Manager& manager): PluginManager::AbstractManagingPlugin{manager} {} + +AbstractImageConverter::AbstractImageConverter(PluginManager::AbstractManager& manager, std::string plugin): PluginManager::AbstractManagingPlugin{manager, std::move(plugin)} {} std::optional AbstractImageConverter::exportToImage(const ImageView2D& image) const { CORRADE_ASSERT(features() & Feature::ConvertImage, diff --git a/src/Magnum/Trade/AbstractImageConverter.h b/src/Magnum/Trade/AbstractImageConverter.h index d7630867f..65bb37dfb 100644 --- a/src/Magnum/Trade/AbstractImageConverter.h +++ b/src/Magnum/Trade/AbstractImageConverter.h @@ -29,7 +29,7 @@ * @brief Class @ref Magnum::Trade::AbstractImageConverter */ -#include +#include #include "Magnum/Magnum.h" #include "Magnum/visibility.h" @@ -64,7 +64,7 @@ checked by the implementation: Plugin interface string is `"cz.mosra.magnum.Trade.AbstractImageConverter/0.2.1"`. */ -class MAGNUM_EXPORT AbstractImageConverter: public PluginManager::AbstractPlugin { +class MAGNUM_EXPORT AbstractImageConverter: public PluginManager::AbstractManagingPlugin { CORRADE_PLUGIN_INTERFACE("cz.mosra.magnum.Trade.AbstractImageConverter/0.2.1") public: @@ -110,6 +110,9 @@ class MAGNUM_EXPORT AbstractImageConverter: public PluginManager::AbstractPlugin /** @brief Default constructor */ explicit AbstractImageConverter(); + /** @brief Constructor with access to plugin manager */ + explicit AbstractImageConverter(PluginManager::Manager& manager); + /** @brief Plugin manager constructor */ explicit AbstractImageConverter(PluginManager::AbstractManager& manager, std::string plugin);