comparison libgaim/protocols/msn/contact.c @ 20390:d634f88e25d8

msn.tgz from SF Patch #1621854 from Ka-Hing Cheung "This tarball brings soc-2006-msnp13 up to head. In addition to that it also fixes a crash with sending offline messages. I wasn't able to generate a diff against that branch, svn seems to insist on diff'ing against HEAD after I run the merge command. After running `svn merge -r 16309:HEAD https://gaim.svn.sourceforge.net/svnroot/gaim/trunk` on the soc-2006-msnp13 you can replace the msn directory with the attached tarball. The fix for offline messaging is on msn.c:901: if (!session->oim) session->oim = msn_oim_new(session)" committer: Richard Laager <rlaager@wiktel.com>
author Ka-Hing Cheung <khc@hxbc.us>
date Sun, 15 Apr 2007 02:18:17 +0000
parents e354528c4163
children 0b0ecee55091
comparison
equal deleted inserted replaced
20389:e354528c4163 20390:d634f88e25d8
213 } 213 }
214 214
215 static void 215 static void
216 msn_get_contact_list_cb(gpointer data, gint source, GaimInputCondition cond) 216 msn_get_contact_list_cb(gpointer data, gint source, GaimInputCondition cond)
217 { 217 {
218 MsnSoapConn * soapconn = data; 218 MsnSoapConn *soapconn = data;
219 MsnContact *contact; 219 MsnContact *contact;
220 MsnSession *session; 220 MsnSession *session;
221 const char * abLastChange; 221 const char *abLastChange;
222 const char * dynamicItemLastChange; 222 const char *dynamicItemLastChange;
223 223
224 contact = soapconn->parent; 224 contact = soapconn->parent;
225 g_return_if_fail(contact != NULL); 225 g_return_if_fail(contact != NULL);
226 session = soapconn->session; 226 session = soapconn->session;
227 g_return_if_fail(session != NULL); 227 g_return_if_fail(session != NULL);
233 /*free the read buffer*/ 233 /*free the read buffer*/
234 msn_soap_free_read_buf(soapconn); 234 msn_soap_free_read_buf(soapconn);
235 235
236 abLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"ablastChange"); 236 abLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"ablastChange");
237 dynamicItemLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"dynamicItemLastChange"); 237 dynamicItemLastChange = gaim_blist_node_get_string(msn_session_get_bnode(contact->session),"dynamicItemLastChange");
238 msn_get_address_book(contact,abLastChange,dynamicItemLastChange); 238 msn_get_address_book(contact, abLastChange, dynamicItemLastChange);
239 } 239 }
240 240
241 static void 241 static void
242 msn_get_contact_written_cb(gpointer data, gint source, GaimInputCondition cond) 242 msn_get_contact_written_cb(gpointer data, gint source, GaimInputCondition cond)
243 { 243 {
515 soapconn->read_cb = msn_get_address_cb; 515 soapconn->read_cb = msn_get_address_cb;
516 } 516 }
517 517
518 /*get the address book*/ 518 /*get the address book*/
519 void 519 void
520 msn_get_address_book(MsnContact *contact,char * LastChanged, char * dynamicItemLastChange) 520 msn_get_address_book(MsnContact *contact, const char *LastChanged, const char *dynamicItemLastChange)
521 { 521 {
522 MsnSoapReq *soap_request; 522 MsnSoapReq *soap_request;
523 char *body = NULL; 523 char *body = NULL;
524 char *ab_update_str,*update_str; 524 char *ab_update_str,*update_str;
525 525
530 }else{ 530 }else{
531 ab_update_str = g_strdup(""); 531 ab_update_str = g_strdup("");
532 } 532 }
533 if(dynamicItemLastChange != NULL){ 533 if(dynamicItemLastChange != NULL){
534 update_str = g_strdup_printf(MSN_GET_ADDRESS_UPDATE_XML, 534 update_str = g_strdup_printf(MSN_GET_ADDRESS_UPDATE_XML,
535 ab_update_str,dynamicItemLastChange); 535 dynamicItemLastChange);
536 }else{ 536 }else{
537 update_str = g_strdup(ab_update_str); 537 update_str = g_strdup(ab_update_str);
538 } 538 }
539 g_free(ab_update_str); 539 g_free(ab_update_str);
540 540
653 soapconn->read_cb = msn_update_contact_read_cb; 653 soapconn->read_cb = msn_update_contact_read_cb;
654 // msn_soap_read_cb(data,source,cond); 654 // msn_soap_read_cb(data,source,cond);
655 } 655 }
656 656
657 /*update a contact's Nickname*/ 657 /*update a contact's Nickname*/
658 #if 0
658 void 659 void
659 msn_update_contact(MsnContact *contact,const char* nickname) 660 msn_update_contact(MsnContact *contact,const char* nickname)
660 { 661 {
661 MsnSoapReq *soap_request; 662 MsnSoapReq *soap_request;
662 char *body = NULL; 663 char *body = NULL;
672 msn_update_contact_written_cb); 673 msn_update_contact_written_cb);
673 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init); 674 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init);
674 675
675 g_free(body); 676 g_free(body);
676 } 677 }
678 #endif
677 679
678 static void 680 static void
679 msn_block_read_cb(gpointer data, gint source, GaimInputCondition cond) 681 msn_block_read_cb(gpointer data, gint source, GaimInputCondition cond)
680 { 682 {
681 gaim_debug_info("MaYuan","block read done\n"); 683 gaim_debug_info("MaYuan","block read done\n");
760 gaim_debug_info("MaYuan","finish Group written\n"); 762 gaim_debug_info("MaYuan","finish Group written\n");
761 soapconn->read_cb = msn_gleams_read_cb; 763 soapconn->read_cb = msn_gleams_read_cb;
762 // msn_soap_read_cb(data,source,cond); 764 // msn_soap_read_cb(data,source,cond);
763 } 765 }
764 766
767 #if 0
765 /*get the gleams info*/ 768 /*get the gleams info*/
766 void 769 void
767 msn_get_gleams(MsnContact *contact) 770 msn_get_gleams(MsnContact *contact)
768 { 771 {
769 MsnSoapReq *soap_request; 772 MsnSoapReq *soap_request;
775 MSN_GLEAMS_TEMPLATE, 778 MSN_GLEAMS_TEMPLATE,
776 msn_gleams_read_cb, 779 msn_gleams_read_cb,
777 msn_gleams_written_cb); 780 msn_gleams_written_cb);
778 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init); 781 msn_soap_post(contact->soapconn,soap_request,msn_contact_connect_init);
779 } 782 }
783 #endif
780 784
781 /*************************************************************** 785 /***************************************************************
782 * Group Operation 786 * Group Operation
783 ***************************************************************/ 787 ***************************************************************/
784 static void 788 static void