view doc/account-signals.dox @ 23613:0a674616953c

Added `flap_connection_send_snac_with_priority()`, which allows specifying high versus low priority for the SNAC to be sent. If we are not rate limited, a SNAC is always sent immediately. If we are at or near the rate limit, the SNAC may be queued to be sent when it wouldn't violate a rate limit to do so. Previously, SNACs were always sent in the order requested. A SNAC may now be set to be low priority, in which case other SNACs will be sent first if a queue is in use. This means that even if we have 120 'get ICQ status note' requests in the queue, a 'send message' SNAC can still be sent nearly immediately (rather than after a 10 minute or so delay). `flap_connection_send_snac_()` calls `flap_connection_send_snac_with_priority` with high priority. Get Info requests (including ICQ Status Note requests) are the only low priority SNACs at this time.
author Evan Schoenberg <evan.s@dreskin.net>
date Sun, 20 Jul 2008 05:47:42 +0000
parents cccdcc7e5642
children 5b522d6e04ca
line wrap: on
line source

/** @page account-signals Account Signals

 @signals
  @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-alias-changed
  @signal account-authorization-requested
  @signal account-authorization-denied
  @signal account-authorization-granted
  @signal account-error-changed
 @endsignals

 @see account.h

 <hr>

 @signaldef account-added
  @signalproto
void (*account_added)(PurpleAccount *account);
  @endsignalproto
  @signaldesc
   Emitted when an account is added.
  @param account The account that was added.
 @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.
 @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-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
void (*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

 */
// vim: syntax=c.doxygen tw=75 et