File indexing completed on 2024-04-21 04:00:04
0001 /* 0002 SPDX-FileCopyrightText: 2018 Pranav Gade <pranavgade20@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef NETWORKMANAGERQTOVS_PORT_SETTING_H 0008 #define NETWORKMANAGERQTOVS_PORT_SETTING_H 0009 0010 #include "setting.h" 0011 #include <networkmanagerqt/networkmanagerqt_export.h> 0012 0013 namespace NetworkManager 0014 { 0015 class OvsPortSettingPrivate; 0016 0017 /** 0018 * Represents OvsPort setting 0019 */ 0020 class NETWORKMANAGERQT_EXPORT OvsPortSetting : public Setting 0021 { 0022 public: 0023 typedef QSharedPointer<OvsPortSetting> Ptr; 0024 typedef QList<Ptr> List; 0025 0026 OvsPortSetting(); 0027 explicit OvsPortSetting(const Ptr &other); 0028 ~OvsPortSetting() override; 0029 0030 QString name() const override; 0031 0032 void setBondDowndelay(quint32 delay); 0033 quint32 bondDowndelay() const; 0034 0035 void setBondUpdelay(quint32 delay); 0036 quint32 bondUpdelay() const; 0037 0038 void setTag(quint32 tag); 0039 quint32 tag() const; 0040 0041 void setBondMode(const QString &mode); 0042 QString bondMode() const; 0043 0044 void setLacp(const QString &lacp); 0045 QString lacp() const; 0046 0047 void setVlanMode(const QString &mode); 0048 QString vlanMode() const; 0049 0050 void fromMap(const QVariantMap &setting) override; 0051 0052 QVariantMap toMap() const override; 0053 0054 protected: 0055 OvsPortSettingPrivate *d_ptr; 0056 0057 private: 0058 Q_DECLARE_PRIVATE(OvsPortSetting) 0059 }; 0060 0061 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const OvsPortSetting &setting); 0062 0063 } 0064 0065 #endif // NETWORKMANAGERQT_OVS_PORT_SETTING_H