view include/TaskManager/Scheduler.h @ 42:aa11038dbdc1

*** empty log message ***
author gongo
date Thu, 14 Feb 2008 18:27:37 +0900
parents
children 7927e00fb8e2
line wrap: on
line source

#ifndef INCLUDED_SCHEDULER
#define INCLUDED_SCHEDULER

#ifndef INCLUDED_TASK
#  include "task.h"
#endif

#ifndef INCLUDED_DMA_MANAGER
#  include "DmaManager.h"
#endif

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

class SchedTaskBase;

class Scheduler {
public:
    virtual ~Scheduler(void) {}

    /* variables */
    TaskListPtr listBuf[2];
    void *readBuf[2];
    void *writeBuf[2];
    int listBufFlg;
    int readBufFlg;
    int writeBufFlg;

    DmaManager* connector;
    
    SchedTaskBase* task1;
    SchedTaskBase* task2;
    SchedTaskBase* task3;

    /* functions */
    void init(void);
    void run(void);
    virtual void init_impl(void) = 0;
    virtual void finish(void) = 0;

    TaskListPtr get_curListBuf(void);
    void* get_curReadBuf(void);
    void* get_curWriteBuf(void);
};

#endif