blob: 66850a6ae09422ca3e7850adab5e30e358d715c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#ifndef NW4HBM_SND_TASK_H
#define NW4HBM_SND_TASK_H
#include "../ut/LinkList.h"
namespace nw4hbm {
namespace snd {
namespace detail {
class Task : private ut::NonCopyable {
friend class TaskManager;
public:
Task() : mTaskId(0) {}
Task(u32 taskId) : mTaskId(taskId) {}
/* 0x08 */ virtual ~Task() {}
/* 0x0C */ virtual void Execute() = 0;
/* 0x10 */ virtual void Cancel() = 0;
u32 GetTaskId() const { return mTaskId; }
public:
/* 0x04 */ ut::LinkListNode mTaskLink;
private:
/* 0x0C */ u32 mTaskId;
};
typedef ut::LinkList<Task, offsetof(Task, mTaskLink)> TaskList;
} // namespace detail
} // namespace snd
} // namespace nw4hbm
#endif
|