Improve window manager
[apps/agl-service-windowmanager-2017.git] / src / main.cpp
index 3766152..b62bb58 100644 (file)
@@ -104,7 +104,7 @@ static void cbRemoveClientCtxt(void *data)
 
     // Policy Manager does not know this app was killed,
     // so notify it by deactivate request.
-    g_afb_instance->wmgr.api_deactivate_surface(
+    g_afb_instance->wmgr.api_deactivate_window(
         ctxt->name.c_str(), ctxt->role.c_str(),
         [](const char *) {});
 
@@ -129,7 +129,6 @@ static void createSecurityContext(afb_req req, const char* appid, const char* ro
 void windowmanager_requestsurface(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -150,7 +149,6 @@ void windowmanager_requestsurface(afb_req req) noexcept
         {
             auto ret = g_afb_instance->wmgr.api_request_surface(
                 appid, a_drawing_name);
-
             if (ret.is_err())
             {
                 afb_req_fail(req, "failed", ret.unwrap_err());
@@ -177,7 +175,6 @@ void windowmanager_requestsurface(afb_req req) noexcept
 void windowmanager_requestsurfacexdg(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -208,6 +205,7 @@ void windowmanager_requestsurfacexdg(afb_req req) noexcept
         {
             auto ret = g_afb_instance->wmgr.api_request_surface(
                 appid, a_drawing_name, a_ivi_id);
+
             if (ret != nullptr)
             {
                 afb_req_fail(req, "failed", ret);
@@ -273,7 +271,6 @@ void windowmanager_setrole(afb_req req) noexcept
 void windowmanager_activatewindow(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -312,7 +309,7 @@ void windowmanager_activatewindow(afb_req req) noexcept
             if (g_afb_instance->wmgr.wmcon.isMasterMode() ||
                 !g_afb_instance->wmgr.wmcon.isMasterArea(a_drawing_area))
             {
-                g_afb_instance->wmgr.api_activate_surface(
+                g_afb_instance->wmgr.api_activate_window(
                     appid, a_drawing_name, a_drawing_area, reply);
             }
             else
@@ -342,7 +339,6 @@ void windowmanager_activatewindow(afb_req req) noexcept
 void windowmanager_deactivatewindow(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -375,7 +371,7 @@ void windowmanager_deactivatewindow(afb_req req) noexcept
             if (g_afb_instance->wmgr.wmcon.isMasterMode() ||
                 ("tbtnavi" != std::string(a_drawing_name)))
             {
-                g_afb_instance->wmgr.api_deactivate_surface(
+                g_afb_instance->wmgr.api_deactivate_window(
                     appid, a_drawing_name, reply);
             }
             else
@@ -399,7 +395,6 @@ void windowmanager_deactivatewindow(afb_req req) noexcept
 void windowmanager_enddraw(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -444,7 +439,6 @@ void windowmanager_enddraw(afb_req req) noexcept
 void windowmanager_getdisplayinfo_thunk(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -472,7 +466,6 @@ void windowmanager_getdisplayinfo_thunk(afb_req req) noexcept
 void windowmanager_getareainfo_thunk(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -628,7 +621,6 @@ void windowmanager_attach_app(afb_req req) noexcept
 void windowmanager_wm_subscribe(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -644,10 +636,9 @@ void windowmanager_wm_subscribe(afb_req req) noexcept
             afb_req_fail(req, "failed", "Need char const* argument event");
             return;
         }
-        int event_type = json_object_get_int(j);
-        const char *event_name = g_afb_instance->wmgr.kListEventName[event_type];
-        struct afb_event event = g_afb_instance->wmgr.map_afb_event[event_name];
-        int ret = afb_req_subscribe(req, event);
+        int event_id = json_object_get_int(j);
+        int ret = g_afb_instance->wmgr.api_subscribe(req, event_id);
+
         if (ret)
         {
             afb_req_fail(req, "failed", "Error: afb_req_subscribe()");
@@ -662,36 +653,6 @@ void windowmanager_wm_subscribe(afb_req req) noexcept
     }
 }
 
-void windowmanager_list_drawing_names(afb_req req) noexcept
-{
-    std::lock_guard<std::mutex> guard(binding_m);
-
-    /* if (g_afb_instance == nullptr)
-    {
-        afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
-        return;
-    }
-
-    try
-    {
-
-        nlohmann::json j = g_afb_instance->wmgr.id_alloc.name2id;
-        auto ret = wm::Ok(json_tokener_parse(j.dump().c_str()));
-        if (ret.is_err())
-        {
-            afb_req_fail(req, "failed", ret.unwrap_err());
-            return;
-        }
-
-        afb_req_success(req, ret.unwrap(), "success");
-    }
-    catch (std::exception &e)
-    {
-        afb_req_fail_f(req, "failed", "Uncaught exception while calling list_drawing_names: %s", e.what());
-        return;
-    } */
-}
-
 void windowmanager_ping(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
@@ -707,89 +668,9 @@ void windowmanager_ping(afb_req req) noexcept
     }
 }
 
-void windowmanager_debug_status(afb_req req) noexcept
-{
-    std::lock_guard<std::mutex> guard(binding_m);
-
-    /* if (g_afb_instance == nullptr)
-    {
-        afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
-        return;
-    }
-
-    try
-    {
-
-        json_object *jr = json_object_new_object();
-        json_object_object_add(jr, "surfaces",
-                               to_json(g_afb_instance->wmgr.controller->sprops));
-        json_object_object_add(jr, "layers", to_json(g_afb_instance->wmgr.controller->lprops));
-
-        afb_req_success(req, jr, "success");
-    }
-    catch (std::exception &e)
-    {
-        afb_req_fail_f(req, "failed", "Uncaught exception while calling debug_status: %s", e.what());
-        return;
-    } */
-}
-
-void windowmanager_debug_layers(afb_req req) noexcept
-{
-    std::lock_guard<std::mutex> guard(binding_m);
-
-    /* if (g_afb_instance == nullptr)
-    {
-        afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
-        return;
-    }
-
-    try
-    {
-        auto ret = wm::Ok(json_tokener_parse(g_afb_instance->wmgr.layers.to_json().dump().c_str()));
-
-        afb_req_success(req, ret, "success");
-    }
-    catch (std::exception &e)
-    {
-        afb_req_fail_f(req, "failed", "Uncaught exception while calling debug_layers: %s", e.what());
-        return;
-    } */
-}
-
-void windowmanager_debug_surfaces(afb_req req) noexcept
-{
-    std::lock_guard<std::mutex> guard(binding_m);
-
-    /* if (g_afb_instance == nullptr)
-    {
-        afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
-        return;
-    }
-
-    try
-    {
-
-        auto ret = wm::Ok(to_json(g_afb_instance->wmgr.controller->sprops));
-        if (ret.is_err())
-        {
-            afb_req_fail(req, "failed", ret.unwrap_err());
-            return;
-        }
-
-        afb_req_success(req, ret.unwrap(), "success");
-    }
-    catch (std::exception &e)
-    {
-        afb_req_fail_f(req, "failed", "Uncaught exception while calling debug_surfaces: %s", e.what());
-        return;
-    } */
-}
-
 void windowmanager_debug_terminate(afb_req req) noexcept
 {
     std::lock_guard<std::mutex> guard(binding_m);
-
     if (g_afb_instance == nullptr)
     {
         afb_req_fail(req, "failed", "Binding not initialized, did the compositor die?");
@@ -832,11 +713,7 @@ const struct afb_verb_v2 windowmanager_verbs[] = {
     {"setRenderOrder", windowmanager_set_render_order, nullptr, nullptr, AFB_SESSION_NONE},
     {"attachApp", windowmanager_attach_app, nullptr, nullptr, AFB_SESSION_NONE},
     {"wm_subscribe", windowmanager_wm_subscribe, nullptr, nullptr, AFB_SESSION_NONE},
-    {"list_drawing_names", windowmanager_list_drawing_names, nullptr, nullptr, AFB_SESSION_NONE},
     {"ping", windowmanager_ping, nullptr, nullptr, AFB_SESSION_NONE},
-    {"debug_status", windowmanager_debug_status, nullptr, nullptr, AFB_SESSION_NONE},
-    {"debug_layers", windowmanager_debug_layers, nullptr, nullptr, AFB_SESSION_NONE},
-    {"debug_surfaces", windowmanager_debug_surfaces, nullptr, nullptr, AFB_SESSION_NONE},
     {"debug_terminate", windowmanager_debug_terminate, nullptr, nullptr, AFB_SESSION_NONE},
     {}};