94
|
1 #include "SchedMail.h"
|
|
2 #include "SchedTaskList.h"
|
|
3 #include "SchedExit.h"
|
|
4 #include "error.h"
|
|
5
|
109
|
6 SchedMail::SchedMail(Scheduler *sched)
|
94
|
7 {
|
109
|
8 scheduler = sched;
|
94
|
9 }
|
|
10
|
|
11 void
|
|
12 SchedMail::read(void)
|
|
13 {
|
|
14
|
|
15 __debug("[SchedMail:%s]\n", __FUNCTION__);
|
|
16
|
109
|
17 params_addr = scheduler->mail_read();
|
94
|
18
|
|
19 __debug(" params_addr = 0x%x\n", params_addr);
|
|
20 }
|
|
21
|
|
22 SchedTaskBase*
|
|
23 SchedMail::next(Scheduler *m, SchedTaskBase *p)
|
|
24 {
|
|
25 delete p;
|
|
26
|
|
27 __debug("[SchedMail:%s]\n", __FUNCTION__);
|
|
28 // if 文なくすには・・・関数ポインタ?
|
|
29 if ((int)params_addr == MY_SPE_COMMAND_EXIT) {
|
|
30 return new SchedExit();
|
|
31 } else {
|
109
|
32 return new SchedTaskList(params_addr, m);
|
94
|
33 }
|
|
34 }
|