summaryrefslogtreecommitdiffstats
path: root/sigscript/ValueMap.cpp
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-17 20:43:33 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-17 20:43:33 -0400
commitaf483183c11a494394a3c61c47f9c46f805806bf (patch)
tree03e0677ee576274550dbb25e893bbad34d8b87dc /sigscript/ValueMap.cpp
parent86d3207a4fc047d62cba109be7e8f40a43cc7d65 (diff)
downloadsigen-af483183c11a494394a3c61c47f9c46f805806bf.tar.gz
sigen-af483183c11a494394a3c61c47f9c46f805806bf.tar.xz
sigen-af483183c11a494394a3c61c47f9c46f805806bf.zip
Add override capabilities for Config values
Diffstat (limited to 'sigscript/ValueMap.cpp')
-rw-r--r--sigscript/ValueMap.cpp26
1 files changed, 23 insertions, 3 deletions
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;
}