-// Is this function necessary ?
-unsigned AppList::getSequenceNumber(const string &appid){
- for(const auto& x : req_list){
- // Since app will not request twice and more, comparing appid is enough?
- if( (x.trigger.appid == appid))
+WMError AppList::popFloatingSurface(unsigned pid, unsigned *surface)
+{
+ WMError ret = WMError::NO_ENTRY;
+
+ for (auto itr = this->floating_surfaces.begin(); itr != this->floating_surfaces.end(); ++itr)
+ {
+ if(pid == itr->pid){
+ *surface = itr->surface_id;
+ itr = this->floating_surfaces.erase(itr);
+ ret = WMError::SUCCESS;
+ HMI_DEBUG("wm", "Erase surface %d", *surface);
+ break;
+ }
+ }
+ return ret;
+}
+
+WMError AppList::popFloatingSurface(const std::string &appid, unsigned *surface)
+{
+ HMI_ERROR("wm", "This function is not implemented");
+ return WMError::SUCCESS;
+}
+
+void AppList::addFloatingClient(const std::string &appid, unsigned layer, const std::string &role)
+{
+}
+
+void AppList::addFloatingSurface(unsigned surface, unsigned pid)
+{
+ struct FloatingSurface fsurface{surface, pid};
+ this->floating_surfaces.push_back(fsurface);
+}
+
+void AppList::removeFloatingSurface(unsigned surface)
+{
+ for (auto itr = this->floating_surfaces.begin(); itr != this->floating_surfaces.end(); ++itr)
+ {
+ if (surface == itr->surface_id)