--- a/libpurple/purplecredentialmanager.c Sat Jan 02 18:52:11 2021 -0600
+++ b/libpurple/purplecredentialmanager.c Sat Jan 02 18:53:11 2021 -0600
@@ -39,35 +39,11 @@
PurpleCredentialProvider *active_provider;
} PurpleCredentialManagerPrivate;
- PurpleAccount *account;
-} PurpleCredentialManagerCallbackData;
G_DEFINE_TYPE_WITH_PRIVATE(PurpleCredentialManager, purple_credential_manager,
static PurpleCredentialManager *default_manager = NULL;
-static PurpleCredentialManagerCallbackData *
-purple_credential_manager_callback_data_new(GTask *task, PurpleAccount *account)
- PurpleCredentialManagerCallbackData *d = NULL;
- d = g_new(PurpleCredentialManagerCallbackData, 1);
- d->account = PURPLE_ACCOUNT(g_object_ref(G_OBJECT(account)));
-purple_credential_manager_callback_data_free(PurpleCredentialManagerCallbackData * d)
- g_object_unref(G_OBJECT(d->account));
/******************************************************************************
*****************************************************************************/
@@ -77,24 +53,21 @@
PurpleCredentialProvider *provider = PURPLE_CREDENTIAL_PROVIDER(obj);
- PurpleCredentialManagerCallbackData *d = NULL;
+ GTask *task = G_TASK(data); - d = (PurpleCredentialManagerCallbackData *)data;
- password = purple_credential_provider_read_password_finish(provider,
+ password = purple_credential_provider_read_password_finish(provider, res, - g_task_return_error(d->task, error);
+ g_task_return_error(task, error); - g_task_return_pointer(d->task, password, g_free);
+ g_task_return_pointer(task, password, g_free); /* Clean up our initial reference to the task. */
- g_object_unref(G_OBJECT(d->task));
+ g_object_unref(G_OBJECT(task)); @@ -103,23 +76,21 @@
PurpleCredentialProvider *provider = PURPLE_CREDENTIAL_PROVIDER(obj);
- PurpleCredentialManagerCallbackData *d = NULL;
+ GTask *task = G_TASK(data); - d = (PurpleCredentialManagerCallbackData *)data;
- ret = purple_credential_provider_write_password_finish(provider, d->account,
+ ret = purple_credential_provider_write_password_finish(provider, res, - g_task_return_error(d->task, error);
+ g_task_return_error(task, error); - g_task_return_boolean(d->task, ret);
+ g_task_return_boolean(task, ret); /* Clean up our initial reference to the task. */
- g_object_unref(G_OBJECT(d->task));
+ g_object_unref(G_OBJECT(task)); @@ -128,23 +99,21 @@
PurpleCredentialProvider *provider = PURPLE_CREDENTIAL_PROVIDER(obj);
- PurpleCredentialManagerCallbackData *d = NULL;
+ GTask *task = G_TASK(data); - d = (PurpleCredentialManagerCallbackData *)data;
- ret = purple_credential_provider_clear_password_finish(provider, d->account,
+ ret = purple_credential_provider_clear_password_finish(provider, res, - g_task_return_error(d->task, error);
+ g_task_return_error(task, error); - g_task_return_boolean(d->task, ret);
+ g_task_return_boolean(task, ret); /* Clean up our initial reference to the task. */
- g_object_unref(G_OBJECT(d->task));
+ g_object_unref(G_OBJECT(task)); @@ -383,7 +352,6 @@
PurpleCredentialManagerPrivate *priv = NULL;
- PurpleCredentialManagerCallbackData *d = NULL;
g_return_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager));
@@ -393,10 +361,6 @@
task = g_task_new(manager, cancellable, callback, data);
- d = purple_credential_manager_callback_data_new(task, account);
- g_task_set_task_data(task, d,
- (GDestroyNotify)purple_credential_manager_callback_data_free);
if(priv->active_provider == NULL) {
@@ -413,7 +377,7 @@
purple_credential_manager_read_password_callback,
@@ -422,14 +386,10 @@
- PurpleCredentialManagerCallbackData *d = NULL;
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), NULL);
g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL);
- d = g_task_get_task_data(G_TASK(result));
- return g_task_propagate_pointer(d->task, error);
+ return g_task_propagate_pointer(G_TASK(result), error); @@ -441,7 +401,6 @@
PurpleCredentialManagerPrivate *priv = NULL;
- PurpleCredentialManagerCallbackData *d = NULL;
g_return_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager));
@@ -450,9 +409,6 @@
priv = purple_credential_manager_get_instance_private(manager);
task = g_task_new(manager, cancellable, callback, data);
- d = purple_credential_manager_callback_data_new(task, account);
- g_task_set_task_data(task, d,
- (GDestroyNotify)purple_credential_manager_callback_data_free);
if(priv->active_provider == NULL) {
@@ -470,7 +426,7 @@
purple_credential_manager_write_password_callback,
@@ -479,14 +435,10 @@
- PurpleCredentialManagerCallbackData *d = NULL;
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), FALSE);
g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), FALSE);
- d = g_task_get_task_data(G_TASK(result));
- return g_task_propagate_boolean(d->task, error);
+ return g_task_propagate_boolean(G_TASK(result), error); @@ -497,7 +449,6 @@
PurpleCredentialManagerPrivate *priv = NULL;
- PurpleCredentialManagerCallbackData *d = NULL;
g_return_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager));
@@ -506,9 +457,6 @@
priv = purple_credential_manager_get_instance_private(manager);
task = g_task_new(manager, cancellable, callback, data);
- d = purple_credential_manager_callback_data_new(task, account);
- g_task_set_task_data(task, d,
- (GDestroyNotify)purple_credential_manager_callback_data_free);
if(priv->active_provider == NULL) {
@@ -526,7 +474,7 @@
purple_credential_manager_clear_password_callback,
@@ -535,14 +483,10 @@
- PurpleCredentialManagerCallbackData *d = NULL;
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), FALSE);
g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), FALSE);
- d = g_task_get_task_data(G_TASK(result));
- return g_task_propagate_boolean(d->task, error);
+ return g_task_propagate_boolean(G_TASK(result), error); --- a/libpurple/purplecredentialprovider.c Sat Jan 02 18:52:11 2021 -0600
+++ b/libpurple/purplecredentialprovider.c Sat Jan 02 18:53:11 2021 -0600
@@ -249,7 +249,6 @@
purple_credential_provider_read_password_finish(PurpleCredentialProvider *provider,
- PurpleAccount *account,
@@ -260,7 +259,7 @@
klass = PURPLE_CREDENTIAL_PROVIDER_GET_CLASS(provider);
if(klass && klass->read_password_finish) {
- return klass->read_password_finish(provider, account, result, error);
+ return klass->read_password_finish(provider, result, error); @@ -288,19 +287,17 @@
purple_credential_provider_write_password_finish(PurpleCredentialProvider *provider,
- PurpleAccount *account,
PurpleCredentialProviderClass *klass = NULL;
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_PROVIDER(provider), FALSE);
- g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), FALSE);
g_return_val_if_fail(G_IS_ASYNC_RESULT(result), FALSE);
klass = PURPLE_CREDENTIAL_PROVIDER_GET_CLASS(provider);
if(klass && klass->write_password_finish) {
- return klass->write_password_finish(provider, account, result, error);
+ return klass->write_password_finish(provider, result, error); @@ -327,19 +324,17 @@
purple_credential_provider_clear_password_finish(PurpleCredentialProvider *provider,
- PurpleAccount *account,
PurpleCredentialProviderClass *klass = NULL;
g_return_val_if_fail(PURPLE_IS_CREDENTIAL_PROVIDER(provider), FALSE);
- g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), FALSE);
g_return_val_if_fail(G_IS_ASYNC_RESULT(result), FALSE);
klass = PURPLE_CREDENTIAL_PROVIDER_GET_CLASS(provider);
if(klass && klass->clear_password_finish) {
- return klass->clear_password_finish(provider, account, result, error);
+ return klass->clear_password_finish(provider, result, error); --- a/libpurple/purplecredentialprovider.h Sat Jan 02 18:52:11 2021 -0600
+++ b/libpurple/purplecredentialprovider.h Sat Jan 02 18:53:11 2021 -0600
@@ -83,13 +83,13 @@
void (*read_password_async)(PurpleCredentialProvider *provider, PurpleAccount *account, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
- gchar *(*read_password_finish)(PurpleCredentialProvider *provider, PurpleAccount *account, GAsyncResult *result, GError **error);
+ gchar *(*read_password_finish)(PurpleCredentialProvider *provider, GAsyncResult *result, GError **error); void (*write_password_async)(PurpleCredentialProvider *provider, PurpleAccount *account, const gchar *password, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
- gboolean (*write_password_finish)(PurpleCredentialProvider *provider, PurpleAccount *account, GAsyncResult *result, GError **error);
+ gboolean (*write_password_finish)(PurpleCredentialProvider *provider, GAsyncResult *result, GError **error); void (*clear_password_async)(PurpleCredentialProvider *provider, PurpleAccount *account, GCancellable *cancellable, GAsyncReadyCallback callback, gpointer data);
- gboolean (*clear_password_finish)(PurpleCredentialProvider *provider, PurpleAccount *account, GAsyncResult *result, GError **error);
+ gboolean (*clear_password_finish)(PurpleCredentialProvider *provider, GAsyncResult *result, GError **error); void (*close)(PurpleCredentialProvider *provider);
@@ -159,7 +159,6 @@
* purple_credential_provider_read_password_finish:
* @provider: The #PurpleCredentialProvider instance.
- * @account: The #PurpleAccount whose password we're looking up.
* @result: The #GAsyncResult from the previous
* purple_credential_provider_read_password_async() call.
* @error: (out) (optional) (nullable): Return address for a #GError.
@@ -171,7 +170,7 @@
-gchar *purple_credential_provider_read_password_finish(PurpleCredentialProvider *provider, PurpleAccount *account, GAsyncResult *result, GError **error);
+gchar *purple_credential_provider_read_password_finish(PurpleCredentialProvider *provider, GAsyncResult *result, GError **error); * purple_credential_provider_write_password_async:
@@ -192,7 +191,6 @@
* purple_credential_provider_write_password_finish:
* @provider: The #PurpleCredentialProvider instance.
- * @account: The #PurpleAccount whose password we're writing.
* @result: The #GAsyncResult from the previous
* purple_credential_provider_write_password_async() call.
* @error: (out) (optional) (nullable): Return address for a #GError.
@@ -205,7 +203,7 @@
-gboolean purple_credential_provider_write_password_finish(PurpleCredentialProvider *provider, PurpleAccount *account, GAsyncResult *result, GError **error);
+gboolean purple_credential_provider_write_password_finish(PurpleCredentialProvider *provider, GAsyncResult *result, GError **error); * purple_credential_provider_clear_password_async:
@@ -225,7 +223,6 @@
* purple_credential_provider_clear_password_finish:
* @provider: The #PurpleCredentialProvider instance.
- * @account: The #PurpleAccount whose password we're clearing.
* @result: The #GAsyncResult from the previous
* purple_credential_provider_clear_password_async() call.
* @error: (out) (optional) (nullable): Return address for a #GError.
@@ -238,7 +235,7 @@
-gboolean purple_credential_provider_clear_password_finish(PurpleCredentialProvider *provider, PurpleAccount *account, GAsyncResult *result, GError **error);
+gboolean purple_credential_provider_clear_password_finish(PurpleCredentialProvider *provider, GAsyncResult *result, GError **error); * purple_credential_provider_close:
--- a/libpurple/tests/test_credential_manager.c Sat Jan 02 18:52:11 2021 -0600
+++ b/libpurple/tests/test_credential_manager.c Sat Jan 02 18:53:11 2021 -0600
@@ -78,7 +78,6 @@
test_purple_credential_provider_read_password_finish(PurpleCredentialProvider *p,
- PurpleAccount *account,
@@ -104,7 +103,6 @@
test_purple_credential_provider_write_password_finish(PurpleCredentialProvider *p,
- PurpleAccount *account,
@@ -129,7 +127,6 @@
test_purple_credential_provider_clear_password_finish(PurpleCredentialProvider *p,
- PurpleAccount *account,
--- a/libpurple/tests/test_credential_provider.c Sat Jan 02 18:52:11 2021 -0600
+++ b/libpurple/tests/test_credential_provider.c Sat Jan 02 18:53:11 2021 -0600
@@ -59,7 +59,6 @@
test_purple_credential_provider_empty_read_password_finish(PurpleCredentialProvider *provider,
- PurpleAccount *account,
@@ -78,7 +77,6 @@
test_purple_credential_provider_empty_write_password_finish(PurpleCredentialProvider *provider,
- PurpleAccount *account,
@@ -252,7 +250,6 @@
test_purple_credential_provider_read_password_finish(PurpleCredentialProvider *p,
- PurpleAccount *account,
@@ -283,7 +280,6 @@
test_purple_credential_provider_write_password_finish(PurpleCredentialProvider *p,
- PurpleAccount *account,
@@ -313,7 +309,6 @@
test_purple_credential_provider_clear_password_finish(PurpleCredentialProvider *p,
- PurpleAccount *account,
@@ -400,8 +395,7 @@
PurpleAccount *account = PURPLE_ACCOUNT(d);
- password = purple_credential_provider_read_password_finish(provider,
+ password = purple_credential_provider_read_password_finish(provider, res, g_object_unref(G_OBJECT(account));
@@ -455,8 +449,7 @@
PurpleCredentialProvider *provider = PURPLE_CREDENTIAL_PROVIDER(obj);
PurpleAccount *account = PURPLE_ACCOUNT(d);
- test_purple_credential_provider_write_password_finish(provider, account,
+ test_purple_credential_provider_write_password_finish(provider, res, NULL); g_object_unref(G_OBJECT(account));
@@ -507,8 +500,7 @@
PurpleCredentialProvider *provider = PURPLE_CREDENTIAL_PROVIDER(obj);
PurpleAccount *account = PURPLE_ACCOUNT(d);
- test_purple_credential_provider_clear_password_finish(provider, account,
+ test_purple_credential_provider_clear_password_finish(provider, res, NULL); g_object_unref(G_OBJECT(account));