21 #ifndef FAWKES_GOLOGPP_SKILLER_ACTION_EXECUTOR_H
22 #define FAWKES_GOLOGPP_SKILLER_ACTION_EXECUTOR_H
24 #include "action_executor.h"
26 #include <blackboard/interface_listener.h>
27 #include <utils/misc/map_skill.h>
34 class SkillerInterface;
50 const std::string &cfg_prefix);
52 void start(std::shared_ptr<gologpp::Activity> activity)
override;
53 void stop(std::shared_ptr<gologpp::Grounding<gologpp::Action>> activity)
override;
58 const char *
name()
const;
63 void initialize_action_skill_mapping();
64 std::string map_activity_to_skill(std::shared_ptr<gologpp::Activity> activity);
68 const std::string cfg_prefix_;
Class to maintain and perform mapping from actions to skills.
BlackBoard interface listener.
The BlackBoard abstract class.
Interface for configuration handling.
Base class for exceptions in Fawkes.
Base class for all Fawkes BlackBoard interfaces.
SkillerInterface Fawkes BlackBoard Interface.
Abstract class to execute a Golog++ activity.
An exception that is thrown if the given arguments do not match the skill's arguments.
InvalidArgumentException(const char *format,...)
Constructor.
An ActionExecutor that executes an activity using the Skiller.
const char * name() const
Get the name of the executor; mainly used for logging.
SkillerActionExecutor(Logger *logger, BlackBoard *blackboard, Configuration *config, const std::string &cfg_prefix)
Constructor.
void start(std::shared_ptr< gologpp::Activity > activity) override
Start the given activity.
virtual void bb_interface_data_refreshed(Interface *) noexcept override
Update the status of the activity according to the Skiller status.
bool blackboard_owner_
True if this executor is owning its blackboard.
virtual ~SkillerActionExecutor() override
Destructor.
void stop(std::shared_ptr< gologpp::Grounding< gologpp::Action >> activity) override
Stop the activity if it is currently running.
BlackBoard * blackboard_
The blackboard to use to access the skiller.
bool can_execute_activity(std::shared_ptr< gologpp::Activity > activity) const override
Check if we can execute the given activity.
Fawkes library namespace.