| 106 g_free(payloadNode); |
106 g_free(payloadNode); |
| 107 |
107 |
| 108 return psm; |
108 return psm; |
| 109 } |
109 } |
| 110 |
110 |
| |
111 /* set the MSN's PSM info,Currently Read from the status Line |
| |
112 * Thanks for Cris Code |
| |
113 */ |
| 111 void |
114 void |
| 112 msn_set_psm(MsnSession *session) |
115 msn_set_psm(MsnSession *session) |
| 113 { |
116 { |
| |
117 GaimAccount *account = session->account; |
| |
118 GaimPresence *presence; |
| |
119 GaimStatus *status; |
| 114 MsnCmdProc *cmdproc; |
120 MsnCmdProc *cmdproc; |
| 115 MsnTransaction *trans; |
121 MsnTransaction *trans; |
| 116 char *payload; |
122 char *payload,*statusline; |
| |
123 |
| |
124 g_return_if_fail(session != NULL); |
| |
125 g_return_if_fail(session->notification != NULL); |
| 117 |
126 |
| 118 cmdproc = session->notification->cmdproc; |
127 cmdproc = session->notification->cmdproc; |
| 119 /*prepare PSM info*/ |
128 /*prepare PSM info*/ |
| 120 if(session->psm){ |
129 if(session->psm){ |
| 121 g_free(session->psm); |
130 g_free(session->psm); |
| 122 } |
131 } |
| 123 session ->psm = g_strdup(msn_build_psm("Hello",NULL,NULL)); |
132 /*Get the PSM string from Gaim's Status Line*/ |
| |
133 presence = gaim_account_get_presence(account); |
| |
134 status = gaim_presence_get_active_status(presence); |
| |
135 statusline = gaim_status_get_attr_string(status, "message"); |
| |
136 session ->psm = g_strdup(msn_build_psm(statusline,NULL,NULL)); |
| 124 payload = session->psm; |
137 payload = session->psm; |
| 125 |
138 |
| 126 gaim_debug_info("MaYuan","UUX{%s}\n",payload); |
139 gaim_debug_info("MaYuan","UUX{%s}\n",payload); |
| 127 trans = msn_transaction_new(cmdproc, "UUX","%d",strlen(payload)); |
140 trans = msn_transaction_new(cmdproc, "UUX","%d",strlen(payload)); |
| 128 msn_transaction_set_payload(trans, payload, strlen(payload)); |
141 msn_transaction_set_payload(trans, payload, strlen(payload)); |
| 164 msn_cmdproc_send(cmdproc, "CHG", "%s %d %s", state_text, |
177 msn_cmdproc_send(cmdproc, "CHG", "%s %d %s", state_text, |
| 165 MSN_CLIENT_ID, gaim_url_encode(msnobj_str)); |
178 MSN_CLIENT_ID, gaim_url_encode(msnobj_str)); |
| 166 |
179 |
| 167 g_free(msnobj_str); |
180 g_free(msnobj_str); |
| 168 } |
181 } |
| |
182 msn_set_psm(session); |
| 169 } |
183 } |
| 170 |
184 |
| 171 const char * |
185 const char * |
| 172 msn_away_get_text(MsnAwayType type) |
186 msn_away_get_text(MsnAwayType type) |
| 173 { |
187 { |