1/*
2 SPDX-FileCopyrightText: 2018 Billy Laws <blaws05@gmail.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_VXLAN_SETTING_H
8#define NETWORKMANAGERQT_VXLAN_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QString>
14
15namespace NetworkManager
16{
17class VxlanSettingPrivate;
18
19/*!
20 * \class NetworkManager::VxlanSetting
21 * \inheaderfile NetworkManagerQt/VxlanSetting
22 * \inmodule NetworkManagerQt
23 *
24 * \brief Represents vxlan setting.
25 */
26class NETWORKMANAGERQT_EXPORT VxlanSetting : public Setting
27{
28public:
29 /*!
30 * \typedef NetworkManager::VxlanSetting::Ptr
31 */
32 typedef QSharedPointer<VxlanSetting> Ptr;
33 /*!
34 * \typedef NetworkManager::VxlanSetting::List
35 */
36 typedef QList<Ptr> List;
37 /*!
38 */
39 VxlanSetting();
40 /*!
41 */
42 explicit VxlanSetting(const Ptr &other);
43 ~VxlanSetting() override;
44
45 QString name() const override;
46
47 /*!
48 */
49 void setAgeing(quint32 ageing);
50 /*!
51 */
52 quint32 ageing() const;
53
54 /*!
55 */
56 void setDestinationPort(quint32 port);
57 /*!
58 */
59 quint32 destinationPort() const;
60
61 /*!
62 */
63 void setId(quint32 id);
64 /*!
65 */
66 quint32 id() const;
67
68 /*!
69 */
70 void setL2Miss(bool enable);
71 /*!
72 */
73 bool l2Miss() const;
74
75 /*!
76 */
77 void setL3Miss(bool enable);
78 /*!
79 */
80 bool l3Miss() const;
81
82 /*!
83 */
84 void setLearning(bool enable);
85 /*!
86 */
87 bool learning() const;
88
89 /*!
90 */
91 void setLimit(quint32 limit);
92 /*!
93 */
94 quint32 limit() const;
95
96 /*!
97 */
98 void setLocal(QString local);
99 /*!
100 */
101 QString local() const;
102
103 /*!
104 */
105 void setParent(QString parent);
106 /*!
107 */
108 QString parent() const;
109
110 /*!
111 */
112 void setProxy(bool enable);
113 /*!
114 */
115 bool proxy() const;
116
117 /*!
118 */
119 void setRemote(QString remote);
120 /*!
121 */
122 QString remote() const;
123
124 /*!
125 */
126 void setRsc(bool enable);
127 /*!
128 */
129 bool rsc() const;
130
131 /*!
132 */
133 void setSourcePortMax(quint32 maxPort);
134 /*!
135 */
136 quint32 sourcePortMax() const;
137
138 /*!
139 */
140 void setSourcePortMin(quint32 minPort);
141 /*!
142 */
143 quint32 sourcePortMin() const;
144
145 /*!
146 */
147 void setTos(quint32 tos);
148 /*!
149 */
150 quint32 tos() const;
151
152 /*!
153 */
154 void setTtl(quint32 ttl);
155 /*!
156 */
157 quint32 ttl() const;
158
159 void fromMap(const QVariantMap &setting) override;
160
161 QVariantMap toMap() const override;
162
163protected:
164 VxlanSettingPrivate *d_ptr;
165
166private:
167 Q_DECLARE_PRIVATE(VxlanSetting)
168};
169
170NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const VxlanSetting &setting);
171
172}
173
174#endif // NETWORKMANAGERQT_VXLAN_SETTING_H
175

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