view TaskManager/kernel/schedule/SchedTaskBase.h @ 713:f725c6455d19

remove SIMPLE_TASK conditional
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Wed, 16 Dec 2009 15:27:46 +0900
parents 56487849ea2d
children 5088d70e66c5
line wrap: on
line source

#ifndef INCLUDED_SCHED_TASK_BASE
#define INCLUDED_SCHED_TASK_BASE

#include "base.h"
#include "Scheduler.h"

class Scheduler;

class SchedTaskBase {
public:
    /* constructor */
    SchedTaskBase(void) {}
    virtual ~SchedTaskBase(void) {}

    BASE_NEW_DELETE(SchedTaskBase);

    // noaction in default
    virtual void load(void)  {}
    virtual void read(void)  {}
    virtual void exec(void)  {}
    virtual void write(void) {}

    /* functions */
    virtual SchedTaskBase* next(Scheduler *, SchedTaskBase*) {return 0;}

    /* variables */

    // Task を実行するスケジューラ自身
    Scheduler *scheduler;

    SimpleTaskPtr task;

    // 現在スケジューラが実行している TaskList と、このタスクに対応する Task
    TaskListPtr list;
    // Task の、Tasklist での位置。(task = &list[cur_index-1])
    int cur_index;


};

#endif