Fawkes API Fawkes Development Version
plugin.cpp
1/***************************************************************************
2 * plugin.cpp - Golog++ plugin
3 *
4 * Created: Mon 26 Aug 2019 CEST 15:38
5 * Copyright 2019 Victor Mataré <matare@fh-aachen.de>
6 ****************************************************************************/
7
8/* This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Library General Public License for more details.
17 *
18 * Read the full text in the LICENSE.GPL file in the doc directory.
19 */
20#include "execution_thread.h"
21
22#include <core/plugin.h>
23
24using namespace fawkes;
25
26/** @class GologppPlugin
27 * A plugin to integrate Golog++ into Fawkes.
28 * @author Victor Mataré
29 */
30
31class GologppPlugin : public Plugin
32{
33public:
34 explicit GologppPlugin(Configuration *cfg);
35 virtual ~GologppPlugin() override;
36};
37
38/** Constructor.
39 * Create a thread that runs Golog++.
40 * @param cfg The Fawkes configuration to be used by the plugin.
41 */
43{
44 gpp::GologppThread *exec_thread = new gpp::GologppThread();
45 thread_list.push_back(exec_thread);
46}
47
48GologppPlugin::~GologppPlugin()
49{
50}
51
52PLUGIN_DESCRIPTION("Golog++ Executive")
53EXPORT_PLUGIN(GologppPlugin)
A plugin to integrate Golog++ into Fawkes.
Definition: plugin.cpp:32
GologppPlugin(Configuration *cfg)
Constructor.
Definition: plugin.cpp:42
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.
Main golog++ thread that handles program execution, i.e.
Fawkes library namespace.