24 #ifndef _GEMA_PLUGIN_LOADER_H_ 25 #define _GEMA_PLUGIN_LOADER_H_ 29 #include <QStringList> 49 bool loadPluginList();
51 void printPluginVersionInfo(
const GmLogCategory& logger,
bool printDep);
55 bool hasCategory(
QString cat)
const;
132 T* tobj = dynamic_cast<T*>(obj);
138 assert(ret); Q_UNUSED(ret);
bool(U::* UMember)(T *obj)
Typedef for a member of U that receives an object 'obj' of type T* and inserts 'obj' in the U object,...
Definition: gmPluginLoader.h:115
const QMap< QString, GmPluginInfo * > & pluginMap() const
Returns a map with available plugin names and their information object.
Definition: gmPluginLoader.h:74
const GmLogCategory & logger()
Returns a reference to the internal logger used to emit error messages.
Definition: gmPluginLoader.h:71
virtual bool addObject(GmPluginObject *obj)
Virtual function used to add the object to its destination.
Definition: gmPluginLoader.h:125
QMap< QString, GmPluginInfo * > _pluginDataAliasMap
Map associating plugin data aliases with their corresponding plugins.
Definition: gmPluginLoader.h:91
GmLogCategory _logger
Logger object for plugin handling.
Definition: gmPluginLoader.h:93
Base class used to store information about a generic plugin.
Definition: gmPluginInfo.h:38
QMap< QString, GmPluginInfo * > _pluginInfoMap
Map associating plugin names with their information.
Definition: gmPluginLoader.h:87
Factory class exported by every plugin object.
Definition: gmPluginObjectFactory.h:36
QVector< QPluginLoader * > _pluginInstanceList
List storing the same pointers as _pluginInstanceMap, but in their load order.
Definition: gmPluginLoader.h:89
U * _containerObj
The object to which the data will be added.
Definition: gmPluginLoader.h:143
QMap< QString, QString > _revisionMap
Map associating plugin/library paths with their revisions.
Definition: gmPluginLoader.h:90
Auxiliar class used to store the complete set of simulation data.
Definition: gmSimulationData.h:51
QStringList _pathList
List of paths where plugins will be searched.
Definition: gmPluginLoader.h:86
GmPluginLoaderObjMemberAdder(U *obj, UMember f)
Constructor. Receives as parameters the container and the member function used to add an object to it...
Definition: gmPluginLoader.h:120
Class responsible for managing discovery and loading of plugins.
Definition: gmPluginLoader.h:42
Especialization of GmPluginLoaderAdder to add objects to a container 'U' by calling one member functi...
Definition: gmPluginLoader.h:109
Base interface class for all object plugins.
Definition: gmPluginObject.h:36
const QMap< QString, GmPluginInfo * > & pluginDataAliasMap() const
Returns a map with registered plugin data alias names and their information object.
Definition: gmPluginLoader.h:77
#define GMC_API_EXPORT
Macro for controling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_LI...
Definition: gmCoreConfig.h:35
Class representing a category with multiple logging levels.
Definition: gmLog.h:58
UMember _containerFunc
The method from _containerObj that will be called to add data to it.
Definition: gmPluginLoader.h:144
Auxiliar class used to add objects parsed by GmPluginLoader::loadPluginObjectList() to it's destiny.
Definition: gmPluginLoader.h:97
QMap< QString, QPluginLoader * > _pluginInstanceMap
Map associating plugin names with their implementation.
Definition: gmPluginLoader.h:88
Declaration of support functions and macros for information logging.