File indexing completed on 2024-04-28 15:33:14

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 NETWORKMANAGERQT_OVS_BRIDGE_SETTING_H
0008 #define NETWORKMANAGERQT_OVS_BRIDGE_SETTING_H
0009 
0010 #include "setting.h"
0011 #include <networkmanagerqt/networkmanagerqt_export.h>
0012 
0013 #include <QString>
0014 
0015 namespace NetworkManager
0016 {
0017 class OvsBridgeSettingPrivate;
0018 
0019 /**
0020  * Represents ovs-bridge setting
0021  */
0022 class NETWORKMANAGERQT_EXPORT OvsBridgeSetting : public Setting
0023 {
0024 public:
0025     typedef QSharedPointer<OvsBridgeSetting> Ptr;
0026     typedef QList<Ptr> List;
0027 
0028     OvsBridgeSetting();
0029     explicit OvsBridgeSetting(const Ptr &other);
0030     ~OvsBridgeSetting() override;
0031 
0032     QString name() const override;
0033 
0034     void setMcastSnoopingEnable(bool mcastSnoopingEnable);
0035     bool mcastSnoopingEnable() const;
0036 
0037     void setRstpEnable(bool rstpEnable);
0038     bool rstpEnable() const;
0039 
0040     void setStpEnable(bool stpEnable);
0041     bool stpEnable() const;
0042 
0043     void setFailMode(const QString &mode);
0044     QString failMode() const;
0045 
0046     void fromMap(const QVariantMap &setting) override;
0047 
0048     QVariantMap toMap() const override;
0049 
0050 protected:
0051     OvsBridgeSettingPrivate *d_ptr;
0052 
0053 private:
0054     Q_DECLARE_PRIVATE(OvsBridgeSetting)
0055 };
0056 
0057 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const OvsBridgeSetting &setting);
0058 
0059 }
0060 
0061 #endif // NETWORKMANAGERQT_OVS_BRIDGE_SETTING_H