diff options
author | Javier <dev.git@javispedro.com> | 2015-03-28 21:06:07 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2015-03-28 21:06:07 +0100 |
commit | 1cd1d83ee243db6f3ee929de1346c8e385b2148f (patch) | |
tree | 6943fe89c2d64e262ee0114378f8700ff8ae2c08 /saltoqd/toqconnection.cpp | |
parent | 08d36eb82a9cc7ef9cc3efe40f26e1a732c8c602 (diff) | |
download | saltoq-1cd1d83ee243db6f3ee929de1346c8e385b2148f.tar.gz saltoq-1cd1d83ee243db6f3ee929de1346c8e385b2148f.zip |
implement fms file transfer (via bt obex push)
Diffstat (limited to 'saltoqd/toqconnection.cpp')
-rw-r--r-- | saltoqd/toqconnection.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/saltoqd/toqconnection.cpp b/saltoqd/toqconnection.cpp index 564b7d2..9468aa8 100644 --- a/saltoqd/toqconnection.cpp +++ b/saltoqd/toqconnection.cpp @@ -51,12 +51,7 @@ quint32 ToqConnection::checksum(QIODevice *dev) return crc; } -bool ToqConnection::isConnected() const -{ - return _socket && _socket->state() == QBluetoothSocket::ConnectedState; -} - -quint16 ToqConnection::nextTransactionId() +quint16 ToqConnection::newTransactionId() { if (_lastTransactionId >= 0xFFFA) { // The last transaction ids (as well as 0) seem to be reserved @@ -133,7 +128,7 @@ void ToqConnection::tryConnect() qDebug() << "Connecting to" << _address.toString(); - _socket->connectToService(_address, 1, QIODevice::ReadWrite); + _socket->connectToService(_address, 1); } void ToqConnection::handleSocketConnected() @@ -142,23 +137,27 @@ void ToqConnection::handleSocketConnected() Q_ASSERT(_socket); _reconnectTimer->stop(); emit connected(); + emit connectedChanged(); } void ToqConnection::handleSocketDisconnected() { - qDebug() << "Disconnected"; - Q_ASSERT(_socket); - _socket->deleteLater(); - _socket = 0; - _reconnectTimer->start(); - emit disconnected(); + if (_socket) { + qDebug() << "Disconnected"; + _socket->deleteLater(); + _socket = 0; + _reconnectTimer->start(); + emit disconnected(); + emit connectedChanged(); + } } void ToqConnection::handleSocketError(QBluetoothSocket::SocketError error) { - Q_ASSERT(_socket); - qWarning() << error << _socket->errorString(); - _socket->disconnectFromService(); + if (_socket) { + qWarning() << error << _socket->errorString(); + _socket->disconnectFromService(); + } } void ToqConnection::handleSocketData() @@ -188,7 +187,8 @@ void ToqConnection::handleSocketData() // We can now safely remove the message from the input buffer, // as we know the entire message is in the input buffer. QByteArray data = _socket->read(HEADER_LENGTH + message_length - 4); - emit messageReceived(unpackMessage(data)); + Message msg = unpackMessage(data); + if (msg.transactionId > _lastTransactionId) _lastTransactionId = msg.transactionId; + emit messageReceived(msg); } } - |