aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/applist.cpp9
-rw-r--r--src/applist.hpp7
-rw-r--r--src/request.hpp3
3 files changed, 12 insertions, 7 deletions
diff --git a/src/applist.cpp b/src/applist.cpp
index b5c1681..13e677c 100644
--- a/src/applist.cpp
+++ b/src/applist.cpp
@@ -177,23 +177,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 36134a2..69577d0 100644
--- a/src/applist.hpp
+++ b/src/applist.hpp
@@ -61,8 +61,7 @@ class AppList
void removeFloatingSurface(unsigned surface);
// Request Interface
- unsigned
- currentRequestNumber() const;
+ unsigned currentRequestNumber() const;
unsigned getRequestNumber(const std::string &appid) const;
unsigned addAllocateRequest(WMRequest req);
/* TODO: consider, which is better WMClient or std::string appid?
@@ -76,8 +75,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