Fawkes API
Fawkes Development Version
luaagent_plugin.cpp
1
2
/***************************************************************************
3
* luaagent_plugin.h - Fawkes LuaAgent Plugin
4
*
5
* Created: Thu Jan 01 13:00:00 2008
6
* Copyright 2006-2011 Tim Niemueller [www.niemueller.de]
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 "luaagent_plugin.h"
24
25
#include "continuous_exec_thread.h"
26
#include "periodic_exec_thread.h"
27
28
using namespace
fawkes
;
29
30
/** @class LuaAgentPlugin <plugins/luaagent/luaagent_plugin.h>
31
* LuaAgent Plugin.
32
* This plugin runs an agent written in Lua.
33
*
34
* @author Tim Niemueller
35
*/
36
37
/** Constructor.
38
* @param config Fawkes configuration
39
*/
40
LuaAgentPlugin::LuaAgentPlugin
(
Configuration
*config) :
Plugin
(config)
41
{
42
bool
continuous =
false
;
43
try
{
44
continuous =
config
->
get_bool
(
"/luaagent/continuous"
);
45
}
catch
(
Exception
&e) {
46
}
// ignored, use default
47
48
if
(continuous) {
49
thread_list
.
push_back
(
new
LuaAgentContinuousExecutionThread
());
50
}
else
{
51
thread_list
.
push_back
(
new
LuaAgentPeriodicExecutionThread
());
52
}
53
}
54
55
PLUGIN_DESCRIPTION(
"Runs an agent written in Lua"
)
56
EXPORT_PLUGIN(
LuaAgentPlugin
)
fawkes::Plugin::config
Configuration * config
Fawkes configuration.
Definition:
plugin.h:58
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::get_bool
virtual bool get_bool(const char *path)=0
Get value from configuration which is of type bool.
fawkes::Configuration
Interface for configuration handling.
Definition:
config.h:65
LuaAgentPlugin::LuaAgentPlugin
LuaAgentPlugin(fawkes::Configuration *config)
Constructor.
Definition:
luaagent_plugin.cpp:40
fawkes
Fawkes library namespace.
LuaAgentPeriodicExecutionThread
LuaAgent Periodic Execution Thread.
Definition:
periodic_exec_thread.h:60
LuaAgentContinuousExecutionThread
LuaAgent Periodic Execution Thread.
Definition:
continuous_exec_thread.h:62
LuaAgentPlugin
LuaAgent Plugin.
Definition:
luaagent_plugin.h:29
fawkes::Plugin
Plugin interface class.
Definition:
plugin.h:34
fawkes::Exception
Base class for exceptions in Fawkes.
Definition:
exception.h:36
src
plugins
luaagent
luaagent_plugin.cpp
Generated by
1.8.20