X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fwm_client.hpp;h=7df4dea5a57312f3c93d6f604ab3a3e84bda007b;hb=refs%2Fchanges%2F71%2F20771%2F1;hp=623d34fccd83bffc642b78bbfe57ca9afda748de;hpb=2b1bf85afe0a8b24f75386f7c24df85f9b785bd3;p=apps%2Fagl-service-windowmanager.git diff --git a/src/wm_client.hpp b/src/wm_client.hpp index 623d34f..7df4dea 100644 --- a/src/wm_client.hpp +++ b/src/wm_client.hpp @@ -20,6 +20,7 @@ #include #include #include +#include "util.hpp" #include "wm_error.hpp" extern "C" @@ -30,11 +31,6 @@ extern "C" namespace wm { -enum WM_CLIENT_ERROR_EVENT -{ - UNKNOWN_ERROR -}; - class WMClient { public: @@ -49,31 +45,45 @@ class WMClient std::string appID() const; std::string role() const; + void setRole(const std::string& role); unsigned layerID() const; + void setLayerID(unsigned id); unsigned surfaceID() const; + void registerSurface(unsigned surface); + void activate(); + void deactivate(); + std::string area() const {return this->app_area;}; + void setArea(const std::string area) {this->app_area = area;} WMError addSurface(unsigned surface); + bool isSourceSizeSet(); + void setSurfaceSizeCorrectly(); + bool isActive() { return this->is_active;} bool removeSurfaceIfExist(unsigned surface); -#if GTEST_ENABLED bool subscribe(afb_req_t req, const std::string &event_name); - void emitError(WM_CLIENT_ERROR_EVENT ev); -#endif + void emitActive(bool active); + void emitVisible(bool visible); + void emitSyncDraw(const std::string& area, struct rect& r); + void emitFlushDraw(); + void emitError(WMError error); void dumpInfo(); private: std::string id; unsigned layer; + bool is_source_set; + bool is_active; std::string main_role; - std::string area; + std::string app_area; unsigned surface; // currently, main application has only one surface. //std::vector role_list; 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 event2list; + std::unordered_map evname2afb_event; #else - std::unordered_map evname2list; + std::unordered_map evname2afb_event; #endif }; } // namespace wm