Mercurial > pidgin.yaz
comparison libpurple/protocols/msn/oim.c @ 20430:abfb0b366109
Compile warning fixes
author | Stu Tomlinson <stu@nosnilmot.com> |
---|---|
date | Sat, 26 May 2007 14:19:11 +0000 |
parents | 4ddc27c18781 |
children | df8f443ae65f |
comparison
equal
deleted
inserted
replaced
20429:f905fa3bd56e | 20430:abfb0b366109 |
---|---|
39 static void msn_oim_send_connect_init(MsnSoapConn *soapconn); | 39 static void msn_oim_send_connect_init(MsnSoapConn *soapconn); |
40 static void msn_oim_free_send_req(MsnOimSendReq *req); | 40 static void msn_oim_free_send_req(MsnOimSendReq *req); |
41 static void msn_oim_report_to_user(MsnOim *oim, char *msg_str); | 41 static void msn_oim_report_to_user(MsnOim *oim, char *msg_str); |
42 static void msn_oim_get_process(MsnOim *oim, char *oim_msg); | 42 static void msn_oim_get_process(MsnOim *oim, char *oim_msg); |
43 static char *msn_oim_msg_to_str(MsnOim *oim, const char *body); | 43 static char *msn_oim_msg_to_str(MsnOim *oim, const char *body); |
44 const void msn_oim_send_process(MsnOim *oim, const char *body, int len); | 44 static void msn_oim_send_process(MsnOim *oim, const char *body, int len); |
45 | 45 |
46 /*new a OIM object*/ | 46 /*new a OIM object*/ |
47 MsnOim * | 47 MsnOim * |
48 msn_oim_new(MsnSession *session) | 48 msn_oim_new(MsnSession *session) |
49 { | 49 { |
160 | 160 |
161 /* | 161 /* |
162 * Process the send return SOAP string | 162 * Process the send return SOAP string |
163 * If got SOAP Fault,get the lock key,and resend it. | 163 * If got SOAP Fault,get the lock key,and resend it. |
164 */ | 164 */ |
165 const void | 165 static void |
166 msn_oim_send_process(MsnOim *oim, const char *body, int len) | 166 msn_oim_send_process(MsnOim *oim, const char *body, int len) |
167 { | 167 { |
168 xmlnode *responseNode, *bodyNode; | 168 xmlnode *responseNode, *bodyNode; |
169 xmlnode *faultNode, *faultCodeNode, *faultstringNode; | 169 xmlnode *faultNode, *faultCodeNode, *faultstringNode; |
170 xmlnode *detailNode, *challengeNode; | 170 xmlnode *detailNode, *challengeNode; |
225 xmlnode_free(responseNode); | 225 xmlnode_free(responseNode); |
226 return ; | 226 return ; |
227 } | 227 } |
228 | 228 |
229 static void | 229 static void |
230 msn_oim_send_read_cb(gpointer data, PurpleSslConnection *gsc, | 230 msn_oim_send_read_cb(gpointer data, gint source, PurpleInputCondition cond) |
231 PurpleInputCondition cond) | |
232 { | 231 { |
233 MsnSoapConn * soapconn = data; | 232 MsnSoapConn * soapconn = data; |
234 MsnSession *session = soapconn->session; | 233 MsnSession *session = soapconn->session; |
235 MsnOim * oim; | 234 MsnOim * oim; |
236 | 235 |
237 g_return_if_fail(session != NULL); | 236 g_return_if_fail(session != NULL); |
238 oim = soapconn->session->oim; | 237 oim = soapconn->session->oim; |
239 g_return_if_fail(oim != NULL); | 238 g_return_if_fail(oim != NULL); |
325 | 324 |
326 /**************************************** | 325 /**************************************** |
327 * OIM delete SOAP request | 326 * OIM delete SOAP request |
328 * **************************************/ | 327 * **************************************/ |
329 static void | 328 static void |
330 msn_oim_delete_read_cb(gpointer data, PurpleSslConnection *gsc, | 329 msn_oim_delete_read_cb(gpointer data, gint source, PurpleInputCondition cond) |
331 PurpleInputCondition cond) | 330 { |
332 { | 331 MsnSoapConn * soapconn = data; |
333 MsnSoapConn * soapconn = data; | |
334 | 332 |
335 purple_debug_info("MaYuan","OIM delete read buffer:{%s}\n",soapconn->body); | 333 purple_debug_info("MaYuan","OIM delete read buffer:{%s}\n",soapconn->body); |
336 | 334 |
337 msn_soap_free_read_buf(soapconn); | 335 msn_soap_free_read_buf(soapconn); |
338 /*get next single Offline Message*/ | 336 /*get next single Offline Message*/ |
340 } | 338 } |
341 | 339 |
342 static void | 340 static void |
343 msn_oim_delete_written_cb(gpointer data, gint source, PurpleInputCondition cond) | 341 msn_oim_delete_written_cb(gpointer data, gint source, PurpleInputCondition cond) |
344 { | 342 { |
345 MsnSoapConn * soapconn = data; | 343 MsnSoapConn * soapconn = data; |
346 | 344 |
347 soapconn->read_cb = msn_oim_delete_read_cb; | 345 soapconn->read_cb = msn_oim_delete_read_cb; |
348 } | 346 } |
349 | 347 |
350 /*Post to get the Offline Instant Message*/ | 348 /*Post to get the Offline Instant Message*/ |
425 message = msn_message_new(MSN_MSG_UNKNOWN); | 423 message = msn_message_new(MSN_MSG_UNKNOWN); |
426 | 424 |
427 msn_message_parse_payload(message, msg_str, strlen(msg_str), | 425 msn_message_parse_payload(message, msg_str, strlen(msg_str), |
428 MSG_OIM_LINE_DEM, MSG_OIM_BODY_DEM); | 426 MSG_OIM_LINE_DEM, MSG_OIM_BODY_DEM); |
429 purple_debug_info("MaYuan","oim body:{%s}\n",message->body); | 427 purple_debug_info("MaYuan","oim body:{%s}\n",message->body); |
430 decode_msg = purple_base64_decode(message->body,&body_len); | 428 decode_msg = (char *)purple_base64_decode(message->body,&body_len); |
431 date = (char *)g_hash_table_lookup(message->attr_table, "Date"); | 429 date = (char *)g_hash_table_lookup(message->attr_table, "Date"); |
432 from = (char *)g_hash_table_lookup(message->attr_table, "From"); | 430 from = (char *)g_hash_table_lookup(message->attr_table, "From"); |
433 if(strstr(from," ")){ | 431 if(strstr(from," ")){ |
434 has_nick = 1; | 432 has_nick = 1; |
435 } | 433 } |
487 | 485 |
488 g_free(msg_str); | 486 g_free(msg_str); |
489 } | 487 } |
490 | 488 |
491 static void | 489 static void |
492 msn_oim_get_read_cb(gpointer data, PurpleSslConnection *gsc, | 490 msn_oim_get_read_cb(gpointer data, gint source, PurpleInputCondition cond) |
493 PurpleInputCondition cond) | 491 { |
494 { | 492 MsnSoapConn * soapconn = data; |
495 MsnSoapConn * soapconn = data; | |
496 MsnOim * oim = soapconn->session->oim; | 493 MsnOim * oim = soapconn->session->oim; |
497 | 494 |
498 purple_debug_info("MaYuan","OIM get read buffer:{%s}\n",soapconn->body); | 495 purple_debug_info("MaYuan","OIM get read buffer:{%s}\n",soapconn->body); |
499 | 496 |
500 /*we need to process the read message!*/ | 497 /*we need to process the read message!*/ |
506 } | 503 } |
507 | 504 |
508 static void | 505 static void |
509 msn_oim_get_written_cb(gpointer data, gint source, PurpleInputCondition cond) | 506 msn_oim_get_written_cb(gpointer data, gint source, PurpleInputCondition cond) |
510 { | 507 { |
511 MsnSoapConn * soapconn = data; | 508 MsnSoapConn * soapconn = data; |
512 | 509 |
513 soapconn->read_cb = msn_oim_get_read_cb; | 510 soapconn->read_cb = msn_oim_get_read_cb; |
514 // msn_soap_read_cb(data,source,cond); | 511 // msn_soap_read_cb(data,source,cond); |
515 } | 512 } |
516 | 513 |
519 * */ | 516 * */ |
520 void | 517 void |
521 msn_parse_oim_msg(MsnOim *oim,const char *xmlmsg) | 518 msn_parse_oim_msg(MsnOim *oim,const char *xmlmsg) |
522 { | 519 { |
523 xmlnode *mdNode,*mNode,*ENode,*INode,*rtNode,*nNode; | 520 xmlnode *mdNode,*mNode,*ENode,*INode,*rtNode,*nNode; |
524 char *passport,*rTime,*msgid,*nickname; | 521 char *passport,*msgid,*nickname, *rTime = NULL; |
525 | 522 |
526 mdNode = xmlnode_from_str(xmlmsg, strlen(xmlmsg)); | 523 mdNode = xmlnode_from_str(xmlmsg, strlen(xmlmsg)); |
527 for(mNode = xmlnode_get_child(mdNode, "M"); mNode; | 524 for(mNode = xmlnode_get_child(mdNode, "M"); mNode; |
528 mNode = xmlnode_get_next_twin(mNode)){ | 525 mNode = xmlnode_get_next_twin(mNode)){ |
529 /*email Node*/ | 526 /*email Node*/ |