aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/v8/qv8engine_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/v8/qv8engine_p.h')
-rw-r--r--src/declarative/qml/v8/qv8engine_p.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/declarative/qml/v8/qv8engine_p.h b/src/declarative/qml/v8/qv8engine_p.h
index d4b8730dc7..5aec866682 100644
--- a/src/declarative/qml/v8/qv8engine_p.h
+++ b/src/declarative/qml/v8/qv8engine_p.h
@@ -90,7 +90,8 @@ class QV8ObjectResource : public v8::Object::ExternalResource
public:
QV8ObjectResource(QV8Engine *engine) : engine(engine) { Q_ASSERT(engine); }
enum ResourceType { ContextType, QObjectType, TypeType, ListType, VariantType,
- ValueTypeType, XMLHttpRequestType, DOMNodeType, SQLDatabaseType };
+ ValueTypeType, XMLHttpRequestType, DOMNodeType, SQLDatabaseType,
+ ListModelType };
virtual ResourceType resourceType() const = 0;
QV8Engine *engine;
@@ -170,6 +171,10 @@ public:
QV8Engine();
~QV8Engine();
+ struct Deletable {
+ ~Deletable() {}
+ };
+
void init(QDeclarativeEngine *);
QDeclarativeEngine *engine() { return m_engine; }
@@ -184,6 +189,9 @@ public:
void *xmlHttpRequestData() { return m_xmlHttpRequestData; }
void *sqlDatabaseData() { return m_sqlDatabaseData; }
+ Deletable *listModelData() { return m_listModelData; }
+ void setListModelData(Deletable *d) { if (m_listModelData) delete m_listModelData; m_listModelData = d; }
+
QDeclarativeContextData *callingContext();
v8::Local<v8::Array> getOwnPropertyNames(v8::Handle<v8::Object>);
@@ -246,6 +254,7 @@ private:
void *m_xmlHttpRequestData;
void *m_sqlDatabaseData;
+ Deletable *m_listModelData;
QSet<QString> m_illegalNames;