1/*
2 This file is part of the KDE project
3 SPDX-FileCopyrightText: 2008 Will Stephenson <wstephenson@kde.org>
4 SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com>
5
6 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7*/
8
9#ifndef GENERIC_TYPES_H
10#define GENERIC_TYPES_H
11
12#include <networkmanagerqt/networkmanagerqt_export.h>
13
14#include <QDBusArgument>
15#include <QVariantMap>
16
17typedef QList<QList<uint>> UIntListList;
18Q_DECLARE_METATYPE(UIntListList)
19
20typedef QList<uint> UIntList;
21Q_DECLARE_METATYPE(UIntList)
22
23typedef QMap<QString, QVariantMap> NMVariantMapMap;
24Q_DECLARE_METATYPE(NMVariantMapMap)
25
26typedef QList<QVariantMap> NMVariantMapList;
27Q_DECLARE_METATYPE(NMVariantMapList)
28
29typedef QMap<QString, QString> NMStringMap;
30#if NETWORKMANAGERQT_ENABLE_DEPRECATED_SINCE(6, 20)
31#if !defined(QT_NO_JAVA_STYLE_ITERATORS)
32typedef QMapIterator<QString, QString> NMStringMapIterator;
33#endif
34#endif
35Q_DECLARE_METATYPE(NMStringMap)
36
37NETWORKMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const NMStringMap &mydict);
38NETWORKMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, NMStringMap &mydict);
39
40typedef struct {
41 QByteArray address;
42 uint prefix;
43 QByteArray gateway;
44} IpV6DBusAddress;
45
46Q_DECLARE_METATYPE(IpV6DBusAddress)
47typedef QList<IpV6DBusAddress> IpV6DBusAddressList;
48Q_DECLARE_METATYPE(IpV6DBusAddressList)
49
50NETWORKMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const IpV6DBusAddress &address);
51NETWORKMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, IpV6DBusAddress &address);
52
53typedef struct {
54 QByteArray destination;
55 uint prefix;
56 QByteArray nexthop;
57 uint metric;
58} IpV6DBusRoute;
59
60Q_DECLARE_METATYPE(IpV6DBusRoute)
61typedef QList<IpV6DBusRoute> IpV6DBusRouteList;
62Q_DECLARE_METATYPE(IpV6DBusRouteList)
63
64NETWORKMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const IpV6DBusRoute &route);
65NETWORKMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, IpV6DBusRoute &route);
66
67// ipv6 nameservers
68typedef QList<QByteArray> IpV6DBusNameservers;
69Q_DECLARE_METATYPE(IpV6DBusNameservers)
70
71typedef struct {
72 uint state;
73 uint reason;
74} DeviceDBusStateReason;
75Q_DECLARE_METATYPE(DeviceDBusStateReason)
76
77NETWORKMANAGERQT_EXPORT QDBusArgument &operator<<(QDBusArgument &argument, const DeviceDBusStateReason &reason);
78NETWORKMANAGERQT_EXPORT const QDBusArgument &operator>>(const QDBusArgument &argument, DeviceDBusStateReason &reason);
79
80#endif // GENERIC_TYPES_H
81

source code of networkmanager-qt/src/generictypes.h