3
|
1 #ifndef INCLUDED_SPE_TASK
|
|
2 #define INCLUDED_SPE_TASK
|
|
3
|
|
4 #ifndef INCLUDED_SPE_MANAGER
|
|
5 # include "SpeManager.h"
|
|
6 #endif
|
|
7
|
|
8 class SpeTask : public SpeTaskBase {
|
|
9 public:
|
|
10 /* constructor */
|
10
|
11 SpeTask(TaskListPtr, TaskPtr, void*, void*, DmaManager*);
|
3
|
12
|
|
13 /* variables */
|
|
14 TaskListPtr list;
|
|
15 TaskPtr task;
|
|
16 void *readbuf;
|
|
17 void *writebuf;
|
|
18
|
|
19 DmaManager* connector;
|
|
20
|
|
21 // work area
|
|
22 // global variable 用とか
|
|
23 // 次の task に引き渡したり
|
|
24 // size : デフォルトで 4k
|
|
25 // ppuから教えてもらう? task に入れる
|
|
26 void (*func)(void *wbuf, void *rbuf);
|
|
27
|
|
28 /* functions */
|
|
29 SpeTaskBase* next(SpeManager *, SpeTaskBase *);
|
|
30
|
|
31 // override
|
|
32 void read(void);
|
|
33 void exec(void);
|
|
34 void write(void);
|
|
35 };
|
|
36
|
|
37 #endif
|