| 1 /* |
1 /* |
| 2 * Purple - Internet Messaging Library |
2 * Purple - Internet Messaging Library |
| 3 * Copyright (C) Pidgin Developers <devel@pidgin.im> |
3 * Copyright (C) Pidgin Developers <devel@pidgin.im> |
| 4 * |
|
| 5 * Purple is the legal property of its developers, whose names are too numerous |
|
| 6 * to list here. Please refer to the COPYRIGHT file distributed with this |
|
| 7 * source distribution. |
|
| 8 * |
4 * |
| 9 * This program is free software; you can redistribute it and/or modify |
5 * This program is free software; you can redistribute it and/or modify |
| 10 * it under the terms of the GNU General Public License as published by |
6 * it under the terms of the GNU General Public License as published by |
| 11 * the Free Software Foundation; either version 2 of the License, or |
7 * the Free Software Foundation; either version 2 of the License, or |
| 12 * (at your option) any later version. |
8 * (at your option) any later version. |
| 194 |
190 |
| 195 /** |
191 /** |
| 196 * PurpleCredentialManager::active-provider-changed: |
192 * PurpleCredentialManager::active-provider-changed: |
| 197 * @manager: The #PurpleCredentialManager instance. |
193 * @manager: The #PurpleCredentialManager instance. |
| 198 * @old: The #PurpleCredentialProvider that was previously active. |
194 * @old: The #PurpleCredentialProvider that was previously active. |
| 199 * @current: The #PurpleCredenetialProvider that is now currently active. |
195 * @current: The #PurpleCredentialProvider that is now currently active. |
| 200 * |
196 * |
| 201 * Emitted after @provider has become the active provider for @manager. |
197 * Emitted after @provider has become the active provider for @manager. |
| 202 * |
198 * |
| 203 * Since: 3.0.0 |
199 * Since: 3.0.0 |
| 204 */ |
200 */ |
| 380 task); |
376 task); |
| 381 } |
377 } |
| 382 |
378 |
| 383 gchar * |
379 gchar * |
| 384 purple_credential_manager_read_password_finish(PurpleCredentialManager *manager, |
380 purple_credential_manager_read_password_finish(PurpleCredentialManager *manager, |
| 385 PurpleAccount *account, |
|
| 386 GAsyncResult *result, |
381 GAsyncResult *result, |
| 387 GError **error) |
382 GError **error) |
| 388 { |
383 { |
| 389 g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), NULL); |
384 g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), NULL); |
| 390 g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), NULL); |
|
| 391 |
385 |
| 392 return g_task_propagate_pointer(G_TASK(result), error); |
386 return g_task_propagate_pointer(G_TASK(result), error); |
| 393 } |
387 } |
| 394 |
388 |
| 395 void |
389 void |
| 408 |
402 |
| 409 priv = purple_credential_manager_get_instance_private(manager); |
403 priv = purple_credential_manager_get_instance_private(manager); |
| 410 |
404 |
| 411 task = g_task_new(manager, cancellable, callback, data); |
405 task = g_task_new(manager, cancellable, callback, data); |
| 412 |
406 |
| |
407 if(!purple_account_get_remember_password(account)) { |
| |
408 GError *error = NULL; |
| |
409 const gchar *name = purple_account_get_name_for_display(account); |
| |
410 |
| |
411 error = g_error_new(PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0, |
| |
412 _("account \"%s\" is not marked to be stored"), |
| |
413 name); |
| |
414 |
| |
415 g_task_return_error(task, error); |
| |
416 |
| |
417 return; |
| |
418 } |
| |
419 |
| 413 if(priv->active_provider == NULL) { |
420 if(priv->active_provider == NULL) { |
| 414 GError *error = NULL; |
421 GError *error = NULL; |
| 415 |
422 |
| 416 error = g_error_new_literal(PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0, |
423 error = g_error_new_literal(PURPLE_CREDENTIAL_MANAGER_DOMAIN, 0, |
| 417 _("can not write password, no active " |
424 _("can not write password, no active " |
| 429 task); |
436 task); |
| 430 } |
437 } |
| 431 |
438 |
| 432 gboolean |
439 gboolean |
| 433 purple_credential_manager_write_password_finish(PurpleCredentialManager *manager, |
440 purple_credential_manager_write_password_finish(PurpleCredentialManager *manager, |
| 434 PurpleAccount *account, |
|
| 435 GAsyncResult *result, |
441 GAsyncResult *result, |
| 436 GError **error) |
442 GError **error) |
| 437 { |
443 { |
| 438 g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), FALSE); |
444 g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), FALSE); |
| 439 g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), FALSE); |
|
| 440 |
445 |
| 441 return g_task_propagate_boolean(G_TASK(result), error); |
446 return g_task_propagate_boolean(G_TASK(result), error); |
| 442 } |
447 } |
| 443 |
448 |
| 444 void |
449 void |
| 477 task); |
482 task); |
| 478 } |
483 } |
| 479 |
484 |
| 480 gboolean |
485 gboolean |
| 481 purple_credential_manager_clear_password_finish(PurpleCredentialManager *manager, |
486 purple_credential_manager_clear_password_finish(PurpleCredentialManager *manager, |
| 482 PurpleAccount *account, |
|
| 483 GAsyncResult *result, |
487 GAsyncResult *result, |
| 484 GError **error) |
488 GError **error) |
| 485 { |
489 { |
| 486 g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), FALSE); |
490 g_return_val_if_fail(PURPLE_IS_CREDENTIAL_MANAGER(manager), FALSE); |
| 487 g_return_val_if_fail(PURPLE_IS_ACCOUNT(account), FALSE); |
|
| 488 |
491 |
| 489 return g_task_propagate_boolean(G_TASK(result), error); |
492 return g_task_propagate_boolean(G_TASK(result), error); |
| 490 } |
493 } |
| 491 |
494 |
| 492 PurpleRequestFields * |
495 PurpleRequestFields * |