diff options
author | Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com> | 2018-12-02 19:24:05 +0000 |
---|---|---|
committer | Tadao Tanikawa <tanikawa.tadao@jp.panasonic.com> | 2018-12-07 00:56:46 +0000 |
commit | 0d524e0aa72c629199b5f960fc5b0e2ba390ffd3 (patch) | |
tree | a362031ebf02bdb4163d74a87637ada7fd555167 /src/libwindowmanager.h | |
parent | f427515b412094b7feb09838793ce2e48118839d (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.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 |