File indexing completed on 2025-03-16 12:58:24
0001 /* 0002 SPDX-FileCopyrightText: 2013 Lukáš Tinkl <ltinkl@redhat.com> 0003 SPDX-FileCopyrightText: 2014 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 #ifndef NETWORKMANAGERQT_GRE_DEVICE_H 0009 #define NETWORKMANAGERQT_GRE_DEVICE_H 0010 0011 #include "device.h" 0012 #include <networkmanagerqt/networkmanagerqt_export.h> 0013 0014 namespace NetworkManager 0015 { 0016 class GreDevicePrivate; 0017 0018 /** 0019 * A gre device interface 0020 * @deprecated renamed to IpTunnelDevice 0021 */ 0022 class NETWORKMANAGERQT_EXPORT GreDevice : public Device 0023 { 0024 Q_OBJECT 0025 Q_PROPERTY(ushort inputFlags READ inputFlags NOTIFY inputFlagsChanged) 0026 Q_PROPERTY(ushort outputFlags READ outputFlags NOTIFY outputFlagsChanged) 0027 Q_PROPERTY(uint inputKey READ inputKey NOTIFY inputKeyChanged) 0028 Q_PROPERTY(uint outputKey READ outputKey NOTIFY outputKeyChanged) 0029 Q_PROPERTY(QString localEnd READ localEnd NOTIFY localEndChanged) 0030 Q_PROPERTY(QString remoteEnd READ remoteEnd NOTIFY remoteEndChanged) 0031 Q_PROPERTY(QString parent READ parent NOTIFY parentChanged) 0032 Q_PROPERTY(bool pathMtuDiscovery READ pathMtuDiscovery NOTIFY pathMtuDiscoveryChanged) 0033 Q_PROPERTY(uchar tos READ tos NOTIFY tosChanged) 0034 Q_PROPERTY(uchar ttl READ ttl NOTIFY ttlChanged) 0035 0036 public: 0037 typedef QSharedPointer<GreDevice> Ptr; 0038 typedef QList<Ptr> List; 0039 explicit GreDevice(const QString &path, QObject *parent = nullptr); 0040 ~GreDevice() override; 0041 0042 Type type() const override; 0043 0044 ushort inputFlags() const; 0045 ushort outputFlags() const; 0046 uint inputKey() const; 0047 uint outputKey() const; 0048 QString localEnd() const; 0049 QString remoteEnd() const; 0050 QString parent() const; 0051 bool pathMtuDiscovery() const; 0052 uchar tos() const; 0053 uchar ttl() const; 0054 0055 Q_SIGNALS: 0056 void inputFlagsChanged(ushort inputflags); 0057 void outputFlagsChanged(ushort outputFlags); 0058 void inputKeyChanged(uint inputKey); 0059 void outputKeyChanged(uint outputKey); 0060 void localEndChanged(const QString &localEnd); 0061 void remoteEndChanged(const QString &remoteEnd); 0062 void parentChanged(const QString &parent); 0063 void pathMtuDiscoveryChanged(bool pathMtuDiscovery); 0064 void tosChanged(uchar tos); 0065 void ttlChanged(uchar ttl); 0066 0067 private: 0068 Q_DECLARE_PRIVATE(GreDevice) 0069 }; 0070 0071 } 0072 0073 #endif