1 | /* |
---|---|
2 | This file is part of the KContacts framework. |
3 | SPDX-FileCopyrightText: 2016-2019 Laurent Montel <montel@kde.org> |
4 | |
5 | SPDX-License-Identifier: LGPL-2.0-or-later |
6 | */ |
7 | |
8 | #include "org.h" |
9 | #include "parametermap_p.h" |
10 | |
11 | #include <QDataStream> |
12 | #include <QStringList> |
13 | |
14 | using namespace KContacts; |
15 | |
16 | class Q_DECL_HIDDEN Org::Private : public QSharedData |
17 | { |
18 | public: |
19 | Private() |
20 | { |
21 | } |
22 | |
23 | Private(const Private &other) |
24 | : QSharedData(other) |
25 | { |
26 | mParamMap = other.mParamMap; |
27 | organization = other.organization; |
28 | } |
29 | |
30 | ParameterMap mParamMap; |
31 | QString organization; |
32 | }; |
33 | |
34 | Org::Org() |
35 | : d(new Private) |
36 | { |
37 | } |
38 | |
39 | Org::Org(const Org &other) |
40 | : d(other.d) |
41 | { |
42 | } |
43 | |
44 | Org::Org(const QString &org) |
45 | : d(new Private) |
46 | { |
47 | d->organization = org; |
48 | } |
49 | |
50 | Org::~Org() |
51 | { |
52 | } |
53 | |
54 | void Org::setOrganization(const QString &org) |
55 | { |
56 | d->organization = org; |
57 | } |
58 | |
59 | QString Org::organization() const |
60 | { |
61 | return d->organization; |
62 | } |
63 | |
64 | bool Org::isValid() const |
65 | { |
66 | return !d->organization.isEmpty(); |
67 | } |
68 | |
69 | void Org::setParams(const ParameterMap ¶ms) |
70 | { |
71 | d->mParamMap = params; |
72 | } |
73 | |
74 | ParameterMap Org::params() const |
75 | { |
76 | return d->mParamMap; |
77 | } |
78 | |
79 | bool Org::operator==(const Org &other) const |
80 | { |
81 | return (d->mParamMap == other.d->mParamMap) && (d->organization == other.organization()); |
82 | } |
83 | |
84 | bool Org::operator!=(const Org &other) const |
85 | { |
86 | return !(other == *this); |
87 | } |
88 | |
89 | Org &Org::operator=(const Org &other) |
90 | { |
91 | if (this != &other) { |
92 | d = other.d; |
93 | } |
94 | |
95 | return *this; |
96 | } |
97 | |
98 | QString Org::toString() const |
99 | { |
100 | QString str = QLatin1String("Org {\n"); |
101 | str += QStringLiteral(" organization: %1\n").arg(a: d->organization); |
102 | str += d->mParamMap.toString(); |
103 | str += QLatin1String("}\n"); |
104 | return str; |
105 | } |
106 | |
107 | QDataStream &KContacts::operator<<(QDataStream &s, const Org &org) |
108 | { |
109 | return s << org.d->mParamMap << org.d->organization; |
110 | } |
111 | |
112 | QDataStream &KContacts::operator>>(QDataStream &s, Org &org) |
113 | { |
114 | s >> org.d->mParamMap >> org.d->organization; |
115 | return s; |
116 | } |
117 |