X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fapplist.hpp;h=c0cc298077f54ea3537218fac40c53daa7971b8e;hb=314ed7419472933fd3aa7a71e6df9d4ea294e9c3;hp=320d36baaee09c249d523595f0415f4553cfef08;hpb=d78ae3cd8f316d1830cde4d611b8e42f90dbcc11;p=apps%2Fagl-service-windowmanager.git diff --git a/src/applist.hpp b/src/applist.hpp index 320d36b..c0cc298 100644 --- a/src/applist.hpp +++ b/src/applist.hpp @@ -20,9 +20,10 @@ #include #include #include -//#include -#include "wm-client.hpp" +#include +#include "wm_client.hpp" #include "request.hpp" +#include "wm_error.hpp" namespace wm { @@ -41,29 +42,28 @@ class AppList void addClient(const std::string &appid, const std::string &role); void addClient(const std::string &appid, unsigned layer, unsigned surface, const std::string &role); void removeClient(const std::string &appid); - bool contains(const std::string &appid); - int countClient(); + bool contains(const std::string &appid) const; + int countClient() const; std::shared_ptr lookUpClient(const std::string &appid); void removeSurface(unsigned surface); // Request Interface - unsigned currentSequenceNumber(); - unsigned getSequenceNumber(const std::string &appid); + unsigned currentRequestNumber() const; + unsigned getRequestNumber(const std::string &appid) const; unsigned addAllocateRequest(WMRequest req); /* TODO: consider, which is better WMClient or std::string appid? if appid is key to manage resources, it is better to select std::string otherwise WMClient is better, IMO */ - bool requestFinished(); - bool setAction(unsigned req_num, const struct WMAction &action); - bool setAction(unsigned req_num, const std::string &appid, const std::string &role, const std::string &area, bool visible = true); + WMError setAction(unsigned req_num, const struct WMAction &action); + WMError setAction(unsigned req_num, const std::string &appid, const std::string &role, const std::string &area, bool visible = true); bool setEndDrawFinished(unsigned req_num, const std::string &appid, const std::string &role); bool endDrawFullfilled(unsigned req_num); void removeRequest(unsigned req_num); void next(); - bool haveRequest(); + bool haveRequest() const; - struct WMTrigger getRequest(unsigned req_num); - const std::vector &getActions(unsigned req_num); + struct WMTrigger getRequest(unsigned req_num, bool* found); + const std::vector &getActions(unsigned req_num, bool* found); void clientDump(); void reqDump(); @@ -72,6 +72,7 @@ class AppList std::vector req_list; std::unordered_map> app2client; unsigned current_req; + std::mutex mtx; }; } // namespace wm