Ref T709 Encapsulate the CSettingsProvider pointer in a CSettingsAware base class.

This commit is contained in:
Mat Sutcliffe
2019-08-13 19:30:01 +01:00
parent 463ed4bfbd
commit 7295ac5331
4 changed files with 36 additions and 22 deletions

View File

@@ -48,6 +48,26 @@ namespace XSwiftBus
mutable std::mutex m_settingsMutex;
CSettings m_pluginSettings; //!< owner of the settings
};
//! Something having access to the settings
class CSettingsAware
{
protected:
//! Constructor
CSettingsAware(CSettingsProvider *provider);
//! Destructor
~CSettingsAware() = default;
//! \copydoc CSettingsProvider::getSettings
CSettings getSettings() const;
//! \copydoc CSettingsProvider::setSettings
void setSettings(const CSettings &settings);
private:
CSettingsProvider *m_provider = nullptr;
};
} // ns
#endif