diff options
author | 2018-05-29 16:10:40 +0900 | |
---|---|---|
committer | 2018-05-29 16:10:40 +0900 | |
commit | 73d2a3437d332f239413a50dd745289b16de97ae (patch) | |
tree | d4b4f340a518ce9e1f882af8468eee5f2bdbcdd1 /src/applist.cpp | |
parent | 45ff324610e21ffd0292bdd1e39726c808a41725 (diff) |
Expand WMAction
Change-Id: Ib23678aa0c10724ce722acf76ada870668052c13
Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
Diffstat (limited to 'src/applist.cpp')
-rw-r--r-- | src/applist.cpp | 42 |
1 files changed, 29 insertions, 13 deletions
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<struct WMAction>& AppList::getActions(unsigned request_seq){ +const vector<struct WMAction>& 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; |