static gboolean storage_threaded_job_threaded_job_completed_default (StorageThreadedJob *job, gboolean result, GError *error) { if (result) { udisks_job_emit_completed (UDISKS_JOB (job), TRUE, ""); } else { GString *message; g_assert (error != NULL); message = g_string_new (NULL); g_string_append_printf (message, "Threaded job failed with error: %s (%s, %d)", error->message, g_quark_to_string (error->domain), error->code); udisks_job_emit_completed (UDISKS_JOB (job), FALSE, message->str); g_string_free (message, TRUE); } return TRUE; }
static gboolean udisks_spawned_job_spawned_job_completed_default (UlSpawnedJob *self, GError *error, gint status, GString *standard_output, GString *standard_error) { g_debug ("spawned job completed: " " status=%d (WIFEXITED=%d WEXITSTATUS=%d) " " standard_output=`%s' (%d bytes)\n" " standard_error=`%s' (%d bytes)\n", status, WIFEXITED (status), WEXITSTATUS (status), standard_output->str, (gint) standard_output->len, standard_error->str, (gint) standard_error->len); if (error != NULL) { gchar *message; message = g_strdup_printf ("%s (%s, %d)", error->message, g_quark_to_string (error->domain), error->code); udisks_job_emit_completed (UDISKS_JOB (self), FALSE, message); g_free (message); } else if (ul_util_check_status_and_output (self->argv[0], status, standard_error->str, standard_output->str, &error)) { udisks_job_emit_completed (UDISKS_JOB (self), TRUE, standard_error->str); } else { udisks_job_emit_completed (UDISKS_JOB (self), FALSE, error->message); g_error_free (error); } return TRUE; }