1/*
2 SPDX-FileCopyrightText: 2018 Pranav Gade <pranavgade20@gmail.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_OVS_INTERFACE_SETTING_H
8#define NETWORKMANAGERQT_OVS_INTERFACE_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QString>
14
15namespace NetworkManager
16{
17class OvsInterfaceSettingPrivate;
18
19/**
20 * Represents ovs-interface setting
21 */
22class NETWORKMANAGERQT_EXPORT OvsInterfaceSetting : public Setting
23{
24public:
25 typedef QSharedPointer<OvsInterfaceSetting> Ptr;
26 typedef QList<Ptr> List;
27
28 OvsInterfaceSetting();
29 explicit OvsInterfaceSetting(const Ptr &other);
30 ~OvsInterfaceSetting() override;
31
32 QString name() const override;
33
34 void setInterfaceType(const QString &type);
35 QString interfaceType() const;
36
37 void fromMap(const QVariantMap &setting) override;
38
39 QVariantMap toMap() const override;
40
41protected:
42 OvsInterfaceSettingPrivate *d_ptr;
43
44private:
45 Q_DECLARE_PRIVATE(OvsInterfaceSetting)
46};
47
48NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const OvsInterfaceSetting &setting);
49
50}
51
52#endif // NETWORKMANAGERQT_OVS_INTERFACE_SETTING_H
53

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