X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Factivity_manager.hpp;fp=src%2Factivity_manager.hpp;h=ebd5762b16bbcd597dced2ba69c9a2d17802f25d;hb=7a4a02d048910615cb15c26fc5534ad471a8d5ac;hp=066300396795e9e92f4370f21c4189766ad58588;hpb=e35c4bf9b16927829e1741b9d9c08294f0cbed29;p=apps%2Fagl-service-windowmanager.git diff --git a/src/activity_manager.hpp b/src/activity_manager.hpp index 0663003..ebd5762 100644 --- a/src/activity_manager.hpp +++ b/src/activity_manager.hpp @@ -57,28 +57,28 @@ struct _observer_context { using observer = struct _observer_context; -// map of <"id:appid", "context of observer"> -using observers = std::map; - class ActivityManager { public: explicit ActivityManager(); ~ActivityManager() = default; - void api_register_activity_observer (afb_req_t req); - void api_unregister_activity_observer (afb_req_t req); + void api_register_activity_observer (afb_req_t req, void* &obs_ctx); + void api_unregister_activity_observer (afb_req_t req, void* &obs_ctx); wm::result api_get_activity_status(const char *appid); - public: void emit_activity_status_changed(const char* appid, const char* state); + void lcm_clear_context (void* &lcm_ctx); - // map of <"id:target", "registered observers"> - std::map map_observers; + // map of <"string:target $appid", "vector of registered observers"> + std::map> map_observers; // map of <"id:target", "current_state"> std::map states; const char *states_s[NUM_STATUS]; + + private: + void remove_observer (observer* obs, std::vector& obs_v); }; } // namespace lcm