17 #ifndef PLUGININTERFACE_H 18 #define PLUGININTERFACE_H 23 #include "abstractgraph.h" 24 #include "abstractmodel.h" 44 #define REGISTER_PLUGIN(CLASSNAME) \ 46 class PG_##CLASSNAME : public QObject, public PluginInterface \ 49 Q_PLUGIN_METADATA(IID "org.evoplex.PluginInterface" \ 50 FILE "metadata.json") \ 51 Q_INTERFACES(evoplex::PluginInterface) \ 53 AbstractPlugin* create() { return new CLASSNAME(); } \ 56 #endif // PLUGININTERFACE_H A common interface for plugins.
Definition: plugininterface.h:31
virtual AbstractPlugin * create()=0
Creates a model/graph object.
Base class for plugins.
Definition: abstractplugin.h:34
Definition: abstractgraph.h:29
virtual ~PluginInterface()=default
Provides the destructor to keep compilers happy.