view 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 source

#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