view doc/notify-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 4511d15a8f80
children 6e1967b0f90b 1a5861622794
line wrap: on
line source

/** @page notify-signals Notification Signals

 @signals
  @signal displaying-userinfo
  @signal displaying-email-notification
  @signal displaying-emails-notification
 @endsignals

 @see notify.h

 @signaldef displaying-userinfo
  @signalproto
void (*displaying_userinfo)(PurpleAccount *account, const char *who, PurpleNotifyUserInfo *user_info);
  @endsignalproto
  @signaldesc
   Emitted before userinfo is handed to the UI to display.
   @a user_info can be manipulated via the PurpleNotifyUserInfo API in notify.c.
  @note
    If adding a PurpleNotifyUserInfoEntry, be sure not to free it -- PurpleNotifyUserInfo assumes responsibility for its objects.
  @param account   The account on which the info was obtained.
  @param who       The screen name of the user whose info is to be displayed.
  @param user_info The information to be displayed, as PurpleNotifyUserInfoEntry objects
 @endsignaldef

 @signaldef displaying-email-notification
  @signalproto
void (*displaying_email_notification)(const char *subject,
                                      const char *from,
                                      const char *to,
                                      const char *url);
  @endsignalproto
  @signaldesc
   Emitted before email notification is handed to the UI to display.
  @param subject   Subject of email being notified of.
  @param from      Who the email is from.
  @param to        Who the email is to.
  @param url       A url to view the email.
  @since 2.1.0
 @endsignaldef

 @signaldef displaying-emails-notification
  @signalproto
void (*displaying_emails_notification)(const char **subjects,
                                       const char **froms,
                                       const char **tos,
                                       const char **urls,
                                       guint count);
  @endsignalproto
  @signaldesc
   Emitted before notification of multiple emails is handed to the UI to display.
  @param subjects   Subjects of emails being notified of.
  @param froms      Who the emails are from.
  @param tos        Who the emails are to.
  @param urls       The urls to view the emails.
  @param count      Number of emails being notified of.
  @since 2.1.0
 @endsignaldef

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