/* Cette classe est le point d'entrée du plugin. C'est elle qui initie la création d'une librairie (.dll ou .so) spécifique au plugin. Sa struture ne change pas d'un plugin à l'autre en dehors de sa dénomination */ // Directives classique c++, permettant d'éviter d'inclure plusieurs fois un même fichier #ifndef TUFR_PLUGINENTRY_H #define TUFR_PLUGINENTRY_H // Inclusion du fichier d'API. Ce fichier est le point le liaison avec plugin_shared // En effet, ce fichier regroupe toutes les déclarations de classes génériques de plugin_shared #include "pluginentryinterface.h" // Inclusion de la classe de gestion d'étapes #include "tufr_pluginmanager.h" // Cette classe hérite de la classe générique PluginEntryInterface de plugin_shared // C'est le cas pour tout plugin d'étapes class TUFR_PluginEntry : public PluginEntryInterface { // Macros Qt. La première donne accès à certaines fonctionnalités Qt utiles // La deuxième permet de déclarer des métadonnées faisant partie du plugin qui instancie cet objet // La troisième permet de créer un plugin sous forme de librairie (.dll, .so) Q_OBJECT Q_PLUGIN_METADATA(IID PluginEntryInterface_iid) Q_INTERFACES(PluginEntryInterface) public: // Constructeur et destructeur TUFR_PluginEntry(); ~TUFR_PluginEntry(); // Permet de versionner les plugins QString getVersion() const; // Lien avec le gestionnaire d'étapes CT_AbstractStepPlugin* getPlugin() const; private: // Gestionnaire d'étapes du plugin TUFR_PluginManager* _pluginManager; }; #endif // TUFR_PLUGINENTRY_H