ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Activity.hpp
Go to the documentation of this file.
1 
9 #ifndef RAD_ACTIVITY_HPP
10 #define RAD_ACTIVITY_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 <string>
19 #include <thread>
20 
21 namespace rad {
22 
31 {
32 public:
33  Activity(const std::string& id, rad::SMAdapter& sm);
34  virtual ~Activity();
35 
36  virtual void start();
37  virtual void stop();
38  virtual void run() = 0;
39 
40  std::string GetName();
41  int SetName(const std::string& name);
42 
43  pthread_t GetPThread();
44 
46 
47  Activity(const Activity&) = delete;
48  Activity& operator= (const Activity&) = delete;
49 
50 private:
51  std::thread mThread;
52  rad::SMAdapter& mSM;
53 };
54 
55 } // namespace rad
56 
57 #endif
int SetName(const std::string &name)
Definition: Activity.cpp:107
Definition: Activity.hpp:30
Activity(const std::string &id, rad::SMAdapter &sm)
Definition: Activity.cpp:26
Definition: Activity.h:40
virtual ~Activity()
Definition: Activity.cpp:36
void TriggerInternalEvent(UniqueEvent &&e)
Definition: Activity.cpp:139
pthread_t GetPThread()
Definition: Activity.cpp:128
Definition: SMAdapter.hpp:43
std::unique_ptr< AnyEvent > UniqueEvent
Definition: AnyEvent.hpp:48
virtual void stop()
Definition: Activity.cpp:65
virtual void start()
Definition: Activity.cpp:44
Activity & operator=(const Activity &)=delete
Disable copy constructor.
std::string GetName()
Definition: Activity.cpp:89
virtual void run()=0
optional string name
Definition: topics.proto:50