ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
ActivityPthread.hpp
Go to the documentation of this file.
1 
9 #ifndef RAD_ACTIVITY_PTHREAD_HPP
10 #define RAD_ACTIVITY_PTHREAD_HPP
11 
12 #include <rad/AnyEvent.hpp>
13 #include <rad/SMAdapter.hpp>
14 
15 #include <scxml4cpp/Activity.h>
16 #include <scxml4cpp/Event.h>
17 
18 #include <pthread.h>
19 
20 #include <string>
21 
22 
23 namespace rad {
24 
33 {
34 public:
35  ActivityPthread(const std::string& id,
36  rad::SMAdapter& sm,
37  const int cpu = -1,
38  const int priotity = -1);
39 
40  virtual ~ActivityPthread();
41 
42  virtual void start();
43  virtual void stop();
44  virtual void run() = 0;
45 
46  std::string GetName();
47  int SetName(const std::string& name);
48 
49  int GetCPU() const;
50  int GetConfiguredCPU() const;
51  int GetPriority();
52  int GetConfiguredPriority() const;
54 
56 
57  ActivityPthread(const ActivityPthread&) = delete;
58  ActivityPthread& operator= (const ActivityPthread&) = delete;
59 
60 private:
61  pthread_t mThreadId;
62  rad::SMAdapter& mSM;
63  int mCPU;
64  int mPriority;
65 
66  static void* RunWrapper(void* arg);
67 };
68 
69 } // namespace rad
70 
71 #endif // RAD_ACTIVITY_PTHREAD_HPP
int GetPriority()
Definition: ActivityPthread.cpp:301
Definition: Activity.h:40
int SetName(const std::string &name)
Definition: ActivityPthread.cpp:255
virtual ~ActivityPthread()
Definition: ActivityPthread.cpp:43
ActivityPthread & operator=(const ActivityPthread &)=delete
Disable copy constructor.
void TriggerInternalEvent(UniqueEvent &&e)
Definition: ActivityPthread.cpp:338
Definition: ActivityPthread.hpp:32
int GetConfiguredPriority() const
Definition: ActivityPthread.cpp:326
Definition: SMAdapter.hpp:43
std::unique_ptr< AnyEvent > UniqueEvent
Definition: AnyEvent.hpp:48
virtual void run()=0
rad::SMAdapter & GetSM()
Definition: ActivityPthread.cpp:357
std::string GetName()
Definition: ActivityPthread.cpp:232
virtual void stop()
Definition: ActivityPthread.cpp:194
virtual void start()
Definition: ActivityPthread.cpp:51
ActivityPthread(const std::string &id, rad::SMAdapter &sm, const int cpu=-1, const int priotity=-1)
Definition: ActivityPthread.cpp:27
int GetConfiguredCPU() const
Definition: ActivityPthread.cpp:292
int GetCPU() const
Definition: ActivityPthread.cpp:283
optional string name
Definition: topics.proto:50