46 void load(
const std::string &filename,
const std::string &executablePath,
bool hideOutput =
false);
183 std::string _executablePath;
185 int32_t _lastModified = -1;
186 int32_t _clientSettingsLastModified = -1;
187 int32_t _serverSettingsLastModified = -1;
188 int32_t _mqttSettingsLastModified = -1;
190 std::string _runAsUser;
191 std::string _runAsGroup;
192 int32_t _debugLevel = 3;
193 bool _memoryDebugging =
false;
194 std::string _waitForIp4OnInterface;
195 std::string _waitForIp6OnInterface;
196 bool _enableUPnP =
true;
197 std::string _uPnPIpAddress;
198 std::string _ssdpIpAddress;
199 int32_t _ssdpPort = 1900;
200 bool _enableMonitoring =
true;
201 bool _enableHgdc =
false;
202 int32_t _hgdcPort = 2017;
203 bool _devLog =
false;
204 bool _ipcLog =
false;
205 bool _enableCoreDumps =
true;
206 bool _enableNodeBlue =
true;
207 bool _setDevicePermissions =
true;
208 std::string _workingDirectory;
209 std::string _socketPath;
210 std::string _dataPath;
211 uint32_t _dataPathPermissions = 504;
212 std::string _dataPathUser;
213 std::string _dataPathGroup;
214 std::string _writeableDataPath;
215 uint32_t _writeableDataPathPermissions = 504;
216 std::string _writeableDataPathUser;
217 std::string _writeableDataPathGroup;
218 std::string _familyDataPath;
219 uint32_t _familyDataPathPermissions = 504;
220 std::string _familyDataPathUser;
221 std::string _familyDataPathGroup;
222 bool _databaseSynchronous =
true;
223 bool _databaseMemoryJournal =
false;
224 bool _databaseWALJournal =
true;
225 std::string _databasePath;
226 std::string _factoryDatabasePath;
227 std::string _databaseBackupPath;
228 std::string _factoryDatabaseBackupPath;
229 uint32_t _databaseMaxBackups = 10;
230 std::string _logfilePath;
231 bool _waitForCorrectTime =
true;
232 bool _prioritizeThreads =
true;
233 uint32_t _maxTotalThreadCount = 0;
234 uint32_t _secureMemorySize = 65536;
235 uint32_t _workerThreadWindow = 3000;
236 uint32_t _scriptEngineThreadCount = 10;
237 uint32_t _scriptEngineServerMaxConnections = 20;
238 uint32_t _scriptEngineMaxThreadsPerScript = 4;
239 int32_t _scriptEngineMaxScriptsPerProcess = -1;
240 int32_t _scriptEngineWatchdogTimeout = -1;
241 bool _scriptEngineManualClientStart =
false;
242 uint32_t _nodeBlueProcessingThreadCountServer = 10;
243 uint32_t _nodeBlueProcessingThreadCountNodes = 10;
244 uint32_t _nodeBlueServerMaxConnections = 20;
245 int32_t _maxNodeThreadsPerProcess = 80;
246 int32_t _nodeBlueWatchdogTimeout = -1;
247 bool _nodeBlueManualClientStart =
false;
248 std::string _nodeRedJsPath;
249 uint16_t _nodeRedPort = 1999;
250 std::string _nodeOptions;
251 uint32_t _ipcThreadCount = 10;
252 uint32_t _ipcServerMaxConnections = 20;
253 uint32_t _cliServerMaxConnections = 50;
254 uint32_t _rpcServerMaxConnections = 50;
255 int32_t _rpcServerThreadPriority = 0;
256 int32_t _rpcServerThreadPolicy = SCHED_OTHER;
257 uint32_t _rpcClientMaxServers = 50;
258 int32_t _rpcClientThreadPriority = 0;
259 int32_t _rpcClientThreadPolicy = SCHED_OTHER;
260 int32_t _workerThreadPriority = 0;
261 int32_t _workerThreadPolicy = SCHED_OTHER;
262 int32_t _packetQueueThreadPriority = 45;
263 int32_t _packetQueueThreadPolicy = SCHED_FIFO;
264 int32_t _packetReceivedThreadPriority = 0;
265 int32_t _packetReceivedThreadPolicy = SCHED_OTHER;
266 std::string _familyConfigPath;
267 std::string _deviceDescriptionPath;
268 std::string _clientSettingsPath;
269 std::string _serverSettingsPath;
270 std::string _mqttSettingsPath;
271 std::string _cloudUserMapPath;
272 std::string _modulePath;
273 std::string _scriptPath;
274 uint32_t _scriptPathPermissions = 360;
275 std::string _scriptPathUser;
276 std::string _scriptPathGroup;
277 std::string _nodeBluePath;
278 uint32_t _nodeBluePathPermissions = 504;
279 std::string _nodeBluePathUser;
280 std::string _nodeBluePathGroup;
281 std::string _nodeBlueDataPath;
282 uint32_t _nodeBlueDataPathPermissions = 504;
283 std::string _nodeBlueDataPathUser;
284 std::string _nodeBlueDataPathGroup;
285 bool _nodeBlueDebugOutput =
false;
286 uint32_t _nodeBlueEventLimit1 = 100;
287 uint32_t _nodeBlueEventLimit2 = 300;
288 uint32_t _nodeBlueEventLimit3 = 400;
289 uint32_t _nodeBlueFrontendHistorySize = 50;
290 std::string _nodeBlueUriPathsExcludedFromLogin;
291 std::string _adminUiPath;
292 uint32_t _adminUiPathPermissions = 504;
293 std::string _adminUiPathUser;
294 std::string _adminUiPathGroup;
296 uint32_t _uiPathPermissions = 504;
297 std::string _uiPathUser;
298 std::string _uiPathGroup;
299 std::string _uiTranslationPath;
300 std::string _webSshPath;
301 uint32_t _webSshPathPermissions = 360;
302 std::string _webSshPathUser;
303 std::string _webSshPathGroup;
304 bool _reloadRolesOnStartup =
true;
305 std::string _firmwarePath;
306 std::string _tempPath;
307 std::string _lockFilePath;
308 uint32_t _lockFilePathPermissions = 504;
309 std::string _lockFilePathUser;
310 std::string _lockFilePathGroup;
311 std::string _phpIniPath;
312 std::map<std::string, bool> _tunnelClients;
313 std::string _gpioPath;
314 std::vector<uint32_t> _exportGpios;
315 uint32_t _maxWaitForPhysicalInterfaces = 180;
318 std::string _oauthCertPath;
319 std::string _oauthKeyPath;
320 int32_t _oauthTokenLifetime = 3600;
321 int32_t _oauthRefreshTokenLifetime = 5184000;
std::string scriptPathGroup()
Definition: Settings.h:136
uint32_t rpcClientMaxServers()
Definition: Settings.h:117
std::string adminUiPathGroup()
Definition: Settings.h:154
bool enableHgdc()
Definition: Settings.h:60
int32_t scriptEngineWatchdogTimeout()
Definition: Settings.h:100
std::string clientSettingsPath()
Definition: Settings.h:128
std::string tempPath()
Definition: Settings.h:166
int32_t rpcClientThreadPolicy()
Definition: Settings.h:119
std::string dataPathUser()
Definition: Settings.h:71
uint32_t cliServerMaxConnections()
Definition: Settings.h:113
int32_t oauthRefreshTokenLifetime()
Definition: Settings.h:179
bool changed()
Definition: Settings.cpp:173
This is the base library main class.
Definition: BaseLib.h:95
bool databaseSynchronous()
Definition: Settings.h:81
std::string factoryDatabaseBackupPath()
Definition: Settings.h:87
std::string lockFilePathUser()
Definition: Settings.h:170
uint32_t maxTotalThreadCount()
Definition: Settings.h:92
uint32_t scriptEngineMaxThreadsPerScript()
Definition: Settings.h:98
std::string waitForIp4OnInterface()
Definition: Settings.h:53
std::string oauthKeyPath()
Definition: Settings.h:177
std::string writeableDataPathGroup()
Definition: Settings.h:76
uint32_t rpcServerMaxConnections()
Definition: Settings.h:114
void setLockFilePath(const std::string &value)
Definition: Settings.h:168
uint32_t dataPathPermissions()
Definition: Settings.h:70
std::string uiPathUser()
Definition: Settings.h:157
bool memoryDebugging()
Definition: Settings.h:52
std::string mqttSettingsPath()
Definition: Settings.h:130
std::string firmwarePath()
Definition: Settings.h:165
uint32_t scriptEngineThreadCount()
Definition: Settings.h:96
std::string phpIniPath()
Definition: Settings.h:172
std::string writeableDataPathUser()
Definition: Settings.h:75
std::string databaseBackupPath()
Definition: Settings.h:86
Definition: BaseLib.cpp:34
std::string modulePath()
Definition: Settings.h:132
std::string workingDirectory()
Definition: Settings.h:67
std::string familyConfigPath()
Definition: Settings.h:126
uint32_t adminUiPathPermissions()
Definition: Settings.h:152
uint32_t nodeBlueEventLimit3()
Definition: Settings.h:148
uint32_t databaseMaxBackups()
Definition: Settings.h:88
std::string socketPath()
Definition: Settings.h:68
std::string scriptPathUser()
Definition: Settings.h:135
std::string nodeBluePath()
Definition: Settings.h:137
bool scriptEngineManualClientStart()
Definition: Settings.h:101
uint32_t workerThreadWindow()
Definition: Settings.h:95
std::string dataPath()
Definition: Settings.h:69
std::string familyDataPathUser()
Definition: Settings.h:79
std::string factoryDatabasePath()
Definition: Settings.h:85
uint32_t nodeBluePathPermissions()
Definition: Settings.h:138
bool reloadRolesOnStartup()
Definition: Settings.h:164
uint32_t uiPathPermissions()
Definition: Settings.h:156
uint32_t familyDataPathPermissions()
Definition: Settings.h:78
uint32_t nodeBlueEventLimit2()
Definition: Settings.h:147
std::string waitForIp6OnInterface()
Definition: Settings.h:54
int32_t rpcServerThreadPolicy()
Definition: Settings.h:116
std::string webSshPathGroup()
Definition: Settings.h:163
bool enableCoreDumps()
Definition: Settings.h:64
PVariable value
Definition: UiElements.h:217
bool enableMonitoring()
Definition: Settings.h:59
int32_t maxNodeThreadsPerProcess()
Definition: Settings.h:105
int32_t hgdcPort()
Definition: Settings.h:61
uint32_t scriptEngineServerMaxConnections()
Definition: Settings.h:97
uint32_t nodeBlueProcessingThreadCountServer()
Definition: Settings.h:102
std::string lockFilePathGroup()
Definition: Settings.h:171
int32_t packetQueueThreadPriority()
Definition: Settings.h:122
int32_t nodeBlueWatchdogTimeout()
Definition: Settings.h:106
int32_t rpcClientThreadPriority()
Definition: Settings.h:118
int32_t debugLevel()
Definition: Settings.h:51
std::string nodeBlueDataPath()
Definition: Settings.h:141
void load(const std::string &filename, const std::string &executablePath, bool hideOutput=false)
Definition: Settings.cpp:182
uint32_t nodeBlueFrontendHistorySize()
Definition: Settings.h:149
std::string runAsGroup()
Definition: Settings.h:50
bool databaseWALJournal()
Definition: Settings.h:83
std::string nodeBlueDataPathUser()
Definition: Settings.h:143
std::string uiPath()
Definition: Settings.h:155
std::string logfilePath()
Definition: Settings.h:89
std::string oauthCertPath()
Definition: Settings.h:176
uint32_t scriptPathPermissions()
Definition: Settings.h:134
std::string databasePath()
Definition: Settings.h:84
std::string adminUiPathUser()
Definition: Settings.h:153
std::string adminUiPath()
Definition: Settings.h:151
std::vector< uint32_t > exportGpios()
Definition: Settings.h:175
std::string nodeBlueUriPathsExcludedFromLogin()
Definition: Settings.h:150
std::string writeableDataPath()
Definition: Settings.h:73
uint32_t webSshPathPermissions()
Definition: Settings.h:161
std::string scriptPath()
Definition: Settings.h:133
std::string uiTranslationPath()
Definition: Settings.h:159
bool setDevicePermissions()
Definition: Settings.h:66
std::string familyDataPathGroup()
Definition: Settings.h:80
bool waitForCorrectTime()
Definition: Settings.h:90
std::string dataPathGroup()
Definition: Settings.h:72
Definition: Settings.h:41
bool nodeBlueDebugOutput()
Definition: Settings.h:145
std::string deviceDescriptionPath()
Definition: Settings.h:127
std::string nodeBluePathUser()
Definition: Settings.h:139
int32_t packetQueueThreadPolicy()
Definition: Settings.h:123
uint32_t ipcServerMaxConnections()
Definition: Settings.h:112
std::map< std::string, bool > & tunnelClients()
Definition: Settings.h:173
Settings()
Definition: Settings.cpp:36
std::string nodeOptions()
Definition: Settings.h:110
bool prioritizeThreads()
Definition: Settings.h:91
std::string webSshPathUser()
Definition: Settings.h:162
int32_t oauthTokenLifetime()
Definition: Settings.h:178
bool devLog()
Definition: Settings.h:62
int32_t workerThreadPolicy()
Definition: Settings.h:121
void init(BaseLib::SharedObjects *baseLib)
Definition: Settings.cpp:39
std::string nodeBlueDataPathGroup()
Definition: Settings.h:144
int32_t packetReceivedThreadPriority()
Definition: Settings.h:124
std::string runAsUser()
Definition: Settings.h:49
std::string gpioPath()
Definition: Settings.h:174
int32_t ssdpPort()
Definition: Settings.h:58
bool enableNodeBlue()
Definition: Settings.h:65
std::string familyDataPath()
Definition: Settings.h:77
uint32_t lockFilePathPermissions()
Definition: Settings.h:169
uint32_t nodeBlueProcessingThreadCountNodes()
Definition: Settings.h:103
uint32_t writeableDataPathPermissions()
Definition: Settings.h:74
std::string cloudUserMapPath()
Definition: Settings.h:131
std::string uPnPIpAddress()
Definition: Settings.h:56
std::string nodeRedJsPath()
Definition: Settings.h:108
std::string lockFilePath()
Definition: Settings.h:167
void setPrioritizeThreads(bool value)
Definition: Settings.h:93
std::string ssdpIpAddress()
Definition: Settings.h:57
uint32_t ipcThreadCount()
Definition: Settings.h:111
std::string nodeBluePathGroup()
Definition: Settings.h:140
std::string uiPathGroup()
Definition: Settings.h:158
uint32_t nodeBlueEventLimit1()
Definition: Settings.h:146
bool nodeBlueManualClientStart()
Definition: Settings.h:107
std::string webSshPath()
Definition: Settings.h:160
bool databaseMemoryJournal()
Definition: Settings.h:82
virtual ~Settings()
Definition: Settings.h:44
uint32_t nodeBlueServerMaxConnections()
Definition: Settings.h:104
int32_t rpcServerThreadPriority()
Definition: Settings.h:115
int32_t scriptEngineMaxScriptsPerProcess()
Definition: Settings.h:99
uint32_t nodeBlueDataPathPermissions()
Definition: Settings.h:142
uint32_t maxWaitForPhysicalInterfaces()
Definition: Settings.h:180
uint16_t nodeRedPort()
Definition: Settings.h:109
bool enableUPnP()
Definition: Settings.h:55
bool ipcLog()
Definition: Settings.h:63
std::string serverSettingsPath()
Definition: Settings.h:129
int32_t workerThreadPriority()
Definition: Settings.h:120
int32_t packetReceivedThreadPolicy()
Definition: Settings.h:125
uint32_t secureMemorySize()
Definition: Settings.h:94