Mercurial > pidgin
changeset 1278:b319e507a36a
[gaim-migrate @ 1288]
Away/Idle now works.
committer: Tailor Script <tailor@pidgin.im>
author | Rob Flynn <gaim@robflynn.com> |
---|---|
date | Thu, 14 Dec 2000 19:40:47 +0000 |
parents | ba196bf5c4cd |
children | 8947583de4a1 |
files | STATUS plugins/msn/msn.c |
diffstat | 2 files changed, 41 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/STATUS Thu Dec 14 19:31:51 2000 +0000 +++ b/STATUS Thu Dec 14 19:40:47 2000 +0000 @@ -1,4 +1,4 @@ -STATUS of GAIM CVS tree. Last modified $Date: 2000-12-14 14:31:51 -0500 (Thu, 14 Dec 2000) $ by $Author: robflynn $. +STATUS of GAIM CVS tree. Last modified $Date: 2000-12-14 14:40:47 -0500 (Thu, 14 Dec 2000) $ by $Author: robflynn $. This file is meant to provide gaim users who use the CVS version to see whether they actually want to compile what they just checked out. Gaim CVS is usually @@ -99,10 +99,12 @@ === MSN currently supports signing on/off, sending and receiving messages. The -buddylist is functional. It also supports permit and deny lists. When sending -the initial message (to start a conversation) there will be a small delay. It -will appear as if the client has frozen. This will not always be the case. -I have a fix that I havent taken the time to write yet. +buddylist is functional. It also supports permi/deny lists and going +away/idle. + +When sending the initial message (to start a conversation) there will be a small +delay. It will appear as if the client has frozen. This will not always be the +case. I have a fix that I havent taken the time to write yet. ICQ
--- a/plugins/msn/msn.c Thu Dec 14 19:31:51 2000 +0000 +++ b/plugins/msn/msn.c Thu Dec 14 19:40:47 2000 +0000 @@ -751,6 +751,38 @@ } +static void msn_set_away(struct gaim_connection *gc, char *msg) { + struct msn_data *mdata = (struct msn_data *)gc->proto_data; + time_t trId = time((time_t *)NULL); + gchar buf[4096]; + + if (msg) { + g_snprintf(buf, 4096, "CHG %d AWY\n", trId); + } else if (gc->is_idle) { + g_snprintf(buf, 4096, "CHG %d IDL\n", trId); + } else { + g_snprintf(buf, 4096, "CHG %d NLN\n", trId); + } + + write(mdata->fd, buf, strlen(buf)); + +} + +static void msn_set_idle(struct gaim_connection *gc, int idle) { + struct msn_data *mdata = (struct msn_data *)gc->proto_data; + time_t trId = time((time_t *)NULL); + gchar buf[4096]; + + if (idle) { + g_snprintf(buf, 4096, "CHG %d IDL\n", trId); + } else { + g_snprintf(buf, 4096, "CHG %d NLN\n", trId); + } + + write(mdata->fd, buf, strlen(buf)); + +} + static struct prpl *my_protocol = NULL; void msn_init(struct prpl *ret) { @@ -764,12 +796,12 @@ ret->send_im = msn_send_im; ret->set_info = NULL; ret->get_info = NULL; - ret->set_away = NULL; + ret->set_away = msn_set_away; ret->get_away_msg = NULL; ret->set_dir = NULL; ret->get_dir = NULL; ret->dir_search = NULL; - ret->set_idle = NULL; + ret->set_idle = msn_set_idle; ret->change_passwd = NULL; ret->add_buddy = msn_add_buddy; ret->add_buddies = NULL;