#ifndef OWLETCLIENT_H #define OWLETCLIENT_H #include #include #include class OwletTransport; class OwletClient : public QObject { Q_OBJECT public: explicit OwletClient(OwletTransport *transport, QObject *parent = nullptr); OwletTransport *transport() const; int sendCommand(const QString &method, const QVariantMap ¶ms = QVariantMap()); signals: void connected(); void disconnected(); void error(); void replyReceived(int commandId, const QVariantMap ¶ms); void notificationReceived(const QString &name, const QVariantMap ¶ms); private slots: void dataReceived(const QByteArray &data); private: OwletTransport *m_transport = nullptr; int m_commandId = 0; QByteArray m_receiveBuffer; }; #endif // OWLETCLIENT_H