libpurple/purplecredentialmanager.c

changeset 40680
f9ea6d5e8992
parent 40679
062a4574af3e
child 40684
a0c11a532ee7
equal deleted inserted replaced
40679:062a4574af3e 40680:f9ea6d5e8992
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 *

mercurial