8 #ifndef RAD_ACTIVITY_HPP
9 #define RAD_ACTIVITY_HPP
11 #include <scxml4cpp/Activity.h>
41 using Activity::Activity;
47 void start()
override;
61 int SetName(
const std::string& name);
71 inline bool IsStopRequested()
const {
return m_stop_requested.load(std::memory_order_acquire); }
82 std::atomic<bool> m_stop_requested;
101 class ThreadActivity :
public ThreadBaseActivity {
108 virtual void Run() = 0;
119 std::thread m_thread;
124 #endif // RAD_ACTIVITY_HPP
virtual pthread_t GetNativeHandle() const =0
virtual void StartThread()=0
std::string GetName() const
Definition: activity.cpp:71
Definition: Activity.h:39
virtual bool IsThreadJoined() const =0
int SetName(const std::string &name)
Definition: activity.cpp:90
ThreadActivity(const ThreadActivity &)=delete
void StartThread() override
Definition: activity.cpp:43
void JoinThread() override
Definition: activity.cpp:57
ThreadBaseActivity(ThreadBaseActivity const &)=delete
virtual void JoinThread()=0
bool IsThreadJoined() const override
Definition: activity.cpp:35
void stop() override
Definition: activity.cpp:29
pthread_t GetNativeHandle() const override
Definition: activity.cpp:113
void start() override
Definition: activity.cpp:23
ThreadActivity & operator=(const ThreadActivity &)=delete
bool IsStopRequested() const
To be implemented by child classes.
Definition: activity.hpp:71