#ifndef PLUGINLOADER_H #define PLUGINLOADER_H #include "coreSQLiteStudio_global.h" #include #include #include #include class Plugin; class API_EXPORT AbstractPluginLoader { public: virtual ~AbstractPluginLoader(); virtual bool add(QPluginLoader* loader, Plugin* plugin); virtual bool test(Plugin* plugin) = 0; QList getPlugins() const; private: QHash plugins; }; template class PluginLoader : public AbstractPluginLoader { public: bool test(Plugin* plugin) { return (dynamic_cast(plugin) != nullptr); } }; #endif // PLUGINLOADER_H