telepathy-qt: Tools/qt-types-gen: Added QDBusArgument stream operators for lists.
Alexandr Akulich
kaffeine at kemper.freedesktop.org
Sun Jun 12 11:22:29 UTC 2016
Module: telepathy-qt
Branch: master
Commit: 8864249479ea2adbb5c88378aa082fa18d55f6b0
URL: http://cgit.freedesktop.org/telepathy/telepathy-qt/commit/?id=8864249479ea2adbb5c88378aa082fa18d55f6b0
Author: Alexandr Akulich <akulichalexander at gmail.com>
Date: Fri Jun 10 20:49:56 2016 +0500
Tools/qt-types-gen: Added QDBusArgument stream operators for lists.
Previously we used operators are now deprecated and will be removed in Qt-5.8.
---
tools/qt-types-gen.py | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)
diff --git a/tools/qt-types-gen.py b/tools/qt-types-gen.py
index b87c365..9a234da 100644
--- a/tools/qt-types-gen.py
+++ b/tools/qt-types-gen.py
@@ -302,6 +302,40 @@ TP_QT_NO_EXPORT void _registerTypes()
self.decl(self.faketype(val, real))
self.to_declare.append(self.namespace + '::' + val)
+ self.both('%s QDBusArgument& operator<<(QDBusArgument& arg, const %s &list)' %
+ (self.visibility, val))
+ self.decl(';\n')
+ self.impl("""
+{
+ int id = qMetaTypeId<%s>();
+ arg.beginArray(id);
+ for (int i = 0; i < list.count(); ++i) {
+ arg << list.at(i);
+ }
+ arg.endArray();
+ return arg;
+}
+
+""" % (array_of))
+
+ self.both('%s const QDBusArgument& operator>>(const QDBusArgument& arg, %s &list)' %
+ (self.visibility, val))
+ self.decl(';\n\n')
+ self.impl("""
+{
+ arg.beginArray();
+ list.clear();
+ while (!arg.atEnd()) {
+ %s item;
+ arg >> item;
+ list.append(item);
+ }
+ arg.endArray();
+ return arg;
+}
+
+""" % (array_of))
+
structs = self.spec.getElementsByTagNameNS(NS_TP, 'struct')
mappings = self.spec.getElementsByTagNameNS(NS_TP, 'mapping')
exts = self.spec.getElementsByTagNameNS(NS_TP, 'external-type')
More information about the telepathy-commits
mailing list