NW4F Snd
Loading...
Searching...
No Matches
snd_Task.h
Go to the documentation of this file.
1
#
ifndef
NW_SND_TASK_H_
2
#
define
NW_SND_TASK_H_
3
4
#
include
<
nw
/
ut
/
ut_LinkList
.
h
>
5
#
include
<
nw
/
ut
/
os
/
ut_Event
.
h
>
6
7
namespace
nw
{
namespace
snd
{
namespace
internal
{
8
9
class
TaskManager;
10
11
class
Task
12
{
13
friend
class
TaskManager;
14
15
public
:
16
enum
Status
17
{
18
STATUS_FREE
,
19
STATUS_APPEND
,
20
STATUS_EXECUTE
,
21
STATUS_DONE
,
22
STATUS_CANCEL
23
};
24
static_assert
(
sizeof
(
Status
) == 4);
25
26
Task
();
27
virtual
~
Task
();
28
29
void
SetId
(u32 id) { m_Id = id; }
30
31
Status
GetStatus
()
const
{
return
m_Status
; }
32
33
void
Wait
() { m_Event.Wait(); }
34
bool
TryWait
() {
return
m_Event.TryWait(); }
35
36
protected
:
37
virtual
void
Execute
() = 0;
38
39
void
InitializeStatus
() {
m_Status
=
STATUS_FREE
; }
40
41
private
:
42
NW_DISALLOW_COPY_AND_ASSIGN
(
Task
);
43
44
ut
::
LinkListNode
m_TaskLink
;
45
ut
::
Event
m_Event
;
46
Status
m_Status
;
47
u32
m_Id
;
48
};
49
static_assert
(
sizeof
(
Task
) == 0x38);
50
51
} } }
// namespace nw::snd::internal
52
53
#
endif
// NW_SND_TASK_H_
nw::snd::internal::Task
Definition
snd_Task.h:12
nw::snd::internal::Task::SetId
void SetId(u32 id)
Definition
snd_Task.h:29
nw::snd::internal::Task::m_Status
Status m_Status
Definition
snd_Task.h:46
nw::snd::internal::Task::m_Event
ut::Event m_Event
Definition
snd_Task.h:45
nw::snd::internal::Task::TryWait
bool TryWait()
Definition
snd_Task.h:34
nw::snd::internal::Task::m_Id
u32 m_Id
Definition
snd_Task.h:47
nw::snd::internal::Task::Wait
void Wait()
Definition
snd_Task.h:33
nw::snd::internal::Task::Status
Status
Definition
snd_Task.h:17
nw::snd::internal::Task::STATUS_EXECUTE
@ STATUS_EXECUTE
Definition
snd_Task.h:20
nw::snd::internal::Task::STATUS_APPEND
@ STATUS_APPEND
Definition
snd_Task.h:19
nw::snd::internal::Task::STATUS_DONE
@ STATUS_DONE
Definition
snd_Task.h:21
nw::snd::internal::Task::STATUS_FREE
@ STATUS_FREE
Definition
snd_Task.h:18
nw::snd::internal::Task::STATUS_CANCEL
@ STATUS_CANCEL
Definition
snd_Task.h:22
nw::snd::internal::Task::~Task
virtual ~Task()
nw::snd::internal::Task::Execute
virtual void Execute()=0
nw::snd::internal::Task::m_TaskLink
ut::LinkListNode m_TaskLink
Definition
snd_Task.h:44
nw::snd::internal::Task::GetStatus
Status GetStatus() const
Definition
snd_Task.h:31
nw::snd::internal::Task::InitializeStatus
void InitializeStatus()
Definition
snd_Task.h:39
nw::snd::internal::Task::Task
Task()
nw::snd::internal
Definition
snd_BasicSound.cpp:3
nw::snd
Definition
snd_BasicSound.cpp:3
nw
include
nw
snd
snd_Task.h
Generated by
1.14.0