aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-07-13 14:21:52 +0900
committerKazumasa Mitsunari <knimitz@witz-inc.co.jp>2018-07-13 14:21:52 +0900
commit0abcfccdd2758da6015404c3b06126ec85e96eb2 (patch)
tree52a479657540476525da50f56daa05a562e87376
parent085cebcb1edf2ec8ac2e7ef8312f038ce3b28750 (diff)
Call runners
Change-Id: I571229727772420bfa4c323cb4e1848e0970d1ee Signed-off-by: Kazumasa Mitsunari <knimitz@witz-inc.co.jp>
-rw-r--r--src/window_manager.cpp20
-rw-r--r--src/window_manager.hpp4
2 files changed, 17 insertions, 7 deletions
diff --git a/src/window_manager.cpp b/src/window_manager.cpp
index 654d4b5..a57f021 100644
--- a/src/window_manager.cpp
+++ b/src/window_manager.cpp
@@ -694,12 +694,6 @@ void WindowManager::surface_created(uint32_t surface_id)
this->controller->layers[*layer_id]->add_surface(surface_id);
this->layout_commit();
-
- // search pid from surfaceID
-
- // pick up appid from pid from application manager
-
- // check appid then add it to the client
}
void WindowManager::surface_removed(uint32_t surface_id)
@@ -708,6 +702,20 @@ void WindowManager::surface_removed(uint32_t surface_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);
+
+ // pick up appid from pid from application manager
+ std::string appid;
+
+ // check appid then add it to the client
+ 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());
diff --git a/src/window_manager.hpp b/src/window_manager.hpp
index 717b947..7fbd43e 100644
--- a/src/window_manager.hpp
+++ b/src/window_manager.hpp
@@ -224,8 +224,10 @@ class WindowManager
// 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
+ removeClient(const std::string &appid);
void exceptionProcessForTransition();
// Do not use these functions