46
|
1 #ifndef INCLUDED_BUFFER_MANAGER
|
|
2 #define INCLUDED_BUFFER_MANAGER
|
|
3
|
307
|
4 #include "types.h"
|
|
5 #include "TaskListInfo.h"
|
|
6 #include "TaskQueueInfo.h"
|
|
7 #include "HTaskInfo.h"
|
46
|
8
|
291
|
9 /*!
|
|
10 * Task Input/Output buffer manager
|
|
11 *
|
|
12 */
|
|
13
|
46
|
14 class BufferManager {
|
|
15 public:
|
|
16 /* constructor */
|
|
17 BufferManager(int num = 1);
|
|
18 virtual ~BufferManager(void);
|
|
19
|
|
20 /* variables */
|
63
|
21 TaskListInfo *taskListImpl;
|
|
22 TaskQueueInfo *taskQueueImpl;
|
46
|
23 HTaskInfo *htaskImpl;
|
|
24
|
|
25 int machineNum;
|
|
26
|
|
27 /* function */
|
58
|
28 virtual void init(void);
|
46
|
29
|
109
|
30 // TaskList
|
|
31 TaskListPtr create_taskList(void);
|
|
32 void free_taskList(TaskListPtr);
|
|
33 TaskListPtr clear_taskList(TaskListPtr);
|
|
34
|
|
35 // TaskQueue
|
46
|
36 TaskQueuePtr create_taskQueue(HTaskPtr);
|
|
37 void free_taskQueue(TaskQueuePtr);
|
109
|
38
|
|
39 // HTask
|
|
40 HTaskPtr create_task(int cmd);
|
46
|
41 void free_task(HTaskPtr);
|
|
42
|
|
43
|
|
44 void finish(void);
|
|
45 private:
|
|
46 };
|
|
47
|
|
48 #endif
|