diff options
Diffstat (limited to 'daemon/watchconnector.cpp')
| -rw-r--r-- | daemon/watchconnector.cpp | 78 |
1 files changed, 37 insertions, 41 deletions
diff --git a/daemon/watchconnector.cpp b/daemon/watchconnector.cpp index 27a5511..ef032f7 100644 --- a/daemon/watchconnector.cpp +++ b/daemon/watchconnector.cpp @@ -8,7 +8,7 @@ static const int RECONNECT_TIMEOUT = 500; //ms static const bool PROTOCOL_DEBUG = false; WatchConnector::WatchConnector(QObject *parent) : - QObject(parent), socket(nullptr), is_connected(false) + QObject(parent), l(metaObject()->className()), socket(nullptr), is_connected(false) { reconnectTimer.setSingleShot(true); connect(&reconnectTimer, SIGNAL(timeout()), SLOT(reconnect())); @@ -38,18 +38,18 @@ WatchConnector::WatchConnector(QObject *parent) : QByteArray address = u.readBytes(6); if (u.bad()) { - logger()->warn() << "short read while reading firmware version"; + qCWarning(l) << "short read while reading firmware version"; } - logger()->debug() << "got version information" - << version << version_string << commit - << is_recovery << hw_platform << metadata_version; - logger()->debug() << "recovery version information" - << safe_version << safe_version_string << safe_commit - << safe_is_recovery << safe_hw_platform << safe_metadata_version; - logger()->debug() << "hardware information" << bootLoaderTimestamp << hardwareRevision; - logger()->debug() << "serial number" << serialNumber.left(3) << "..."; - logger()->debug() << "bt address" << address.toHex(); + qCDebug(l) << "got version information" + << version << version_string << commit + << is_recovery << hw_platform << metadata_version; + qCDebug(l) << "recovery version information" + << safe_version << safe_version_string << safe_commit + << safe_is_recovery << safe_hw_platform << safe_metadata_version; + qCDebug(l) << "hardware information" << bootLoaderTimestamp << hardwareRevision; + qCDebug(l) << "serial number" << serialNumber.left(3) << "..."; + qCDebug(l) << "bt address" << address.toHex(); this->_serialNumber = serialNumber; @@ -65,10 +65,10 @@ void WatchConnector::deviceDiscovered(const QBluetoothDeviceInfo &device) { //FIXME TODO: Configurable if (device.name().startsWith("Pebble")) { - logger()->debug() << "Found Pebble:" << device.name() << '(' << device.address().toString() << ')'; + qCDebug(l) << "Found Pebble:" << device.name() << '(' << device.address().toString() << ')'; handleWatch(device.name(), device.address().toString()); } else { - logger()->debug() << "Found other device:" << device.name() << '(' << device.address().toString() << ')'; + qCDebug(l) << "Found other device:" << device.name() << '(' << device.address().toString() << ')'; } } @@ -79,7 +79,7 @@ void WatchConnector::deviceConnect(const QString &name, const QString &address) void WatchConnector::reconnect() { - logger()->debug() << "reconnect" << _last_name; + qCDebug(l) << "reconnect" << _last_name; if (!_last_name.isEmpty() && !_last_address.isEmpty()) { deviceConnect(_last_name, _last_address); } @@ -87,16 +87,16 @@ void WatchConnector::reconnect() void WatchConnector::disconnect() { - logger()->debug() << "disconnecting"; + qCDebug(l) << "disconnecting"; socket->close(); socket->deleteLater(); reconnectTimer.stop(); - logger()->debug() << "stopped reconnect timer"; + qCDebug(l) << "stopped reconnect timer"; } void WatchConnector::handleWatch(const QString &name, const QString &address) { - logger()->debug() << "handleWatch" << name << address; + qCDebug(l) << "handleWatch" << name << address; reconnectTimer.stop(); if (socket != nullptr && socket->isOpen()) { socket->close(); @@ -113,12 +113,8 @@ void WatchConnector::handleWatch(const QString &name, const QString &address) _serialNumber.clear(); } - logger()->debug() << "Creating socket"; -#if QT_VERSION < QT_VERSION_CHECK(5, 2, 0) - socket = new QBluetoothSocket(QBluetoothSocket::RfcommSocket); -#else + qCDebug(l) << "Creating socket"; socket = new QBluetoothSocket(QBluetoothServiceInfo::RfcommProtocol); -#endif connect(socket, SIGNAL(readyRead()), SLOT(onReadSocket())); connect(socket, SIGNAL(bytesWritten(qint64)), SLOT(onBytesWritten(qint64))); connect(socket, SIGNAL(connected()), SLOT(onConnected())); @@ -181,8 +177,8 @@ bool WatchConnector::dispatchMessage(uint endpoint, const QByteArray &data) } } - logger()->info() << "message to endpoint" << decodeEndpoint(endpoint) << "was not dispatched"; - logger()->debug() << data.toHex(); + qCDebug(l) << "message to endpoint" << decodeEndpoint(endpoint) << "was not dispatched"; + qCDebug(l) << data.toHex(); return false; } @@ -190,7 +186,7 @@ void WatchConnector::onReadSocket() { static const int header_length = 4; - logger()->debug() << "readyRead bytesAvailable =" << socket->bytesAvailable(); + qCDebug(l) << "readyRead bytesAvailable =" << socket->bytesAvailable(); QBluetoothSocket *socket = qobject_cast<QBluetoothSocket *>(sender()); Q_ASSERT(socket && socket == this->socket); @@ -207,19 +203,19 @@ void WatchConnector::onReadSocket() // Sanity checks on the message_length if (message_length == 0) { - logger()->warn() << "received empty message"; + qCWarning(l) << "received empty message"; socket->read(header_length); // skip this header continue; // check if there are additional headers. } else if (message_length > 8 * 1024) { // Protocol does not allow messages more than 8K long, seemingly. - logger()->warn() << "received message size too long: " << message_length; + qCWarning(l) << "received message size too long: " << message_length; socket->readAll(); // drop entire input buffer return; } // Now wait for the entire message if (socket->bytesAvailable() < header_length + message_length) { - logger()->debug() << "incomplete msg body in read buffer"; + qCDebug(l) << "incomplete msg body in read buffer"; return; // try again once more data comes in } @@ -230,8 +226,8 @@ void WatchConnector::onReadSocket() // Now read the rest of the message QByteArray data = socket->read(message_length); - logger()->debug() << "received message of length" << message_length << "to endpoint" << decodeEndpoint(endpoint); - if (PROTOCOL_DEBUG) logger()->trace() << data.toHex(); + qCDebug(l) << "received message of length" << message_length << "to endpoint" << decodeEndpoint(endpoint); + if (PROTOCOL_DEBUG) qCDebug(l) << data.toHex(); dispatchMessage(endpoint, data); } @@ -239,14 +235,14 @@ void WatchConnector::onReadSocket() void WatchConnector::onConnected() { - logger()->debug() << "Connected!"; + qCDebug(l) << "Connected!"; bool was_connected = is_connected; is_connected = true; reconnectTimer.stop(); reconnectTimer.setInterval(0); if (!was_connected) { if (!writeData.isEmpty()) { - logger()->info() << "Found" << writeData.length() << "bytes in write buffer - resending"; + qCDebug(l) << "Found" << writeData.length() << "bytes in write buffer - resending"; sendData(writeData); } if (_serialNumber.isEmpty()) { @@ -259,7 +255,7 @@ void WatchConnector::onConnected() void WatchConnector::onDisconnected() { - logger()->debug() << "Disconnected!"; + qCDebug(l) << "Disconnected!"; bool was_connected = is_connected; is_connected = false; @@ -279,15 +275,15 @@ void WatchConnector::onDisconnected() reconnectTimer.setInterval(reconnectTimer.interval() + RECONNECT_TIMEOUT); } reconnectTimer.start(); - logger()->debug() << "will reconnect in" << reconnectTimer.interval() << "ms"; + qCDebug(l) << "will reconnect in" << reconnectTimer.interval() << "ms"; } void WatchConnector::onError(QBluetoothSocket::SocketError error) { if (error == QBluetoothSocket::UnknownSocketError) { - logger()->info() << error << socket->errorString(); + qCDebug(l) << error << socket->errorString(); } else { - logger()->error() << "error connecting Pebble:" << error << socket->errorString(); + qCCritical(l) << "error connecting Pebble:" << error << socket->errorString(); } } @@ -295,11 +291,11 @@ void WatchConnector::sendData(const QByteArray &data) { writeData.append(data); if (socket == nullptr) { - logger()->debug() << "no socket - reconnecting"; + qCDebug(l) << "no socket - reconnecting"; reconnect(); } else if (is_connected) { - logger()->debug() << "writing" << data.length() << "bytes to socket"; - if (PROTOCOL_DEBUG) logger()->trace() << data.toHex(); + qCDebug(l) << "writing" << data.length() << "bytes to socket"; + if (PROTOCOL_DEBUG) qCDebug(l) << data.toHex(); socket->write(data); } } @@ -307,12 +303,12 @@ void WatchConnector::sendData(const QByteArray &data) void WatchConnector::onBytesWritten(qint64 bytes) { writeData.remove(0, bytes); - logger()->debug() << "socket written" << bytes << "bytes," << writeData.length() << "left"; + qCDebug(l) << "socket written" << bytes << "bytes," << writeData.length() << "left"; } void WatchConnector::sendMessage(uint endpoint, const QByteArray &data, const EndpointHandlerFunc &callback) { - logger()->debug() << "sending message to endpoint" << decodeEndpoint(endpoint); + qCDebug(l) << "sending message to endpoint" << decodeEndpoint(endpoint); QByteArray msg; // First send the length |
