# HG changeset patch # User Mark Doliner # Date 1212993352 0 # Node ID 2cc744b5925ccfb7dbd3bc948bf0e2d921664d5f # Parent 9776a2fc2370c61a0268178fc37bf7167d682e89# Parent 67581872c47f4ba64bb732e12d79a314b03eaf1d merge of '6f45eed99c94f8e63e46ad382a70c0c4e266b833' and 'ba8d3b144d041faa33c133fc7dd605eea606c66a' diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/protocols/msn/notification.c --- a/libpurple/protocols/msn/notification.c Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/protocols/msn/notification.c Mon Jun 09 06:35:52 2008 +0000 @@ -1015,13 +1015,13 @@ MsnSlpLink *slplink; MsnUser *user; + /* Tell libpurple that the user has signed off */ user = msn_userlist_find_user(cmdproc->session->userlist, cmd->params[0]); - user->status = "offline"; msn_user_update(user); + /* If we have an open MsnSlpLink with the user then close it */ slplink = msn_session_find_slplink(cmdproc->session, cmd->params[0]); - if (slplink != NULL) msn_slplink_destroy(slplink); diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/protocols/msn/notification.h --- a/libpurple/protocols/msn/notification.h Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/protocols/msn/notification.h Mon Jun 09 06:35:52 2008 +0000 @@ -41,6 +41,11 @@ struct _MsnNotification { MsnSession *session; + + /** + * This is a convenience pointer that always points to + * servconn->cmdproc + */ MsnCmdProc *cmdproc; MsnServConn *servconn; diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/protocols/msn/oim.h --- a/libpurple/protocols/msn/oim.h Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/protocols/msn/oim.h Mon Jun 09 06:35:52 2008 +0000 @@ -1,7 +1,7 @@ /** * @file oim.h Header file for oim.c * Author - * MaYuan + * MaYuan * purple * * Purple is the legal property of its developers, whose names are too numerous @@ -127,4 +127,3 @@ void msn_oim_send_msg(MsnOim *oim); #endif/* _MSN_OIM_H_*/ -/*endof oim.h*/ diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/protocols/msn/session.h --- a/libpurple/protocols/msn/session.h Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/protocols/msn/session.h Mon Jun 09 06:35:52 2008 +0000 @@ -104,7 +104,6 @@ int servconns_count; /**< The count of server connections. */ GList *switches; /**< The list of all the switchboards. */ - GList *directconns; /**< The list of all the directconnections. */ GList *slplinks; /**< The list of all the slplinks. */ /*psm info*/ diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/protocols/msn/slplink.c --- a/libpurple/protocols/msn/slplink.c Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/protocols/msn/slplink.c Mon Jun 09 06:35:52 2008 +0000 @@ -58,7 +58,7 @@ * Main **************************************************************************/ -MsnSlpLink * +static MsnSlpLink * msn_slplink_new(MsnSession *session, const char *username) { MsnSlpLink *slplink; diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/protocols/msn/slplink.h --- a/libpurple/protocols/msn/slplink.h Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/protocols/msn/slplink.h Mon Jun 09 06:35:52 2008 +0000 @@ -59,11 +59,21 @@ GQueue *slp_msg_queue; }; -MsnSlpLink *msn_slplink_new(MsnSession *session, const char *username); void msn_slplink_destroy(MsnSlpLink *slplink); + +/** + * @return An MsnSlpLink for the given user, or NULL if there is no + * existing MsnSlpLink. + */ MsnSlpLink *msn_session_find_slplink(MsnSession *session, const char *who); + +/** + * @return An MsnSlpLink for the given user. One will be created if + * it does not already exist. + */ MsnSlpLink *msn_session_get_slplink(MsnSession *session, const char *username); + MsnSlpSession *msn_slplink_find_slp_session(MsnSlpLink *slplink, long session_id); void msn_slplink_add_slpcall(MsnSlpLink *slplink, MsnSlpCall *slpcall); diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/protocols/msn/userlist.h --- a/libpurple/protocols/msn/userlist.h Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/protocols/msn/userlist.h Mon Jun 09 06:35:52 2008 +0000 @@ -45,11 +45,8 @@ { MsnSession *session; - /* MsnUsers *users; */ - /* MsnGroups *groups; */ - - GList *users; - GList *groups; + GList *users; /* Contains MsnUsers */ + GList *groups; /* Contains MsnGroups */ GQueue *buddy_icon_requests; int buddy_icon_window; diff -r 9776a2fc2370 -r 2cc744b5925c libpurple/proxy.h --- a/libpurple/proxy.h Mon Jun 09 02:28:39 2008 +0000 +++ b/libpurple/proxy.h Mon Jun 09 06:35:52 2008 +0000 @@ -239,9 +239,9 @@ * to something descriptive (hopefully). * @param data User-defined data. * - * @return NULL if there was an error, or a reference to a data - * structure that can be used to cancel the pending - * connection, if needed. + * @return NULL if there was an error, or a reference to an + * opaque data structure that can be used to cancel + * the pending connection, if needed. */ PurpleProxyConnectData *purple_proxy_connect(void *handle, PurpleAccount *account, @@ -265,9 +265,9 @@ * to something descriptive (hopefully). * @param data User-defined data. * - * @return NULL if there was an error, or a reference to a data - * structure that can be used to cancel the pending - * connection, if needed. + * @return NULL if there was an error, or a reference to an + * opaque data structure that can be used to cancel + * the pending connection, if needed. */ PurpleProxyConnectData *purple_proxy_connect_socks5(void *handle, PurpleProxyInfo *gpi,