#pragma once #include "api/plugin-support.hpp" #include "options/options.hpp" #include #include struct event_handler final { using event_ordinal = IExtension::event_ordinal; struct extension { using ext = std::shared_ptr; using dlg = std::shared_ptr; using m = std::shared_ptr; ext logic; dlg dialog; m metadata; }; void run_events(event_ordinal k, Pose& pose); event_handler(Modules::dylib_list const& extensions); private: using ext_list = std::vector; std::array extension_events; }; struct ext_settings final { static bool is_enabled(const QString& name); ext_settings() = delete; };