Mercurial > pidgin.yaz
view doc/account-signals.dox @ 13914:3ae8a3935406
[gaim-migrate @ 16414]
First stab at trying to fix the MSN http connect method. It still
doesn't work, and I'm not sure why, but it gets a lot farther in
the signon process now.
For those unfamiliar with the issue, the MSN http connect method
stopped working after all the non-blocking I/O changes. The http
connect method is apparently used by lots of people behind silly
firewalls and stuff, and therefore we really shouldn't release
Gaim 2.0.0 without it working, because people will complain.
The two main problems were
1. The outgoing message queue was removed in favor of buffering all
data to one large buffer. This sounds good in theory... but apparently
each message sent to and from the server has a "SessionID" in the
HTTP header. Every message we send should use the same SessionID as
the last packet we received from the server. So basically you can't
put two messages into the outgoing buffer at the same time because
you don't have the correct SessionID to use for the second message.
You have to wait until you get the reply from the server.
2. There were some strange buffer problems with using the wrong
variable when trying to combine the header+body into one buffer
before sending the message.
I also fixed a small memleak or two, added some comments, and
tried to clean up the code a little.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 03 Jul 2006 20:39:04 +0000 |
parents | e629076386f1 |
children | 8cf53d7a0887 |
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 @endsignals <hr> @signaldef account-added @signalproto void (*account_added)(GaimAccount *account); @endsignalproto @signaldesc Emitted when an account is added. @param account The account that was added. @endsignaldef @signaldef account-connecting @signalproto void (*account_connecting)(GaimAccount *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)(GaimAccount *account); @endsignalproto @signaldesc Emitted when an account is removed. @param account The account that was removed. @endsignaldef @signaldef account-disabled @signalproto void (*account_disabled)(GaimAccount *account); @endsignalproto @signaldesc Emitted when an account is disabled. @param account The account that was disabled. @endsignaldef @signaldef account-enabled @signalproto void (*account_enabled)(GaimAccount *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)(GaimAccount *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)(GaimAccount *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)(GaimAccount *account, GaimStatus *old, GaimStatus *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)(GaimAccount *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 */ // vim: syntax=c tw=75 et