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