Mercurial > hg > Members > kono > Cerium
view TaskManager/kernel/ppe/TaskQueueInfo.h @ 479:5bda98b0b56d
Double Linked List base TaskQueue
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 05 Oct 2009 10:36:37 +0900 |
parents | e083c4ff91c1 |
children | 46464727d825 |
line wrap: on
line source
#ifndef INCLUDED_TASK_QUEUE_INFO #define INCLUDED_TASK_QUEUE_INFO #include "Task.h" #include "TaskQueue.h" class TaskQueueInfo : public TaskQueue { public: /* constructor */ TaskQueueInfo(); ~TaskQueueInfo(); /* functions */ int init(int num); TaskQueuePtr create(Task *task); void free(TaskQueuePtr queue); void addFirst(TaskQueue* e); void addLast(TaskQueue* e); TaskQueue* getFirst(); TaskQueue* getLast(); int remove(TaskQueue* e); TaskQueue* poll(); void moveToFirst(TaskQueue* e); // or use(); TaskQueue* get(int index); TaskQueue* find(Task *task); int empty(); private: /* variables */ TaskQueuePtr taskQueuePool; TaskQueuePtr freeTaskQueue; TaskQueue* first; TaskQueue* last; /* functions */ int extend_pool(int num); void destroy(); }; #endif