aboutsummaryrefslogtreecommitdiffstats
path: root/src/applist.hpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-07-30 19:57:34 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-07-30 19:57:34 +0900
commit50c81e80a48329b06775580b9bbda7ebb247d16b (patch)
treedbdfefc8b1871a2088c3d41755ee6027f09e6cfc /src/applist.hpp
parent3d1703f9a5c9d6a356b561ea7528c70a1dc4fe2d (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.hpp17
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