summaryrefslogtreecommitdiffstats
path: root/sigscript
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-02-12 15:12:12 -0500
committerBen Boeckel <MathStuf@gmail.com>2009-02-12 15:12:12 -0500
commit29f8778b8855a14f26e10dba75c5616fd4755a30 (patch)
tree03d792f3fbd582ef4303f773c0aea30020d0eb31 /sigscript
parent13d65b650bebb52b05cfd0eeced328f64d7aaedc (diff)
downloadsigen-29f8778b8855a14f26e10dba75c5616fd4755a30.tar.gz
sigen-29f8778b8855a14f26e10dba75c5616fd4755a30.tar.xz
sigen-29f8778b8855a14f26e10dba75c5616fd4755a30.zip
Added options method to Config
Diffstat (limited to 'sigscript')
-rw-r--r--sigscript/Config.cpp10
-rw-r--r--sigscript/Config.h2
2 files changed, 12 insertions, 0 deletions
diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp
index f498a9b0..fd8fe069 100644
--- a/sigscript/Config.cpp
+++ b/sigscript/Config.cpp
@@ -103,6 +103,16 @@ bool Sigscript::Config::hasValue(const QString& name, const bool recursive) cons
return false;
}
+Sigscript::Config::Options Sigscript::Config::options(const QString& name, const bool recursive) const
+{
+ QReadLocker locker(&m_lock);
+ if (m_values.contains(name))
+ return m_values[name].second;
+ if (recursive && m_parent)
+ return m_parent->options(name, recursive);
+ return 0;
+}
+
QStringList Sigscript::Config::values(const bool recursive) const
{
QStringList values = m_values.keys();
diff --git a/sigscript/Config.h b/sigscript/Config.h
index 209795bc..49e83c2d 100644
--- a/sigscript/Config.h
+++ b/sigscript/Config.h
@@ -62,6 +62,8 @@ class SIGSCRIPT_EXPORT Config : public QObject
Q_SCRIPTABLE bool hasValue(const QString& name, const bool recursive = true) const;
template<typename T> bool hasValueOfType(const QString& name, const bool recursive = true) const;
+ Q_SCRIPTABLE Options options(const QString& name, const bool recursive = true) const;
+
Q_SCRIPTABLE QStringList values(const bool recursive = false) const;
signals:
void valueAdded(const QString& name, const QVariant& value);