[Local]: Lock Sequence from activateSurface to flushDraw
[apps/agl-service-windowmanager.git] / src / main.cpp
index 2f813a3..4954abf 100644 (file)
@@ -209,7 +209,8 @@ void windowmanager_requestsurface(afb_req req) noexcept {
        }
    }
 
-   auto ret = g_afb_instance->app.api_request_surface(a_drawing_name);
+   auto ret = g_afb_instance->app.api_request_surface(
+       afb_req_get_application_id(req), a_drawing_name);
 
    if(isFirstReq){
        wmClientCtxt* ctxt = new wmClientCtxt(a_drawing_name);
@@ -262,7 +263,8 @@ void windowmanager_requestsurfacexdg(afb_req req) noexcept {
    }
    char const* a_ivi_id = json_object_get_string(j_ivi_id);
 
-   auto ret = g_afb_instance->app.api_request_surface(a_drawing_name, a_ivi_id);
+   auto ret = g_afb_instance->app.api_request_surface(
+       afb_req_get_application_id(req), a_drawing_name, a_ivi_id);
    if (ret != nullptr) {
       afb_req_fail(req, "failed", ret);
       return;
@@ -298,7 +300,9 @@ void windowmanager_activatesurface(afb_req req) noexcept {
        return;
    }
 
-   g_afb_instance->app.api_activate_surface(a_drawing_name, a_drawing_area,
+   g_afb_instance->app.api_activate_surface(
+      afb_req_get_application_id(req),
+      a_drawing_name, a_drawing_area,
       [&req](const char* errmsg){
       if (errmsg != nullptr) {
          HMI_ERROR("wm", errmsg);
@@ -332,7 +336,8 @@ void windowmanager_deactivatesurface(afb_req req) noexcept {
        return;
    }
 
-   g_afb_instance->app.api_deactivate_surface(a_drawing_name,
+   g_afb_instance->app.api_deactivate_surface(
+       afb_req_get_application_id(req), a_drawing_name,
       [&req](const char* errmsg){
       if (errmsg != nullptr) {
          HMI_ERROR("wm", errmsg);
@@ -366,7 +371,8 @@ void windowmanager_enddraw(afb_req req) noexcept {
    }
    afb_req_success(req, NULL, "success");
 
-   g_afb_instance->app.api_enddraw(a_drawing_name);
+   g_afb_instance->app.api_enddraw(
+       afb_req_get_application_id(req), a_drawing_name);
 
    } catch (std::exception &e) {
       HMI_WARNING("wm", "failed", "Uncaught exception while calling enddraw: %s", e.what());
@@ -620,11 +626,11 @@ void windowmanager_debug_terminate(afb_req req) noexcept {
 const struct afb_verb_v2 windowmanager_verbs[] = {
    { "requestsurface", windowmanager_requestsurface, nullptr, nullptr, AFB_SESSION_NONE },
    { "requestsurfacexdg", windowmanager_requestsurfacexdg, nullptr, nullptr, AFB_SESSION_NONE },
-   { "activatesurface", windowmanager_activatesurface, nullptr, nullptr, AFB_SESSION_NONE },
-   { "deactivatesurface", windowmanager_deactivatesurface, nullptr, nullptr, AFB_SESSION_NONE },
-   { "enddraw", windowmanager_enddraw, nullptr, nullptr, AFB_SESSION_NONE },
+   { "activatesurface", windowmanager_activatesurface, nullptr, nullptr, AFB_SESSION_LOA_1 },
+   { "deactivatesurface", windowmanager_deactivatesurface, nullptr, nullptr, AFB_SESSION_LOA_1 },
+   { "enddraw", windowmanager_enddraw, nullptr, nullptr, AFB_SESSION_LOA_1 },
    { "getdisplayinfo", windowmanager_getdisplayinfo_thunk, nullptr, nullptr, AFB_SESSION_NONE },
-   { "getareainfo", windowmanager_getareainfo_thunk, nullptr, nullptr, AFB_SESSION_NONE },
+   { "getareainfo", windowmanager_getareainfo_thunk, nullptr, nullptr, AFB_SESSION_LOA_1 },
    { "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 },