aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativemetatype_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/declarative/qml/qdeclarativemetatype_p.h')
-rw-r--r--src/declarative/qml/qdeclarativemetatype_p.h68
1 files changed, 58 insertions, 10 deletions
diff --git a/src/declarative/qml/qdeclarativemetatype_p.h b/src/declarative/qml/qdeclarativemetatype_p.h
index 429aa7a98f..2a6ce20bbb 100644
--- a/src/declarative/qml/qdeclarativemetatype_p.h
+++ b/src/declarative/qml/qdeclarativemetatype_p.h
@@ -66,6 +66,7 @@ QT_BEGIN_NAMESPACE
class QDeclarativeType;
class QDeclarativeCustomParser;
class QDeclarativeTypePrivate;
+class QDeclarativeTypeModule;
class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeMetaType
{
@@ -73,12 +74,12 @@ public:
static bool canCopy(int type);
static bool copy(int type, void *data, const void *copy = 0);
- static QList<QByteArray> qmlTypeNames();
+ static QList<QString> qmlTypeNames();
static QList<QDeclarativeType*> qmlTypes();
- static QDeclarativeType *qmlType(const QByteArray &, int, int);
+ static QDeclarativeType *qmlType(const QString &, int, int);
static QDeclarativeType *qmlType(const QMetaObject *);
- static QDeclarativeType *qmlType(const QMetaObject *metaObject, const QByteArray &module, int version_major, int version_minor);
+ static QDeclarativeType *qmlType(const QMetaObject *metaObject, const QString &module, int version_major, int version_minor);
static QDeclarativeType *qmlType(int);
static QMetaProperty defaultProperty(const QMetaObject *);
@@ -104,8 +105,9 @@ public:
static void registerCustomStringConverter(int, StringConverter);
static StringConverter customStringConverter(int);
- static bool isAnyModule(const QByteArray &module);
- static bool isModule(const QByteArray &module, int versionMajor, int versionMinor);
+ static bool isAnyModule(const QString &uri);
+ static bool isModule(const QString &module, int versionMajor, int versionMinor);
+ static QDeclarativeTypeModule *typeModule(const QString &uri, int majorVersion);
static QList<QDeclarativePrivate::AutoParentFunction> parentFunctions();
@@ -126,21 +128,24 @@ public:
QJSValue (*script)(QDeclarativeEngine *, QJSEngine *);
QObject *(*qobject)(QDeclarativeEngine *, QJSEngine *);
};
- static ModuleApi moduleApi(const QByteArray &, int, int);
+ static ModuleApi moduleApi(const QString &, int, int);
};
+class QHashedStringRef;
+class QHashedV8String;
class Q_DECLARATIVE_PRIVATE_EXPORT QDeclarativeType
{
public:
QByteArray typeName() const;
- QByteArray qmlTypeName() const;
+ const QByteArray &qmlTypeName() const;
+ const QString &elementName() const;
- QByteArray module() const;
+ QString module() const;
int majorVersion() const;
int minorVersion() const;
bool availableInVersion(int vmajor, int vminor) const;
- bool availableInVersion(const QByteArray &module, int vmajor, int vminor) const;
+ bool availableInVersion(const QString &module, int vmajor, int vminor) const;
QObject *create() const;
void create(QObject **, void **, size_t) const;
@@ -176,6 +181,8 @@ public:
int index() const;
+ int enumValue(const QHashedStringRef &) const;
+ int enumValue(const QHashedV8String &) const;
private:
QDeclarativeType *superType() const;
friend class QDeclarativeTypePrivate;
@@ -189,8 +196,49 @@ private:
QDeclarativeTypePrivate *d;
};
+class QDeclarativeTypeModulePrivate;
+class QDeclarativeTypeModule
+{
+public:
+ QString module() const;
+ int majorVersion() const;
+
+ int minimumMinorVersion() const;
+ int maximumMinorVersion() const;
+
+ QList<QDeclarativeType *> types();
+ QList<QDeclarativeType *> type(const QString &);
+
+ QDeclarativeType *type(const QHashedStringRef &, int);
+ QDeclarativeType *type(const QHashedV8String &, int);
+
+private:
+ friend int registerType(const QDeclarativePrivate::RegisterType &);
+ QDeclarativeTypeModule();
+ ~QDeclarativeTypeModule();
+ QDeclarativeTypeModulePrivate *d;
+};
+
+class QDeclarativeTypeModuleVersion
+{
+public:
+ QDeclarativeTypeModuleVersion();
+ QDeclarativeTypeModuleVersion(QDeclarativeTypeModule *, int);
+ QDeclarativeTypeModuleVersion(const QDeclarativeTypeModuleVersion &);
+ QDeclarativeTypeModuleVersion &operator=(const QDeclarativeTypeModuleVersion &);
+
+ QDeclarativeTypeModule *module() const;
+ int minorVersion() const;
+
+ QDeclarativeType *type(const QHashedStringRef &) const;
+ QDeclarativeType *type(const QHashedV8String &) const;
+
+private:
+ QDeclarativeTypeModule *m_module;
+ int m_minor;
+};
+
QDeclarativeMetaType::ModuleApi::ModuleApi()
-// : major(0), minor(0), script(0), qobject(0)
{
major = 0;
minor = 0;