Mercurial > hg > Members > kono > Cerium
view include/TaskManager/TaskManagerImpl.h @ 201:b257e27d995c
add SceneGraphIterator
author | gongo@gendarme.cr.ie.u-ryukyu.ac.jp |
---|---|
date | Mon, 26 Jan 2009 16:46:59 +0900 |
parents | 5c194c71eca8 |
children | 7075842aa155 |
line wrap: on
line source
#ifndef INCLUDED_TASK_MANAGER_IMPL #define INCLUDED_TASK_MANAGER_IMPL #ifndef INCLUDED_MAIL_MANAGER # include "MailManager.h" #endif #ifndef INCLUDED_BUFFER_MANAGER # include "BufferManager.h" #endif #ifndef INCLUDED_LIST_DATA # include "ListData.h" #endif class TaskManagerImpl { public: /* constructor */ TaskManagerImpl(int num = 1); virtual ~TaskManagerImpl(void) {} /* variables */ int machineNum; TaskQueuePtr activeTaskQueue; TaskQueuePtr waitTaskQueue; BufferManager *bufferManager; /* functions */ // system virtual void init(void) = 0; virtual void run(void) = 0; virtual void append_activeTask(HTaskPtr); virtual void append_waitTask(HTaskPtr); void check_task_finish(HTaskPtr task); void notify_wait_taskQueue(HTaskPtr depend, TaskQueuePtr list); TaskQueuePtr remove_taskQueue(TaskQueuePtr list, TaskQueuePtr task); TaskQueuePtr remove_taskQueue_eq_task(TaskQueuePtr list, HTaskPtr task); void remove_taskQueue_all(TaskQueuePtr list); void wakeup_waitTask(void); void systask_init(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); virtual void* allocate(int size) = 0; }; #endif