Richard Boegli's CnC_Generals_Zero_Hour Fork
WIP
This is documentation of Richard Boegil's Zero Hour Fork
Loading...
Searching...
No Matches
inisup.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 : WWLib *
24
* *
25
* $Archive:: /G/wwlib/inisup.h $*
26
* *
27
* $Author:: Eric_c $*
28
* *
29
* $Modtime:: 4/02/99 11:59a $*
30
* *
31
* $Revision:: 2 $*
32
* *
33
*---------------------------------------------------------------------------------------------*
34
* Functions: *
35
* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */
36
#if _MSC_VER >= 1000
37
#pragma once
38
#endif
// _MSC_VER >= 1000
39
40
41
/*
42
** This header defines generally unused member structures used by the INI class.
43
** Previously these were member structures of the INI class but they were separated
44
** to help reduce header dependancies. -ehc
45
*/
46
47
#include "
listnode.h
"
48
#include "
index.h
"
49
#include "
crc.h
"
50
51
52
/*
53
** The value entries for the INI file are stored as objects of this type.
54
** The entry identifier and value string are combined into this object.
55
*/
56
struct
INIEntry
:
public
Node
<INIEntry *> {
57
INIEntry
(
char
* entry =
NULL
,
char
*
value
=
NULL
) :
Entry
(entry),
Value
(
value
) {}
58
~INIEntry
(
void
);
59
// ~INIEntry(void) {free(Entry);Entry = NULL;free(Value);Value = NULL;}
60
// int Index_ID(void) const {return(CRCEngine()(Entry, strlen(Entry)));};
61
int
Index_ID
(
void
)
const
{
return
CRC::String
(
Entry
);};
62
63
char
*
Entry
;
64
char
*
Value
;
65
};
66
67
/*
68
** Each section (bracketed) is represented by an object of this type. All entries
69
** subordinate to this section are attached.
70
*/
71
struct
INISection
:
public
Node
<INISection *> {
72
INISection
(
char
* section) :
Section
(section) {}
73
~INISection
(
void
);
74
// ~INISection(void) {free(Section);Section = 0;EntryList.Delete();}
75
INIEntry
*
Find_Entry
(
char
const
* entry)
const
;
76
// int Index_ID(void) const {return(CRCEngine()(Section, strlen(Section)));};
77
int
Index_ID
(
void
)
const
{
return
CRC::String
(
Section
); };
78
79
char
*
Section
;
80
List<INIEntry *>
EntryList
;
81
IndexClass<int, INIEntry *>
EntryIndex
;
82
83
private
:
84
INISection
(
INISection
const
& rvalue);
85
INISection
operator = (
INISection
const
& rvalue);
86
};
87
88
NULL
#define NULL
Definition
BaseType.h:92
value
void const char * value
Definition
DebugWindow.cpp:206
INDEX.H
LISTNODE.H
CRC.H
CRC::String
static unsigned long String(const char *string, unsigned long crc=0)
Definition
crc.cpp:215
IndexClass
Definition
INDEX.H:85
List
Definition
list.h:60
Node
Definition
LISTNODE.H:186
INIEntry
Definition
inisup.h:56
INIEntry::INIEntry
INIEntry(char *entry=NULL, char *value=NULL)
Definition
inisup.h:57
INIEntry::Value
char * Value
Definition
inisup.h:64
INIEntry::~INIEntry
~INIEntry(void)
Definition
ini.cpp:126
INIEntry::Entry
char * Entry
Definition
inisup.h:63
INIEntry::Index_ID
int Index_ID(void) const
Definition
inisup.h:61
INISection::INISection
INISection(char *section)
Definition
inisup.h:72
INISection::EntryIndex
IndexClass< int, INIEntry * > EntryIndex
Definition
inisup.h:81
INISection::Section
char * Section
Definition
inisup.h:79
INISection::EntryList
List< INIEntry * > EntryList
Definition
inisup.h:80
INISection::~INISection
~INISection(void)
Definition
ini.cpp:134
INISection::Find_Entry
INIEntry * Find_Entry(char const *entry) const
Definition
ini.cpp:2202
INISection::Index_ID
int Index_ID(void) const
Definition
inisup.h:77
Code
Libraries
Source
WWVegas
WWLib
inisup.h
Generated by
1.13.2