diff options
author | Thiago Macieira <thiago.macieira@nokia.com> | 2009-08-31 08:26:40 (GMT) |
---|---|---|
committer | Thiago Macieira <thiago.macieira@nokia.com> | 2009-08-31 08:26:40 (GMT) |
commit | 8a58bde27c9e23cd8a5688fdc50b6b74d25411a6 (patch) | |
tree | 28102e03233c45524aa75cbdbcb9287d6b8bc1f4 /tests/auto/qdbusmarshall/common.h | |
parent | 8529d7e3ace4994cd2caf563bb437f2c5c38bcee (diff) | |
parent | 624ea78d71dca5112272597f9f1ee165c2275c5c (diff) | |
download | Qt-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.h | 35 |
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() |