NetworkManagerQt

usersetting.cpp
1 /*
2  SPDX-FileCopyrightText: Pranav Gade <[email protected]>
3 
4  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5 */
6 
7 #include "usersetting.h"
8 #include "usersetting_p.h"
9 
10 #include <QDebug>
11 
12 #if !NM_CHECK_VERSION(1, 8, 0)
13 #define NM_SETTING_USER_SETTING_NAME "user"
14 #define NM_SETTING_USER_DATA "data"
15 #endif
16 
17 NetworkManager::UserSettingPrivate::UserSettingPrivate()
18  : name(NM_SETTING_USER_SETTING_NAME)
19 {
20 }
21 
22 NetworkManager::UserSetting::UserSetting()
23  : Setting(Setting::User)
24  , d_ptr(new UserSettingPrivate())
25 {
26 }
27 
28 NetworkManager::UserSetting::UserSetting(const Ptr &other)
29  : Setting(other)
30  , d_ptr(new UserSettingPrivate())
31 {
32  setData(other->data());
33 }
34 
35 NetworkManager::UserSetting::~UserSetting()
36 {
37  delete d_ptr;
38 }
39 
41 {
42  Q_D(const UserSetting);
43 
44  return d->name;
45 }
46 
47 void NetworkManager::UserSetting::addData(const QString &data, const QString &value)
48 {
50 
51  d->data.insert(data, value);
52 }
53 
54 void NetworkManager::UserSetting::setData(const NMStringMap &data)
55 {
56  Q_D(UserSetting);
57 
58  d->data = data;
59 }
60 
61 NMStringMap NetworkManager::UserSetting::data() const
62 {
63  Q_D(const UserSetting);
64 
65  return d->data;
66 }
67 
68 void NetworkManager::UserSetting::fromMap(const QVariantMap &setting)
69 {
70  if (setting.contains(QLatin1String(NM_SETTING_USER_DATA))) {
71  setData(qdbus_cast<NMStringMap>(setting.value(QLatin1String(NM_SETTING_USER_DATA))));
72  }
73 }
74 
76 {
77  QVariantMap setting;
78 
79  if (!data().isEmpty()) {
80  setting.insert(QLatin1String(NM_SETTING_USER_DATA), QVariant::fromValue<NMStringMap>(data()));
81  }
82 
83  return setting;
84 }
85 
86 QDebug NetworkManager::operator<<(QDebug dbg, const NetworkManager::UserSetting &setting)
87 {
88  dbg.nospace() << "type: " << setting.typeAsString(setting.type()) << '\n';
89  dbg.nospace() << "initialized: " << !setting.isNull() << '\n';
90 
91  dbg.nospace() << NM_SETTING_USER_DATA << ": " << setting.data() << '\n';
92 
93  return dbg.maybeSpace();
94 }
QDebug & nospace()
QVariantMap toMap() const override
Must be reimplemented, default implementationd does nothing.
Definition: usersetting.cpp:75
QDebug & maybeSpace()
QString name() const override
Must be reimplemented, default implementationd does nothing.
Definition: usersetting.cpp:40
QString name(StandardShortcut id)
Represents user setting.
Definition: usersetting.h:22
Q_D(Todo)
void fromMap(const QVariantMap &setting) override
Must be reimplemented, default implementation does nothing.
Definition: usersetting.cpp:68
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Tue Sep 26 2023 04:03:52 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.