OpenBarnyard
 
Loading...
Searching...
No Matches
T2Mutex_Win.h
Go to the documentation of this file.
1#pragma once
2
4
5class T2Mutex
6{
7public:
8 typedef TUINT32 Flags;
9 enum Flags_ : Flags
10 {
13 };
14
15public:
16 constexpr T2Mutex()
17 : m_Mutex( TNULL ) {}
19
20 // Returns TTRUE if success
21 TBOOL Create();
22
23 // Returns TTRUE if the state is signaled
24 TBOOL Lock( Flags flags = Flags_Standard );
25
26 // Returns TTRUE if success
27 TBOOL Unlock();
28
29 // Destroys mutex
30 void Destroy();
31
32 operator TBOOL() const { return m_Mutex; }
33
34private:
35 void* m_Mutex;
36};
37
#define TOSHI_NAMESPACE_START
Definition Defines.h:47
#define TOSHI_NAMESPACE_END
Definition Defines.h:50
#define TNULL
Definition Typedefs.h:23
uint32_t TUINT32
Definition Typedefs.h:13
bool TBOOL
Definition Typedefs.h:6
TBOOL Lock(Flags flags=Flags_Standard)
TBOOL Create()
@ Flags_DoNotWait
Definition T2Mutex_Win.h:12
@ Flags_Standard
Definition T2Mutex_Win.h:11
void Destroy()
TBOOL Unlock()
TUINT32 Flags
Definition T2Mutex_Win.h:8
constexpr T2Mutex()
Definition T2Mutex_Win.h:16