[seahorse/wip/nielsdg/less-gsimpleasyncresult: 1/2] gpgme: SecretDeleter: Don't use GSimpleAsyncResult
- From: Niels De Graef <nielsdg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [seahorse/wip/nielsdg/less-gsimpleasyncresult: 1/2] gpgme: SecretDeleter: Don't use GSimpleAsyncResult
- Date: Sat, 2 Mar 2019 14:06:06 +0000 (UTC)
commit f526911e8382ca858b0a6ac1c09368ff2fbb04e4
Author: Niels De Graef <nielsdegraef gmail com>
Date: Sun Feb 24 16:24:24 2019 +0100
gpgme: SecretDeleter: Don't use GSimpleAsyncResult
`GSimpleAsyncResult` was deprecated in favor of the simpler `GTask` API,
so use that instead.
pgp/seahorse-gpgme-secret-deleter.c | 141 +++++++++++++++++-------------------
1 file changed, 67 insertions(+), 74 deletions(-)
---
diff --git a/pgp/seahorse-gpgme-secret-deleter.c b/pgp/seahorse-gpgme-secret-deleter.c
index 0463f18c..b30dcca2 100644
--- a/pgp/seahorse-gpgme-secret-deleter.c
+++ b/pgp/seahorse-gpgme-secret-deleter.c
@@ -37,76 +37,58 @@
typedef struct _SeahorseGpgmeSecretDeleterClass SeahorseGpgmeSecretDeleterClass;
struct _SeahorseGpgmeSecretDeleter {
- SeahorseDeleter parent;
- SeahorseGpgmeKey *key;
- GList *keys;
+ SeahorseDeleter parent;
+ SeahorseGpgmeKey *key;
+ GList *keys;
};
struct _SeahorseGpgmeSecretDeleterClass {
- SeahorseDeleterClass parent_class;
+ SeahorseDeleterClass parent_class;
};
G_DEFINE_TYPE (SeahorseGpgmeSecretDeleter, seahorse_gpgme_secret_deleter, SEAHORSE_TYPE_DELETER);
-static void
-seahorse_gpgme_secret_deleter_init (SeahorseGpgmeSecretDeleter *self)
-{
-
-}
-
-static void
-seahorse_gpgme_secret_deleter_finalize (GObject *obj)
-{
- SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (obj);
-
- g_clear_object (&self->key);
- g_list_free (self->keys);
-
- G_OBJECT_CLASS (seahorse_gpgme_secret_deleter_parent_class)->finalize (obj);
-}
-
static GtkDialog *
seahorse_gpgme_secret_deleter_create_confirm (SeahorseDeleter *deleter,
GtkWindow *parent)
{
- SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
- GtkDialog *dialog;
- gchar *prompt;
+ SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
+ GtkDialog *dialog;
+ g_autofree gchar *prompt = NULL;
- prompt = g_strdup_printf (_("Are you sure you want to permanently delete %s?"),
- seahorse_object_get_label (SEAHORSE_OBJECT (self->key)));
+ prompt = g_strdup_printf (_("Are you sure you want to permanently delete %s?"),
+ seahorse_object_get_label (SEAHORSE_OBJECT (self->key)));
- dialog = seahorse_delete_dialog_new (parent, "%s", prompt);
+ dialog = seahorse_delete_dialog_new (parent, "%s", prompt);
- seahorse_delete_dialog_set_check_label (SEAHORSE_DELETE_DIALOG (dialog), _("I understand that this
secret key will be permanently deleted."));
- seahorse_delete_dialog_set_check_require (SEAHORSE_DELETE_DIALOG (dialog), TRUE);
+ seahorse_delete_dialog_set_check_label (SEAHORSE_DELETE_DIALOG (dialog), _("I understand that this
secret key will be permanently deleted."));
+ seahorse_delete_dialog_set_check_require (SEAHORSE_DELETE_DIALOG (dialog), TRUE);
- g_free (prompt);
- return g_object_ref (dialog);
+ return g_object_ref (dialog);
}
static GList *
seahorse_gpgme_secret_deleter_get_objects (SeahorseDeleter *deleter)
{
- SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
- return self->keys;
+ SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
+ return self->keys;
}
static gboolean
seahorse_gpgme_secret_deleter_add_object (SeahorseDeleter *deleter,
GObject *object)
{
- SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
-
- if (!SEAHORSE_GPGME_IS_KEY (object))
- return FALSE;
- if (self->key)
- return FALSE;
- if (seahorse_object_get_usage (SEAHORSE_OBJECT (object)) != SEAHORSE_USAGE_PRIVATE_KEY)
- return FALSE;
- self->key = SEAHORSE_GPGME_KEY (g_object_ref (object));
- self->keys = g_list_append (self->keys, object);
- return TRUE;
+ SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
+
+ if (!SEAHORSE_GPGME_IS_KEY (object))
+ return FALSE;
+ if (self->key)
+ return FALSE;
+ if (seahorse_object_get_usage (SEAHORSE_OBJECT (object)) != SEAHORSE_USAGE_PRIVATE_KEY)
+ return FALSE;
+ self->key = SEAHORSE_GPGME_KEY (g_object_ref (object));
+ self->keys = g_list_append (self->keys, object);
+ return TRUE;
}
static void
@@ -115,20 +97,20 @@ seahorse_gpgme_secret_deleter_delete_async (SeahorseDeleter *deleter,
GAsyncReadyCallback callback,
gpointer user_data)
{
- SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
- GSimpleAsyncResult *res;
- GError *error = NULL;
- gpgme_error_t gerr;
+ SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
+ g_autoptr(GTask) task = NULL;
+ g_autoptr(GError) error = NULL;
+ gpgme_error_t gerr;
- res = g_simple_async_result_new (G_OBJECT (self), callback, user_data,
- seahorse_gpgme_secret_deleter_delete_async);
+ task = g_task_new (self, cancellable, callback, user_data);
- gerr = seahorse_gpgme_key_op_delete_pair (self->key);
- if (seahorse_gpgme_propagate_error (gerr, &error))
- g_simple_async_result_take_error (res, error);
+ gerr = seahorse_gpgme_key_op_delete_pair (self->key);
+ if (seahorse_gpgme_propagate_error (gerr, &error)) {
+ g_task_return_error (task, g_steal_pointer (&error));
+ return;
+ }
- g_simple_async_result_complete_in_idle (res);
- g_object_unref (res);
+ g_task_return_boolean (task, TRUE);
}
static gboolean
@@ -136,41 +118,52 @@ seahorse_gpgme_secret_deleter_delete_finish (SeahorseDeleter *deleter,
GAsyncResult *result,
GError **error)
{
- SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
+ SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (deleter);
- g_return_val_if_fail (g_simple_async_result_is_valid (result, G_OBJECT (self),
- seahorse_gpgme_secret_deleter_delete_async), FALSE);
+ g_return_val_if_fail (g_task_is_valid (result, self), FALSE);
- if (g_simple_async_result_propagate_error (G_SIMPLE_ASYNC_RESULT (result), error))
- return FALSE;
+ return g_task_propagate_boolean (G_TASK (result), error);
+}
- return TRUE;
+static void
+seahorse_gpgme_secret_deleter_init (SeahorseGpgmeSecretDeleter *self)
+{
}
+static void
+seahorse_gpgme_secret_deleter_finalize (GObject *obj)
+{
+ SeahorseGpgmeSecretDeleter *self = SEAHORSE_GPGME_SECRET_DELETER (obj);
+
+ g_clear_object (&self->key);
+ g_list_free (self->keys);
+
+ G_OBJECT_CLASS (seahorse_gpgme_secret_deleter_parent_class)->finalize (obj);
+}
static void
seahorse_gpgme_secret_deleter_class_init (SeahorseGpgmeSecretDeleterClass *klass)
{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
- SeahorseDeleterClass *deleter_class = SEAHORSE_DELETER_CLASS (klass);
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ SeahorseDeleterClass *deleter_class = SEAHORSE_DELETER_CLASS (klass);
- gobject_class->finalize = seahorse_gpgme_secret_deleter_finalize;
+ gobject_class->finalize = seahorse_gpgme_secret_deleter_finalize;
- deleter_class->add_object = seahorse_gpgme_secret_deleter_add_object;
- deleter_class->create_confirm = seahorse_gpgme_secret_deleter_create_confirm;
- deleter_class->delete = seahorse_gpgme_secret_deleter_delete_async;
- deleter_class->delete_finish = seahorse_gpgme_secret_deleter_delete_finish;
- deleter_class->get_objects = seahorse_gpgme_secret_deleter_get_objects;
+ deleter_class->add_object = seahorse_gpgme_secret_deleter_add_object;
+ deleter_class->create_confirm = seahorse_gpgme_secret_deleter_create_confirm;
+ deleter_class->delete = seahorse_gpgme_secret_deleter_delete_async;
+ deleter_class->delete_finish = seahorse_gpgme_secret_deleter_delete_finish;
+ deleter_class->get_objects = seahorse_gpgme_secret_deleter_get_objects;
}
SeahorseDeleter *
seahorse_gpgme_secret_deleter_new (SeahorseGpgmeKey *key)
{
- SeahorseDeleter *deleter;
+ SeahorseDeleter *deleter;
- deleter = g_object_new (SEAHORSE_TYPE_GPGME_SECRET_DELETER, NULL);
- if (!seahorse_deleter_add_object (deleter, G_OBJECT (key)))
- g_assert_not_reached ();
+ deleter = g_object_new (SEAHORSE_TYPE_GPGME_SECRET_DELETER, NULL);
+ if (!seahorse_deleter_add_object (deleter, G_OBJECT (key)))
+ g_assert_not_reached ();
- return deleter;
+ return deleter;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]