#ifndef PLUGINREGISTER_H #define PLUGINREGISTER_H #include #include #include #include class QAction; class PluginModule; class PluginRegister { public: using PluginModuleSPtr = std::shared_ptr; using ModuleMap = std::map; static PluginRegister* getInstance(); PluginRegister(); void registerModule(PluginModuleSPtr module); const ModuleMap& modules() const { return m_moduleMap; } const PluginModule* findModule(const QString &module_ident) const; private: ModuleMap m_moduleMap; static PluginRegister* s_pluginRegister; }; #endif // PLUGINREGISTER_H