109
|
1 #ifndef INCLUDED_TASK_GROUP
|
|
2 #define INCLUDED_TASK_GROUP
|
|
3
|
307
|
4 #include "base.h"
|
|
5 #include "TaskQueue.h"
|
109
|
6
|
|
7 class TaskGroup {
|
|
8 public:
|
|
9 TaskGroup(void): group(NULL) {}
|
|
10
|
|
11 BASE_NEW_DELETE(TaskGroup);
|
|
12
|
|
13 unsigned int command;
|
|
14 TaskQueuePtr group;
|
|
15
|
|
16 /**
|
|
17 * 待つ Task を追加
|
|
18 */
|
|
19 void add(TaskPtr add_task);
|
|
20
|
|
21 /**
|
|
22 * 終了した Task を group から削除
|
|
23 */
|
|
24 void remove(TaskPtr delete_task);
|
|
25
|
|
26 /**
|
|
27 * 空 (待つタスクが無い) の時が、この TaskGroup が持つ、
|
|
28 * PPE に送るべきコマンドを返す。
|
|
29 * まだ待つべきタスクがある場合は 0 を返す
|
|
30 */
|
|
31 unsigned int status(void);
|
|
32 };
|
|
33
|
|
34 typedef TaskGroup* TaskGroupPtr;
|
|
35
|
|
36 #endif
|