1/*
2 SPDX-FileCopyrightText: 2016 Jan Grulich <jgrulich@redhat.com>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef NETWORKMANAGERQT_TUN_SETTING_H
8#define NETWORKMANAGERQT_TUN_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QString>
14
15namespace NetworkManager
16{
17class TunSettingPrivate;
18
19/*!
20 * \class NetworkManager::TunSetting
21 * \inheaderfile NetworkManagerQt/TunSetting
22 * \inmodule NetworkManagerQt
23 *
24 * \brief Represents generic setting.
25 */
26class NETWORKMANAGERQT_EXPORT TunSetting : public Setting
27{
28public:
29 /*!
30 * \typedef NetworkManager::TunSetting::Ptr
31 */
32 typedef QSharedPointer<TunSetting> Ptr;
33 /*!
34 * \typedef NetworkManager::TunSetting::List
35 */
36 typedef QList<Ptr> List;
37 /*!
38 *
39 * \value Tun
40 * \value Tap
41 */
42 enum Mode {
43 Tun,
44 Tap,
45 };
46
47 /*!
48 */
49 TunSetting();
50 /*!
51 */
52 explicit TunSetting(const Ptr &other);
53 ~TunSetting() override;
54
55 QString name() const override;
56
57 /*!
58 */
59 void setGroup(const QString &group);
60 /*!
61 */
62 QString group() const;
63
64 /*!
65 */
66 void setMode(Mode mode);
67 /*!
68 */
69 Mode mode() const;
70
71 /*!
72 */
73 void setMultiQueue(bool multiQueue);
74 /*!
75 */
76 bool multiQueue() const;
77
78 /*!
79 */
80 void setOwner(const QString &owner);
81 /*!
82 */
83 QString owner() const;
84
85 /*!
86 */
87 void setPi(bool pi);
88 /*!
89 */
90 bool pi() const;
91
92 /*!
93 */
94 void setVnetHdr(bool vnetHdr);
95 /*!
96 */
97 bool vnetHdr() const;
98
99 void fromMap(const QVariantMap &setting) override;
100
101 QVariantMap toMap() const override;
102
103protected:
104 TunSettingPrivate *d_ptr;
105
106private:
107 Q_DECLARE_PRIVATE(TunSetting)
108};
109
110NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const TunSetting &setting);
111
112}
113
114#endif // NETWORKMANAGERQT_TUN_SETTING_H
115

source code of networkmanager-qt/src/settings/tunsetting.h