view include/TaskManager/SchedTaskList.h @ 292:2369f477ffbe draft

Document/Cerium_2009.mm
author aaa
date Fri, 05 Jun 2009 18:53:42 +0900
parents a19d3ed4ce5b
children 40db021f6272 cfd20d609ace
line wrap: on
line source

#ifndef INCLUDED_SCHED_TASKLIST
#define INCLUDED_SCHED_TASKLIST

#ifndef INCLUDED_BASE_H_
#  include "base.h"
#endif

#ifndef INCLUDED_SCHEDULER
#  include "Scheduler.h"
#endif

#ifndef INCLUDED_SCHED_TASK_BASE
#  include "SchedTaskBase.h"
#endif

#include "error.h"

class SchedTaskList : public SchedTaskBase {
public:
    /* constructor */
    SchedTaskList(unsigned int addr, Scheduler *sched);

    BASE_NEW_DELETE(SchedTaskList);

    /* variables */
    unsigned int params_addr;
    TaskListPtr list;
    Scheduler *scheduler;

    int flag_renewTaskList;

    /* functions */
    SchedTaskBase* next(Scheduler *, SchedTaskBase *);
    
    /* override functions */
    void read(void);

#ifdef DEBUG
    void exec(void)  { __debug("[SchedTaskList:%s]\n", __FUNCTION__); }
    void write(void) { __debug("[SchedTaskList:%s]\n", __FUNCTION__); }
#endif

};

const int SCHED_TASKLIST_NORMAL = 0;
const int SCHED_TASKLIST_RENEW  = 1;

#endif

extern SchedTaskList* createSchedTaskList(uint32, Scheduler*, int);