/** * @RDE_HEADER@ * PluginSettings * $Id$ * $HeadURL$ * $Author$ * Created by Christian Fröbel, NLSE, 2018-04-25 */ #include "plugin_settings.h" #include #include #include #include #include namespace { const QString &AVA_SECTION() { static const QString key = QStringLiteral("AVS_WORKSTATION"); return key; } const QString &VD_SECTION() { static const QString key = QStringLiteral("AVS_WORKSTATION_VD"); return key; } //constexpr std::chrono::milliseconds DEFAULT_TIMEOUT(3000); constexpr std::chrono::milliseconds DEFAULT_TIMEOUT(10000); constexpr std::chrono::milliseconds DEFAULT_TIMEOUT_VD(60000); // export may take some time } // anonymous namespace namespace AudioVideoManagement { PluginSettings *PluginSettings::s_instance = nullptr; PluginSettings::PluginSettings() : PluginSettings(NGL::findProjectConfigFile()) { Q_ASSERT(!s_instance); s_instance = this; } PluginSettings::PluginSettings(const QString &pathToConfigFile) : m_settings(new NGL::Settings(pathToConfigFile)) { NGL::Connections::setIniFile(pathToConfigFile); } PluginSettings::~PluginSettings() { s_instance = nullptr; } PluginSettings *PluginSettings::instance() { Q_ASSERT(s_instance); return s_instance; } bool PluginSettings::avaKeepAliveEnabled() const { static const QString key = QStringLiteral("%1/KeepAlive").arg(AVA_SECTION()); return m_settings->settings()->value(key, true).toBool(); } std::chrono::milliseconds PluginSettings::avaTimeout() const { static const QString key = QStringLiteral("%1/Timeout").arg(AVA_SECTION()); return std::chrono::milliseconds(m_settings->settings()->value(key, static_cast(DEFAULT_TIMEOUT.count())).toUInt()); } bool PluginSettings::vdKeepAliveEnabled() const { static const QString key = QStringLiteral("%1/KeepAlive").arg(VD_SECTION()); return m_settings->settings()->value(key, true).toBool(); } std::chrono::milliseconds PluginSettings::vdTimeout() const { static const QString key = QStringLiteral("%1/Timeout").arg(VD_SECTION()); return std::chrono::milliseconds(m_settings->settings()->value(key, static_cast(DEFAULT_TIMEOUT_VD.count())).toUInt()); } } // namespace AudioVideoManagement