aboutsummaryrefslogtreecommitdiffstats
path: root/src/windowmanager-client.cpp
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-05-20 23:08:13 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-05-21 12:21:42 +0900
commit973a7123c0bced7c7e7d9dc6dc5e990a0e2838ac (patch)
tree1f45c6b73578f839aef7f7ec7e66b3f06eb46eed /src/windowmanager-client.cpp
parent807c2bc45bf19059021eb3d94e2c1693a9c940b6 (diff)
[Local]: Lock Sequence from activateSurface to flushDraw
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/windowmanager-client.cpp')
-rw-r--r--src/windowmanager-client.cpp29
1 files changed, 25 insertions, 4 deletions
diff --git a/src/windowmanager-client.cpp b/src/windowmanager-client.cpp
index 512f271..876ab9f 100644
--- a/src/windowmanager-client.cpp
+++ b/src/windowmanager-client.cpp
@@ -18,18 +18,39 @@
namespace wm {
-WMClient::WMClient(){
+using std::string;
+const std::vector<std::string> wm_events = {
+ "syncDraw", "flushDraw", "visible", "invisible", "active", "inactive"
+};
+
+WMClient::WMClient(const string &appid, unsigned layerID, unsigned surfaceID, const string &role)
+ :id(appid),
+ layer(layerID)
+{
+ roles.push_back(role);
+ surfaces.push_back(surfaceID);
+ for(auto x: wm_events){
+ afb_event ev = afb_daemon_make_event(x.c_str());
+ event_list[x] = ev;
+ }
}
-WMClient::WMClient(const char* appid, unsigned layerID, unsigned surfaceID, const char* role)
- : request_number(0)
+WMClient::WMClient(const string &appid, const string &role)
+ :id(appid)
{
+ roles.push_back(role);
+ for(auto x: wm_events){
+ afb_event ev = afb_daemon_make_event(x.c_str());
+ event_list[x] = ev;
+ }
+}
+WMClient::~WMClient(){
}
/* const std::vector<optional<unsigned>> surfaceIDList(){
-
+
}
std::optional<unsigned> surfaceID(role);