From af483183c11a494394a3c61c47f9c46f805806bf Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 17 Mar 2009 20:43:33 -0400 Subject: Add override capabilities for Config values --- sigscript/ValueMap.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'sigscript/ValueMap.cpp') diff --git a/sigscript/ValueMap.cpp b/sigscript/ValueMap.cpp index 1b10462d..eec7fa7e 100644 --- a/sigscript/ValueMap.cpp +++ b/sigscript/ValueMap.cpp @@ -60,18 +60,38 @@ ConfigOptions ValueMap::options(const QString& name) const { QReadLocker locker(&m_mutex); if (m_map.contains(name)) - return m_map[name].second; + return m_map[name].second.first; return 0; } void ValueMap::setOptions(const QString& name, const ConfigOptions options) { QWriteLocker locker(&m_mutex); - m_map[name].second |= options; + m_map[name].second.first |= options; } void ValueMap::unsetOptions(const QString& name, const ConfigOptions options) { QWriteLocker locker(&m_mutex); - m_map[name].second &= ~options; + m_map[name].second.first &= ~options; +} + +ConfigOptions ValueMap::overrides(const QString& name) const +{ + QReadLocker locker(&m_mutex); + if (m_map.contains(name)) + return m_map[name].second.second; + return 0; +} + +void ValueMap::setOverrides(const QString& name, const ConfigOptions options) +{ + QWriteLocker locker(&m_mutex); + m_map[name].second.second |= options; +} + +void ValueMap::unsetOverrides(const QString& name, const ConfigOptions options) +{ + QWriteLocker locker(&m_mutex); + m_map[name].second.second &= ~options; } -- cgit