Mercurial > hg > Members > kono > Cerium
view include/TaskManager/BufferManager.h @ 70:178459e03f5c
*** empty log message ***
author | gongo |
---|---|
date | Mon, 18 Feb 2008 01:13:00 +0900 |
parents | 54355e641172 |
children | 83b57e03d3ef |
line wrap: on
line source
#ifndef INCLUDED_BUFFER_MANAGER #define INCLUDED_BUFFER_MANAGER #ifndef INCLUDED_TASK # include "task.h" #endif #ifndef INCLUDED_TYPES # include "types.h" #endif #ifndef INCLUDED_TASK_LIST_INFO # include "TaskListInfo.h" #endif #ifndef INCLUDED_TASK_QUEUE_INFO # include "TaskQueueInfo.h" #endif #ifndef INCLUDED_HTASK_INFO # include "HTaskInfo.h" #endif #ifndef INCLUDED_DMA_BUFFER # include "DmaBuffer.h" #endif class BufferManager { public: /* constructor */ BufferManager(int num = 1); virtual ~BufferManager(void); /* variables */ TaskListInfo *taskListImpl; TaskQueueInfo *taskQueueImpl; HTaskInfo *htaskImpl; int machineNum; TaskQueuePtr activeTaskQueue; TaskQueuePtr waitTaskQueue; TaskListPtr mainTaskList; /* function */ virtual void init(void); TaskQueuePtr create_taskQueue(HTaskPtr); HTaskPtr create_task(int cmd, int siz, DmaBuffer *in, DmaBuffer *out); void free_taskQueue(TaskQueuePtr); void free_task(HTaskPtr); // task list virtual TaskListPtr get_available_taskList(void); void finish(void); virtual void clear_taskList(void); 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); private: }; #endif