summaryrefslogtreecommitdiffstats
path: root/src/libwindowmanager.h
diff options
context:
space:
mode:
authorTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>2018-12-02 19:24:05 +0000
committerTadao Tanikawa <tanikawa.tadao@jp.panasonic.com>2018-12-07 00:56:46 +0000
commit0d524e0aa72c629199b5f960fc5b0e2ba390ffd3 (patch)
treea362031ebf02bdb4163d74a87637ada7fd555167 /src/libwindowmanager.h
parentf427515b412094b7feb09838793ce2e48118839d (diff)
POI: new API of AGL LifeCycle Managementsandbox/ruke47/lifecycle
This is POI of new API of AGL LifeCycle Management. This patch introduces 2 API and 1 Event of Activity Management. To work on early, quick implementation put into AGL Window Manager and libwindowmanager.so so far. In long term, it would be refactored as independent service, like AGL Activity Manager. Change-Id: Id91dcab856957411230d92371b405da000ec0818 Signed-off-by: Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com>
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