summaryrefslogtreecommitdiffstats
path: root/tests/auto/qdbusmarshall/common.h
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@nokia.com>2009-08-31 08:26:40 (GMT)
committerThiago Macieira <thiago.macieira@nokia.com>2009-08-31 08:26:40 (GMT)
commit8a58bde27c9e23cd8a5688fdc50b6b74d25411a6 (patch)
tree28102e03233c45524aa75cbdbcb9287d6b8bc1f4 /tests/auto/qdbusmarshall/common.h
parent8529d7e3ace4994cd2caf563bb437f2c5c38bcee (diff)
parent624ea78d71dca5112272597f9f1ee165c2275c5c (diff)
downloadQt-8a58bde27c9e23cd8a5688fdc50b6b74d25411a6.zip
Qt-8a58bde27c9e23cd8a5688fdc50b6b74d25411a6.tar.gz
Qt-8a58bde27c9e23cd8a5688fdc50b6b74d25411a6.tar.bz2
Merge branch '4.5' into 4.6
Conflicts: tests/auto/xmlpatternsxqts/lib/tests/XMLWriterTest.cpp
Diffstat (limited to 'tests/auto/qdbusmarshall/common.h')
-rw-r--r--tests/auto/qdbusmarshall/common.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/tests/auto/qdbusmarshall/common.h b/tests/auto/qdbusmarshall/common.h
index 9df1e01..bdc9f09 100644
--- a/tests/auto/qdbusmarshall/common.h
+++ b/tests/auto/qdbusmarshall/common.h
@@ -103,6 +103,34 @@ const QDBusArgument &operator>>(const QDBusArgument &arg, MyStruct &ms)
return arg;
}
+struct MyVariantMapStruct
+{
+ QString s;
+ QVariantMap map;
+
+ inline bool operator==(const MyVariantMapStruct &other) const
+ { return s == other.s && map == other.map; }
+};
+Q_DECLARE_METATYPE(MyVariantMapStruct)
+Q_DECLARE_METATYPE(QList<MyVariantMapStruct>)
+
+QDBusArgument &operator<<(QDBusArgument &arg, const MyVariantMapStruct &ms)
+{
+ arg.beginStructure();
+ arg << ms.s << ms.map;
+ arg.endStructure();
+ return arg;
+}
+
+const QDBusArgument &operator>>(const QDBusArgument &arg, MyVariantMapStruct &ms)
+{
+ arg.beginStructure();
+ arg >> ms.s >> ms.map;
+ arg.endStructure();
+ return arg;
+}
+
+
void commonInit()
{
qDBusRegisterMetaType<QList<QDateTime> >();
@@ -127,6 +155,8 @@ void commonInit()
qDBusRegisterMetaType<QHash<QDBusSignature, QString> >();
qDBusRegisterMetaType<MyStruct>();
+ qDBusRegisterMetaType<MyVariantMapStruct>();
+ qDBusRegisterMetaType<QList<MyVariantMapStruct> >();
}
#ifdef USE_PRIVATE_CODE
#include "private/qdbusintrospection_p.h"
@@ -476,6 +506,11 @@ bool compareToArgument(const QDBusArgument &arg, const QVariant &v2)
else if (id == qMetaTypeId<MyStruct>())
return compare<MyStruct>(arg, v2);
+
+ else if (id == qMetaTypeId<MyVariantMapStruct>())
+ return compare<MyVariantMapStruct>(arg, v2);
+ else if (id == qMetaTypeId<QList<MyVariantMapStruct> >())
+ return compare<QList<MyVariantMapStruct> >(arg, v2);
}
qWarning() << "Unexpected QVariant type" << v2.userType()