From 59b11c94a7c3ebb1a8e99cf21554bbdaa0f5507b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20L=C3=BCke?= Date: Fri, 27 Dec 2024 13:53:02 +0100 Subject: [PATCH] hide ManaPlugin constructors --- src/internal/mana_lib.hpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/internal/mana_lib.hpp b/src/internal/mana_lib.hpp index 1ffe603..e2e7990 100644 --- a/src/internal/mana_lib.hpp +++ b/src/internal/mana_lib.hpp @@ -126,8 +126,9 @@ inline nlohmann::json make_array_descriptor(const std::string &name, const std:: return make_array_descriptor(name, mana_float, size, bits); } -struct ManaPlugin +class ManaPlugin { + public: virtual ~ManaPlugin() = default; virtual void init() = 0; @@ -138,6 +139,13 @@ struct ManaPlugin size_t totalBytes) = 0; virtual void process_system_event(const uint32_t *data, size_t size) = 0; + + protected: + ManaPlugin() = default; + + private: + ManaPlugin(const ManaPlugin &) = delete; + ManaPlugin &operator=(const ManaPlugin &) = delete; }; struct ManaCPlugin: public ManaPlugin