view include/TaskManager/SchedTask.h @ 105:3e331f7576a1

*** empty log message ***
author gongo
date Mon, 03 Mar 2008 18:55:28 +0900
parents 504899860e66
children 5c194c71eca8
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:
    typedef SchedTask* (*TaskObject)(TaskListPtr, TaskPtr, void*, void*,
				     DmaManager*);

    /* constructor */
    SchedTask(TaskListPtr, TaskPtr, void*, void*, DmaManager*);

    /* variables */
    TaskListPtr list;
    TaskPtr task;
    void *readbuf;
    void *writebuf;

    DmaManager* connector;

    /* functions */
    SchedTaskBase* next(Scheduler *, SchedTaskBase *);

    // override
    void read(void);
    void exec(void);
    void write(void);

    virtual int run(void* r, void *w) { return 0; }
};

#endif