diff options
Diffstat (limited to 'src/main.cpp')
-rw-r--r-- | src/main.cpp | 137 |
1 files changed, 7 insertions, 130 deletions
diff --git a/src/main.cpp b/src/main.cpp index 3766152..b62bb58 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -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}, {}}; |