diff TaskManager/Cell/spe/SpeTaskManagerImpl.h @ 621:5b178db5988a

Cell fix
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 15 Nov 2009 03:34:18 +0900
parents 0decff4e867b
children d433fc37587d
line wrap: on
line diff
--- a/TaskManager/Cell/spe/SpeTaskManagerImpl.h	Sun Nov 15 02:05:33 2009 +0900
+++ b/TaskManager/Cell/spe/SpeTaskManagerImpl.h	Sun Nov 15 03:34:18 2009 +0900
@@ -1,29 +1,38 @@
-#ifndef INCLUDED_FIFO_TASK_MANAGER_IMPL
-#define INCLUDED_FIFO_TASK_MANAGER_IMPL
+#ifndef INCLUDED_TASK_MANAGER_IMPL
+#define INCLUDED_TASK_MANAGER_IMPL
 
-#include "TaskManagerImpl.h"
-#include "MainScheduler.h"
-#include "Scheduler.h"
+#include "MailManager.h"
+#include "ListData.h"
+#include "TaskListInfo.h"
+#include "TaskQueueInfo.h"
+#include "HTaskInfo.h"
+class Scheduler;
+class MemList;
 
-class SpeTaskManagerImpl : public TaskManagerImpl {
+
+class TaskManagerImpl {
 public:
-    /* constructor */
-    SpeTaskManagerImpl(int num = 1) : TaskManagerImpl(num) {}
-    ~SpeTaskManagerImpl(void);
+
+    BASE_NEW_DELETE(TaskManagerImpl);
 
     /* variables */
-    CellScheduler *scheduler;
+    SchedTask *schedTaskManager;
+    Scheduler *scheduler;
+
+    /* constructor */
+    TaskManagerImpl(Scheduler *s) { scheduler = s; }
+
+    ~TaskManagerImpl() { }
 
-    /* functions */
-    // call by system
-    void init(void);
-    void run(void);
+    // user
+    HTaskPtr create_task(int cmd);
+    void set_task_depend(HTaskPtr master, HTaskPtr slave);
+    void spawn_task(HTaskPtr);
+    void set_task_cpu(HTaskPtr, CPU_TYPE);
 
-    // call by user
-    int add_data(ListDataPtr, uint32, int);
+    void* allocate(int size);
     void* allocate(int size,int align);
-    void* allocate(int size);
-    Scheduler* get_scheduler();
+    Scheduler* get_scheduler() { return scheduler; };
 };