X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwm_client.hpp;h=fc171f492f6c21e3d6902b2d4a5aeb7afdb64a0d;hb=f7536d2b6ff552e7c4849b36d9b6e140c5b1b9aa;hp=259d504ce0f9b6604c8e097993675de7251cb983;hpb=000e5f8983984d65cc7599908541801ec2babed2;p=apps%2Fagl-service-windowmanager.git diff --git a/src/wm_client.hpp b/src/wm_client.hpp index 259d504..fc171f4 100644 --- a/src/wm_client.hpp +++ b/src/wm_client.hpp @@ -20,6 +20,7 @@ #include #include #include +#include "wm_error.hpp" extern "C" { @@ -42,16 +43,24 @@ class WMClient WMClient(const std::string &appid, unsigned layer, unsigned surface, const std::string &role); WMClient(const std::string &appid, const std::string &role); - virtual ~WMClient(); + WMClient(const std::string &appid, unsigned layer, const std::string &role); + WMClient(const std::string &appid, unsigned layer, + const std::string& layer_name, unsigned surface, const std::string &role); + ~WMClient() = default; std::string appID() const; - unsigned surfaceID(const std::string &role) const; + std::string role() const; unsigned layerID() const; - std::string role(unsigned surface) const; - void registerLayer(unsigned layer); - bool addSurface(const std::string& role, unsigned surface); + unsigned surfaceID() const; + // void setRole(const std::string& role); + // void appendRole(const std::string& role); + WMError addSurface(unsigned surface); bool removeSurfaceIfExist(unsigned surface); - bool removeRole(const std::string& role); + // bool removeRole(const std::string& role); + std::vector renderOrder() const; + WMError setRenderOrder(const std::vector& order); + std::string attachTmpServiceSurface(const std::string& from, const std::string& service_surface); + WMError attachServiceSurface(const std::string& service_surface, unsigned surface); #if GTEST_ENABLED bool subscribe(afb_req req, const std::string &event_name); @@ -63,12 +72,19 @@ class WMClient private: std::string id; unsigned layer; + std::string main_role; + std::string area; + unsigned surface; // currently, main application has only one surface. + //std::vector role_list; + std::vector surface_render_order; + std::unordered_map service2surfaces; std::unordered_map role2surface; + std::unordered_map service2supplier; #if GTEST_ENABLED // This is for unit test. afb_make_event occurs sig11 if call not in afb-binding - std::unordered_map event2list; + std::unordered_map evname2afb_event; #else - std::unordered_map event2list; + std::unordered_map evname2afb_event; #endif }; } // namespace wm