From 5fef356ff3fbcb76a5ec44a81a8d54d29a42f25d Mon Sep 17 00:00:00 2001 From: Javier Date: Mon, 23 Mar 2015 03:28:00 +0100 Subject: initial import --- saltoqd/toqmanager.h | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 saltoqd/toqmanager.h (limited to 'saltoqd/toqmanager.h') diff --git a/saltoqd/toqmanager.h b/saltoqd/toqmanager.h new file mode 100644 index 0000000..0edd6ec --- /dev/null +++ b/saltoqd/toqmanager.h @@ -0,0 +1,54 @@ +#ifndef TOQMANAGER_H +#define TOQMANAGER_H + +#include +#include + +#include "toqconnection.h" + +class VersionManager; +class SystemManager; +class StorageManager; +class MusicManager; +class CommManager; + +class ToqManager : public QObject +{ + Q_OBJECT +public: + explicit ToqManager(const QBluetoothAddress &address, QObject *parent = 0); + + struct EndpointHandler { + virtual void handleMessage(const ToqConnection::Message &msg) = 0; + }; + + void setEndpointListener(ToqConnection::Endpoint ep, EndpointHandler *handler); + + bool isConnected() const; + void sendMessage(const ToqConnection::Message &msg); + void sendMessage(ToqConnection::Endpoint source, ToqConnection::Endpoint destination, + quint16 transactionId, quint32 type, const QJsonObject &payload); + quint16 sendMessage(ToqConnection::Endpoint source, ToqConnection::Endpoint destination, + quint32 type, const QJsonObject &payload); + void sendReply(const ToqConnection::Message &msg, quint32 type, const QJsonObject &payload); + +private slots: + void handleToqMessage(const ToqConnection::Message &msg); + +private: + ToqConnection *_conn; + QHash _handlers; + + VersionManager *_versionManager; + SystemManager *_systemManager; + StorageManager *_storageManager; + MusicManager *_musicManager; + CommManager *_commManager; +}; + +inline bool ToqManager::isConnected() const +{ + return _conn->isConnected(); +} + +#endif // TOQMANAGER_H -- cgit v1.2.3