diff options
Diffstat (limited to 'src/libwindowmanager.h')
-rw-r--r-- | src/libwindowmanager.h | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/libwindowmanager.h b/src/libwindowmanager.h index cc65136..ce5be1b 100644 --- a/src/libwindowmanager.h +++ b/src/libwindowmanager.h @@ -144,4 +144,29 @@ public: private: Impl *const d; }; + + +using lcm_activity_reply = void (*)(int reply, json_object *msg_j); + +class LifeCycleObserver { + public: + LifeCycleObserver() : on_status_changed(nullptr) { }; + ~LifeCycleObserver() = default; + + int registerActivityObserver(const char* target_id); // AGL LifeCycle Management + int unregisterActivityObserver(const char* target_id); + int getActivityStatus(const char *target_id, lcm_activity_reply on_reply_closure); + + // AGL LifeCycle Management + int registerActivityObserver(json_object *object); + int unregisterActivityObserver(json_object *object); + int getActivityStatus(json_object *in_obj, lcm_activity_reply on_reply_closure); + + // AGL LifeCycle Management + using handler_fun = std::function<void(json_object *)>; + handler_fun on_status_changed; + + void set_event_handler(handler_fun func); +}; + #endif // LIBWINDOWMANAGER_H |