salsa 0.7.1
Loading...
Searching...
No Matches
Actor.hh
1#pragma once
2
3#include <csignal>
4
5#include "Object.hh"
6
7namespace Salsa {
16
17class Actor : public Object {
18public:
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
43private:
44 static std::sig_atomic_t msInterrupted;
45};
46
47} // namespace Salsa
virtual int exec()=0
Main function.
virtual ~Actor()
Definition Actor.cc:12
virtual int finish()=0
Last function.
static void interrupted(std::sig_atomic_t sig)
Setter salsa interruption.
Definition Actor.hh:38
virtual int init()=0
First function.
static void signalHandler(int signalNumber)
Setter salsa interruption.
Definition Actor.cc:19
static std::sig_atomic_t msInterrupted
flag if salsa is interrupted
Definition Actor.hh:44
virtual void pipe(void *)=0
Setter for pipe.
static std::sig_atomic_t interrupted()
Returns if salsa is interrupted.
Definition Actor.hh:35