From 73d2a3437d332f239413a50dd745289b16de97ae Mon Sep 17 00:00:00 2001 From: Kazumasa Mitsunari Date: Tue, 29 May 2018 16:10:40 +0900 Subject: Expand WMAction Change-Id: Ib23678aa0c10724ce722acf76ada870668052c13 Signed-off-by: Kazumasa Mitsunari --- src/applist.cpp | 42 +++++++++++++++++++++++++++++------------- 1 file changed, 29 insertions(+), 13 deletions(-) (limited to 'src/applist.cpp') diff --git a/src/applist.cpp b/src/applist.cpp index 06921c0..37a7717 100644 --- a/src/applist.cpp +++ b/src/applist.cpp @@ -97,34 +97,50 @@ bool AppList::requestFinished(){ return req_list.empty(); } -struct WMTrigger AppList::getRequest(unsigned request_seq){ +struct WMTrigger AppList::getRequest(unsigned req_num){ for(auto& x : req_list){ - if (request_seq == x.seq_num) + if (req_num == x.seq_num) { return x.trigger; } } } -const vector& AppList::getActions(unsigned request_seq){ +const vector& AppList::getActions(unsigned req_num){ for (auto &x : req_list) { - if (request_seq == x.seq_num) + if (req_num == x.seq_num) { return x.sync_draw_req; } } } -bool AppList::setAction(unsigned request_seq, const string &appid, const string &role, const string &area){ +bool AppList::setAction(unsigned req_num, const struct WMAction &action){ + bool result = false; + for (auto &x : req_list) + { + if (req_num != x.seq_num) + { + continue; + } + x.sync_draw_req.push_back(action); + result = true; + break; + } + + return result; +} + +bool AppList::setAction(unsigned req_num, const string &appid, const string &role, const string &area, bool visible){ bool result = false; for (auto& x : req_list) { - if (request_seq != x.seq_num) + if (req_num != x.seq_num) { continue; } - WMAction action{appid, role, area, false}; + WMAction action{appid, role, area, visible, false}; x.sync_draw_req.push_back(action); result = true; @@ -133,15 +149,15 @@ bool AppList::setAction(unsigned request_seq, const string &appid, const string return result; } -bool AppList::setEndDrawFinished(unsigned request_seq, const string &appid, const string &role){ +bool AppList::setEndDrawFinished(unsigned req_num, const string &appid, const string &role){ bool result = false; for (auto& x : req_list) { - if (request_seq < x.seq_num) + if (req_num < x.seq_num) { break; } - if (request_seq == x.seq_num) + if (req_num == x.seq_num) { for(auto& y : x.sync_draw_req){ if (y.appid == appid && y.role == role) @@ -161,14 +177,14 @@ bool AppList::setEndDrawFinished(unsigned request_seq, const string &appid, cons * @param unsigned sequence_num * @return true if all action is set. */ -bool AppList::endDrawFullfilled(unsigned request_seq){ +bool AppList::endDrawFullfilled(unsigned req_num){ bool result = false; for (const auto& x : req_list) { - if(request_seq < x.seq_num){ + if(req_num < x.seq_num){ break; } - if(request_seq == x.seq_num){ + if(req_num == x.seq_num){ result = true; for(const auto& y : x.sync_draw_req){ result &= y.end_draw_finished; -- cgit 1.2.3-korg