blob: 4de3fa56ebbd6195775e29c76ac7c34c88e03f1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#ifndef __TASK_H__
#define __TASK_H__
#ifdef __cplusplus
#include <setjmp.h>
#include "Exceptions.h"
#define TASK_ON_HOLD 0
#define TASK_DONE 1
class Task : public Base {
public:
Task();
virtual ~Task();
virtual String GetName();
int Run();
int GetState();
int Suspend() throw (GeneralException);
void Resume(int) throw (GeneralException);
protected:
virtual int Do();
private:
jmp_buf env;
int state;
bool suspended;
};
#else
#error This only works with a C++ compiler
#endif
#endif
|