Fawkes API Fawkes Development Version
plugin.cpp
1
2/***************************************************************************
3 * plugin.cpp - Fawkes ECLiPSe CLP Plugin
4 *
5 * Created: Wed Jul 15 11:33:53 2009
6 * Copyright 2009 Daniel Beck
7 *
8 ****************************************************************************/
9
10/* This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation; either version 2 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Library General Public License for more details.
19 *
20 * Read the full text in the LICENSE.GPL file in the doc directory.
21 */
22
23#include "plugin.h"
24
25#include "blackboard_listener_thread.h"
26#include "control_thread.h"
27#include "eclipse_thread.h"
28
29/** @class EclipseCLPPlugin "plugin.h"
30 * The ECLiPSe CLP plugin.
31 * @author Daniel Beck
32 */
33
34using namespace fawkes;
35
36/** Constructor.
37 * @param config the configuration
38 */
40{
41 EclipseAgentThread *eclipse_thread = new EclipseAgentThread();
42 thread_list.push_back(eclipse_thread);
43 thread_list.push_back(new AgentControlThread(eclipse_thread));
45}
46
47PLUGIN_DESCRIPTION("Runs the ECLiPSe CLP interpreter")
48EXPORT_PLUGIN(EclipseCLPPlugin)
This thread controls the agent thread by sending signals.
Keeps a queue of subscribed blackboard events that can be queried in a thread-safe manner.
This thread creates an ECLiPSe context in which the ECLiPSe interpreter and the program are loaded.
The ECLiPSe CLP plugin.
Definition: plugin.h:29
EclipseCLPPlugin(fawkes::Configuration *config)
Constructor.
Definition: plugin.cpp:39
Interface for configuration handling.
Definition: config.h:68
Plugin interface class.
Definition: plugin.h:34
ThreadList thread_list
Thread list member.
Definition: plugin.h:53
void push_back(Thread *thread)
Add thread to the end.
Fawkes library namespace.