Mercurial > pidgin
comparison src/protocols/msn/cmdproc.c @ 9158:c30d81b4dd22
[gaim-migrate @ 9942]
Patch from Felipe Contreras to sync our MSN prpl with what's in his tree.
He says this may fix a couple bugs, but the important thing is the
restructuring of how MsnMessages work. Lots of style changes and other
stuff as well.
committer: Tailor Script <tailor@pidgin.im>
| author | Christian Hammond <chipx86@chipx86.com> |
|---|---|
| date | Tue, 01 Jun 2004 06:42:20 +0000 |
| parents | f8038b1f7449 |
| children | 502707ca1836 |
comparison
equal
deleted
inserted
replaced
| 9157:bd1ea0a717d7 | 9158:c30d81b4dd22 |
|---|---|
| 118 void | 118 void |
| 119 msn_cmdproc_send_trans(MsnCmdProc *cmdproc, MsnTransaction *trans) | 119 msn_cmdproc_send_trans(MsnCmdProc *cmdproc, MsnTransaction *trans) |
| 120 { | 120 { |
| 121 MsnServConn *servconn; | 121 MsnServConn *servconn; |
| 122 char *data; | 122 char *data; |
| 123 size_t len; | 123 gsize len; |
| 124 | 124 |
| 125 g_return_if_fail(cmdproc != NULL); | 125 g_return_if_fail(cmdproc != NULL); |
| 126 g_return_if_fail(trans != NULL); | 126 g_return_if_fail(trans != NULL); |
| 127 | 127 |
| 128 servconn = cmdproc->servconn; | 128 servconn = cmdproc->servconn; |
| 129 msn_history_add(cmdproc->history, trans); | 129 msn_history_add(cmdproc->history, trans); |
| 130 | 130 |
| 131 data = msn_transaction_to_string(trans); | 131 data = msn_transaction_to_string(trans); |
| 132 | 132 |
| 133 cmdproc->last_trans = g_strdup(data); | 133 cmdproc->last_trans = g_strdup(data); |
| 134 | 134 |
| 135 len = strlen(data); | 135 len = strlen(data); |
| 136 | 136 |
| 137 show_debug_cmd(cmdproc, FALSE, data); | 137 show_debug_cmd(cmdproc, FALSE, data); |
| 165 g_return_if_fail(cmdproc != NULL); | 165 g_return_if_fail(cmdproc != NULL); |
| 166 g_return_if_fail(command != NULL); | 166 g_return_if_fail(command != NULL); |
| 167 | 167 |
| 168 servconn = cmdproc->servconn; | 168 servconn = cmdproc->servconn; |
| 169 | 169 |
| 170 if (format != NULL) { | 170 if (format != NULL) |
| 171 { | |
| 171 va_start(arg, format); | 172 va_start(arg, format); |
| 172 params = g_strdup_vprintf(format, arg); | 173 params = g_strdup_vprintf(format, arg); |
| 173 va_end(arg); | 174 va_end(arg); |
| 174 } | 175 } |
| 175 | 176 |
| 201 | 202 |
| 202 trans = g_new0(MsnTransaction, 1); | 203 trans = g_new0(MsnTransaction, 1); |
| 203 | 204 |
| 204 trans->command = g_strdup(command); | 205 trans->command = g_strdup(command); |
| 205 | 206 |
| 206 if (format != NULL) { | 207 if (format != NULL) |
| 208 { | |
| 207 va_start(arg, format); | 209 va_start(arg, format); |
| 208 trans->params = g_strdup_vprintf(format, arg); | 210 trans->params = g_strdup_vprintf(format, arg); |
| 209 va_end(arg); | 211 va_end(arg); |
| 210 } | 212 } |
| 211 | 213 |
| 212 msn_cmdproc_send_trans(cmdproc, trans); | 214 msn_cmdproc_send_trans(cmdproc, trans); |
| 213 } | 215 } |
| 214 | 216 |
| 215 void | 217 void |
| 218 msn_cmdproc_process_payload(MsnCmdProc *cmdproc, char *payload, | |
| 219 int payload_len) | |
| 220 { | |
| 221 g_return_if_fail(cmdproc != NULL); | |
| 222 g_return_if_fail(cmdproc->payload_cb != NULL); | |
| 223 | |
| 224 cmdproc->payload_cb(cmdproc, payload, payload_len); | |
| 225 } | |
| 226 | |
| 227 void | |
| 216 msn_cmdproc_process_msg(MsnCmdProc *cmdproc, MsnMessage *msg) | 228 msn_cmdproc_process_msg(MsnCmdProc *cmdproc, MsnMessage *msg) |
| 217 { | 229 { |
| 218 MsnServConn *servconn; | 230 MsnServConn *servconn; |
| 219 MsnMsgCb cb; | 231 MsnMsgCb cb; |
| 220 | 232 |
| 223 cb = g_hash_table_lookup(cmdproc->cbs_table->msgs, | 235 cb = g_hash_table_lookup(cmdproc->cbs_table->msgs, |
| 224 msn_message_get_content_type(msg)); | 236 msn_message_get_content_type(msg)); |
| 225 | 237 |
| 226 if (cb == NULL) | 238 if (cb == NULL) |
| 227 { | 239 { |
| 228 gaim_debug_warning("msn", "Unhandled content-type '%s': %s\n", | 240 gaim_debug_warning("msn", "Unhandled content-type '%s'\n", |
| 229 msn_message_get_content_type(msg), | 241 msn_message_get_content_type(msg)); |
| 230 msn_message_get_body(msg)); | |
| 231 | 242 |
| 232 return; | 243 return; |
| 233 } | 244 } |
| 234 | 245 |
| 235 cb(cmdproc, msg); | 246 cb(cmdproc, msg); |
| 236 } | |
| 237 | |
| 238 void | |
| 239 msn_cmdproc_process_payload(MsnCmdProc *cmdproc, char *payload, int payload_len) | |
| 240 { | |
| 241 g_return_if_fail(cmdproc != NULL); | |
| 242 g_return_if_fail(cmdproc->payload_cb != NULL); | |
| 243 | |
| 244 cmdproc->payload_cb(cmdproc, payload, payload_len); | |
| 245 } | 247 } |
| 246 | 248 |
| 247 void | 249 void |
| 248 msn_cmdproc_process_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) | 250 msn_cmdproc_process_cmd(MsnCmdProc *cmdproc, MsnCommand *cmd) |
| 249 { | 251 { |
| 303 if (cb != NULL) | 305 if (cb != NULL) |
| 304 cb(cmdproc, cmd); | 306 cb(cmdproc, cmd); |
| 305 else | 307 else |
| 306 { | 308 { |
| 307 gaim_debug_warning("msn", "Unhandled command '%s'\n", | 309 gaim_debug_warning("msn", "Unhandled command '%s'\n", |
| 308 cmd->command); | 310 cmd->command); |
| 309 | 311 |
| 310 return; | 312 return; |
| 311 } | 313 } |
| 312 | 314 |
| 313 if (g_list_find(session->servconns, servconn) == NULL) | 315 if (g_list_find(session->servconns, servconn) == NULL) |
