diff TaskManager/kernel/schedule/TaskGroup.h @ 366:09f33c51a204

rename include/TaskManager/* and add memory
author aaa
date Mon, 27 Jul 2009 15:51:18 +0900
parents include/TaskManager/TaskGroup.h@7075842aa155
children 5bda98b0b56d
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TaskManager/kernel/schedule/TaskGroup.h	Mon Jul 27 15:51:18 2009 +0900
@@ -0,0 +1,36 @@
+#ifndef INCLUDED_TASK_GROUP
+#define INCLUDED_TASK_GROUP
+
+#include "base.h"
+#include "TaskQueue.h"
+
+class TaskGroup {
+public:
+    TaskGroup(void): group(NULL) {}
+
+    BASE_NEW_DELETE(TaskGroup);
+
+    unsigned int command;
+    TaskQueuePtr group;
+
+    /**
+     * 待つ Task を追加
+     */
+    void add(TaskPtr add_task);
+
+    /**
+     * 終了した Task を group から削除
+     */
+    void remove(TaskPtr delete_task);
+
+    /**
+     * 空 (待つタスクが無い) の時が、この TaskGroup が持つ、
+     * PPE に送るべきコマンドを返す。
+     * まだ待つべきタスクがある場合は 0 を返す
+     */
+    unsigned int status(void);
+};
+
+typedef TaskGroup* TaskGroupPtr;
+
+#endif