Mercurial > pidgin.yaz
diff src/protocols/msn/state.c @ 19775:0af038b3b7fe
[gaim-migrate @ 17014]
add Change the PSM string
Currently read from Gaim Status Line
Thanks for Chris's Code
committed by Ma Yuan<mayuan2006@gmail.com>
committer: Ethan Blanton <elb@pidgin.im>
author | Ma Yuan <mayuan2006@gmail.com> |
---|---|
date | Thu, 24 Aug 2006 14:21:43 +0000 |
parents | bf8fb36097ee |
children |
line wrap: on
line diff
--- a/src/protocols/msn/state.c Wed Aug 23 17:01:31 2006 +0000 +++ b/src/protocols/msn/state.c Thu Aug 24 14:21:43 2006 +0000 @@ -108,19 +108,32 @@ return psm; } +/* set the MSN's PSM info,Currently Read from the status Line + * Thanks for Cris Code + */ void msn_set_psm(MsnSession *session) { + GaimAccount *account = session->account; + GaimPresence *presence; + GaimStatus *status; MsnCmdProc *cmdproc; MsnTransaction *trans; - char *payload; + char *payload,*statusline; + + g_return_if_fail(session != NULL); + g_return_if_fail(session->notification != NULL); cmdproc = session->notification->cmdproc; /*prepare PSM info*/ if(session->psm){ g_free(session->psm); } - session ->psm = g_strdup(msn_build_psm("Hello",NULL,NULL)); + /*Get the PSM string from Gaim's Status Line*/ + presence = gaim_account_get_presence(account); + status = gaim_presence_get_active_status(presence); + statusline = gaim_status_get_attr_string(status, "message"); + session ->psm = g_strdup(msn_build_psm(statusline,NULL,NULL)); payload = session->psm; gaim_debug_info("MaYuan","UUX{%s}\n",payload); @@ -166,6 +179,7 @@ g_free(msnobj_str); } + msn_set_psm(session); } const char *