diff options
author | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-02-28 11:47:16 +0100 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@digia.com> | 2014-04-11 14:03:56 +0200 |
commit | 91a320551cae7925308d84395a52dfdd617b4110 (patch) | |
tree | 404cf28187b95cc748815a2388ce9d69320d0f02 /src/lib/corelib/jsextensions/jsextensions.cpp | |
parent | aeabec6dd3b4496549012df158e19d862cfcc548 (diff) |
support internal extensions in loadExtension
Internal extensions like qbs.File are now supported by loadExtension.
Task-number: QBS-302
Change-Id: I2b51fec90145afbe18f48cfdd5c0becc9472e90c
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Diffstat (limited to 'src/lib/corelib/jsextensions/jsextensions.cpp')
-rw-r--r-- | src/lib/corelib/jsextensions/jsextensions.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/corelib/jsextensions/jsextensions.cpp b/src/lib/corelib/jsextensions/jsextensions.cpp index 465caaf52..622ff611b 100644 --- a/src/lib/corelib/jsextensions/jsextensions.cpp +++ b/src/lib/corelib/jsextensions/jsextensions.cpp @@ -35,6 +35,8 @@ #include "propertylist.h" #include "textfile.h" +#include <QScriptEngine> + namespace qbs { namespace Internal { @@ -44,6 +46,16 @@ void JsExtensions::setupExtensions(const QStringList &names, QScriptValue scope) initializers().value(name)(scope); } +QScriptValue JsExtensions::loadExtension(QScriptEngine *engine, const QString &name) +{ + if (!hasExtension(name)) + return QScriptValue(); + + QScriptValue extensionObj = engine->newObject(); + initializers().value(name)(extensionObj); + return extensionObj.property(name); +} + bool JsExtensions::hasExtension(const QString &name) { return initializers().contains(name); |