Richard Boegli's CnC_Generals_Zero_Hour Fork
WIP
This is documentation of Richard Boegil's Zero Hour Fork
Loading...
Searching...
No Matches
critsection.h
Go to the documentation of this file.
1
/*
2
** Command & Conquer Generals Zero Hour(tm)
3
** Copyright 2025 Electronic Arts Inc.
4
**
5
** This program is free software: you can redistribute it and/or modify
6
** it under the terms of the GNU General Public License as published by
7
** the Free Software Foundation, either version 3 of the License, or
8
** (at your option) any later version.
9
**
10
** This program is distributed in the hope that it will be useful,
11
** but WITHOUT ANY WARRANTY; without even the implied warranty of
12
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
** GNU General Public License for more details.
14
**
15
** You should have received a copy of the GNU General Public License
16
** along with this program. If not, see <http://www.gnu.org/licenses/>.
17
*/
18
19
/***********************************************************************************************
20
*** C O N F I D E N T I A L --- W E S T W O O D S T U D I O S ***
21
***********************************************************************************************
22
* *
23
* Project Name : critsection.h *
24
* *
25
* $Archive:: /Commando/Code/wwlib/critsection.h $*
26
* *
27
* Original Author:: Hector Yee *
28
* *
29
* $Author:: Hector_y $*
30
* *
31
* $Modtime:: 3/14/01 4:04p $*
32
* *
33
* $Revision:: 1 $*
34
* *
35
*---------------------------------------------------------------------------------------------*
36
* Functions: *
37
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
38
39
#ifndef CRIT_SECTION
40
#define CRIT_SECTION
41
42
#if defined(_MSC_VER)
43
#pragma once
44
#endif
45
46
#include "
always.h
"
47
#include "
wwdebug.h
"
48
#include <windows.h>
49
50
class
CriticalSectionClass
51
{
52
public
:
53
CriticalSectionClass
();
54
~CriticalSectionClass
();
55
56
class
LockClass
57
{
58
CriticalSectionClass
& crit;
59
public
:
60
// In order to enter a critical section create a local
61
// instance of LockClass with critical section as a parameter.
62
LockClass
(
CriticalSectionClass
& c);
63
~LockClass
();
64
private
:
65
LockClass
&operator=(
const
LockClass
&) {
return
(*
this
); }
66
};
67
friend
LockClass
;
68
69
private
:
70
CRITICAL_SECTION Bar;
71
bool
inside;
72
void
Enter();
73
void
Exit();
74
};
75
76
77
#endif
always.h
CriticalSectionClass::LockClass
Definition
critsection.h:57
CriticalSectionClass::LockClass::~LockClass
~LockClass()
Definition
critsection.cpp:80
CriticalSectionClass::LockClass::LockClass
LockClass(CriticalSectionClass &c)
Definition
critsection.cpp:74
CriticalSectionClass::LockClass
friend LockClass
Definition
critsection.h:67
CriticalSectionClass::CriticalSectionClass
CriticalSectionClass()
Definition
critsection.cpp:41
CriticalSectionClass::~CriticalSectionClass
~CriticalSectionClass()
Definition
critsection.cpp:49
wwdebug.h
Code
Libraries
Source
WWVegas
WWLib
critsection.h
Generated by
1.13.2