NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
snd_Task.h
1#ifndef NW4R_SND_TASK_H
2#define NW4R_SND_TASK_H
3
4/*******************************************************************************
5 * headers
6 */
7
8#include "nw4r/ut/ut_algorithm.h" // ut::NonCopyable
9#include "nw4r/ut/ut_LinkList.h"
10
11/*******************************************************************************
12 * classes and functions
13 */
14
15namespace nw4r { namespace snd { namespace detail
16{
17 // [R89JEL]:/bin/RVL/Debug/mainD.elf:.debug::0x2ea55
18 class Task : private ut::NonCopyable
19 {
20 // typedefs
21 public:
22 typedef ut::LinkList<Task, 0x04> LinkList;
23
24 // methods
25 public:
26 // cdtors
27 Task() : mBusyFlag(false) {}
28 virtual ~Task();
29
30 // virtual function ordering
31 // vtable Task
32 virtual void Execute() = 0;
33 virtual void Cancel() = 0;
34 virtual void OnCancel() = 0;
35
36 // members
37 private:
38 /* base NonCopyable */ // size 0x00, offset 0x00
39 /* vtable */ // size 0x04, offset 0x00
40 ut::LinkListNode mTaskLink; // size 0x08, offset 0x04
41 bool mBusyFlag; // size 0x01, offset 0x0c
42 /* 3 bytes padding */
43
44 // friends
45 private:
46 friend class TaskManager;
47 }; // size 0x10
48}}} // namespace nw4r::snd::detail
49
50#endif // NW4R_SND_TASK_H