File indexing completed on 2024-04-14 03:57:38
0001 /* 0002 SPDX-FileCopyrightText: 2012-2013 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_VLAN_SETTING_H 0008 #define NETWORKMANAGERQT_VLAN_SETTING_H 0009 0010 #include "setting.h" 0011 #include <networkmanagerqt/networkmanagerqt_export.h> 0012 0013 #include <QString> 0014 0015 namespace NetworkManager 0016 { 0017 class VlanSettingPrivate; 0018 0019 /** 0020 * Represents vlan setting 0021 */ 0022 class NETWORKMANAGERQT_EXPORT VlanSetting : public Setting 0023 { 0024 public: 0025 typedef QSharedPointer<VlanSetting> Ptr; 0026 typedef QList<Ptr> List; 0027 enum Flag { 0028 None = 0, 0029 ReorderHeaders = 0x1, 0030 Gvrp = 0x2, 0031 LooseBinding = 0x4, 0032 }; 0033 Q_DECLARE_FLAGS(Flags, Flag) 0034 0035 VlanSetting(); 0036 explicit VlanSetting(const Ptr &other); 0037 ~VlanSetting() override; 0038 0039 QString name() const override; 0040 0041 /// @deprecated in favor of connection.interface-name in NM 1.0.0 0042 void setInterfaceName(const QString &name); 0043 QString interfaceName() const; 0044 0045 void setParent(const QString &parent); 0046 QString parent() const; 0047 0048 void setId(quint32 id); 0049 quint32 id() const; 0050 0051 void setFlags(Flags flags); 0052 Flags flags() const; 0053 0054 void setIngressPriorityMap(const QStringList &map); 0055 QStringList ingressPriorityMap() const; 0056 0057 void setEgressPriorityMap(const QStringList &map); 0058 QStringList egressPriorityMap() const; 0059 0060 void fromMap(const QVariantMap &setting) override; 0061 0062 QVariantMap toMap() const override; 0063 0064 protected: 0065 VlanSettingPrivate *d_ptr; 0066 0067 private: 0068 Q_DECLARE_PRIVATE(VlanSetting) 0069 }; 0070 Q_DECLARE_OPERATORS_FOR_FLAGS(VlanSetting::Flags) 0071 0072 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const VlanSetting &setting); 0073 0074 } 0075 0076 #endif // NETWORKMANAGERQT_VLAN_SETTING_H