Files
qt5-legatus-legacy/Lts/Services/OcSituationServer/settings.cpp
T
2026-08-13 18:33:10 +02:00

83 lines
2.3 KiB
C++
Executable File

/**
* Settings for OcSituationServer
* $Id$
* $HeadURL$
* $Author$
*/
#include "settings.h"
#include <QtCore/QSettings>
#include <nglsettings/nglsettings_settings.h>
#include <ngltools/ngltools_filesystem.h>
namespace OcSituationServer
{
class NGLSettingsClass : public NGL::Settings
{
public:
NGLSettingsClass()
: NGL::Settings(s_iniFile.isEmpty() ? NGL::findProjectConfigFile() : s_iniFile)
{}
static void setIniFile(const QString &fn)
{
s_iniFile = fn;
}
static QString s_iniFile;
};
QString NGLSettingsClass::s_iniFile;
Q_GLOBAL_STATIC(NGLSettingsClass, s)
//-----------------------------------------------------------------------------
NGL::Settings *Settings::settings()
{
return s();
}
//-----------------------------------------------------------------------------
void Settings::setIniFile(const QString &ini)
{
NGLSettingsClass::setIniFile(ini);
}
quint32 Settings::aliveTimeout()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/AliveTimeout"), 5).toUInt() * 60 * 1000; // 5 minutes
}
quint32 Settings::txCycleTime()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/TxCycleTime"), 10).toUInt() * 1000; // 10 seconds
}
quint32 Settings::maxNumOfBytePerTxCycle()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/MaxNumOfBytePerTxCycle"), 166).toUInt();
}
quint32 Settings::maxParticipantsInSituation()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/MaxParticipantsInSituation"), 100).toUInt();
}
quint32 Settings::stateInformationCycleTime()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/StateInformationCycleTime"), 30).toInt() * 1000; // 30 seconds
}
qint32 Settings::maxNumOfBytePerAesTxCycle()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/MaxNumOfBytePerAesTxCycle"), 200).toInt();
}
quint32 Settings::aesDemandCollectionTime()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/AesDemandCollectionTime"), 10).toInt() * 1000; // 10 seconds
}
quint32 Settings::iedPositionCycleTime()
{
return settings()->settings()->value(QLatin1String("OcSituationParameter/IedPositionCycleTime"), 30).toInt() * 1000; // 30 seconds
}
} // namespace OcSituationServer