beerservice.h 762 B

12345678910111213141516171819202122232425262728293031
  1. #ifndef BEERSERVICE_H
  2. #define BEERSERVICE_H
  3. #include <QObject>
  4. #include <QtWebSockets/QWebSocket>
  5. class BeerService : public QObject
  6. {
  7. Q_OBJECT
  8. public:
  9. explicit BeerService(QObject *parent = nullptr);
  10. ~BeerService();
  11. Q_INVOKABLE void connectSrv(const QString &userId = QString());
  12. Q_INVOKABLE void sendCommand(const QString &entity, const QString &action, const QVariantMap &data = QVariantMap());
  13. Q_INVOKABLE void connectListener(QObject *listener);
  14. private:
  15. QString stashFileName() const;
  16. void saveStash() const;
  17. void restoreStash();
  18. void sendCommand(const QVariantMap &command);
  19. QMultiMap<QString, QObject *> m_listeners;
  20. QWebSocket m_socket;
  21. QVariantList m_commandStash;
  22. };
  23. #endif // BEERSERVICE_H