diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2016-07-28 17:40:21 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2016-08-01 15:28:04 +0000 |
commit | 143f22babb43d50dd5ee99f73f04016c84d6171a (patch) | |
tree | cbb7f02861d503aa3f85cc68450f7fa43746c439 /src/qml/qml/qqmlpropertycache_p.h | |
parent | 897eb7f1290428dcc257e999b099d0ef14349e35 (diff) |
Add a checksum to QQmlPropertyCache
By running an md5 hash over the meta-object data and string tables this will
allow us to detect changes to meta-objects and invalidate QML disk caches.
Change-Id: I15b92de4cdf0cb525281b86e1c7b8ba0b11347a0
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlpropertycache_p.h')
-rw-r--r-- | src/qml/qml/qqmlpropertycache_p.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/qml/qml/qqmlpropertycache_p.h b/src/qml/qml/qqmlpropertycache_p.h index fd29cc8e6a..750537e707 100644 --- a/src/qml/qml/qqmlpropertycache_p.h +++ b/src/qml/qml/qqmlpropertycache_p.h @@ -65,6 +65,7 @@ QT_BEGIN_NAMESPACE +class QCryptographicHash; class QMetaProperty; class QQmlEngine; class QJSEngine; @@ -367,6 +368,9 @@ public: void toMetaObjectBuilder(QMetaObjectBuilder &); static bool determineMetaObjectSizes(const QMetaObject &mo, int *fieldCount, int *stringCount); + static bool addToHash(QCryptographicHash &hash, const QMetaObject &mo); + + QByteArray checksum(bool *ok); protected: virtual void destroy(); @@ -437,6 +441,7 @@ private: QByteArray _dynamicStringData; QString _defaultPropertyName; QQmlPropertyCacheMethodArguments *argumentsCache; + QByteArray _checksum; }; // QQmlMetaObject serves as a wrapper around either QMetaObject or QQmlPropertyCache. |