summaryrefslogtreecommitdiff
path: root/panels
diff options
context:
space:
mode:
authorMario Sanchez Prada <mario@endlessm.com>2016-07-09 12:41:48 +0100
committerMario Sanchez Prada <mario@endlessm.com>2016-08-02 12:42:37 -0600
commitbbe6b6309d206bfe257bb142b8a24b0d60ddd9f3 (patch)
treedca2be4f33819b84c6d0bdd16e19af3bbb246ffc /panels
parentc41bbfa7d0cd3c16e6ac144e8030bb60c6341053 (diff)
downloadgnome-control-center-bbe6b6309d206bfe257bb142b8a24b0d60ddd9f3.tar.gz
Migrate the remaining bits of PpMaintenanceCommand to GTask
They were still using the deprecated GSimpleAsyncResult and throwing a lot of warnings when building. https://bugzilla.gnome.org/show_bug.cgi?id=766861
Diffstat (limited to 'panels')
-rw-r--r--panels/printers/pp-maintenance-command.c43
1 files changed, 18 insertions, 25 deletions
diff --git a/panels/printers/pp-maintenance-command.c b/panels/printers/pp-maintenance-command.c
index d03482efb..2b0b86479 100644
--- a/panels/printers/pp-maintenance-command.c
+++ b/panels/printers/pp-maintenance-command.c
@@ -181,11 +181,12 @@ static gboolean _pp_maintenance_command_is_supported (const gchar *printer_name,
const gchar *command);
static void
-_pp_maintenance_command_execute_thread (GSimpleAsyncResult *res,
- GObject *object,
- GCancellable *cancellable)
+_pp_maintenance_command_execute_thread (GTask *task,
+ gpointer source_object,
+ gpointer task_data,
+ GCancellable *cancellable)
{
- PpMaintenanceCommand *command = (PpMaintenanceCommand *) object;
+ PpMaintenanceCommand *command = PP_MAINTENANCE_COMMAND (source_object);
PpMaintenanceCommandPrivate *priv = command->priv;
gboolean success = FALSE;
GError *error = NULL;
@@ -245,13 +246,13 @@ _pp_maintenance_command_execute_thread (GSimpleAsyncResult *res,
if (!success)
{
- g_simple_async_result_set_error (res,
- G_IO_ERROR,
- G_IO_ERROR_FAILED,
- "Execution of maintenance command failed.");
+ g_task_return_new_error (task,
+ G_IO_ERROR,
+ G_IO_ERROR_FAILED,
+ "Execution of maintenance command failed.");
}
- g_simple_async_result_set_op_res_gboolean (res, success);
+ g_task_return_boolean (task, success);
}
void
@@ -260,31 +261,23 @@ pp_maintenance_command_execute_async (PpMaintenanceCommand *command,
GAsyncReadyCallback callback,
gpointer user_data)
{
- GSimpleAsyncResult *res;
-
- res = g_simple_async_result_new (G_OBJECT (command), callback, user_data, pp_maintenance_command_execute_async);
+ GTask *task;
- g_simple_async_result_set_check_cancellable (res, cancellable);
- g_simple_async_result_run_in_thread (res, _pp_maintenance_command_execute_thread, 0, cancellable);
+ task = g_task_new (command, cancellable, callback, user_data);
+ g_task_set_check_cancellable (task, TRUE);
+ g_task_run_in_thread (task, _pp_maintenance_command_execute_thread);
- g_object_unref (res);
+ g_object_unref (task);
}
gboolean
pp_maintenance_command_execute_finish (PpMaintenanceCommand *command,
- GAsyncResult *res,
+ GAsyncResult *result,
GError **error)
{
- GSimpleAsyncResult *simple = G_SIMPLE_ASYNC_RESULT (res);
-
- g_warn_if_fail (g_simple_async_result_get_source_tag (simple) == pp_maintenance_command_execute_async);
-
- if (g_simple_async_result_propagate_error (simple, error))
- {
- return FALSE;
- }
+ g_return_val_if_fail (g_task_is_valid (result, command), FALSE);
- return g_simple_async_result_get_op_res_gboolean (simple);
+ return g_task_propagate_boolean (G_TASK (result), error);
}
static gboolean