1/*
2 SPDX-FileCopyrightText: 2013 Lukáš Tinkl <ltinkl@redhat.com>
3 SPDX-FileCopyrightText: 2014 Jan Grulich <jgrulich@redhat.com>
4
5 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
6*/
7
8#ifndef NETWORKMANAGERQT_GRE_DEVICE_H
9#define NETWORKMANAGERQT_GRE_DEVICE_H
10
11#include "device.h"
12#include <networkmanagerqt/networkmanagerqt_export.h>
13
14namespace NetworkManager
15{
16class GreDevicePrivate;
17
18/**
19 * A gre device interface
20 * @deprecated renamed to IpTunnelDevice
21 */
22class NETWORKMANAGERQT_EXPORT GreDevice : public Device
23{
24 Q_OBJECT
25 Q_PROPERTY(ushort inputFlags READ inputFlags NOTIFY inputFlagsChanged)
26 Q_PROPERTY(ushort outputFlags READ outputFlags NOTIFY outputFlagsChanged)
27 Q_PROPERTY(uint inputKey READ inputKey NOTIFY inputKeyChanged)
28 Q_PROPERTY(uint outputKey READ outputKey NOTIFY outputKeyChanged)
29 Q_PROPERTY(QString localEnd READ localEnd NOTIFY localEndChanged)
30 Q_PROPERTY(QString remoteEnd READ remoteEnd NOTIFY remoteEndChanged)
31 Q_PROPERTY(QString parent READ parent NOTIFY parentChanged)
32 Q_PROPERTY(bool pathMtuDiscovery READ pathMtuDiscovery NOTIFY pathMtuDiscoveryChanged)
33 Q_PROPERTY(uchar tos READ tos NOTIFY tosChanged)
34 Q_PROPERTY(uchar ttl READ ttl NOTIFY ttlChanged)
35
36public:
37 typedef QSharedPointer<GreDevice> Ptr;
38 typedef QList<Ptr> List;
39 explicit GreDevice(const QString &path, QObject *parent = nullptr);
40 ~GreDevice() override;
41
42 Type type() const override;
43
44 ushort inputFlags() const;
45 ushort outputFlags() const;
46 uint inputKey() const;
47 uint outputKey() const;
48 QString localEnd() const;
49 QString remoteEnd() const;
50 QString parent() const;
51 bool pathMtuDiscovery() const;
52 uchar tos() const;
53 uchar ttl() const;
54
55Q_SIGNALS:
56 void inputFlagsChanged(ushort inputflags);
57 void outputFlagsChanged(ushort outputFlags);
58 void inputKeyChanged(uint inputKey);
59 void outputKeyChanged(uint outputKey);
60 void localEndChanged(const QString &localEnd);
61 void remoteEndChanged(const QString &remoteEnd);
62 void parentChanged(const QString &parent);
63 void pathMtuDiscoveryChanged(bool pathMtuDiscovery);
64 void tosChanged(uchar tos);
65 void ttlChanged(uchar ttl);
66
67private:
68 Q_DECLARE_PRIVATE(GreDevice)
69};
70
71}
72
73#endif
74

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