view TaskManager/kernel/schedule/SchedMail.cc @ 42:aa11038dbdc1

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

#include "SchedMail.h"
#include "SchedTaskList.h"
#include "SchedExit.h"
#include "error.h"

SchedMail::SchedMail(DmaManager *cn)
{
    connector = cn;
}

void
SchedMail::read(void)
{

    __debug("[SchedMail:%s]\n", __FUNCTION__);
    
    params_addr = connector->mail_read();
    
    __debug("  params_addr = 0x%x\n", params_addr);
}

SchedTaskBase*
SchedMail::next(Scheduler *m, SchedTaskBase *p)
{
    delete p;

    __debug("[SchedMail:%s]\n", __FUNCTION__);

    // if 文なくすには・・・関数ポインタ?
    if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
	return new SchedExit();
    } else {
	return new SchedTaskList(params_addr, m->get_curListBuf(), connector);
    }
}