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)