diff options
Diffstat (limited to 'daemon/watchconnector.h')
| -rw-r--r-- | daemon/watchconnector.h | 43 |
1 files changed, 23 insertions, 20 deletions
diff --git a/daemon/watchconnector.h b/daemon/watchconnector.h index f9576a3..fa65f6b 100644 --- a/daemon/watchconnector.h +++ b/daemon/watchconnector.h @@ -8,10 +8,8 @@ #include <QStringList> #include <QTimer> #include <QDateTime> -#include <QBluetoothDeviceInfo> -#include <QBluetoothLocalDevice> #include <QBluetoothSocket> -#include <QBluetoothServiceInfo> +#include <QBluetoothAddress> #include <QLoggingCategory> class WatchConnector : public QObject @@ -21,7 +19,7 @@ class WatchConnector : public QObject Q_ENUMS(Endpoint) - Q_PROPERTY(QString name READ name NOTIFY nameChanged) + Q_PROPERTY(QString name READ name NOTIFY pebbleChanged) Q_PROPERTY(QString connected READ isConnected NOTIFY connectedChanged) public: @@ -150,14 +148,19 @@ public: enum HardwareRevision { UNKNOWN = 0, - PEBBLE_ONE_EV1 = 1, - PEBBLE_ONE_EV2 = 2, - PEBBLE_ONE_EV2_3 = 3, - PEBBLE_ONE_EV2_4 = 4, - PEBBLE_ONE_POINT_FIVE = 5, - PEBBLE_TWO_POINT_ZERO = 6, - PEBBLE_ONE_BIGBOARD_2 = 254, - PEBBLE_ONE_BIGBOARD = 255 + TINTIN_EV1 = 1, + TINTIN_EV2 = 2, + TINTIN_EV2_3 = 3, + TINTIN_EV2_4 = 4, + TINTIN_V1_5 = 5, + BIANCA = 6, + SNOWY_EVT2 = 7, + SNOWY_DVT = 8, + + TINTIN_BB = 0xFF, + TINTIN_BB2 = 0xFE, + SNOWY_BB = 0xFD, + SNOWY_BB2 = 0xFC }; QMap<HardwareRevision, QString> firmwareMapping; @@ -200,7 +203,8 @@ public: virtual ~WatchConnector(); inline bool isConnected() const { return is_connected; } - inline QString name() const { return socket != nullptr ? socket->peerName() : ""; } + inline QString name() const { return pebbles.keys(address()).at(0); } + inline QBluetoothAddress address() const { return socket != nullptr ? socket->peerAddress() : QBluetoothAddress(); } inline WatchVersions versions() const { return _versions; } void setEndpointHandler(uint endpoint, const EndpointHandlerFunc &func); @@ -210,15 +214,15 @@ public: static QString decodeEndpoint(uint val); signals: - void nameChanged(); + void pebbleChanged(); void versionsChanged(); void connectedChanged(); public slots: - void deviceConnect(const QString &name, const QString &address); + bool findPebbles(); void scheduleReconnect(); + void connect(); void disconnect(); - void reconnect(); void sendMessage(uint endpoint, const QByteArray &data, const EndpointHandlerFunc &callback = EndpointHandlerFunc()); void ping(uint cookie); @@ -243,8 +247,6 @@ public slots: void endPhoneCall(uint cookie=0); private slots: - void deviceDiscovered(const QBluetoothDeviceInfo&); - void handleWatch(const QString &name, const QString &address); void onReadSocket(); void onBytesWritten(qint64); void onConnected(); @@ -262,8 +264,9 @@ private: QByteArray writeData; QTimer reconnectTimer; QTimer timeSyncTimer; - QString _last_name; - QString _last_address; + QMap<QString,QBluetoothAddress> pebbles; + int currentPebble; + quint64 _last_address; WatchVersions _versions; }; |
