annotate TaskManager/kernel/schedule/TaskGroup.h @ 468:796f72cb21d9 draft

test_nogl on Mac OS X worked.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Fri, 02 Oct 2009 16:40:43 +0900
parents 0251d06467de
children bf2d2625485e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
1 #ifndef INCLUDED_TASK_GROUP
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
2 #define INCLUDED_TASK_GROUP
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
3
307
3fc86ddf5d1c clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
4 #include "base.h"
3fc86ddf5d1c clean up include
Shinji KONO <kono@ie.u-ryukyu.ac.jp>
parents: 109
diff changeset
5 #include "TaskQueue.h"
109
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
6
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
7 class TaskGroup {
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
8 public:
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
9 TaskGroup(void): group(NULL) {}
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
10
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
11 BASE_NEW_DELETE(TaskGroup);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
12
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
13 unsigned int command;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
14 TaskQueuePtr group;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
15
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
16 /**
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
17 * 待つ Task を追加
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
18 */
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
19 void add(TaskPtr add_task);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
20
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
21 /**
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
22 * 終了した Task を group から削除
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
23 */
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
24 void remove(TaskPtr delete_task);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
25
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
26 /**
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
27 * 空 (待つタスクが無い) の時が、この TaskGroup が持つ、
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
28 * PPE に送るべきコマンドを返す。
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
29 * まだ待つべきタスクがある場合は 0 を返す
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
30 */
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
31 unsigned int status(void);
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
32 };
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
33
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
34 typedef TaskGroup* TaskGroupPtr;
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
35
028ffc9c0375 Cerium cvs version
gongo@gendarme.local
parents:
diff changeset
36 #endif