1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
#include "loadsettings.h"
void writeSettings (const QString &settingsFilePath)
{
// user already specified that config is to be written
QSettings settingsFile(settingsFilePath, QSettings::IniFormat);
// initialise default settings to write to config
SettingStructure settings;
// logging settings
settingsFile.setValue("Logging/CycleLogs", settings.LoggingSettings.cycle);
settingsFile.setValue("Logging/SuppressLog", settings.LoggingSettings.suppressLog);
settingsFile.setValue("Logging/SuppressDisplay", settings.LoggingSettings.suppressDisplay);
// beacon server settings (udp server)
settingsFile.setValue("BeaconServer/BeaconPort", settings.BeaconServerSettings.beaconPort);
settingsFile.setValue("BeaconServer/DoUplink", settings.BeaconServerSettings.doUplink);
// listen server settings (tcp server)
settingsFile.setValue("ListenServer/ListenPort", settings.ListenServerSettings.listenPort);
settingsFile.setValue("ListenServer/ServerLifeTime_s", settings.ListenServerSettings.serverttl_s);
// syncer settings (tcp client)
settingsFile.setValue("Syncer/DoSync", settings.SyncerSettings.doSync);
settingsFile.setValue("Syncer/SyncGames", settings.SyncerSettings.syncGames);
settingsFile.setValue("Syncer/SyncInterval_s", settings.SyncerSettings.syncInterval_s);
// if sync is set, but no servers are listed, generate default line with 333networks
if ( settings.SyncerSettings.doSync and settings.SyncerSettings.syncServers.size() <= 0 )
{
SyncServer defaultServer;
defaultServer.remoteAddress = "master.333networks.com"; // default settings are correct
settings.SyncerSettings.syncServers.append(defaultServer);
}
// write list of servers
QListIterator<SyncServer> syncRecordIterator(settings.SyncerSettings.syncServers);
int i = 0;
settingsFile.beginWriteArray("Syncer");
while ( syncRecordIterator.hasNext() )
{
// next list item
SyncServer syncServer = syncRecordIterator.next();
if ( syncServer.remoteAddress.size() > 0 )
{
// write to settings file
settingsFile.setArrayIndex(i++);
// output format 1\SyncServer=master.333networks.com, 27900, 28900
QString strServer = QStringLiteral("%1, %2, %3")
.arg(syncServer.remoteAddress,
QString::number(syncServer.beaconPort),
QString::number(syncServer.listenPort) );
settingsFile.setValue("SyncServer", strServer);
}
}
settingsFile.endArray();
// server checker (udp client ticker)
settingsFile.setValue("Checker/DoCheck", settings.CheckerSettings.doCheck);
settingsFile.setValue("Checker/GetExtendedInformation", settings.CheckerSettings.getExtendedInfo);
settingsFile.setValue("Checker/ServerCheckInterval_ms", settings.CheckerSettings.timeServerInterval_ms);
settingsFile.setValue("Checker/CycleInterval_s", settings.CheckerSettings.timeCheckerReset_s);
// maintenance settings
settingsFile.setValue("Maintenance/DoMaintenance", settings.MaintenanceSettings.doMaintenance);
settingsFile.setValue("Maintenance/MaintainRate_s", settings.MaintenanceSettings.timeMaintenanceInterval_s);
// public details
settingsFile.setValue("PublicDetails/Hostname", settings.PublicInformationSettings.hostname);
settingsFile.setValue("PublicDetails/AdminName", settings.PublicInformationSettings.adminName);
settingsFile.setValue("PublicDetails/Contact", settings.PublicInformationSettings.contact);
}
|