24#ifndef _GEMA_PLUGIN_LOADER_H_
25#define _GEMA_PLUGIN_LOADER_H_
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);
Class representing a category with multiple logging levels.
Definition gmLog.h:58
Base class used to store information about a generic plugin.
Definition gmPluginInfo.h:39
Auxiliar class used to add objects parsed by GmPluginLoader::loadPluginObjectList() to it's destiny.
Definition gmPluginLoader.h:98
virtual bool addObject(GmPluginObject *obj)=0
Virtual function used to add the object to its destination.
Class responsible for managing discovery and loading of plugins.
Definition gmPluginLoader.h:43
QVector< QPluginLoader * > _pluginInstanceList
List storing the same pointers as _pluginInstanceMap, but in their load order.
Definition gmPluginLoader.h:89
QMap< QString, QPluginLoader * > _pluginInstanceMap
Map associating plugin names with their implementation.
Definition gmPluginLoader.h:88
QMap< QString, QString > _revisionMap
Map associating plugin/library paths with their revisions.
Definition gmPluginLoader.h:90
QStringList _pathList
List of paths where plugins will be searched.
Definition gmPluginLoader.h:86
const QMap< QString, GmPluginInfo * > & pluginMap() const
Returns a map with available plugin names and their information object.
Definition gmPluginLoader.h:74
const QMap< QString, GmPluginInfo * > & pluginDataAliasMap() const
Returns a map with registered plugin data alias names and their information object.
Definition gmPluginLoader.h:77
GmLogCategory _logger
Logger object for plugin handling.
Definition gmPluginLoader.h:93
QMap< QString, GmPluginInfo * > _pluginDataAliasMap
Map associating plugin data aliases with their corresponding plugins.
Definition gmPluginLoader.h:91
QMap< QString, GmPluginInfo * > _pluginInfoMap
Map associating plugin names with their information.
Definition gmPluginLoader.h:87
const GmLogCategory & logger()
Returns a reference to the internal logger used to emit error messages.
Definition gmPluginLoader.h:71
Especialization of GmPluginLoaderAdder to add objects to a container 'U' by calling one member functi...
Definition gmPluginLoader.h:110
U * _containerObj
The object to which the data will be added.
Definition gmPluginLoader.h:143
UMember _containerFunc
The method from _containerObj that will be called to add data to it.
Definition gmPluginLoader.h:144
virtual bool addObject(GmPluginObject *obj)
Virtual function used to add the object to its destination.
Definition gmPluginLoader.h:125
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
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
Factory class exported by every plugin object.
Definition gmPluginObjectFactory.h:37
Base interface class for all object plugins.
Definition gmPluginObject.h:37
Auxiliar class used to store the complete set of simulation data.
Definition gmSimulationData.h:55
#define GMC_API_EXPORT
Macro for controlling if the class is being exported (GEMA_CORE_LIB defined) or imported (GEMA_CORE_L...
Definition gmCoreConfig.h:35
Declaration of support functions and macros for information logging.