1/*
2 SPDX-FileCopyrightText: 2012-2013 Jan Grulich <jgrulich@redhat.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_BOND_SETTING_H
8#define NETWORKMANAGERQT_BOND_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QString>
14
15namespace NetworkManager
16{
17class BondSettingPrivate;
18
19/**
20 * Represents bond setting
21 */
22class NETWORKMANAGERQT_EXPORT BondSetting : public Setting
23{
24public:
25 typedef QSharedPointer<BondSetting> Ptr;
26 typedef QList<Ptr> List;
27 BondSetting();
28 explicit BondSetting(const Ptr &other);
29 ~BondSetting() override;
30
31 QString name() const override;
32
33 /// @deprecated in favor of connection.interface-name in NM 1.0.0
34 void setInterfaceName(const QString &name);
35 QString interfaceName() const;
36
37 void addOption(const QString &option, const QString &value);
38 void setOptions(const NMStringMap &options);
39 NMStringMap options() const;
40
41 void fromMap(const QVariantMap &setting) override;
42
43 QVariantMap toMap() const override;
44
45protected:
46 BondSettingPrivate *d_ptr;
47
48private:
49 Q_DECLARE_PRIVATE(BondSetting)
50};
51
52NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const BondSetting &setting);
53
54}
55
56#endif // NETWORKMANAGERQT_BOND_SETTING_H
57

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