diff options
author | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-07-30 19:57:34 +0900 |
---|---|---|
committer | Kazumasa Mitsunari <knimitz@witz-inc.co.jp> | 2018-07-30 19:57:34 +0900 |
commit | 50c81e80a48329b06775580b9bbda7ebb247d16b (patch) | |
tree | dbdfefc8b1871a2088c3d41755ee6027f09e6cfc /src/applist.hpp | |
parent | 3d1703f9a5c9d6a356b561ea7528c70a1dc4fe2d (diff) |
Merge set_role_pid_ver
Change-Id: Ib827fcd0d28c472d6b9daeac5524be7d915ff487
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/applist.hpp')
-rw-r--r-- | src/applist.hpp | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/src/applist.hpp b/src/applist.hpp index a794b53..fef4d65 100644 --- a/src/applist.hpp +++ b/src/applist.hpp @@ -31,6 +31,13 @@ namespace wm /* using std::experimental::nullopt; using std::experimental::optional; */ +struct FloatingSurface +{ + std::string appid; + unsigned surface_id; + unsigned pid; +}; + class AppList { public: @@ -50,6 +57,14 @@ class AppList std::shared_ptr<WMClient> lookUpClient(const std::string &appid); void removeSurface(unsigned surface); std::string getAppID(unsigned surface, const std::string &role, bool *found) const; + WMError appendRole(const std::string &appid, const std::string &role, unsigned surface); + + // Floating surface + void addFloatingClient(const std::string &appid, unsigned layer, const std::string &role); + void addFloatingSurface(const std::string &appid, unsigned surface, unsigned pid); + WMError popFloatingSurface(unsigned pid, unsigned *surface); + WMError popFloatingSurface(const std::string &appid, unsigned *surface); + void removeFloatingSurface(unsigned surface); // Request Interface unsigned currentRequestNumber() const; @@ -69,12 +84,14 @@ class AppList void clientDump(); void reqDump(); + void dumpFloatingSurfaces(); private: std::vector<WMRequest> req_list; std::unordered_map<std::string, std::shared_ptr<WMClient>> app2client; unsigned current_req; std::mutex mtx; + std::vector<struct FloatingSurface> floating_surfaces; }; } // namespace wm |