GemaLib
The GeMA library
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
GmSimulationRunner Class Reference

Class responsible for executing a simulation. More...

#include <gmSimulationRunner.h>

Inheritance diagram for GmSimulationRunner:
Inheritance graph
[legend]
Collaboration diagram for GmSimulationRunner:
Collaboration graph
[legend]

Public Member Functions

 GmSimulationRunner (GmSimulationData *data, GmPluginLoader *loader, GmCommServer *server, LuaEnv *env, const QList< LuaEnv * > &workerEnv)
 Constructor. More...
 
 ~GmSimulationRunner ()
 Destructor.
 
GmSimulationResult run ()
 Runs the simulation calling the orchestration script. It also attaches the runner object to the monitor server (if configured) to handle execution control requests.
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
virtual void * qt_metacast (const char *)
 
virtual int qt_metacall (QMetaObject::Call, int, void **)
 
 QObject (QObject *parent)
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectList & children () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 

Private Member Functions

void prepareEnvironment ()
 Prepares the environment for running the simulation. More...
 
void setupMonitorHook ()
 

Static Private Member Functions

static int loadProcessMM (lua_State *L)
 Index metamethod used to fill a process set table with process functions when used for the first time. More...
 
static void lineHook (lua_State *L, lua_Debug *ar)
 

Private Attributes

GmSimulationData_simulationData
 Object storing the complete Simulation information.
 
GmPluginLoader_pluginLoader
 Plugin loader (needed since required processes are found while running the process script)
 
GmCommServer * _server
 The monitor server if this option was enabled.
 
GmLogCategory _logger
 Basic logger object for the library.
 
QList< GmProcess * > _procList
 List of process objects instanced during the script execution.
 
LuaEnv_env
 The environment where the simulation will be runned.
 
const QList< LuaEnv * > & _workerEnvList
 A list with worker thread environments.
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Class responsible for executing a simulation.

Constructor & Destructor Documentation

◆ GmSimulationRunner()

GmSimulationRunner::GmSimulationRunner ( GmSimulationData data,
GmPluginLoader loader,
GmCommServer *  server,
LuaEnv env,
const QList< LuaEnv * > &  workerEnv 
)

Constructor.

Parameters
dataThe complete simulation data
loaderPlugin loader. Needed since process plugins are loaded at "run time" while executing the main process script
serverThe server object if this option was enabled. Needed for monitoring and control of the simulation.
envThe Lua environment where the simulation will be run
workerEnvA list with Lua environments for worker threads

Member Function Documentation

◆ loadProcessMM()

int GmSimulationRunner::loadProcessMM ( lua_State *  L)
staticprivate

Index metamethod used to fill a process set table with process functions when used for the first time.

After "opening" the function list inside the table, removes the index metamethod since no other "open" operation is possible.

◆ prepareEnvironment()

void GmSimulationRunner::prepareEnvironment ( )
private

Prepares the environment for running the simulation.

In particular, this method setups the access for process functions and the loading of plugin processes


The documentation for this class was generated from the following files: