Context methods giving proper access to new settings save methods.

This commit is contained in:
Mathew Sutcliffe
2016-06-30 22:43:45 +01:00
parent 843620ca3c
commit 744c7235e6
6 changed files with 55 additions and 0 deletions

View File

@@ -160,12 +160,18 @@ namespace BlackCore
//! Get all settings currently in core settings cache
virtual BlackMisc::CValueCachePacket getAllSettings() const = 0;
//! Get keys of all unsaved settings currently in core settings cache
virtual QStringList getUnsavedSettingsKeys() const = 0;
//! Update local settings with settings from core
virtual void synchronizeLocalSettings() = 0;
//! Save core settings to disk
virtual BlackMisc::CStatusMessage saveSettings(const QString &keyPrefix = {}) = 0;
//! Save core settings to disk
virtual BlackMisc::CStatusMessage saveSettingsByKey(const QStringList &keys) = 0;
//! Load core settings from disk
virtual BlackMisc::CStatusMessage loadSettings() = 0;

View File

@@ -82,6 +82,13 @@ namespace BlackCore
return BlackMisc::CValueCachePacket();
}
//! \copydoc IContextApplication::getUnsavedSettingsKeys
virtual QStringList getUnsavedSettingsKeys() const override
{
logEmptyContextWarning(Q_FUNC_INFO);
return QStringList();
}
//! \copydoc IContextApplication::synchronizeLocalSettings
virtual void synchronizeLocalSettings() override
{
@@ -96,6 +103,14 @@ namespace BlackCore
return BlackMisc::CStatusMessage();
}
//! \copydoc IContextApplication::saveSettingsByKey
virtual BlackMisc::CStatusMessage saveSettingsByKey(const QStringList &keys) override
{
Q_UNUSED(keys);
logEmptyContextWarning(Q_FUNC_INFO);
return BlackMisc::CStatusMessage();
}
//! \copydoc IContextApplication::loadSettings
virtual BlackMisc::CStatusMessage loadSettings() override
{

View File

@@ -84,6 +84,12 @@ namespace BlackCore
return CSettingsCache::instance()->getAllValuesWithTimestamps();
}
QStringList CContextApplication::getUnsavedSettingsKeys() const
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }
return CSettingsCache::instance()->getAllUnsavedKeys();
}
void CContextApplication::synchronizeLocalSettings()
{
// no-op: proxy implements this method by calling getAllSettings
@@ -95,6 +101,12 @@ namespace BlackCore
return CSettingsCache::instance()->saveToStore(keyPrefix);
}
BlackMisc::CStatusMessage CContextApplication::saveSettingsByKey(const QStringList &keys)
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO << keys.join(", "); }
return CSettingsCache::instance()->saveToStore(keys);
}
BlackMisc::CStatusMessage CContextApplication::loadSettings()
{
if (m_debugEnabled) { CLogMessage(this, CLogCategory::contextSlot()).debug() << Q_FUNC_INFO; }

View File

@@ -64,12 +64,18 @@ namespace BlackCore
//! \copydoc IContextApplication::getAllSettings
virtual BlackMisc::CValueCachePacket getAllSettings() const override;
//! \copydoc IContextApplication::getUnsavedSettingsKeys
virtual QStringList getUnsavedSettingsKeys() const override;
//! \copydoc IContextApplication::synchronizeLocalSettings
virtual void synchronizeLocalSettings() override;
//! \copydoc IContextApplication::saveSettings
virtual BlackMisc::CStatusMessage saveSettings(const QString &keyPrefix = {}) override;
//! \copydoc IContextApplication::saveSettingsByKey
virtual BlackMisc::CStatusMessage saveSettingsByKey(const QStringList &keys) override;
//! \copydoc IContextApplication::loadSettings
virtual BlackMisc::CStatusMessage loadSettings() override;

View File

@@ -103,6 +103,11 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<BlackMisc::CValueCachePacket>(QLatin1Literal("getAllSettings"));
}
QStringList CContextApplicationProxy::getUnsavedSettingsKeys() const
{
return this->m_dBusInterface->callDBusRet<QStringList>(QLatin1Literal("getUnsavedSettingsKeys"));
}
void CContextApplicationProxy::synchronizeLocalSettings()
{
// note this proxy method does not call synchronizeLocalSettings in core
@@ -114,6 +119,11 @@ namespace BlackCore
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessage>(QLatin1Literal("saveSettings"), keyPrefix);
}
BlackMisc::CStatusMessage CContextApplicationProxy::saveSettingsByKey(const QStringList &keys)
{
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessage>(QLatin1Literal("saveSettingsByKey"), keys);
}
BlackMisc::CStatusMessage CContextApplicationProxy::loadSettings()
{
return this->m_dBusInterface->callDBusRet<BlackMisc::CStatusMessage>(QLatin1Literal("loadSettings"));

View File

@@ -69,12 +69,18 @@ namespace BlackCore
//! \copydoc IContextApplication::getAllSettings
virtual BlackMisc::CValueCachePacket getAllSettings() const override;
//! \copydoc IContextApplication::getUnsavedSettingsKeys
virtual QStringList getUnsavedSettingsKeys() const override;
//! \copydoc IContextApplication::synchronizeLocalSettings
virtual void synchronizeLocalSettings() override;
//! \copydoc IContextApplication::saveSettings
virtual BlackMisc::CStatusMessage saveSettings(const QString &keyPrefix = {}) override;
//! \copydoc IContextApplication::saveSettingsByKey
virtual BlackMisc::CStatusMessage saveSettingsByKey(const QStringList &keys) override;
//! \copydoc IContextApplication::loadSettings
virtual BlackMisc::CStatusMessage loadSettings() override;