QNetworkReply: move "State" enum declaration into QNetworkReplyPrivate
Change-Id: If63a029a7a7ef84fc1b4b73f5bab495992ea7e02 Reviewed-by: Peter Hartmann <phartmann@blackberry.com>
This commit is contained in:
parent
5042145dd9
commit
8db7e47699
@ -65,6 +65,16 @@ QT_BEGIN_NAMESPACE
|
||||
class QNetworkReplyPrivate: public QIODevicePrivate, public QNetworkHeadersPrivate
|
||||
{
|
||||
public:
|
||||
enum State {
|
||||
Idle, // The reply is idle.
|
||||
Buffering, // The reply is buffering outgoing data.
|
||||
Working, // The reply is uploading/downloading data.
|
||||
Finished, // The reply has finished.
|
||||
Aborted, // The reply has been aborted.
|
||||
WaitingForSession, // The reply is waiting for the session to open before connecting.
|
||||
Reconnecting // The reply will reconnect to once roaming has completed.
|
||||
};
|
||||
|
||||
QNetworkReplyPrivate();
|
||||
QNetworkRequest request;
|
||||
QUrl url;
|
||||
|
@ -250,8 +250,8 @@ void QNetworkReplyHttpImpl::close()
|
||||
{
|
||||
Q_D(QNetworkReplyHttpImpl);
|
||||
|
||||
if (d->state == QNetworkReplyHttpImplPrivate::Aborted ||
|
||||
d->state == QNetworkReplyHttpImplPrivate::Finished)
|
||||
if (d->state == QNetworkReplyPrivate::Aborted ||
|
||||
d->state == QNetworkReplyPrivate::Finished)
|
||||
return;
|
||||
|
||||
// According to the documentation close only stops the download
|
||||
@ -268,23 +268,23 @@ void QNetworkReplyHttpImpl::abort()
|
||||
{
|
||||
Q_D(QNetworkReplyHttpImpl);
|
||||
// FIXME
|
||||
if (d->state == QNetworkReplyHttpImplPrivate::Finished || d->state == QNetworkReplyHttpImplPrivate::Aborted)
|
||||
if (d->state == QNetworkReplyPrivate::Finished || d->state == QNetworkReplyPrivate::Aborted)
|
||||
return;
|
||||
|
||||
QNetworkReply::close();
|
||||
|
||||
if (d->state != QNetworkReplyHttpImplPrivate::Finished) {
|
||||
if (d->state != QNetworkReplyPrivate::Finished) {
|
||||
// call finished which will emit signals
|
||||
// FIXME shouldn't this be emitted Queued?
|
||||
d->error(OperationCanceledError, tr("Operation canceled"));
|
||||
|
||||
// If state is WaitingForSession, calling finished has no effect
|
||||
if (d->state == QNetworkReplyHttpImplPrivate::WaitingForSession)
|
||||
d->state = QNetworkReplyHttpImplPrivate::Working;
|
||||
if (d->state == QNetworkReplyPrivate::WaitingForSession)
|
||||
d->state = QNetworkReplyPrivate::Working;
|
||||
d->finished();
|
||||
}
|
||||
|
||||
d->state = QNetworkReplyHttpImplPrivate::Aborted;
|
||||
d->state = QNetworkReplyPrivate::Aborted;
|
||||
|
||||
emit abortHttpRequest();
|
||||
}
|
||||
@ -1800,13 +1800,13 @@ void QNetworkReplyHttpImplPrivate::_q_networkSessionConnected()
|
||||
return;
|
||||
|
||||
switch (state) {
|
||||
case QNetworkReplyImplPrivate::Buffering:
|
||||
case QNetworkReplyImplPrivate::Working:
|
||||
case QNetworkReplyImplPrivate::Reconnecting:
|
||||
case QNetworkReplyPrivate::Buffering:
|
||||
case QNetworkReplyPrivate::Working:
|
||||
case QNetworkReplyPrivate::Reconnecting:
|
||||
// Migrate existing downloads to new network connection.
|
||||
migrateBackend();
|
||||
break;
|
||||
case QNetworkReplyImplPrivate::WaitingForSession:
|
||||
case QNetworkReplyPrivate::WaitingForSession:
|
||||
// Start waiting requests.
|
||||
QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection);
|
||||
break;
|
||||
|
@ -160,16 +160,6 @@ public:
|
||||
|
||||
static QHttpNetworkRequest::Priority convert(const QNetworkRequest::Priority& prio);
|
||||
|
||||
enum State {
|
||||
Idle, // The reply is idle.
|
||||
Buffering, // The reply is buffering outgoing data.
|
||||
Working, // The reply is uploading/downloading data.
|
||||
Finished, // The reply has finished.
|
||||
Aborted, // The reply has been aborted.
|
||||
WaitingForSession, // The reply is waiting for the session to open before connecting.
|
||||
Reconnecting // The reply will reconnect to once roaming has completed.
|
||||
};
|
||||
|
||||
QNetworkReplyHttpImplPrivate();
|
||||
~QNetworkReplyHttpImplPrivate();
|
||||
|
||||
|
@ -301,13 +301,13 @@ void QNetworkReplyImplPrivate::_q_networkSessionConnected()
|
||||
return;
|
||||
|
||||
switch (state) {
|
||||
case QNetworkReplyImplPrivate::Buffering:
|
||||
case QNetworkReplyImplPrivate::Working:
|
||||
case QNetworkReplyImplPrivate::Reconnecting:
|
||||
case QNetworkReplyPrivate::Buffering:
|
||||
case QNetworkReplyPrivate::Working:
|
||||
case QNetworkReplyPrivate::Reconnecting:
|
||||
// Migrate existing downloads to new network connection.
|
||||
migrateBackend();
|
||||
break;
|
||||
case QNetworkReplyImplPrivate::WaitingForSession:
|
||||
case QNetworkReplyPrivate::WaitingForSession:
|
||||
// Start waiting requests.
|
||||
QMetaObject::invokeMethod(q, "_q_startOperation", Qt::QueuedConnection);
|
||||
break;
|
||||
@ -916,7 +916,7 @@ QNetworkReplyImpl::~QNetworkReplyImpl()
|
||||
void QNetworkReplyImpl::abort()
|
||||
{
|
||||
Q_D(QNetworkReplyImpl);
|
||||
if (d->state == QNetworkReplyImplPrivate::Finished || d->state == QNetworkReplyImplPrivate::Aborted)
|
||||
if (d->state == QNetworkReplyPrivate::Finished || d->state == QNetworkReplyPrivate::Aborted)
|
||||
return;
|
||||
|
||||
// stop both upload and download
|
||||
@ -927,14 +927,14 @@ void QNetworkReplyImpl::abort()
|
||||
|
||||
QNetworkReply::close();
|
||||
|
||||
if (d->state != QNetworkReplyImplPrivate::Finished) {
|
||||
if (d->state != QNetworkReplyPrivate::Finished) {
|
||||
// call finished which will emit signals
|
||||
d->error(OperationCanceledError, tr("Operation canceled"));
|
||||
if (d->state == QNetworkReplyImplPrivate::WaitingForSession)
|
||||
d->state = QNetworkReplyImplPrivate::Working;
|
||||
if (d->state == QNetworkReplyPrivate::WaitingForSession)
|
||||
d->state = QNetworkReplyPrivate::Working;
|
||||
d->finished();
|
||||
}
|
||||
d->state = QNetworkReplyImplPrivate::Aborted;
|
||||
d->state = QNetworkReplyPrivate::Aborted;
|
||||
|
||||
// finished may access the backend
|
||||
if (d->backend) {
|
||||
@ -946,8 +946,8 @@ void QNetworkReplyImpl::abort()
|
||||
void QNetworkReplyImpl::close()
|
||||
{
|
||||
Q_D(QNetworkReplyImpl);
|
||||
if (d->state == QNetworkReplyImplPrivate::Aborted ||
|
||||
d->state == QNetworkReplyImplPrivate::Finished)
|
||||
if (d->state == QNetworkReplyPrivate::Aborted ||
|
||||
d->state == QNetworkReplyPrivate::Finished)
|
||||
return;
|
||||
|
||||
// stop the download
|
||||
@ -1041,7 +1041,7 @@ qint64 QNetworkReplyImpl::readData(char *data, qint64 maxlen)
|
||||
if (d->downloadBuffer) {
|
||||
qint64 maxAvail = qMin<qint64>(d->downloadBufferCurrentSize - d->downloadBufferReadPosition, maxlen);
|
||||
if (maxAvail == 0)
|
||||
return d->state == QNetworkReplyImplPrivate::Finished ? -1 : 0;
|
||||
return d->state == QNetworkReplyPrivate::Finished ? -1 : 0;
|
||||
// FIXME what about "Aborted" state?
|
||||
memcpy(data, d->downloadBuffer + d->downloadBufferReadPosition, maxAvail);
|
||||
d->downloadBufferReadPosition += maxAvail;
|
||||
@ -1050,7 +1050,7 @@ qint64 QNetworkReplyImpl::readData(char *data, qint64 maxlen)
|
||||
|
||||
|
||||
if (d->readBuffer.isEmpty())
|
||||
return d->state == QNetworkReplyImplPrivate::Finished ? -1 : 0;
|
||||
return d->state == QNetworkReplyPrivate::Finished ? -1 : 0;
|
||||
// FIXME what about "Aborted" state?
|
||||
|
||||
d->backendNotify(QNetworkReplyImplPrivate::NotifyDownstreamReadyWrite);
|
||||
@ -1101,7 +1101,7 @@ bool QNetworkReplyImplPrivate::migrateBackend()
|
||||
if (!backend->canResume())
|
||||
return false;
|
||||
|
||||
state = QNetworkReplyImplPrivate::Reconnecting;
|
||||
state = QNetworkReplyPrivate::Reconnecting;
|
||||
|
||||
if (backend) {
|
||||
delete backend;
|
||||
|
@ -118,16 +118,6 @@ public:
|
||||
NotifyCopyFinished
|
||||
};
|
||||
|
||||
enum State {
|
||||
Idle, // The reply is idle.
|
||||
Buffering, // The reply is buffering outgoing data.
|
||||
Working, // The reply is uploading/downloading data.
|
||||
Finished, // The reply has finished.
|
||||
Aborted, // The reply has been aborted.
|
||||
WaitingForSession, // The reply is waiting for the session to open before connecting.
|
||||
Reconnecting // The reply will reconnect to once roaming has completed.
|
||||
};
|
||||
|
||||
typedef QQueue<InternalNotifications> NotificationQueue;
|
||||
|
||||
QNetworkReplyImplPrivate();
|
||||
|
Loading…
x
Reference in New Issue
Block a user