summaryrefslogtreecommitdiffstats
path: root/src/libwindowmanager.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libwindowmanager.h')
-rw-r--r--src/libwindowmanager.h25
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