X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwm-client.hpp;h=ad9e7b08605471e177c26a84721278107e70ed6c;hb=be2a72a0759f50e0f76b45382772ed039a60e44f;hp=33024b0a92ceb4413a72f85b179f30bbec301053;hpb=0602a4156ef549a2a229ba32b141f508230b43ad;p=apps%2Fagl-service-windowmanager.git diff --git a/src/wm-client.hpp b/src/wm-client.hpp index 33024b0..ad9e7b0 100644 --- a/src/wm-client.hpp +++ b/src/wm-client.hpp @@ -30,6 +30,11 @@ extern "C" namespace wm { +enum WM_CLIENT_ERROR_EVENT +{ + UNKNOWN_ERROR +}; + class WMClient { public: @@ -38,23 +43,28 @@ class WMClient WMClient(const std::string &appid, const std::string &role); virtual ~WMClient(); - std::string appID(); + std::string appID() const; + unsigned surfaceID(const std::string &role) const; + unsigned layerID() const; void registerLayer(unsigned layerID); bool addSurface(const std::string& role, unsigned surface); bool removeSurfaceIfExist(unsigned surfaceID); bool removeRole(const std::string& role); + bool subscribe(afb_req req, const std::string &event_name); + void emitError(WM_CLIENT_ERROR_EVENT ev); + void dumpInfo(); private: - unsigned layer; std::string id; + unsigned layer; std::unordered_map role2surface; #if GTEST_ENABLED // This is for unit test. afb_make_event occurs sig11 if call not in afb-binding - std::unordered_map event_list; + std::unordered_map event2list; #else - std::unordered_map event_list; + std::unordered_map event2list; #endif }; } // namespace wm