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 
24 using namespace fawkes;
25 
26 /** @class GologppPlugin
27  * A plugin to integrate Golog++ into Fawkes.
28  * @author Victor MatarĂ©
29  */
30 
31 class GologppPlugin : public Plugin
32 {
33 public:
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 
48 GologppPlugin::~GologppPlugin()
49 {
50 }
51 
52 PLUGIN_DESCRIPTION("Golog++ Executive")
53 EXPORT_PLUGIN(GologppPlugin)
GologppPlugin::GologppPlugin
GologppPlugin(Configuration *cfg)
Constructor.
Definition: plugin.cpp:42
fawkes::Plugin::thread_list
ThreadList thread_list
Thread list member.
Definition: plugin.h:53
fawkes::ThreadList::push_back
void push_back(Thread *thread)
Add thread to the end.
Definition: thread_list.cpp:773
fawkes::Configuration
Interface for configuration handling.
Definition: config.h:65
fawkes
Fawkes library namespace.
GologppPlugin
A plugin to integrate Golog++ into Fawkes.
Definition: plugin.cpp:32
fawkes::gpp::GologppThread
Main golog++ thread that handles program execution, i.e.
Definition: execution_thread.h:47
fawkes::Plugin
Plugin interface class.
Definition: plugin.h:34