summaryrefslogtreecommitdiff
path: root/src/lib/language/scriptengine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/language/scriptengine.h')
-rw-r--r--src/lib/language/scriptengine.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lib/language/scriptengine.h b/src/lib/language/scriptengine.h
index 3e5daf653..e39d46e25 100644
--- a/src/lib/language/scriptengine.h
+++ b/src/lib/language/scriptengine.h
@@ -31,10 +31,13 @@
#define QBS_SCRIPTENGINE_H
#include "jsimports.h"
+#include "forward_decls.h"
#include <language/property.h>
#include <logging/logger.h>
#include <tools/qbs_export.h>
+#include <QHash>
+#include <QPair>
#include <QScriptEngine>
namespace qbs {
@@ -59,6 +62,11 @@ public:
void clearProperties() { m_properties.clear(); }
PropertyList properties() const { return m_properties; }
+ void addToPropertyCache(const QString &moduleName, const QString &propertyName,
+ const PropertyMapConstPtr &propertyMap, QScriptValue value);
+ QScriptValue retrieveFromPropertyCache(const QString &moduleName, const QString &propertyName,
+ const PropertyMapConstPtr &propertyMap);
+
void setObservedProperty(QScriptValue &object, const QString &name, const QScriptValue &value,
ScriptPropertyObserver *observer);
@@ -67,6 +75,7 @@ private:
QScriptValue &targetObject);
QHash<QString, QScriptValue> m_jsImportCache;
+ QHash<QPair<QString, PropertyMapConstPtr>, QScriptValue> m_propertyCache;
PropertyList m_properties;
Logger m_logger;
QScriptValue m_definePropertyFunction;