diff options
| author | Javier <dev.git@javispedro.com> | 2014-12-06 23:31:57 +0100 |
|---|---|---|
| committer | Javier <dev.git@javispedro.com> | 2014-12-06 23:31:57 +0100 |
| commit | 5499dc58d09f07081c41b8e4dead810a82137939 (patch) | |
| tree | 6e82f57d36d7a3ae6a4fbc1f6f447d8b5886273b /daemon/appmsgmanager.h | |
| parent | b03ee6521f61d02dcebb5d140f8d308479a89e35 (diff) | |
properly send acks for incoming appmsgs
Diffstat (limited to 'daemon/appmsgmanager.h')
| -rw-r--r-- | daemon/appmsgmanager.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/daemon/appmsgmanager.h b/daemon/appmsgmanager.h index 9aaabd4..e52c544 100644 --- a/daemon/appmsgmanager.h +++ b/daemon/appmsgmanager.h @@ -19,6 +19,11 @@ public: void send(const QUuid &uuid, const QVariantMap &data, const std::function<void()> &ackCallback, const std::function<void()> &nackCallback); + + typedef std::function<bool(const QVariantMap &)> MessageHandlerFunc; + void setMessageHandler(const QUuid &uuid, MessageHandlerFunc func); + void clearMessageHandler(const QUuid &uuid); + uint lastTransactionId() const; uint nextTransactionId() const; @@ -30,7 +35,6 @@ public slots: signals: void appStarted(const QUuid &uuid); void appStopped(const QUuid &uuid); - void messageReceived(const QUuid &uuid, const QVariantMap &data); private: WatchConnector::Dict mapAppKeys(const QUuid &uuid, const QVariantMap &data); @@ -56,6 +60,7 @@ private slots: private: AppManager *apps; WatchConnector *watch; + QHash<QUuid, MessageHandlerFunc> _handlers; quint8 _lastTransactionId; struct PendingTransaction { |
