aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/corelib/jsextensions/jsextensions.cpp
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2014-02-28 11:47:16 +0100
committerJoerg Bornemann <joerg.bornemann@digia.com>2014-04-11 14:03:56 +0200
commit91a320551cae7925308d84395a52dfdd617b4110 (patch)
tree404cf28187b95cc748815a2388ce9d69320d0f02 /src/lib/corelib/jsextensions/jsextensions.cpp
parentaeabec6dd3b4496549012df158e19d862cfcc548 (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.cpp12
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);