| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- #ifndef BEERSERVICE_H
- #define BEERSERVICE_H
- #include <QObject>
- #include <QtWebSockets/QWebSocket>
- 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;
- QString stashFileName() const;
- void saveStash() const;
- void restoreStash();
- void reconnect();
- void sendCommand(const QVariantMap &command);
- bool connected() const;
- QMultiMap<QString, QObject *> m_listeners;
- QWebSocket m_socket;
- QVariantList m_commandStash;
- QMap<Action, QString> m_actions;
- };
- #endif // BEERSERVICE_H
|