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 * \class NetworkManager::OvsInterfaceSetting
21 * \inheaderfile NetworkManagerQt/OvsInterfaceSetting
22 * \inmodule NetworkManagerQt
23 *
24 * \brief Represents ovs-interface setting.
25 */
26class NETWORKMANAGERQT_EXPORT OvsInterfaceSetting : public Setting
27{
28public:
29 /*!
30 * \typedef NetworkManager::OvsInterfaceSetting::Ptr
31 */
32 typedef QSharedPointer<OvsInterfaceSetting> Ptr;
33 /*!
34 * \typedef NetworkManager::OvsInterfaceSetting::List
35 */
36 typedef QList<Ptr> List;
37
38 /*!
39 */
40 OvsInterfaceSetting();
41 /*!
42 */
43 explicit OvsInterfaceSetting(const Ptr &other);
44 ~OvsInterfaceSetting() override;
45
46 QString name() const override;
47
48 /*!
49 */
50 void setInterfaceType(const QString &type);
51 /*!
52 */
53 QString interfaceType() const;
54
55 void fromMap(const QVariantMap &setting) override;
56
57 QVariantMap toMap() const override;
58
59protected:
60 OvsInterfaceSettingPrivate *d_ptr;
61
62private:
63 Q_DECLARE_PRIVATE(OvsInterfaceSetting)
64};
65
66NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const OvsInterfaceSetting &setting);
67
68}
69
70#endif // NETWORKMANAGERQT_OVS_INTERFACE_SETTING_H
71

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