salsa  0.3.0
 All Classes Functions Variables Enumerations Pages
Actor.hh
1 #pragma once
2 
3 #include <csignal>
4 
5 #include <Object.hh>
6 
7 namespace Salsa {
16 
17 class Actor : public Object {
18 public:
19  Actor();
20  virtual ~Actor();
21 
23  virtual void pipe(void *) = 0;
24 
26  virtual int init() = 0;
27 
29  virtual int exec() = 0;
30 
32  virtual int finish() = 0;
33 
35  static std::sig_atomic_t interrupted() { return msInterrupted; }
36 
38  static void interrupted(std::sig_atomic_t sig) { msInterrupted = sig; }
39 
41  static void signalHandler(int signalNumber);
42 
43 private:
44  static std::sig_atomic_t msInterrupted;
45 };
46 
47 } // namespace Salsa
virtual ~Actor()
Definition: Actor.cc:12
static void signalHandler(int signalNumber)
Setter salsa interruption.
Definition: Actor.cc:19
virtual int finish()=0
Last function.
virtual int exec()=0
Main function.
virtual void pipe(void *)=0
Setter for pipe.
static std::sig_atomic_t msInterrupted
flag if salsa is interrupted
Definition: Actor.hh:44
Base salsa actor class.
Definition: Actor.hh:17
static void interrupted(std::sig_atomic_t sig)
Setter salsa interruption.
Definition: Actor.hh:38
Base Salsa Object class.
Definition: Object.hh:15
static std::sig_atomic_t interrupted()
Returns if salsa is interrupted.
Definition: Actor.hh:35
virtual int init()=0
First function.