File indexing completed on 2025-02-09 04:18:52
0001 /* 0002 This file is part of KDE. 0003 0004 SPDX-FileCopyrightText: 2008 Cornelius Schumacher <schumacher@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0007 */ 0008 0009 #include "person.h" 0010 0011 using namespace Attica; 0012 0013 class Q_DECL_HIDDEN Person::Private : public QSharedData 0014 { 0015 public: 0016 QString m_id; 0017 QString m_firstName; 0018 QString m_lastName; 0019 QDate m_birthday; 0020 QString m_country; 0021 qreal m_latitude; 0022 qreal m_longitude; 0023 QUrl m_avatarUrl; 0024 QString m_homepage; 0025 QString m_city; 0026 0027 QMap<QString, QString> m_extendedAttributes; 0028 0029 Private() 0030 : m_latitude(0) 0031 , m_longitude(0) 0032 { 0033 } 0034 }; 0035 0036 Person::Person() 0037 : d(new Private) 0038 { 0039 } 0040 0041 Person::Person(const Person &other) 0042 : d(other.d) 0043 { 0044 } 0045 0046 Person &Person::operator=(const Attica::Person &other) 0047 { 0048 d = other.d; 0049 return *this; 0050 } 0051 0052 Person::~Person() 0053 { 0054 } 0055 0056 void Person::setId(const QString &u) 0057 { 0058 d->m_id = u; 0059 } 0060 0061 QString Person::id() const 0062 { 0063 return d->m_id; 0064 } 0065 0066 void Person::setFirstName(const QString &name) 0067 { 0068 d->m_firstName = name; 0069 } 0070 0071 QString Person::firstName() const 0072 { 0073 return d->m_firstName; 0074 } 0075 0076 void Person::setLastName(const QString &name) 0077 { 0078 d->m_lastName = name; 0079 } 0080 0081 QString Person::lastName() const 0082 { 0083 return d->m_lastName; 0084 } 0085 0086 void Person::setBirthday(const QDate &date) 0087 { 0088 d->m_birthday = date; 0089 } 0090 0091 QDate Person::birthday() const 0092 { 0093 return d->m_birthday; 0094 } 0095 0096 void Person::setCountry(const QString &c) 0097 { 0098 d->m_country = c; 0099 } 0100 0101 QString Person::country() const 0102 { 0103 return d->m_country; 0104 } 0105 0106 void Person::setLatitude(qreal l) 0107 { 0108 d->m_latitude = l; 0109 } 0110 0111 qreal Person::latitude() const 0112 { 0113 return d->m_latitude; 0114 } 0115 0116 void Person::setLongitude(qreal l) 0117 { 0118 d->m_longitude = l; 0119 } 0120 0121 qreal Person::longitude() const 0122 { 0123 return d->m_longitude; 0124 } 0125 0126 void Person::setAvatarUrl(const QUrl &url) 0127 { 0128 d->m_avatarUrl = url; 0129 } 0130 0131 QUrl Person::avatarUrl() const 0132 { 0133 return d->m_avatarUrl; 0134 } 0135 0136 void Person::setHomepage(const QString &h) 0137 { 0138 d->m_homepage = h; 0139 } 0140 0141 QString Person::homepage() const 0142 { 0143 return d->m_homepage; 0144 } 0145 0146 void Person::setCity(const QString &h) 0147 { 0148 d->m_city = h; 0149 } 0150 0151 QString Person::city() const 0152 { 0153 return d->m_city; 0154 } 0155 void Person::addExtendedAttribute(const QString &key, const QString &value) 0156 { 0157 d->m_extendedAttributes.insert(key, value); 0158 } 0159 0160 QString Person::extendedAttribute(const QString &key) const 0161 { 0162 return d->m_extendedAttributes.value(key); 0163 } 0164 0165 QMap<QString, QString> Person::extendedAttributes() const 0166 { 0167 return d->m_extendedAttributes; 0168 } 0169 0170 bool Person::isValid() const 0171 { 0172 return !(d->m_id.isEmpty()); 0173 }