#ifndef QUICKEVENTSERVICE_H #define QUICKEVENTSERVICE_H #include <QtCore/QObject> #include <QtCore/QHash> #include <QtCore/QTimer> #include <QtCore/QSharedPointer> #include <ieventservice.h> #include <echoservice.h> #include <QtMvvmCore/ViewModel> class QuickEventService : public QObject, public IEventService { Q_OBJECT Q_INTERFACES(IEventService) QTMVVM_INJECT_PROP(EchoService*, echoService, _echoService) public: Q_INVOKABLE explicit QuickEventService(QObject *parent = nullptr); explicit QuickEventService(EchoService* svc, QObject *parent = nullptr); int addEvent(const QString &name) override; void removeEvent(int eventId) override; Q_SIGNALS: void eventTriggered(const QString &event) final; private: int _cnt; QHash<int, QSharedPointer<QTimer>> _events; EchoService* _echoService; Q_INVOKABLE void qtmvvm_init(); }; #endif // QUICKEVENTSERVICE_H