File indexing completed on 2024-04-14 14:16:55

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 }