5#include <QDBusArgument>
6#include <QDBusMetaType>
22 Q_CLASSINFO(
"D-Bus Interface",
"org.qtproject.QtDBus.MyObject")
24" <interface name=\"org.qtproject.QtDBus.MyObject\" >\n"
25" <property access=\"readwrite\" type=\"i\" name=\"prop1\" />\n"
26" <property name=\"complexProp\" type=\"ai\" access=\"readwrite\">\n"
27" <annotation name=\"org.qtproject.QtDBus.QtTypeName\" value=\"QList<int>\"/>\n"
29" <signal name=\"somethingHappened\" >\n"
30" <arg direction=\"out\" type=\"s\" />\n"
32" <method name=\"ping\" >\n"
33" <arg direction=\"in\" type=\"v\" name=\"ping\" />\n"
34" <arg direction=\"out\" type=\"v\" name=\"ping\" />\n"
36" <method name=\"ping_invokable\" >\n"
37" <arg direction=\"in\" type=\"v\" name=\"ping_invokable\" />\n"
38" <arg direction=\"out\" type=\"v\" name=\"ping_invokable\" />\n"
40" <method name=\"ping\" >\n"
41" <arg direction=\"in\" type=\"v\" name=\"ping1\" />\n"
42" <arg direction=\"in\" type=\"v\" name=\"ping2\" />\n"
43" <arg direction=\"out\" type=\"v\" name=\"pong1\" />\n"
44" <arg direction=\"out\" type=\"v\" name=\"pong2\" />\n"
46" <method name=\"ping_invokable\" >\n"
47" <arg direction=\"in\" type=\"v\" name=\"ping1_invokable\" />\n"
48" <arg direction=\"in\" type=\"v\" name=\"ping2_invokable\" />\n"
49" <arg direction=\"out\" type=\"v\" name=\"pong1_invokable\" />\n"
50" <arg direction=\"out\" type=\"v\" name=\"pong2_invokable\" />\n"
52" <method name=\"ping\" >\n"
53" <arg direction=\"in\" type=\"ai\" name=\"ping\" />\n"
54" <arg direction=\"out\" type=\"ai\" name=\"ping\" />\n"
55" <annotation name=\"org.qtproject.QtDBus.QtTypeName.In0\" value=\"QList<int>\"/>\n"
56" <annotation name=\"org.qtproject.QtDBus.QtTypeName.Out0\" value=\"QList<int>\"/>\n"
58" <method name=\"ping_invokable\" >\n"
59" <arg direction=\"in\" type=\"ai\" name=\"ping_invokable\" />\n"
60" <arg direction=\"out\" type=\"ai\" name=\"ping_invokable\" />\n"
61" <annotation name=\"org.qtproject.QtDBus.QtTypeName.In0\" value=\"QList<int>\"/>\n"
62" <annotation name=\"org.qtproject.QtDBus.QtTypeName.Out0\" value=\"QList<int>\"/>\n"
71 static QVariantList callArgs;
74 QObject *subObject =
new QObject(
this);
75 subObject->setObjectName(
"subObject");
98Q_DECLARE_METATYPE(MyStructure)
101QDBusArgument &operator<<(QDBusArgument &argument,
const MyStructure &myStruct)
103 argument.beginStructure();
104 argument << myStruct.count << myStruct.name;
105 argument.endStructure();
112 argument.beginStructure();
113 argument >> myStruct
.count >> myStruct.name;
114 argument.endStructure();
132qDBusRegisterMetaType<MyStructure>();
138QVariant argument = MyObject::callArgs.at(0);
139QDBusVariant dv = qdbus_cast<QDBusVariant>(argument);
157 argument.beginStructure();
159 argument.endStructure();
168 argument.beginStructure();
171 argument.beginStructure();
173 argument.endStructure();
176 argument.endStructure();
186 argument.beginArray(qMetaTypeId<
MyElement>());
187 for (
const auto &element : myArray)
198 argument.beginMap(QMetaType::fromType<
int>(), QMetaType::fromType<MyValue>());
199 MyDictionary::const_iterator i;
200 for (i = myDict.cbegin(); i != myDict.cend(); ++i) {
201 argument.beginMapEntry();
202 argument << i.key() << i.value();
203 argument.endMapEntry();
213 argument.beginStructure();
215 argument.endStructure();
224 argument.beginArray();
227 while (!argument.atEnd()) {
230 myArray.append(element);
245 while (!argument.atEnd()) {
248 argument.beginMapEntry();
249 argument >> key >> value;
250 argument.endMapEntry();
251 myDict.insert(key, value);
QDBusArgument & operator<<(QDBusArgument &argument, const MyStructure &myStruct)
[5]
QDBusArgument & operator<<(QDBusArgument &argument, const MyStructure &myStruct)
[4]
const QDBusArgument & operator>>(const QDBusArgument &argument, MyArray &myArray)
[8]
const QDBusArgument & operator>>(const QDBusArgument &argument, MyStructure &myStruct)
[7]
QDBusArgument & operator<<(QDBusArgument &argument, const MyArray &myArray)
[6]
const QDBusArgument & operator>>(const QDBusArgument &argument, MyStructure &myStruct)
const QDBusArgument & operator>>(const QDBusArgument &argument, const MyMember &)
QHash< int, MyElement > MyDictionary
QList< MyElement > MyArray
void registerMyStructure()
const QDBusArgument & operator<<(const QDBusArgument &argument, const MyMember &)
[0-1]