File indexing completed on 2024-04-28 15:33:16
0001 /* 0002 SPDX-FileCopyrightText: 2016 Jan Grulich <jgrulich@redhat.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef NETWORKMANAGERQT_TUN_SETTING_H 0008 #define NETWORKMANAGERQT_TUN_SETTING_H 0009 0010 #include "setting.h" 0011 #include <networkmanagerqt/networkmanagerqt_export.h> 0012 0013 #include <QString> 0014 0015 namespace NetworkManager 0016 { 0017 class TunSettingPrivate; 0018 0019 /** 0020 * Represents generic setting 0021 */ 0022 class NETWORKMANAGERQT_EXPORT TunSetting : public Setting 0023 { 0024 public: 0025 typedef QSharedPointer<TunSetting> Ptr; 0026 typedef QList<Ptr> List; 0027 enum Mode { 0028 Tun, 0029 Tap, 0030 }; 0031 0032 TunSetting(); 0033 explicit TunSetting(const Ptr &other); 0034 ~TunSetting() override; 0035 0036 QString name() const override; 0037 0038 void setGroup(const QString &group); 0039 QString group() const; 0040 0041 void setMode(Mode mode); 0042 Mode mode() const; 0043 0044 void setMultiQueue(bool multiQueue); 0045 bool multiQueue() const; 0046 0047 void setOwner(const QString &owner); 0048 QString owner() const; 0049 0050 void setPi(bool pi); 0051 bool pi() const; 0052 0053 void setVnetHdr(bool vnetHdr); 0054 bool vnetHdr() const; 0055 0056 void fromMap(const QVariantMap &setting) override; 0057 0058 QVariantMap toMap() const override; 0059 0060 protected: 0061 TunSettingPrivate *d_ptr; 0062 0063 private: 0064 Q_DECLARE_PRIVATE(TunSetting) 0065 }; 0066 0067 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const TunSetting &setting); 0068 0069 } 0070 0071 #endif // NETWORKMANAGERQT_TUN_SETTING_H