aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-10 23:46:49 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-06-12 10:16:54 +0900
commit1476fb12566dd8d7de9c598bb0ac78e454f52d11 (patch)
tree12158963a4494b6c2406cf156dc0f5636cdc47b7
parent14be8c3bcc558d319f3324f06a5700b9155d2aa6 (diff)
Change API in applist
* getActions * getRequest This is because these functions doesn't check the elements is in or not. So if there is no element, second parameter bool should be used to check. Change-Id: I0aab79d3317a15d82ca21a40a65f29a2aed07fb3 Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r--src/applist.cpp9
-rw-r--r--src/applist.hpp4
-rw-r--r--src/request.hpp3
3 files changed, 11 insertions, 5 deletions
diff --git a/src/applist.cpp b/src/applist.cpp
index 9b06c84..d0082dd 100644
--- a/src/applist.cpp
+++ b/src/applist.cpp
@@ -122,23 +122,28 @@ unsigned AppList::addAllocateRequest(WMRequest req)
return req.req_num; // return 1; if you test time_expire
}
-struct WMTrigger AppList::getRequest(unsigned req_num)
+struct WMTrigger AppList::getRequest(unsigned req_num, bool *found)
{
+ *found = false;
for (const auto &x : this->req_list)
{
if (req_num == x.req_num)
{
+ *found = true;
return x.trigger;
}
}
+ return WMTrigger{"", "", "", Task::TASK_INVALID};
}
-const vector<struct WMAction> &AppList::getActions(unsigned req_num)
+const vector<struct WMAction> &AppList::getActions(unsigned req_num, bool* found)
{
+ *found = false;
for (auto &x : this->req_list)
{
if (req_num == x.req_num)
{
+ *found = true;
return x.sync_draw_req;
}
}
diff --git a/src/applist.hpp b/src/applist.hpp
index 159d5ab..10c2947 100644
--- a/src/applist.hpp
+++ b/src/applist.hpp
@@ -61,8 +61,8 @@ class AppList
void next();
bool haveRequest() const;
- struct WMTrigger getRequest(unsigned req_num);
- const std::vector<struct WMAction> &getActions(unsigned req_num);
+ struct WMTrigger getRequest(unsigned req_num, bool* found);
+ const std::vector<struct WMAction> &getActions(unsigned req_num, bool* found);
void clientDump();
void reqDump();
diff --git a/src/request.hpp b/src/request.hpp
index ab1ef95..ded2c02 100644
--- a/src/request.hpp
+++ b/src/request.hpp
@@ -26,7 +26,8 @@ namespace wm
enum Task
{
TASK_ALLOCATE,
- TASK_RELEASE
+ TASK_RELEASE,
+ TASK_INVALID
};
struct WMTrigger