summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetaobjectbuilder_p.h
diff options
context:
space:
mode:
authorKent Hansen <kent.hansen@nokia.com>2012-02-18 21:42:19 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-29 12:50:14 +0100
commit87438fd705b2b81006a18f1c35ebd112da1b3054 (patch)
treee25c98e52440c0ade8afe8ab12ea00d0b292564e /src/corelib/kernel/qmetaobjectbuilder_p.h
parent69e3e544864e55ebe42df035daf3bf66e25c820f (diff)
Move MetaStringTable class to private header
Rename the class to QMetaStringTable and move it to qmetaobjectbuilder_p.h. It must be exported since it will be used by the QtDBus and QtDeclarative meta-object generators. Change-Id: I08d1172fb292ab8f1e891da7f5d5f2798225c77f Reviewed-by: João Abecasis <joao.abecasis@nokia.com> Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel/qmetaobjectbuilder_p.h')
-rw-r--r--src/corelib/kernel/qmetaobjectbuilder_p.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/corelib/kernel/qmetaobjectbuilder_p.h b/src/corelib/kernel/qmetaobjectbuilder_p.h
index ef802ce82b..4d766a9197 100644
--- a/src/corelib/kernel/qmetaobjectbuilder_p.h
+++ b/src/corelib/kernel/qmetaobjectbuilder_p.h
@@ -56,6 +56,7 @@
#include <QtCore/qobject.h>
#include <QtCore/qmetaobject.h>
#include <QtCore/qdatastream.h>
+#include <QtCore/qhash.h>
#include <QtCore/qmap.h>
@@ -319,6 +320,23 @@ private:
QMetaEnumBuilderPrivate *d_func() const;
};
+class Q_CORE_EXPORT QMetaStringTable
+{
+public:
+ QMetaStringTable();
+
+ int enter(const QByteArray &value);
+
+ static int preferredAlignment();
+ int blobSize() const;
+ void writeBlob(char *out);
+
+private:
+ typedef QHash<QByteArray, int> Entries; // string --> index mapping
+ Entries m_entries;
+ int m_index;
+};
+
Q_DECLARE_OPERATORS_FOR_FLAGS(QMetaObjectBuilder::AddMembers)
Q_DECLARE_OPERATORS_FOR_FLAGS(QMetaObjectBuilder::MetaObjectFlags)