/** * pk_backend_job_set_exit_code: * * Should only be used internally, or from PkRunner when setting CANCELLED. **/ void pk_backend_job_set_exit_code (PkBackendJob *job, PkExitEnum exit_enum) { g_return_if_fail (PK_IS_BACKEND_JOB (job)); if (job->priv->exit != PK_EXIT_ENUM_UNKNOWN) { g_warning ("already set exit status: old=%s, new=%s", pk_exit_enum_to_string (job->priv->exit), pk_exit_enum_to_string (exit_enum)); return; } /* new value */ job->priv->exit = exit_enum; }
static void pk_direct_finished_cb (PkBackendJob *job, gpointer object, gpointer user_data) { PkExitEnum exit_enum = GPOINTER_TO_UINT (object); PkDirectPrivate *priv = (PkDirectPrivate *) user_data; g_print ("Exit code: %s\n", pk_exit_enum_to_string (exit_enum)); g_main_loop_quit (priv->loop); }
/** * pk_plugin_finished_cb: **/ static void pk_plugin_finished_cb (PkBackendJob *job, PkExitEnum exit_enum, PkPlugin *plugin) { if (!g_main_loop_is_running (plugin->priv->loop)) return; if (exit_enum != PK_EXIT_ENUM_SUCCESS) { g_warning ("%s failed with exit code: %s", pk_role_enum_to_string (pk_backend_job_get_role (job)), pk_exit_enum_to_string (exit_enum)); } g_main_loop_quit (plugin->priv->loop); }