Change API in applist
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Sun, 10 Jun 2018 14:46:49 +0000 (23:46 +0900)
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>
Tue, 12 Jun 2018 01:16:54 +0000 (10:16 +0900)
* 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>
src/applist.cpp
src/applist.hpp
src/request.hpp

index 9b06c84..d0082dd 100644 (file)
@@ -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;
         }
     }
index 159d5ab..10c2947 100644 (file)
@@ -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();
index ab1ef95..ded2c02 100644 (file)
@@ -26,7 +26,8 @@ namespace wm
 enum Task
 {
     TASK_ALLOCATE,
-    TASK_RELEASE
+    TASK_RELEASE,
+    TASK_INVALID
 };
 
 struct WMTrigger