File indexing completed on 2024-04-14 03:57:36

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_MATCH_SETTING_H
0008 #define NETWORKMANAGERQT_MATCH_SETTING_H
0009 
0010 #include "setting.h"
0011 #include <networkmanagerqt/networkmanagerqt_export.h>
0012 
0013 namespace NetworkManager
0014 {
0015 class MatchSettingPrivate;
0016 
0017 /**
0018  * Represents Match setting
0019  */
0020 class NETWORKMANAGERQT_EXPORT MatchSetting : public Setting
0021 {
0022 public:
0023     typedef QSharedPointer<MatchSetting> Ptr;
0024     typedef QList<Ptr> List;
0025 
0026     MatchSetting();
0027     explicit MatchSetting(const Ptr &other);
0028     ~MatchSetting() override;
0029 
0030     QString name() const override;
0031 
0032     void setInterfaceName(const QStringList &name);
0033     QStringList interfaceName() const;
0034 
0035     void fromMap(const QVariantMap &setting) override;
0036 
0037     QVariantMap toMap() const override;
0038 
0039 protected:
0040     MatchSettingPrivate *d_ptr;
0041 
0042 private:
0043     Q_DECLARE_PRIVATE(MatchSetting)
0044 };
0045 
0046 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const MatchSetting &setting);
0047 
0048 }
0049 
0050 #endif // NETWORKMANAGERQT_MATCH_SETTING_H