summaryrefslogtreecommitdiffstats
path: root/src/bluetooth/qbluetoothsocket_qnx.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/bluetooth/qbluetoothsocket_qnx.cpp')
-rw-r--r--src/bluetooth/qbluetoothsocket_qnx.cpp54
1 files changed, 28 insertions, 26 deletions
diff --git a/src/bluetooth/qbluetoothsocket_qnx.cpp b/src/bluetooth/qbluetoothsocket_qnx.cpp
index 6e14ae13..81c46dd7 100644
--- a/src/bluetooth/qbluetoothsocket_qnx.cpp
+++ b/src/bluetooth/qbluetoothsocket_qnx.cpp
@@ -50,6 +50,7 @@ QBluetoothSocketPrivate::QBluetoothSocketPrivate()
: socket(-1),
socketType(QBluetoothServiceInfo::UnknownProtocol),
state(QBluetoothSocket::UnconnectedState),
+ socketError(QBluetoothSocket::NoSocketError),
readNotifier(0),
connectWriteNotifier(0),
connecting(false),
@@ -68,13 +69,16 @@ QBluetoothSocketPrivate::~QBluetoothSocketPrivate()
bool QBluetoothSocketPrivate::ensureNativeSocket(QBluetoothServiceInfo::Protocol type)
{
socketType = type;
+ if (socketType == QBluetoothServiceInfo::RfcommProtocol)
+ return true;
+
return false;
}
void QBluetoothSocketPrivate::connectToService(const QBluetoothAddress &address, QBluetoothUuid uuid, QIODevice::OpenMode openMode)
{
Q_UNUSED(openMode);
- qBBBluetoothDebug() << "Connecting socket";
+ qCDebug(QT_BT_QNX) << "Connecting socket";
if (isServerSocket) {
m_peerAddress = address;
m_uuid = uuid;
@@ -82,7 +86,7 @@ void QBluetoothSocketPrivate::connectToService(const QBluetoothAddress &address,
}
if (state != QBluetoothSocket::UnconnectedState) {
- qBBBluetoothDebug() << "Socket already connected";
+ qCDebug(QT_BT_QNX) << "Socket already connected";
return;
}
state = QBluetoothSocket::ConnectingState;
@@ -117,8 +121,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);
@@ -143,9 +147,9 @@ void QBluetoothSocketPrivate::_q_readNotify()
int errsv = errno;
readNotifier->setEnabled(false);
connectWriteNotifier->setEnabled(false);
- errorString = QString::fromLocal8Bit(strerror(errsv));
- qWarning() << Q_FUNC_INFO << socket << " error:" << readFromDevice << errorString; //TODO Try if this actually works
- emit q->error(QBluetoothSocket::UnknownSocketError);
+ qCWarning(QT_BT_QNX) << Q_FUNC_INFO << socket << " error:" << readFromDevice << errorString; //TODO Try if this actually works
+ errorString = qt_error_string(errsv);
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
q->disconnectFromService();
q->setSocketState(QBluetoothSocket::UnconnectedState);
@@ -159,7 +163,7 @@ void QBluetoothSocketPrivate::_q_readNotify()
void QBluetoothSocketPrivate::abort()
{
Q_Q(QBluetoothSocket);
- qBBBluetoothDebug() << "Disconnecting service";
+ qCDebug(QT_BT_QNX) << "Disconnecting service";
if (q->state() != QBluetoothSocket::ClosingState)
ppsSendControlMessage("disconnect_service", 0x1101, m_uuid, m_peerAddress.toString(), QString(), 0,
isServerSocket ? BT_SPP_SERVER_SUBTYPE : BT_SPP_CLIENT_SUBTYPE);
@@ -194,7 +198,7 @@ quint16 QBluetoothSocketPrivate::localPort() const
QString QBluetoothSocketPrivate::peerName() const
{
- return m_peerName;
+ return QString();
}
QBluetoothAddress QBluetoothSocketPrivate::peerAddress() const
@@ -212,9 +216,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;
- qWarning() << Q_FUNC_INFO << "Socket error";
- Q_EMIT q->error(socketError);
+ errorString = QBluetoothSocket::tr("Network Error");
+ q->setSocketError(QBluetoothSocket::NetworkError);
+ qCWarning(QT_BT_QNX) << Q_FUNC_INFO << "Socket error";
}
Q_EMIT q->bytesWritten(maxSize);
@@ -250,7 +254,7 @@ void QBluetoothSocketPrivate::close()
abort();
}
-bool QBluetoothSocketPrivate::setSocketDescriptor(int socketDescriptor, QBluetoothServiceInfo::Protocol socketType,
+bool QBluetoothSocketPrivate::setSocketDescriptor(int socketDescriptor, QBluetoothServiceInfo::Protocol socketType_,
QBluetoothSocket::SocketState socketState, QBluetoothSocket::OpenMode openMode)
{
Q_Q(QBluetoothSocket);
@@ -260,7 +264,7 @@ bool QBluetoothSocketPrivate::setSocketDescriptor(int socketDescriptor, QBluetoo
connectWriteNotifier = 0;
socket = socketDescriptor;
- socketType = socketType;
+ socketType = socketType_;
// ensure that O_NONBLOCK is set on new connections.
int flags = fcntl(socket, F_GETFL, 0);
@@ -300,35 +304,33 @@ void QBluetoothSocketPrivate::controlReply(ppsResult result)
if (result.msg == QStringLiteral("connect_service")) {
if (!result.errorMsg.isEmpty()) {
- qWarning() << Q_FUNC_INFO << "Error connecting to service:" << result.errorMsg;
+ 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 {
- qBBBluetoothDebug() << Q_FUNC_INFO << "Sending request for mount point";
+ qCDebug(QT_BT_QNX) << Q_FUNC_INFO << "Sending request for mount point";
ppsSendControlMessage("get_mount_point_path", 0x1101, m_uuid, m_peerAddress.toString(), QString(), this, BT_SPP_CLIENT_SUBTYPE);
}
} else if (result.msg == QStringLiteral("get_mount_point_path")) {
QString path;
path = result.dat.first();
- qBBBluetoothDebug() << Q_FUNC_INFO << "PATH is" << path;
+ qCDebug(QT_BT_QNX) << Q_FUNC_INFO << "PATH is" << path;
if (!result.errorMsg.isEmpty()) {
- qWarning() << Q_FUNC_INFO << result.errorMsg;
+ 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 {
- qBBBluetoothDebug() << "Mount point path is:" << path;
+ qCDebug(QT_BT_QNX) << "Mount point path is:" << path;
socket = ::open(path.toStdString().c_str(), O_RDWR);
if (socket == -1) {
- errorString = QString::fromLocal8Bit(strerror(errno));
- qWarning() << Q_FUNC_INFO << socket << " error:" << errno << errorString; //TODO Try if this actually works
- emit q->error(QBluetoothSocket::UnknownSocketError);
+ errorString = qt_error_string(errno);
+ q->setSocketError(QBluetoothSocket::UnknownSocketError);
+ qCWarning(QT_BT_QNX) << Q_FUNC_INFO << socket << " error:" << errno << errorString; //TODO Try if this actually works
q->disconnectFromService();
q->setSocketState(QBluetoothSocket::UnconnectedState);