this->clientDump();
}
-void AppList::addClient(const string &appid, unsigned layer, const string& layer_name, unsigned surface, const string &role)
+void AppList::addClient(const string &appid, unsigned layer, const string &role)
{
std::lock_guard<std::mutex> lock(this->mtx);
- shared_ptr<WMClient> client = std::make_shared<WMClient>(appid, layer, layer_name, surface, role);
+ shared_ptr<WMClient> client = std::make_shared<WMClient>(appid, layer, role);
this->app2client[appid] = client;
this->clientDump();
}
*/
shared_ptr<WMClient> AppList::lookUpClient(const string &appid)
{
- return this->app2client.at(appid);
+ if(this->app2client.count(appid) != 0)
+ {
+ return this->app2client.at(appid);
+ }
+ else
+ {
+ return nullptr;
+ }
}
/**
* @return AppID
* @attention If AppID is not found, param found will be false.
*/
-string AppList::getAppID(unsigned surface, const string& role, bool* found) const
+/* string AppList::getAppID(unsigned surface, const string& role, bool* found) const
{
*found = false;
for (const auto &x : this->app2client)
}
}
return string("");
+} */
+
+string AppList::getAppID(unsigned surface, bool* found) const
+{
+ *found = false;
+ for (const auto &x : this->app2client)
+ {
+ if(x.second->surfaceID() == surface){
+ *found = true;
+ return x.second->appID();
+ }
+ }
+ return string("");
}
WMError AppList::popFloatingSurface(unsigned pid, unsigned *surface)