void surface_removed(uint32_t surface_id);
void surface_visibility(uint32_t surface_id, uint32_t v);
void surface_destination_rectangle(uint32_t surface_id, uint32_t x, uint32_t y, uint32_t w, uint32_t h);
+ void surface_properties(uint32_t surface_id, uint32_t pid);
};
} // namespace wm
{
HMI_DEBUG("wm", "compositor::surface %s @ %d f %u pid %u",
__func__, surface_id, frame_count, pid);
+ this->sprops[surface_id].pid = pid;
}
void controller::surface_created(uint32_t id)
g_app_list.removeSurface(surface_id);
}
+void WindowManager::surface_properties(unsigned surface_id, unsigned pid)
+{
+ HMI_DEBUG("wm", "get surface properties");
+
+ // search pid from surfaceID
+ /*json_object *response;
+ afb_service_call_sync("afm-main", "runners", nullptr, &response);
+
+ // retrieve appid from pid from application manager
+ std::string appid = "";
+ if(response == nullptr)
+ {
+ HMI_ERROR("wm", "No runners");
+ }
+ else
+ {
+ // check appid then add it to the client
+ HMI_INFO("wm", "Runners:%s", json_object_get_string(response));
+ int size = json_object_array_length(response);
+ for(int i = 0; i < size; i++)
+ {
+ json_object *j = json_object_array_get_idx(response, i);
+ const char* id = jh::getStringFromJson(j, "id");
+ int runid = jh::getIntFromJson(j, "runid");
+ if(id && (runid > 0))
+ {
+ if(runid == pid)
+ {
+ appid = id;
+ break;
+ }
+ }
+ }
+ }
+ json_object_put(response);
+
+ g_app_list.addFloatingSurface(appid, surface_id, pid);*/
+}
+
void WindowManager::removeClient(const std::string &appid)
{
HMI_DEBUG("wm", "Remove clinet %s from list", appid.c_str());
uint32_t /*w*/,
uint32_t /*h*/) {}
+void controller_hooks::surface_properties(uint32_t surface_id, uint32_t pid)
+{
+ this->wmgr->surface_properties(surface_id, pid);
+}
+
} // namespace wm
* limitations under the License.
*/
-#ifndef TMCAGLWM_APP_HPP
-#define TMCAGLWM_APP_HPP
+#ifndef WINDOW_MANAGER_HPP
+#define WINDOW_MANAGER_HPP
#include <atomic>
#include <memory>
// Events from the compositor we are interested in
void surface_created(uint32_t surface_id);
void surface_removed(uint32_t surface_id);
+ void surface_properties(uint32_t surface_id, uint32_t pid);
void removeClient(const std::string &appid);
void exceptionProcessForTransition();
} // namespace wm
-#endif // TMCAGLWM_APP_HPP
+#endif // WINDOW_MANAGER_HPP