9 #ifndef RAD_ACTIVITY_PTHREAD_HPP
10 #define RAD_ACTIVITY_PTHREAD_HPP
12 #include <rad/activity.hpp>
14 #include <scxml4cpp/Activity.h>
15 #include <scxml4cpp/Event.h>
33 explicit PthreadActivity(
const std::string&
id,
const int cpu = -1,
const int priotity = -1);
37 virtual void Run() = 0;
40 int SetName(
const std::string& name);
63 std::atomic<bool> m_thread_id_valid;
64 pthread_t m_thread_id;
68 static void* RunWrapper(
void* arg);
73 #endif // RAD_ACTIVITY_PTHREAD_HPP
void SetConfiguredCPU(const int cpu)
Definition: pthreadActivity.cpp:307
std::string GetName()
Definition: pthreadActivity.cpp:238
void SetConfiguredPriority(const int priority)
Definition: pthreadActivity.cpp:349
int GetPriority()
Definition: pthreadActivity.cpp:315
PthreadActivity(const std::string &id, const int cpu=-1, const int priotity=-1)
Definition: pthreadActivity.cpp:31
pthread_t GetNativeHandle() const override
Definition: pthreadActivity.cpp:48
int GetCPU() const
Definition: pthreadActivity.cpp:290
int GetConfiguredPriority() const
Definition: pthreadActivity.cpp:340
virtual ~PthreadActivity()
Definition: pthreadActivity.cpp:43
void JoinThread() override
Definition: pthreadActivity.cpp:204
int GetConfiguredCPU() const
Definition: pthreadActivity.cpp:298
void StartThread() override
Disable assignment operator.
Definition: pthreadActivity.cpp:56
bool IsThreadJoined() const override
Definition: pthreadActivity.cpp:196
Definition: pthreadActivity.hpp:31
PthreadActivity & operator=(const PthreadActivity &)=delete
Disable copy constructor.
Definition: activity.hpp:39
int SetName(const std::string &name)
Definition: pthreadActivity.cpp:261