summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bluetooth/qbluetoothsocket.cpp9
-rw-r--r--src/bluetooth/qbluetoothsocket_bluez.cpp14
-rw-r--r--src/bluetooth/qbluetoothsocket_qnx.cpp20
3 files changed, 22 insertions, 21 deletions
diff --git a/src/bluetooth/qbluetoothsocket.cpp b/src/bluetooth/qbluetoothsocket.cpp
index 2f086d91..2f2660d0 100644
--- a/src/bluetooth/qbluetoothsocket.cpp
+++ b/src/bluetooth/qbluetoothsocket.cpp
@@ -319,13 +319,15 @@ void QBluetoothSocket::connectToService(const QBluetoothServiceInfo &service, Op
#else
if (service.protocolServiceMultiplexer() > 0) {
if (!d->ensureNativeSocket(QBluetoothServiceInfo::L2capProtocol)) {
- emit error(UnknownSocketError);
+ d->errorString = tr("Unknown socket error");
+ setSocketError(UnknownSocketError);
return;
}
d->connectToService(service.device().address(), service.protocolServiceMultiplexer(), openMode);
} else if (service.serverChannel() > 0) {
if (!d->ensureNativeSocket(QBluetoothServiceInfo::RfcommProtocol)) {
- emit error(UnknownSocketError);
+ d->errorString = tr("Unknown socket error");
+ setSocketError(UnknownSocketError);
return;
}
d->connectToService(service.device().address(), service.serverChannel(), openMode);
@@ -544,7 +546,8 @@ void QBluetoothSocket::discoveryFinished()
Q_D(QBluetoothSocket);
if (d->discoveryAgent){
qCDebug(QT_BT) << "Didn't find any";
- emit error(QBluetoothSocket::ServiceNotFoundError);
+ d->errorString = tr("Service cannot be found");
+ setSocketError(ServiceNotFoundError);
d->discoveryAgent->deleteLater();
d->discoveryAgent = 0;
}
diff --git a/src/bluetooth/qbluetoothsocket_bluez.cpp b/src/bluetooth/qbluetoothsocket_bluez.cpp
index bb8e9685..2b1eee9e 100644
--- a/src/bluetooth/qbluetoothsocket_bluez.cpp
+++ b/src/bluetooth/qbluetoothsocket_bluez.cpp
@@ -180,7 +180,7 @@ void QBluetoothSocketPrivate::_q_writeNotify()
::getsockopt(socket, SOL_SOCKET, SO_ERROR, &errorno, (socklen_t*)&len);
if(errorno) {
errorString = QString::fromLocal8Bit(strerror(errorno));
- emit q->error(QBluetoothSocket::UnknownSocketError);
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
return;
}
@@ -201,8 +201,8 @@ void QBluetoothSocketPrivate::_q_writeNotify()
int size = txBuffer.read(buf, 1024);
if (::write(socket, buf, size) != size) {
- socketError = QBluetoothSocket::NetworkError;
- emit q->error(socketError);
+ errorString = QBluetoothSocket::tr("Network error");
+ q->setSocketError(QBluetoothSocket::NetworkError);
}
else {
emit q->bytesWritten(size);
@@ -233,9 +233,9 @@ void QBluetoothSocketPrivate::_q_readNotify()
errorString = QString::fromLocal8Bit(strerror(errsv));
qCWarning(QT_BT_BLUEZ) << Q_FUNC_INFO << socket << "error:" << readFromDevice << errorString;
if(errsv == EHOSTDOWN)
- emit q->error(QBluetoothSocket::HostNotFoundError);
+ q->setSocketError(QBluetoothSocket::HostNotFoundError);
else
- emit q->error(QBluetoothSocket::UnknownSocketError);
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
q->disconnectFromService();
q->setSocketState(QBluetoothSocket::UnconnectedState);
@@ -444,8 +444,8 @@ qint64 QBluetoothSocketPrivate::writeData(const char *data, qint64 maxSize)
Q_Q(QBluetoothSocket);
if (q->openMode() & QIODevice::Unbuffered) {
if (::write(socket, data, maxSize) != maxSize) {
- socketError = QBluetoothSocket::NetworkError;
- emit q->error(socketError);
+ errorString = QBluetoothSocket::tr("Network error");
+ q->setSocketError(QBluetoothSocket::NetworkError);
}
emit q->bytesWritten(maxSize);
diff --git a/src/bluetooth/qbluetoothsocket_qnx.cpp b/src/bluetooth/qbluetoothsocket_qnx.cpp
index 0be90ec9..90f90178 100644
--- a/src/bluetooth/qbluetoothsocket_qnx.cpp
+++ b/src/bluetooth/qbluetoothsocket_qnx.cpp
@@ -118,8 +118,8 @@ void QBluetoothSocketPrivate::_q_writeNotify()
int size = txBuffer.read(buf, 1024);
if (::write(socket, buf, size) != size) {
- socketError = QBluetoothSocket::NetworkError;
- emit q->error(socketError);
+ errorString = QBluetoothSocket::tr("Network Error");
+ q->setSocketError(QBluetoothSocket::NetworkError);
}
else {
emit q->bytesWritten(size);
@@ -144,9 +144,9 @@ void QBluetoothSocketPrivate::_q_readNotify()
int errsv = errno;
readNotifier->setEnabled(false);
connectWriteNotifier->setEnabled(false);
- errorString = QString::fromLocal8Bit(strerror(errsv));
qCWarning(QT_BT_QNX) << Q_FUNC_INFO << socket << " error:" << readFromDevice << errorString; //TODO Try if this actually works
- emit q->error(QBluetoothSocket::UnknownSocketError);
+ errorString = QString::fromLocal8Bit(strerror(errsv));
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
q->disconnectFromService();
q->setSocketState(QBluetoothSocket::UnconnectedState);
@@ -213,9 +213,9 @@ qint64 QBluetoothSocketPrivate::writeData(const char *data, qint64 maxSize)
Q_Q(QBluetoothSocket);
if (q->openMode() & QIODevice::Unbuffered) {
if (::write(socket, data, maxSize) != maxSize) {
- socketError = QBluetoothSocket::NetworkError;
+ errorString = QBluetoothSocket::tr("Network Error");
+ q->setSocketError(QBluetoothSocket::NetworkError);
qCWarning(QT_BT_QNX) << Q_FUNC_INFO << "Socket error";
- Q_EMIT q->error(socketError);
}
Q_EMIT q->bytesWritten(maxSize);
@@ -303,8 +303,7 @@ void QBluetoothSocketPrivate::controlReply(ppsResult result)
if (!result.errorMsg.isEmpty()) {
qCWarning(QT_BT_QNX) << Q_FUNC_INFO << "Error connecting to service:" << result.errorMsg;
errorString = result.errorMsg;
- socketError = QBluetoothSocket::UnknownSocketError;
- emit q->error(QBluetoothSocket::UnknownSocketError);
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
q->setSocketState(QBluetoothSocket::UnconnectedState);
return;
} else {
@@ -319,8 +318,7 @@ void QBluetoothSocketPrivate::controlReply(ppsResult result)
if (!result.errorMsg.isEmpty()) {
qCWarning(QT_BT_QNX) << Q_FUNC_INFO << result.errorMsg;
errorString = result.errorMsg;
- socketError = QBluetoothSocket::UnknownSocketError;
- emit q->error(QBluetoothSocket::UnknownSocketError);
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
q->setSocketState(QBluetoothSocket::UnconnectedState);
return;
} else {
@@ -328,8 +326,8 @@ void QBluetoothSocketPrivate::controlReply(ppsResult result)
socket = ::open(path.toStdString().c_str(), O_RDWR);
if (socket == -1) {
errorString = QString::fromLocal8Bit(strerror(errno));
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
qCWarning(QT_BT_QNX) << Q_FUNC_INFO << socket << " error:" << errno << errorString; //TODO Try if this actually works
- emit q->error(QBluetoothSocket::UnknownSocketError);
q->disconnectFromService();
q->setSocketState(QBluetoothSocket::UnconnectedState);