Mercurial > hg > Members > kono > Cerium
view include/TaskManager/HTask.h @ 293:9f4f99d459aa
add wait_for document
author | e065746@localhost.localdomain |
---|---|
date | Fri, 05 Jun 2009 19:17:16 +0900 |
parents | 5c194c71eca8 |
children | 7075842aa155 |
line wrap: on
line source
#ifndef INCLUDED_HTASK #define INCLUDED_HTASK #ifndef INCLUDED_BASE_H_ # include "base.h" #endif #ifndef INCLUDED_TYPES # include "types.h" #endif #ifndef INCLUDED_TASK # include "Task.h" #endif #ifndef INCLUDED_TASK_QUEUE_INFO # include "TaskQueueInfo.h" #endif class TaskManagerImpl; /*! @class @brief Cerium の Task で、spawn() でキューに格納されて順次実行される。 cpu の指定があれば並列に実行される。 特定の Task を待ち合わせる事が可能。 Task の入出力は dma などで copy される。 */ class HTask : public Task { public: BASE_NEW_DELETE(HTask); TaskQueuePtr wait_me; // List of task waiting for me TaskQueuePtr wait_i; // List of task for which I am waiting void (*post_func)(void *); void *post_arg; CPU_TYPE cpu_type; HTask *next; TaskManagerImpl *mimpl; void spawn(void); void wait_for(HTask *); void set_cpu(CPU_TYPE type); void set_post(void (*func)(void *), void *arg); }; typedef HTask* HTaskPtr; #endif