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_USER_SETTING_H
8#define NETWORKMANAGERQT_USER_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QString>
14
15namespace NetworkManager
16{
17class UserSettingPrivate;
18
19/**
20 * Represents user setting
21 */
22class NETWORKMANAGERQT_EXPORT UserSetting : public Setting
23{
24public:
25 typedef QSharedPointer<UserSetting> Ptr;
26 typedef QList<Ptr> List;
27
28 UserSetting();
29 explicit UserSetting(const Ptr &other);
30 ~UserSetting() override;
31
32 QString name() const override;
33
34 void addData(const QString &data, const QString &value);
35 void setData(const NMStringMap &data);
36 NMStringMap data() const;
37
38 void fromMap(const QVariantMap &setting) override;
39
40 QVariantMap toMap() const override;
41
42protected:
43 UserSettingPrivate *d_ptr;
44
45private:
46 Q_DECLARE_PRIVATE(UserSetting)
47};
48
49NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const UserSetting &setting);
50
51}
52
53#endif // NETWORKMANAGERQT_USER_SETTING_H
54

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