23 #ifndef _PLUGINS_ECLIPSE_CLP_ECLIPSE_THREAD_H_
24 #define _PLUGINS_ECLIPSE_CLP_ECLIPSE_THREAD_H_
26 #include <aspect/blackboard.h>
27 #include <aspect/configurable.h>
28 #include <aspect/logging.h>
29 #include <core/threading/mutex.h>
30 #include <core/threading/thread.h>
32 #include <eclipseclass.h>
61 bool load_file(
const char *filename);
68 std::string graph_path;
70 EC_ref ec_yield_reason;
This thread creates an ECLiPSe context in which the ECLiPSe interpreter and the program are loaded.
virtual void finalize()
Finalize the thread.
static EclipseAgentThread * instance()
Get the EclipseAgentThread instance.
void post_event(const char *)
Post an event to the ECLiPSe context.
fawkes::Logger * get_logger()
Get the logger.
virtual void init()
Initialize the thread.
virtual void loop()
Code to execute in the thread.
virtual ~EclipseAgentThread()
Destructor.
virtual void once()
Execute an action exactly once.
EclipseAgentThread()
Constructor.
Thread aspect to access to BlackBoard.
Thread aspect to access configuration data.
Thread aspect to log output.
Mutex mutual exclusion lock.
Thread class encapsulation of pthreads.
Fawkes library namespace.