Fawkes API Fawkes Development Version
fawkes::gpp::BBMessageActionExecutor Class Reference

A Golog++ action executor that sends a message to a blackboard interface. More...

Inheritance diagram for fawkes::gpp::BBMessageActionExecutor:

Public Member Functions

 BBMessageActionExecutor (Logger *logger, BlackBoard *blackboard, Configuration *config, const std::string &cfg_prefix)
 Constructor. More...
 
virtual ~BBMessageActionExecutor ()
 Destructor. More...
 
void start (std::shared_ptr< gologpp::Activity > activity) override
 Start the given activity. More...
 
void stop (std::shared_ptr< gologpp::Grounding< gologpp::Action > > activity) override
 Stop the given activity. More...
 
bool can_execute_activity (std::shared_ptr< gologpp::Activity > activity) const override
 Determine if this executor can execute the given activity. More...
 
- Public Member Functions inherited from fawkes::gpp::ActionExecutor
 ActionExecutor (Logger *logger)
 Constructor of an abstract executor. More...
 
virtual void start (std::shared_ptr< gologpp::Activity > activity)=0
 Start the given activity. More...
 
virtual void stop (std::shared_ptr< gologpp::Grounding< gologpp::Action > > activity)=0
 Stop the given activity. More...
 
virtual bool can_execute_activity (std::shared_ptr< gologpp::Activity > activity) const =0
 Determine if this executor can execute the given activity. More...
 

Additional Inherited Members

- Protected Attributes inherited from fawkes::gpp::ActionExecutor
std::shared_ptr< gologpp::Activity > running_activity_
 A pointer to the currently running activity. More...
 
Loggerlogger_
 The logger to use for logging messages. More...
 

Detailed Description

A Golog++ action executor that sends a message to a blackboard interface.

Author
Till Hofmann

Definition at line 36 of file message_action_executor.h.

Constructor & Destructor Documentation

◆ BBMessageActionExecutor()

fawkes::gpp::BBMessageActionExecutor::BBMessageActionExecutor ( Logger logger,
BlackBoard blackboard,
Configuration config,
const std::string &  cfg_prefix 
)

Constructor.

Initializes the executor with all the action mappings specified in the config.

Parameters
loggerA logger to use for logging messages
blackboardThe blackboard to use to send messages to
configThe configuration to read the mapping from
cfg_prefixThe config prefix to use for the message mapping

Definition at line 47 of file message_action_executor.cpp.

◆ ~BBMessageActionExecutor()

fawkes::gpp::BBMessageActionExecutor::~BBMessageActionExecutor ( )
virtual

Destructor.

Clean up and close all interfaces.

Definition at line 58 of file message_action_executor.cpp.

References fawkes::BlackBoard::close().

Member Function Documentation

◆ can_execute_activity()

bool fawkes::gpp::BBMessageActionExecutor::can_execute_activity ( std::shared_ptr< gologpp::Activity >  activity) const
overridevirtual

Determine if this executor can execute the given activity.

Parameters
activityThe activity to execute.
Returns
True iff the given activity can be executed by this executor.

Implements fawkes::gpp::ActionExecutor.

Definition at line 66 of file message_action_executor.cpp.

Referenced by start().

◆ start()

void fawkes::gpp::BBMessageActionExecutor::start ( std::shared_ptr< gologpp::Activity >  activity)
overridevirtual

◆ stop()

void fawkes::gpp::BBMessageActionExecutor::stop ( std::shared_ptr< gologpp::Grounding< gologpp::Action > >  activity)
overridevirtual

Stop the given activity.

The executor is expected to keep track of the currently executed activity. Only stop the activity if the executor is actually executing it. If the given activity is not executed by this executor, do nothing.

Parameters
activityThe activity to stop.

Implements fawkes::gpp::ActionExecutor.

Definition at line 113 of file message_action_executor.cpp.

References fawkes::Logger::log_error(), and fawkes::gpp::ActionExecutor::logger_.


The documentation for this class was generated from the following files: