Mercurial > hg > Game > Cerium
diff include/TaskManager/SchedTask.h @ 42:aa11038dbdc1
*** empty log message ***
author | gongo |
---|---|
date | Thu, 14 Feb 2008 18:27:37 +0900 |
parents | |
children | 14a5ca0be17e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/include/TaskManager/SchedTask.h Thu Feb 14 18:27:37 2008 +0900 @@ -0,0 +1,41 @@ +#ifndef INCLUDED_SCHED_TASK +#define INCLUDED_SCHED_TASK + +#ifndef INCLUDED_SCHEDULER +# include "Scheduler.h" +#endif + +#ifndef INCLUDED_SCHED_TASK_BASE +# include "SchedTaskBase.h" +#endif + +class SchedTask : public SchedTaskBase { +public: + /* constructor */ + SchedTask(TaskListPtr, TaskPtr, void*, void*, DmaManager*); + + /* variables */ + TaskListPtr list; + TaskPtr task; + void *readbuf; + void *writebuf; + + DmaManager* connector; + + // work area + // global variable 用とか + // 次の task に引き渡したり + // size : デフォルトで 4k + // ppuから教えてもらう? task に入れる + void (*func)(void *wbuf, void *rbuf); + + /* functions */ + SchedTaskBase* next(Scheduler *, SchedTaskBase *); + + // override + void read(void); + void exec(void); + void write(void); +}; + +#endif