static int session_take_control_fn(sd_bus *bus, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error) { sysview_session *session = userdata; int r, error; session->slot_take_control = sd_bus_slot_unref(session->slot_take_control); if (sd_bus_message_is_method_error(reply, NULL)) { const sd_bus_error *e = sd_bus_message_get_error(reply); log_debug("sysview: %s: TakeControl failed: %s: %s", session->name, e->name, e->message); error = -sd_bus_error_get_errno(e); } else { session->has_control = true; error = 0; } r = context_raise_session_control(session->seat->context, session, error); if (r < 0) log_debug_errno(r, "sysview: callback failed while signalling session control '%d' on session '%s': %m", error, session->name); return 0; }
static int session_take_control_fn(sd_bus *bus, sd_bus_message *reply, void *userdata, sd_bus_error *ret_error) { sysview_session *session = userdata; int error; session->slot_take_control = sd_bus_slot_unref(session->slot_take_control); if (sd_bus_message_is_method_error(reply, NULL)) { const sd_bus_error *e = sd_bus_message_get_error(reply); log_debug("sysview: %s: TakeControl failed: %s: %s", session->name, e->name, e->message); error = sd_bus_error_get_errno(e); } else { session->has_control = true; error = 0; } return context_raise_session_control(session->seat->context, session, error); }