Mercurial > pidgin.yaz
view doc/account-signals.dox @ 31712:8fc25b77295a
Hopefully fixes #13298, the bug about not being able to add MSN buddies.
Here's what I think is happening:
1. Before we add the buddy we issue an FQY request to ask the server what
network the username is for (either normal MSN or Yahoo)
2. When we get the response we add the buddy to our buddy list with the
network ID given to us by the server
3. For some reason the server is now returning a network ID of 0 ("unknown")
instead of 1 ("normal MSN") for normal passport buddies, and we bail out
when we encounter this. QuLogic thinks the server used to return 1 in
this case.
My change is to just not bail out if the FQY response has network ID 0.
Instead of treat 0 as 1 and continue with the add. It looks like our
SOAP request to add the buddy to our address book will fail a big further
down the road if the buddy doesn't exist--so we're still protecting
against that.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 28 Feb 2011 08:26:40 +0000 |
parents | 0417d6bc47cd |
children | 28e27a37e4b4 |
line wrap: on
line source
/** @page account-signals Account Signals @signals @signal account-created @signal account-destroying @signal account-added @signal account-connecting @signal account-removed @signal account-disabled @signal account-enabled @signal account-setting-info @signal account-set-info @signal account-status-changed @signal account-actions-changed @signal account-alias-changed @signal account-authorization-requested @signal account-authorization-denied @signal account-authorization-granted @signal account-error-changed @signal account-signed-on @signal account-signed-off @signal account-connection-error @endsignals @see account.h <hr> @signaldef account-created @signalproto void (*account_created)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account is created by calling purple_account_new. @param account The account. @since 2.6.0 @endsignaldef @signaldef account-destroying @signalproto void (*account_destroying)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account is about to be destroyed. @param account The account. @since 2.6.0 @endsignaldef @signaldef account-added @signalproto void (*account_added)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account is added. @param account The account that was added. @see purple_accounts_add @endsignaldef @signaldef account-connecting @signalproto void (*account_connecting)(PurpleAccount *account); @endsignalproto @signaldesc This is called when an account is in the process of connecting. @param account The account in the process of connecting. @endsignaldef @signaldef account-removed @signalproto void (*account_removed)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account is removed. @param account The account that was removed. @see purple_accounts_remove @endsignaldef @signaldef account-disabled @signalproto void (*account_disabled)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account is disabled. @param account The account that was disabled. @endsignaldef @signaldef account-enabled @signalproto void (*account_enabled)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account is enabled. @param account The account that was enabled. @endsignaldef @signaldef account-setting-info @signalproto void (*account_setting_info)(PurpleAccount *account, const char *new_info); @endsignalproto @signaldesc Emitted when a user is about to send his new user info, or profile, to the server. @param account The account that the info will be set on. @param new_info The new information to set. @endsignaldef @signaldef account-set-info @signalproto void (*account_set_info)(PurpleAccount *account, const char *new_info); @endsignalproto @signaldesc Emitted when a user sent his new user info, or profile, to the server. @param account The account that the info was set on. @param new_info The new information set. @endsignaldef @signaldef account-status-changed @signalproto void (*account_status_changed)(PurpleAccount *account, PurpleStatus *old, PurpleStatus *new); @endsignalproto @signaldesc Emitted when the status of an account changes (after the change). @param account The account that changed status. @param old The status before change. @param new The status after change. @endsignaldef @signaldef account-actions-changed @signalproto void (*account_actions_changed)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when the account actions are changed after initial connection. @param account The account whose actions changed. @endsignaldef @signaldef account-alias-changed @signalproto void (*account_alias_changed)(PurpleAccount *account, const char *old); @endsignalproto @signaldesc Emitted when the alias of an account changes (after the change). @param account The account for which the alias was changed. @param old The alias before change. @endsignaldef @signaldef account-authorization-requested @signalproto int (*account_authorization_requested)(PurpleAccount *account, const char *user); @endsignalproto @signaldesc Emitted when a user requests authorization. @param account The account. @param user The name of the user requesting authorization. @return Less than zero to deny the request without prompting, greater than zero if the request should be granted. If zero is returned, then the user will be prompted with the request. @since 2.3.0 @endsignaldef @signaldef account-authorization-denied @signalproto void (*account_authorization_denied)(PurpleAccount *account, const char *user); @endsignalproto @signaldesc Emitted when the authorization request for a buddy is denied. @param account The account. @param user The name of the user requesting authorization. @since 2.3.0 @endsignaldef @signaldef account-authorization-granted @signalproto void (*account_authorization_granted)(PurpleAccount *account, const char *user); @endsignalproto @signaldesc Emitted when the authorization request for a buddy is granted. @param account The account. @param user The name of the user requesting authorization. @since 2.3.0 @endsignaldef @signaldef account-error-changed @signalproto void (*account_error_changed)(PurpleAccount *account, const PurpleConnectionErrorInfo *old_error, const PurpleConnectionErrorInfo *current_error); @endsignalproto @signaldesc Emitted when @a account's error changes. You should not call purple_account_clear_current_error() while this signal is being emitted. @param account The account whose error has changed. @param old_error The account's previous error, or @c NULL if it had no error. After this signal is emitted, @a old_error is not guaranteed to be a valid pointer. @param new_error The account's new error, or @c NULL if it has no error. If not @c NULL, @a new_error will remain a valid until pointer just after the next time this signal is emitted for this @a account. @see purple_account_get_current_error() @since 2.3.0 @endsignaldef @signaldef account-signed-on @signalproto void (*signed_on)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account has signed on. @param account The account that has signed on. @since 2.7.0 @endsignaldef @signaldef account-signed-off @signalproto void (*signed_off)(PurpleAccount *account); @endsignalproto @signaldesc Emitted when an account has signed off. @param account The account that has signed off. @since 2.7.0 @endsignaldef @signaldef account-connection-error @signalproto void (*connection_error)(PurpleAccount *gc, PurpleConnectionError err, const gchar *desc) @endsignalproto @signaldesc Emitted when a connection error occurs, before @ref signed-off. @param account The account on which the error has occurred @param err The error that occurred @param desc A description of the error, giving more information. @since 2.7.0 @endsignaldef */ // vim: syntax=c.doxygen tw=75 et