beerservice.h 802 B

1234567891011121314151617181920212223242526272829303132333435363738
  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. static BeerService *instance()
  10. {
  11. static BeerService i;
  12. return &i;
  13. }
  14. Q_INVOKABLE void connectSrv(const QString &userId = QString());
  15. void sendCommand(const QString &entity, const QString &action, const QVariantMap &data = QVariantMap());
  16. void connectListener(QObject *listener);
  17. private:
  18. BeerService();
  19. ~BeerService();
  20. QString stashFileName() const;
  21. void saveStash() const;
  22. void restoreStash();
  23. void sendCommand(const QVariantMap &command);
  24. QMultiMap<QString, QObject *> m_listeners;
  25. QWebSocket m_socket;
  26. QVariantList m_commandStash;
  27. };
  28. #endif // BEERSERVICE_H