From 62b51fea62a0fc0bd05e3b078ddd8f0e2b759e5c Mon Sep 17 00:00:00 2001 From: Danila Slesarev Date: Wed, 17 May 2023 20:35:39 +0300 Subject: [PATCH] fix(server/is_plugin_wrapper): added missing requirement: parameter has to be derived from IPluginWrapper --- server/lib/network/Session/Session.cpp | 3 --- server/lib/plugins/PluginsLoader/PluginsLoader.hpp | 2 +- .../lib/plugins/PluginsProvider/PluginsProvider.hpp | 12 +++++++----- .../interfaces/IPluginWrapper/IPluginWrapper.hpp | 1 + 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/server/lib/network/Session/Session.cpp b/server/lib/network/Session/Session.cpp index 7f2023a..d773f68 100644 --- a/server/lib/network/Session/Session.cpp +++ b/server/lib/network/Session/Session.cpp @@ -36,9 +36,6 @@ void Session::do_read() { length - 2, std::ostream_iterator(ss_out)); - // std::istream istrm(&request_buffer); - // std::string result; - // istrm >> result; std::string result = ss_out.str(); request_buffer.consume(length); diff --git a/server/lib/plugins/PluginsLoader/PluginsLoader.hpp b/server/lib/plugins/PluginsLoader/PluginsLoader.hpp index 5597031..ec2eec6 100644 --- a/server/lib/plugins/PluginsLoader/PluginsLoader.hpp +++ b/server/lib/plugins/PluginsLoader/PluginsLoader.hpp @@ -1,7 +1,6 @@ #ifndef PLUGINS_LOADER_H #define PLUGINS_LOADER_H -#include "BasePluginWrapper.hpp" #include "spdlog/common.h" #include "spdlog/spdlog.h" #include @@ -18,6 +17,7 @@ #include #include +#include "IPluginWrapper.hpp" #include "PyExceptionInfo.hpp" template diff --git a/server/lib/plugins/PluginsProvider/PluginsProvider.hpp b/server/lib/plugins/PluginsProvider/PluginsProvider.hpp index d85c5a1..0d8e86c 100644 --- a/server/lib/plugins/PluginsProvider/PluginsProvider.hpp +++ b/server/lib/plugins/PluginsProvider/PluginsProvider.hpp @@ -67,11 +67,13 @@ class PluginsProvider : public IPluginsProvider { auto load_new_plugins() -> void override; private: - PluginsLoader definitions_providers_; - PluginsLoader sentences_providers_; - PluginsLoader images_providers_; - PluginsLoader audios_providers_; - PluginsLoader format_processors_; + std::unique_ptr> + definitions_providers_; + std::unique_ptr> + sentences_providers_; + std::unique_ptr> images_providers_; + std::unique_ptr> audios_providers_; + std::unique_ptr> format_processors_; }; #endif // !PLUGINS_PROVIDER_H diff --git a/server/lib/plugins/wrappers/interfaces/IPluginWrapper/IPluginWrapper.hpp b/server/lib/plugins/wrappers/interfaces/IPluginWrapper/IPluginWrapper.hpp index a48d7c0..8a6030c 100644 --- a/server/lib/plugins/wrappers/interfaces/IPluginWrapper/IPluginWrapper.hpp +++ b/server/lib/plugins/wrappers/interfaces/IPluginWrapper/IPluginWrapper.hpp @@ -29,6 +29,7 @@ class IPluginWrapper { template concept is_plugin_wrapper = + std::derived_from && requires(T instance, const std::string &name, const boost::python::object &module) { -- GitLab