diff options
author | Oliver Wolff <oliver.wolff@qt.io> | 2018-08-14 11:11:02 +0200 |
---|---|---|
committer | Oliver Wolff <oliver.wolff@qt.io> | 2018-08-16 06:46:43 +0000 |
commit | 0b5da60094a1c38c5bbbef6564656e870eebb14a (patch) | |
tree | 6f3b5b2627bd7e8b0d3d5eea7d8e11e9a796baf2 /src/bluetooth/qbluetoothsocket_android.cpp | |
parent | a0ade068004ad869d6235ae8d6cd5e2050bf765d (diff) |
QBluetoothSocket: Move (dis-)connected logic into setSocketState
Instead of duplicating that logic everywhere, it can be handled
in one place.
Additionally setOpenMode should be called before setSocketState
so that every member variable is changed, before signals are
emitted.
Change-Id: Ic1d4317ba31046d78d97874ec00c59481a67bb50
Reviewed-by: Alex Blasche <alexander.blasche@qt.io>
Diffstat (limited to 'src/bluetooth/qbluetoothsocket_android.cpp')
-rw-r--r-- | src/bluetooth/qbluetoothsocket_android.cpp | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/src/bluetooth/qbluetoothsocket_android.cpp b/src/bluetooth/qbluetoothsocket_android.cpp index abb0c5e9..a478819b 100644 --- a/src/bluetooth/qbluetoothsocket_android.cpp +++ b/src/bluetooth/qbluetoothsocket_android.cpp @@ -626,7 +626,6 @@ void QBluetoothSocketPrivateAndroid::socketConnectSuccess(const QAndroidJniObjec q->setOpenMode(QIODevice::ReadWrite|QIODevice::Unbuffered); q->setSocketState(QBluetoothSocket::ConnectedState); - emit q->connected(); } void QBluetoothSocketPrivateAndroid::defaultSocketConnectFailed( @@ -714,10 +713,9 @@ void QBluetoothSocketPrivateAndroid::abort() // close() without further feedback. Therefore we have to set // Unconnected (now) in advance Q_Q(QBluetoothSocket); - q->setSocketState(QBluetoothSocket::UnconnectedState); q->setOpenMode(QIODevice::NotOpen); + q->setSocketState(QBluetoothSocket::UnconnectedState); emit q->readChannelFinished(); - emit q->disconnected(); } } } @@ -841,10 +839,9 @@ void QBluetoothSocketPrivateAndroid::inputThreadError(int errorCode) } } - q->setSocketState(QBluetoothSocket::UnconnectedState); q->setOpenMode(QIODevice::NotOpen); + q->setSocketState(QBluetoothSocket::UnconnectedState); emit q->readChannelFinished(); - emit q->disconnected(); } void QBluetoothSocketPrivateAndroid::close() @@ -917,10 +914,6 @@ bool QBluetoothSocketPrivateAndroid::setSocketDescriptor(const QAndroidJniObject this, SLOT(inputThreadError(int)), Qt::QueuedConnection); inputThread->run(); - - q->setSocketState(socketState); - q->setOpenMode(openMode | QIODevice::Unbuffered); - // WorkerThread manages all sockets for us // When we come through here the socket was already connected by // server socket listener (see QBluetoothServer) @@ -929,8 +922,8 @@ bool QBluetoothSocketPrivateAndroid::setSocketDescriptor(const QAndroidJniObject workerThread->setupWorker(this, socketObject, QAndroidJniObject(), !USE_FALLBACK); workerThread->start(); - if (socketState == QBluetoothSocket::ConnectedState) - emit q->connected(); + q->setOpenMode(openMode | QIODevice::Unbuffered); + q->setSocketState(socketState); return true; } |