| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #ifndef BEERSERVICE_H
- #define BEERSERVICE_H
- #include <QObject>
- #include <QtWebSockets/QWebSocket>
- #include "services/dumpservice.h"
- class SettingsService;
- class BeerService : public QObject
- {
- Q_OBJECT
- Q_PROPERTY(bool connected READ connected NOTIFY connectedChanged)
- public:
- static BeerService *instance()
- {
- static BeerService i;
- return &i;
- }
- enum Action
- {
- ActionUndefined = 0,
- ActionGet,
- ActionAdd,
- ActionDelete,
- ActionModify
- };
- void sendCommand(const QString &entity, Action action, const QVariantMap &data = QVariantMap());
- void connectListener(QObject *listener);
- void removeListener(QObject *listener);
- signals:
- void connectedChanged();
- private:
- BeerService();
- ~BeerService();
- SettingsService *settings() const;
- void restoreStash();
- void reconnect();
- void sendCommand(const QVariantMap &command);
- bool connected() const;
- QMultiMap<QString, QObject *> m_listeners;
- DumpService m_dumpService;
- QWebSocket m_socket;
- QVariantList m_commandStash;
- QMap<Action, QString> m_actions;
- };
- #endif // BEERSERVICE_H
|