22 #ifndef __PLUGINS_PLEXIL_SKILL_ADAPTER_H_
23 #define __PLUGINS_PLEXIL_SKILL_ADAPTER_H_
25 #include <blackboard/blackboard.h>
26 #include <blackboard/interface_listener.h>
27 #include <config/config.h>
28 #include <interfaces/SkillerInterface.h>
29 #include <logging/logger.h>
31 #include <InterfaceAdapter.hh>
36 class ActionSkillMapping;
46 pugi::xml_node
const xml);
80 std::vector<skill_argument> args;
81 std::string template_str;
84 std::string format_skillstring(
const std::vector<PLEXIL::Value> &values);
85 std::string map_skillstring(
const std::string & name,
86 const skill_config & skill_config,
87 const std::vector<PLEXIL::Value> &values);
88 void call_skill(
const std::string &skill_string, PLEXIL::Command *cmd);
96 std::shared_ptr<fawkes::ActionSkillMapping> action_skill_mapping_;
98 std::mutex exec_mutex_;
100 std::string skill_string_;
101 unsigned int skill_msgid_;
103 PLEXIL::Command *current_cmd_;
105 std::map<std::string, skill_config> cfg_skills_;
109 void initBehaviorEngineAdapter();
Interface adapter to provide logging facilities.
virtual ~BehaviorEnginePlexilAdapter()
Destructor.
void invokeAbort(PLEXIL::Command *cmd)
Abort currently running execution.
virtual bool shutdown()
Shut adapter down.
virtual bool reset()
Reset adapter.
virtual bool initialize()
Initialize adapter.
virtual void bb_interface_data_changed(fawkes::Interface *interface)
BlackBoard data changed notification.
void executeCommand(PLEXIL::Command *cmd)
Perform given command.
virtual bool start()
Start adapter.
virtual bool stop()
Stop adapter.
BehaviorEnginePlexilAdapter(PLEXIL::AdapterExecInterface &execInterface)
Constructor.
BlackBoard interface listener.
The BlackBoard abstract class.
Interface for configuration handling.
Base class for all Fawkes BlackBoard interfaces.
SkillerInterface Fawkes BlackBoard Interface.
Fawkes library namespace.
Specify a skill argument.
std::string name
Name of skill argument.
PLEXIL::ValueType type
Expected type of skill argument.