ci_actuator.h
Go to the documentation of this file.
1 
9 #ifndef CI_ACTUATOR_H
10 #define CI_ACTUATOR_H
11 
12 namespace argos {
13  class CCI_Actuator;
14 }
15 
16 #include <argos3/core/config.h>
17 #include <argos3/core/utility/datatypes/datatypes.h>
18 #include <argos3/core/utility/configuration/base_configurable_resource.h>
19 #include <map>
20 
21 #ifdef ARGOS_WITH_LUA
22 extern "C" {
23 #include <lua.h>
24 #include <lualib.h>
25 #include <lauxlib.h>
26 }
27 #endif
28 
29 namespace argos {
30 
35 
36  public:
37 
38  typedef std::map<std::string, CCI_Actuator*, std::less<std::string> > TMap;
39 
40  public:
41 
45  virtual ~CCI_Actuator() {}
46 
54  virtual void Init(TConfigurationNode& t_node) {}
55 
62  virtual void Reset() {}
63 
71  virtual void Destroy() {}
72 
73 #ifdef ARGOS_WITH_LUA
74 
80  virtual void CreateLuaState(lua_State* pt_lua_state) = 0;
81 #endif
82  };
83 
84 }
85 
86 #endif
The basic interface for all actuators.
Definition: ci_actuator.h:34
ticpp::Element TConfigurationNode
The ARGoS configuration XML node.
virtual void Init(TConfigurationNode &t_node)
Initializes the actuator from the XML configuration tree.
Definition: ci_actuator.h:54
std::map< std::string, CCI_Actuator *, std::less< std::string > > TMap
Definition: ci_actuator.h:38
virtual ~CCI_Actuator()
Class destructor.
Definition: ci_actuator.h:45
virtual void Destroy()
Destroys the actuator.
Definition: ci_actuator.h:71
The namespace containing all the ARGoS related code.
Definition: ci_actuator.h:12
This class is the base of all XML-configurable ARGoS interface.
virtual void Reset()
Resets the actuator to the state it had just after Init().
Definition: ci_actuator.h:62