File indexing completed on 2025-03-16 12:58:24
0001 /* 0002 SPDX-FileCopyrightText: 2011 Ilia Kats <ilia-kats@gmx.net> 0003 SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #include "generictypes.h" 0009 0010 QDBusArgument &operator<<(QDBusArgument &argument, const IpV6DBusAddress &address) 0011 { 0012 argument.beginStructure(); 0013 argument << address.address << address.prefix << address.gateway; 0014 argument.endStructure(); 0015 return argument; 0016 } 0017 0018 const QDBusArgument &operator>>(const QDBusArgument &argument, IpV6DBusAddress &address) 0019 { 0020 argument.beginStructure(); 0021 argument >> address.address >> address.prefix >> address.gateway; 0022 argument.endStructure(); 0023 return argument; 0024 } 0025 0026 QDBusArgument &operator<<(QDBusArgument &argument, const IpV6DBusRoute &route) 0027 { 0028 argument.beginStructure(); 0029 argument << route.destination << route.prefix << route.nexthop << route.metric; 0030 argument.endStructure(); 0031 return argument; 0032 } 0033 0034 const QDBusArgument &operator>>(const QDBusArgument &argument, IpV6DBusRoute &route) 0035 { 0036 argument.beginStructure(); 0037 argument >> route.destination >> route.prefix >> route.nexthop >> route.metric; 0038 argument.endStructure(); 0039 return argument; 0040 } 0041 0042 QDBusArgument &operator<<(QDBusArgument &argument, const NMStringMap &mydict) 0043 { 0044 argument.beginMap(QVariant::String, QVariant::String); 0045 0046 QMapIterator<QString, QString> i(mydict); 0047 while (i.hasNext()) { 0048 i.next(); 0049 argument.beginMapEntry(); 0050 argument << i.key() << i.value(); 0051 argument.endMapEntry(); 0052 } 0053 argument.endMap(); 0054 return argument; 0055 } 0056 0057 const QDBusArgument &operator>>(const QDBusArgument &argument, NMStringMap &mydict) 0058 { 0059 argument.beginMap(); 0060 mydict.clear(); 0061 0062 while (!argument.atEnd()) { 0063 QString key; 0064 QString value; 0065 argument.beginMapEntry(); 0066 argument >> key >> value; 0067 argument.endMapEntry(); 0068 mydict.insert(key, value); 0069 } 0070 0071 argument.endMap(); 0072 return argument; 0073 } 0074 0075 QDBusArgument &operator<<(QDBusArgument &argument, const DeviceDBusStateReason &reason) 0076 { 0077 argument.beginStructure(); 0078 argument << reason.state << reason.reason; 0079 argument.endStructure(); 0080 return argument; 0081 } 0082 0083 const QDBusArgument &operator>>(const QDBusArgument &argument, DeviceDBusStateReason &reason) 0084 { 0085 argument.beginStructure(); 0086 argument >> reason.state >> reason.reason; 0087 argument.endStructure(); 0088 return argument; 0089 }