23 #include "action_executor.h"
25 #include <condition_variable>
39 void start(std::shared_ptr<gologpp::Activity> activity)
override;
40 void stop(std::shared_ptr<gologpp::Grounding<gologpp::Action>> activity)
override;
44 std::list<std::future<void>> running_sleeps_;
45 std::mutex cancel_mutex_;
46 std::condition_variable wait_cond_;
Abstract class to execute a Golog++ activity.
A Golog++ action executor that just sleeps for a certain amount of time.
void start(std::shared_ptr< gologpp::Activity > activity) override
Start the given activity.
virtual ~SleepActionExecutor()
Destructor.
bool can_execute_activity(std::shared_ptr< gologpp::Activity > activity) const override
Determine if this executor can execute the given activity.
void stop(std::shared_ptr< gologpp::Grounding< gologpp::Action >> activity) override
Stop the given activity.
SleepActionExecutor(Logger *logger)
Constructor.
Fawkes library namespace.