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