#ifndef TOQMANAGER_H #define TOQMANAGER_H #include #include "toqconnection.h" class ObexConnection; class VersionManager; class SystemManager; class FmsManager; class StorageManager; class MusicManager; class ContactsManager; class CommManager; class VoiceCallManager; class WeatherManager; 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; quint16 newTransactionId(); 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); signals: void connected(); void disconnected(); private slots: void handleToqMessage(const ToqConnection::Message &msg); private: ToqConnection *_conn; ObexConnection *_obex; QHash _handlers; VersionManager *_versionManager; SystemManager *_systemManager; FmsManager *_fmsManager; StorageManager *_storageManager; MusicManager *_musicManager; ContactsManager *_contactsManager; CommManager *_commManager; VoiceCallManager *_voiceCallManager; WeatherManager *_weatherManager; }; inline bool ToqManager::isConnected() const { return _conn->isConnected(); } inline quint16 ToqManager::newTransactionId() { return _conn->newTransactionId(); } #endif // TOQMANAGER_H