diff options
Diffstat (limited to 'daemon/watchconnector.h')
| -rw-r--r-- | daemon/watchconnector.h | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/daemon/watchconnector.h b/daemon/watchconnector.h index 518493b..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: @@ -205,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); @@ -215,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); @@ -248,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(); @@ -267,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; }; |
