diff options
Diffstat (limited to 'src/declarative/qml/v8/qv8engine_p.h')
-rw-r--r-- | src/declarative/qml/v8/qv8engine_p.h | 11 |
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; |