1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
|
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the QtLocation module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "qplacereply.h"
#include "qplacereply_p.h"
QT_USE_NAMESPACE
/*!
\class QPlaceReply
\inmodule QtLocation
\ingroup QtLocation-places
\ingroup QtLocation-places-replies
\since Qt Location 5.0
\brief The QPlaceReply class manages an operation started by an instance of QPlaceManager and
serves as a base class for more specialized replies.
The QPlaceReply and each of its specialized subclasses manage the
state and results of their corresponding operations. The QPlaceReply itself is used
for operations that have no results, that is, it only necessary to know if the operation
succeeded or failed.
The finished() signal can be used to monitor the progress of an operation.
Once an operation is complete, the error() and errorString() methods provide information
on whether the operation completed successfully. If successful, the reply
will contain the results for that operation, that is, each subclass will have appropriate
functions to retrieve the results of an operation.
\sa QPlaceManager
*/
/*!
\enum QPlaceReply::Error
Describes an error which occurred during an operation.
\value NoError
No error has occurred
\value PlaceDoesNotExistError
A specified place could not be found
\value CategoryDoesNotExistError
A specified category could not be found
\value CommunicationError
An error occurred communicating with the service provider.
\value ParseError
The response from the service provider or an import file was in an unrecognizable format
\value PermissionsError
The operation failed because of insufficient permissions.
\value UnsupportedError
The operation was not supported by the service provider.
\value BadArgumentError.
A parameter that was provided was invalid.
\value CancelError
The operation was canceled.
\value UnknownError
An error occurred which does not fit into any of the other categories.
*/
/*!
\enum QPlaceReply::Type
Describes the reply's type.
\value Reply
This is a generic reply.
\value DetailsReply
This is a reply for the retrieval of place details
\value SearchReply
This is a reply for the place search operation.
\value SearchSuggestionReply
This is a reply for a search suggestion operation.
\value ContentReply
This is a reply for content associated with a place.
\value IdReply
This is a reply that returns an identifier of a place or category.
Typically used for place or category save and remove operations.
\value MatchReply
This is a reply that returns places that match
those from another provider.
*/
/*!
Constructs a reply object with a given \a parent.
*/
QPlaceReply::QPlaceReply(QObject *parent)
: QObject(parent),d_ptr(new QPlaceReplyPrivate)
{
}
/*!
\internal
*/
QPlaceReply::QPlaceReply(QPlaceReplyPrivate *dd, QObject *parent)
: QObject(parent),d_ptr(dd)
{
}
/*!
Destroys the reply object.
*/
QPlaceReply::~QPlaceReply()
{
if (!isFinished()) {
abort();
}
delete d_ptr;
}
/*!
Return true if the reply has completed.
*/
bool QPlaceReply::isFinished() const
{
return d_ptr->isFinished;
}
/*!
Returns the type of the reply.
*/
QPlaceReply::Type QPlaceReply::type() const
{
return QPlaceReply::Reply;
}
/*!
Sets the status of whether the reply is \a finished
or not. This function does not cause the finished() signal
to be emitted.
*/
void QPlaceReply::setFinished(bool finished)
{
d_ptr->isFinished = finished;
}
/*!
Sets the \a error and \a errorString of the reply.
This function does not cause the QPlaceReply::error(QPlaceReply::Error, const QString &errorString)
signal to be emitted.
*/
void QPlaceReply::setError(QPlaceReply::Error error, const QString &errorString)
{
d_ptr->error = error;
d_ptr->errorString = errorString;
}
/*!
Returns the error string of the reply. The error string is intended to be
used by developers only and is not fit to be displayed to an end user.
If no error has occurred, the string is empty.
*/
QString QPlaceReply::errorString() const
{
return d_ptr->errorString;
}
/*!
Returns the error code.
*/
QPlaceReply::Error QPlaceReply::error() const
{
return d_ptr->error;
}
/*!
Aborts the operation.
*/
void QPlaceReply::abort()
{
}
/*!
\fn void QPlaceReply::finished()
This signal is emitted when this reply has finished processing.
If error() equals QPlaceReply::NoError then the processing
finished successfully.
This signal and QPlaceManager::finished() will be
emitted at the same time.
\note Do not delete this reply object in the slot connected to this
signal. Use deleteLater() instead.
*/
/*!
\fn void QPlaceReply::error(QPlaceReply::Error error, const QString &errorString)
This signal is emitted when an error has been detected in the processing of
this reply. The finished() signal will probably follow.
The error will be described by the error code \a error. If \a errorString is
not empty it will contain a textual description of the error meant for
developers and not end users.
This signal and QPlaceManager::error() will be emitted at the same time.
\note Do not delete this reply object in the slot connected to this
signal. Use deleteLater() instead.
*/
|