view TaskManager/kernel/spe/SpeMail.cc @ 3:2356238ebea7

*** empty log message ***
author gongo
date Tue, 05 Feb 2008 20:22:50 +0900
parents
children 6a77b5e755ab
line wrap: on
line source

#include <stdio.h>
#include "SpeMail.h"
#include "SpeTaskList.h"
#include "SpeExit.h"
#include "error.h"

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

void
SpeMail::read(void)
{

    __debug("SpeMail::read()");
    
    params_addr = connector->mail_read();
    
#ifdef DEBUG
    printf("[SPE] SpeMail:[read] params_addr = 0x%x\n", params_addr);
#endif
}

#ifdef DEBUG
void
SpeMail::exec(void)
{
    printf("SpeMail::exec()\n");
}

void
SpeMail::write(void)
{
    printf("SpeMail::write()\n");
}
#endif

SpeTaskBase*
SpeMail::next(SpeManager *m, SpeTaskBase *p)
{
    delete p;

    __debug("SpeMail::next()");

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