Go to the documentation of this file.
9 #ifndef RTCTK_COMPONENTFRAMEWORK_THREADACTIVITY_HPP
10 #define RTCTK_COMPONENTFRAMEWORK_THREADACTIVITY_HPP
13 #include <scxml4cpp/Activity.h>
24 std::string
const&
id,
25 std::function<
void(
StopToken st)> activity,
26 std::function<
void()> on_success =
nullptr,
27 std::function<
void(
const std::runtime_error&)> on_failure =
nullptr);
34 void start(scxml4cpp::Context* c)
override;
35 void stop(scxml4cpp::Context* c)
override;
38 std::function<void(
StopToken st)> m_activity_method;
39 std::function<void()> m_success_method;
40 std::function<void(
const std::runtime_error&)> m_failure_method;
43 std::future<void> m_thread_observer;
Definition: rtcComponent.hpp:17
ThreadActivity(const ThreadActivity &)=delete
rad::StopToken StopToken
Definition: stopToken.hpp:16
ThreadActivity & operator=(const ThreadActivity &)=delete
Definition: threadActivity.hpp:20
ThreadActivity(std::string const &id, std::function< void(StopToken st)> activity, std::function< void()> on_success=nullptr, std::function< void(const std::runtime_error &)> on_failure=nullptr)
Definition: threadActivity.cpp:6
void start(scxml4cpp::Context *c) override
Definition: threadActivity.cpp:23
rad::StopSource StopSource
Definition: stopToken.hpp:15
void stop(scxml4cpp::Context *c) override
Definition: threadActivity.cpp:53
~ThreadActivity()
Definition: threadActivity.cpp:19