1 /**************************************************************************** 2 ** 3 ** Copyright (C) 2015 The Qt Company Ltd. 4 ** Contact: http://www.qt.io/licensing/ 5 ** 6 ** This file is part of the QtLocation module of the Qt Toolkit. 7 ** 8 ** $QT_BEGIN_LICENSE:LGPL3$ 9 ** Commercial License Usage 10 ** Licensees holding valid commercial Qt licenses may use this file in 11 ** accordance with the commercial license agreement provided with the 12 ** Software or, alternatively, in accordance with the terms contained in 13 ** a written agreement between you and The Qt Company. For licensing terms 14 ** and conditions see http://www.qt.io/terms-conditions. For further 15 ** information use the contact form at http://www.qt.io/contact-us. 16 ** 17 ** GNU Lesser General Public License Usage 18 ** Alternatively, this file may be used under the terms of the GNU Lesser 19 ** General Public License version 3 as published by the Free Software 20 ** Foundation and appearing in the file LICENSE.LGPLv3 included in the 21 ** packaging of this file. Please review the following information to 22 ** ensure the GNU Lesser General Public License version 3 requirements 23 ** will be met: https://www.gnu.org/licenses/lgpl.html. 24 ** 25 ** GNU General Public License Usage 26 ** Alternatively, this file may be used under the terms of the GNU 27 ** General Public License version 2.0 or later as published by the Free 28 ** Software Foundation and appearing in the file LICENSE.GPL included in 29 ** the packaging of this file. Please review the following information to 30 ** ensure the GNU General Public License version 2.0 requirements will be 31 ** met: http://www.gnu.org/licenses/gpl-2.0.html. 32 ** 33 ** $QT_END_LICENSE$ 34 ** 35 ****************************************************************************/ 36 37 #include "qplacesupplier.h" 38 #include "qplacesupplier_p.h" 39 40 QT_USE_NAMESPACE 41 QPlaceSupplierPrivate()42QPlaceSupplierPrivate::QPlaceSupplierPrivate() : QSharedData() 43 { 44 } 45 QPlaceSupplierPrivate(const QPlaceSupplierPrivate & other)46QPlaceSupplierPrivate::QPlaceSupplierPrivate(const QPlaceSupplierPrivate &other) 47 : QSharedData() 48 { 49 this->name = other.name; 50 this->supplierId = other.supplierId; 51 this->url = other.url; 52 this->icon = other.icon; 53 } 54 ~QPlaceSupplierPrivate()55QPlaceSupplierPrivate::~QPlaceSupplierPrivate() 56 { 57 } 58 operator ==(const QPlaceSupplierPrivate & other) const59bool QPlaceSupplierPrivate::operator==(const QPlaceSupplierPrivate &other) const 60 { 61 return ( 62 this->name == other.name 63 && this->supplierId == other.supplierId 64 && this->url == other.url 65 && this->icon == other.icon 66 ); 67 } 68 isEmpty() const69bool QPlaceSupplierPrivate::isEmpty() const 70 { 71 return (name.isEmpty() 72 && supplierId.isEmpty() 73 && url.isEmpty() 74 && icon.isEmpty() 75 ); 76 } 77 78 /*! 79 \class QPlaceSupplier 80 \inmodule QtLocation 81 \ingroup QtLocation-places 82 \ingroup QtLocation-places-data 83 \since 5.6 84 85 \brief The QPlaceSupplier class represents a supplier of a place or content associated 86 with a place. 87 88 Each instance represents a set of data about a supplier, which can include 89 supplier's name, url and icon. The supplier is typically a business or organization. 90 91 Note: The Places API only supports suppliers as 'retrieve-only' objects. Submitting 92 suppliers to a provider is not a supported use case. 93 */ 94 95 /*! 96 Constructs a new supplier object. 97 */ QPlaceSupplier()98QPlaceSupplier::QPlaceSupplier() 99 : d(new QPlaceSupplierPrivate) 100 { 101 } 102 103 /*! 104 Constructs a copy of \a other. 105 */ QPlaceSupplier(const QPlaceSupplier & other)106QPlaceSupplier::QPlaceSupplier(const QPlaceSupplier &other) 107 :d(other.d) 108 { 109 } 110 111 /*! 112 Destroys the supplier object. 113 */ ~QPlaceSupplier()114QPlaceSupplier::~QPlaceSupplier() 115 { 116 } 117 118 /*! 119 Assigns \a other to this supplier and returns a reference to this 120 supplier. 121 */ operator =(const QPlaceSupplier & other)122QPlaceSupplier &QPlaceSupplier::operator=(const QPlaceSupplier &other) 123 { 124 if (this == &other) 125 return *this; 126 127 d = other.d; 128 return *this; 129 } 130 131 /*! 132 Returns true if this supplier is equal to \a other, 133 otherwise returns false. 134 */ operator ==(const QPlaceSupplier & other) const135bool QPlaceSupplier::operator==(const QPlaceSupplier &other) const 136 { 137 return (*(d.constData()) == *(other.d.constData())); 138 } 139 140 /*! 141 \fn QPlaceSupplier::operator!=(const QPlaceSupplier &other) const 142 143 Returns true if this supplier is not equal to \a other, 144 otherwise returns false. 145 */ 146 147 /*! 148 Returns the name of the supplier which can be displayed to the user. 149 150 The name can potentially be localized. The language is dependent on the 151 entity that sets it, typically this is the QPlaceManager. 152 The QPlaceManager::locales() field defines what language is used. 153 */ name() const154QString QPlaceSupplier::name() const 155 { 156 return d->name; 157 } 158 159 /*! 160 Sets the \a name of the supplier. 161 */ setName(const QString & name)162void QPlaceSupplier::setName(const QString &name) 163 { 164 d->name = name; 165 } 166 167 /*! 168 Returns the identifier of the supplier. The identifier is unique 169 to the manager backend which provided the supplier and is generally 170 not suitable for displaying to the user. 171 */ supplierId() const172QString QPlaceSupplier::supplierId() const 173 { 174 return d->supplierId; 175 } 176 177 /*! 178 Sets the \a identifier of the supplier. 179 */ setSupplierId(const QString & identifier)180void QPlaceSupplier::setSupplierId(const QString &identifier) 181 { 182 d->supplierId = identifier; 183 } 184 185 /*! 186 Returns the URL of the supplier's website. 187 */ url() const188QUrl QPlaceSupplier::url() const 189 { 190 return d->url; 191 } 192 193 /*! 194 Sets the \a url of the supplier's website. 195 */ setUrl(const QUrl & url)196void QPlaceSupplier::setUrl(const QUrl &url) 197 { 198 d->url = url; 199 } 200 201 /*! 202 Returns the icon of the supplier. 203 */ icon() const204QPlaceIcon QPlaceSupplier::icon() const 205 { 206 return d->icon; 207 } 208 209 /*! 210 Sets the \a icon of the supplier. 211 */ setIcon(const QPlaceIcon & icon)212void QPlaceSupplier::setIcon(const QPlaceIcon &icon) 213 { 214 d->icon = icon; 215 } 216 217 /*! 218 Returns true if all fields of the place supplier are 0; otherwise returns false. 219 */ isEmpty() const220bool QPlaceSupplier::isEmpty() const 221 { 222 return d->isEmpty(); 223 } 224