1
1
/*
2
- * Copyright (C) 2015,2016,2017,2018,2020 by Jonathan Naylor G4KLX
2
+ * Copyright (C) 2015,2016,2017,2018,2020,2025 by Jonathan Naylor G4KLX
3
3
*
4
4
* This program is free software; you can redistribute it and/or modify
5
5
* it under the terms of the GNU General Public License as published by
26
26
27
27
const int BUFFER_SIZE = 500 ;
28
28
29
- enum SECTION {
30
- SECTION_NONE ,
31
- SECTION_GENERAL ,
32
- SECTION_INFO ,
33
- SECTION_ID_LOOKUP ,
34
- SECTION_VOICE ,
35
- SECTION_LOG ,
36
- SECTION_APRS ,
37
- SECTION_NETWORK ,
38
- SECTION_GPSD ,
39
- SECTION_REMOTE_COMMANDS
29
+ enum class SECTION {
30
+ NONE ,
31
+ GENERAL ,
32
+ INFO ,
33
+ ID_LOOKUP ,
34
+ VOICE ,
35
+ LOG ,
36
+ APRS ,
37
+ NETWORK ,
38
+ GPSD ,
39
+ REMOTE_COMMANDS
40
40
};
41
41
42
42
CConf::CConf (const std::string& file) :
@@ -105,7 +105,7 @@ bool CConf::read()
105
105
return false ;
106
106
}
107
107
108
- SECTION section = SECTION_NONE ;
108
+ SECTION section = SECTION::NONE ;
109
109
110
110
char buffer[BUFFER_SIZE];
111
111
while (::fgets (buffer, BUFFER_SIZE, fp) != NULL ) {
@@ -114,25 +114,25 @@ bool CConf::read()
114
114
115
115
if (buffer[0U ] == ' [' ) {
116
116
if (::strncmp (buffer, " [General]" , 9U ) == 0 )
117
- section = SECTION_GENERAL ;
117
+ section = SECTION::GENERAL ;
118
118
else if (::strncmp (buffer, " [Info]" , 6U ) == 0 )
119
- section = SECTION_INFO ;
119
+ section = SECTION::INFO ;
120
120
else if (::strncmp (buffer, " [Id Lookup]" , 11U ) == 0 )
121
- section = SECTION_ID_LOOKUP ;
121
+ section = SECTION::ID_LOOKUP ;
122
122
else if (::strncmp (buffer, " [Voice]" , 7U ) == 0 )
123
- section = SECTION_VOICE ;
123
+ section = SECTION::VOICE ;
124
124
else if (::strncmp (buffer, " [Log]" , 5U ) == 0 )
125
- section = SECTION_LOG ;
125
+ section = SECTION::LOG ;
126
126
else if (::strncmp (buffer, " [APRS]" , 6U ) == 0 )
127
- section = SECTION_APRS ;
127
+ section = SECTION::APRS ;
128
128
else if (::strncmp (buffer, " [Network]" , 9U ) == 0 )
129
- section = SECTION_NETWORK ;
129
+ section = SECTION::NETWORK ;
130
130
else if (::strncmp (buffer, " [GPSD]" , 6U ) == 0 )
131
- section = SECTION_GPSD ;
131
+ section = SECTION::GPSD ;
132
132
else if (::strncmp (buffer, " [Remote Commands]" , 17U ) == 0 )
133
- section = SECTION_REMOTE_COMMANDS ;
133
+ section = SECTION::REMOTE_COMMANDS ;
134
134
else
135
- section = SECTION_NONE ;
135
+ section = SECTION::NONE ;
136
136
137
137
continue ;
138
138
}
@@ -162,7 +162,7 @@ bool CConf::read()
162
162
*p = ' \0 ' ;
163
163
}
164
164
165
- if (section == SECTION_GENERAL ) {
165
+ if (section == SECTION::GENERAL ) {
166
166
if (::strcmp (key, " Callsign" ) == 0 ) {
167
167
// Convert the callsign to upper case
168
168
for (unsigned int i = 0U ; value[i] != 0 ; i++)
@@ -185,7 +185,7 @@ bool CConf::read()
185
185
m_debug = ::atoi (value) == 1 ;
186
186
else if (::strcmp (key, " Daemon" ) == 0 )
187
187
m_daemon = ::atoi (value) == 1 ;
188
- } else if (section == SECTION_INFO ) {
188
+ } else if (section == SECTION::INFO ) {
189
189
if (::strcmp (key, " TXFrequency" ) == 0 )
190
190
m_txFrequency = (unsigned int )::atoi (value);
191
191
else if (::strcmp (key, " RXFrequency" ) == 0 )
@@ -202,19 +202,19 @@ bool CConf::read()
202
202
m_name = value;
203
203
else if (::strcmp (key, " Description" ) == 0 )
204
204
m_description = value;
205
- } else if (section == SECTION_ID_LOOKUP ) {
205
+ } else if (section == SECTION::ID_LOOKUP ) {
206
206
if (::strcmp (key, " Name" ) == 0 )
207
207
m_lookupName = value;
208
208
else if (::strcmp (key, " Time" ) == 0 )
209
209
m_lookupTime = (unsigned int )::atoi (value);
210
- } else if (section == SECTION_VOICE ) {
210
+ } else if (section == SECTION::VOICE ) {
211
211
if (::strcmp (key, " Enabled" ) == 0 )
212
212
m_voiceEnabled = ::atoi (value) == 1 ;
213
213
else if (::strcmp (key, " Language" ) == 0 )
214
214
m_voiceLanguage = value;
215
215
else if (::strcmp (key, " Directory" ) == 0 )
216
216
m_voiceDirectory = value;
217
- } else if (section == SECTION_LOG ) {
217
+ } else if (section == SECTION::LOG ) {
218
218
if (::strcmp (key, " FilePath" ) == 0 )
219
219
m_logFilePath = value;
220
220
else if (::strcmp (key, " FileRoot" ) == 0 )
@@ -225,7 +225,7 @@ bool CConf::read()
225
225
m_logDisplayLevel = (unsigned int )::atoi (value);
226
226
else if (::strcmp (key, " FileRotate" ) == 0 )
227
227
m_logFileRotate = ::atoi (value) == 1 ;
228
- } else if (section == SECTION_APRS ) {
228
+ } else if (section == SECTION::APRS ) {
229
229
if (::strcmp (key, " Enable" ) == 0 )
230
230
m_aprsEnabled = ::atoi (value) == 1 ;
231
231
else if (::strcmp (key, " Address" ) == 0 )
@@ -238,7 +238,7 @@ bool CConf::read()
238
238
m_aprsDescription = value;
239
239
else if (::strcmp (key, " Symbol" ) == 0 )
240
240
m_aprsSymbol = value;
241
- } else if (section == SECTION_NETWORK ) {
241
+ } else if (section == SECTION::NETWORK ) {
242
242
if (::strcmp (key, " Port" ) == 0 )
243
243
m_networkPort = (unsigned short )::atoi (value);
244
244
else if (::strcmp (key, " HostsFile1" ) == 0 )
@@ -268,14 +268,14 @@ bool CConf::read()
268
268
m_networkNetHangTime = (unsigned int )::atoi (value);
269
269
else if (::strcmp (key, " Debug" ) == 0 )
270
270
m_networkDebug = ::atoi (value) == 1 ;
271
- } else if (section == SECTION_GPSD ) {
271
+ } else if (section == SECTION::GPSD ) {
272
272
if (::strcmp (key, " Enable" ) == 0 )
273
273
m_gpsdEnabled = ::atoi (value) == 1 ;
274
274
else if (::strcmp (key, " Address" ) == 0 )
275
275
m_gpsdAddress = value;
276
276
else if (::strcmp (key, " Port" ) == 0 )
277
277
m_gpsdPort = value;
278
- } else if (section == SECTION_REMOTE_COMMANDS ) {
278
+ } else if (section == SECTION::REMOTE_COMMANDS ) {
279
279
if (::strcmp (key, " Enable" ) == 0 )
280
280
m_remoteCommandsEnabled = ::atoi (value) == 1 ;
281
281
else if (::strcmp (key, " Port" ) == 0 )
0 commit comments