Mercurial > pidgin
comparison src/protocols/yahoo/yahoochat.c @ 7118:bf630f7dfdcd
[gaim-migrate @ 7685]
Here's a commit that I think will make faceprint happy. GaimWindow ->
GaimConvWindow, GaimIm -> GaimConvIm, GaimChat -> GaimConvChat,
GaimBlistChat -> GaimChat, and updated the API functions as well. Plugin
authors are going to hunt me down and murder me. I can feel it..
committer: Tailor Script <tailor@pidgin.im>
author | Christian Hammond <chipx86@chipx86.com> |
---|---|
date | Thu, 02 Oct 2003 02:54:07 +0000 |
parents | 3ef17670e69f |
children | 0da869011d8a |
comparison
equal
deleted
inserted
replaced
7117:943085b0ff8b | 7118:bf630f7dfdcd |
---|---|
61 { | 61 { |
62 return strcmp(a, b); | 62 return strcmp(a, b); |
63 } | 63 } |
64 | 64 |
65 /* this is slow, and different from the gaim_* version in that it (hopefully) won't add a user twice */ | 65 /* this is slow, and different from the gaim_* version in that it (hopefully) won't add a user twice */ |
66 static void yahoo_chat_add_users(GaimChat *chat, GList *newusers) | 66 static void yahoo_chat_add_users(GaimConvChat *chat, GList *newusers) |
67 { | 67 { |
68 GList *users, *i, *j; | 68 GList *users, *i, *j; |
69 | 69 |
70 users = gaim_chat_get_users(chat); | 70 users = gaim_conv_chat_get_users(chat); |
71 | 71 |
72 for (i = newusers; i; i = i->next) { | 72 for (i = newusers; i; i = i->next) { |
73 j = g_list_find_custom(users, i->data, _mystrcmpwrapper); | 73 j = g_list_find_custom(users, i->data, _mystrcmpwrapper); |
74 if (j) | 74 if (j) |
75 continue; | 75 continue; |
76 gaim_chat_add_user(chat, i->data, NULL); | 76 gaim_conv_chat_add_user(chat, i->data, NULL); |
77 } | 77 } |
78 } | 78 } |
79 | 79 |
80 static void yahoo_chat_add_user(GaimChat *chat, const char *user, const char *reason) | 80 static void yahoo_chat_add_user(GaimConvChat *chat, const char *user, const char *reason) |
81 { | 81 { |
82 GList *users; | 82 GList *users; |
83 | 83 |
84 users = gaim_chat_get_users(chat); | 84 users = gaim_conv_chat_get_users(chat); |
85 | 85 |
86 if ((g_list_find_custom(users, user, _mystrcmpwrapper))) | 86 if ((g_list_find_custom(users, user, _mystrcmpwrapper))) |
87 return; | 87 return; |
88 | 88 |
89 gaim_chat_add_user(chat, user, reason); | 89 gaim_conv_chat_add_user(chat, user, reason); |
90 } | 90 } |
91 | 91 |
92 static GaimConversation *yahoo_find_conference(GaimConnection *gc, const char *name) | 92 static GaimConversation *yahoo_find_conference(GaimConnection *gc, const char *name) |
93 { | 93 { |
94 struct yahoo_data *yd; | 94 struct yahoo_data *yd; |
216 } | 216 } |
217 | 217 |
218 if (who && room) { | 218 if (who && room) { |
219 c = yahoo_find_conference(gc, room); | 219 c = yahoo_find_conference(gc, room); |
220 if (c) | 220 if (c) |
221 yahoo_chat_add_user(GAIM_CHAT(c), who, NULL); | 221 yahoo_chat_add_user(GAIM_CONV_CHAT(c), who, NULL); |
222 } | 222 } |
223 } | 223 } |
224 | 224 |
225 void yahoo_process_conference_logoff(GaimConnection *gc, struct yahoo_packet *pkt) | 225 void yahoo_process_conference_logoff(GaimConnection *gc, struct yahoo_packet *pkt) |
226 { | 226 { |
243 } | 243 } |
244 | 244 |
245 if (who && room) { | 245 if (who && room) { |
246 c = yahoo_find_conference(gc, room); | 246 c = yahoo_find_conference(gc, room); |
247 if (c) | 247 if (c) |
248 gaim_chat_remove_user(GAIM_CHAT(c), who, NULL); | 248 gaim_conv_chat_remove_user(GAIM_CONV_CHAT(c), who, NULL); |
249 } | 249 } |
250 } | 250 } |
251 | 251 |
252 void yahoo_process_conference_message(GaimConnection *gc, struct yahoo_packet *pkt) | 252 void yahoo_process_conference_message(GaimConnection *gc, struct yahoo_packet *pkt) |
253 { | 253 { |
276 if (room && who && msg) { | 276 if (room && who && msg) { |
277 c = yahoo_find_conference(gc, room); | 277 c = yahoo_find_conference(gc, room); |
278 if (!c) | 278 if (!c) |
279 return; | 279 return; |
280 msg = yahoo_codes_to_html(msg); | 280 msg = yahoo_codes_to_html(msg); |
281 serv_got_chat_in(gc, gaim_chat_get_id(GAIM_CHAT(c)), who, 0, msg, time(NULL)); | 281 serv_got_chat_in(gc, gaim_conv_chat_get_id(GAIM_CONV_CHAT(c)), who, 0, msg, time(NULL)); |
282 g_free(msg); | 282 g_free(msg); |
283 } | 283 } |
284 | 284 |
285 } | 285 } |
286 | 286 |
374 c = gaim_find_chat(gc, YAHOO_CHAT_ID); | 374 c = gaim_find_chat(gc, YAHOO_CHAT_ID); |
375 | 375 |
376 if (!c) { | 376 if (!c) { |
377 c = serv_got_joined_chat(gc, YAHOO_CHAT_ID, room); | 377 c = serv_got_joined_chat(gc, YAHOO_CHAT_ID, room); |
378 if (topic) | 378 if (topic) |
379 gaim_chat_set_topic(GAIM_CHAT(c), NULL, topic); | 379 gaim_conv_chat_set_topic(GAIM_CONV_CHAT(c), NULL, topic); |
380 yd->in_chat = 1; | 380 yd->in_chat = 1; |
381 yd->chat_name = g_strdup(room); | 381 yd->chat_name = g_strdup(room); |
382 gaim_chat_add_users(GAIM_CHAT(c), members); | 382 gaim_conv_chat_add_users(GAIM_CONV_CHAT(c), members); |
383 } else { | 383 } else { |
384 yahoo_chat_add_users(GAIM_CHAT(c), members); | 384 yahoo_chat_add_users(GAIM_CONV_CHAT(c), members); |
385 } | 385 } |
386 | 386 |
387 g_list_free(members); | 387 g_list_free(members); |
388 } | 388 } |
389 | 389 |
404 | 404 |
405 | 405 |
406 if (who) { | 406 if (who) { |
407 GaimConversation *c = gaim_find_chat(gc, YAHOO_CHAT_ID); | 407 GaimConversation *c = gaim_find_chat(gc, YAHOO_CHAT_ID); |
408 if (c) | 408 if (c) |
409 gaim_chat_remove_user(GAIM_CHAT(c), who, NULL); | 409 gaim_conv_chat_remove_user(GAIM_CONV_CHAT(c), who, NULL); |
410 | 410 |
411 } | 411 } |
412 } | 412 } |
413 | 413 |
414 void yahoo_process_chat_message(GaimConnection *gc, struct yahoo_packet *pkt) | 414 void yahoo_process_chat_message(GaimConnection *gc, struct yahoo_packet *pkt) |
580 if (memarr) { | 580 if (memarr) { |
581 for(i = 0 ; memarr[i]; i++) { | 581 for(i = 0 ; memarr[i]; i++) { |
582 if (!strcmp(memarr[i], "") || !strcmp(memarr[i], dn)) | 582 if (!strcmp(memarr[i], "") || !strcmp(memarr[i], dn)) |
583 continue; | 583 continue; |
584 yahoo_packet_hash(pkt, 3, memarr[i]); | 584 yahoo_packet_hash(pkt, 3, memarr[i]); |
585 gaim_chat_add_user(GAIM_CHAT(c), memarr[i], NULL); | 585 gaim_conv_chat_add_user(GAIM_CONV_CHAT(c), memarr[i], NULL); |
586 } | 586 } |
587 } | 587 } |
588 yahoo_send_packet(yd, pkt); | 588 yahoo_send_packet(yd, pkt); |
589 | 589 |
590 yahoo_packet_free(pkt); | 590 yahoo_packet_free(pkt); |
597 const char *dn, const char *buddy, const char *room, const char *msg) | 597 const char *dn, const char *buddy, const char *room, const char *msg) |
598 { | 598 { |
599 struct yahoo_packet *pkt; | 599 struct yahoo_packet *pkt; |
600 GList *members; | 600 GList *members; |
601 | 601 |
602 members = gaim_chat_get_users(GAIM_CHAT(c)); | 602 members = gaim_conv_chat_get_users(GAIM_CONV_CHAT(c)); |
603 | 603 |
604 pkt = yahoo_packet_new(YAHOO_SERVICE_CONFADDINVITE, YAHOO_STATUS_AVAILABLE, 0); | 604 pkt = yahoo_packet_new(YAHOO_SERVICE_CONFADDINVITE, YAHOO_STATUS_AVAILABLE, 0); |
605 | 605 |
606 yahoo_packet_hash(pkt, 1, dn); | 606 yahoo_packet_hash(pkt, 1, dn); |
607 yahoo_packet_hash(pkt, 51, buddy); | 607 yahoo_packet_hash(pkt, 51, buddy); |
786 if (!c) | 786 if (!c) |
787 return; | 787 return; |
788 | 788 |
789 if (id != YAHOO_CHAT_ID) { | 789 if (id != YAHOO_CHAT_ID) { |
790 yahoo_conf_leave(yd, gaim_conversation_get_name(c), | 790 yahoo_conf_leave(yd, gaim_conversation_get_name(c), |
791 gaim_connection_get_display_name(gc), gaim_chat_get_users(GAIM_CHAT(c))); | 791 gaim_connection_get_display_name(gc), gaim_conv_chat_get_users(GAIM_CONV_CHAT(c))); |
792 yd->confs = g_slist_remove(yd->confs, c); | 792 yd->confs = g_slist_remove(yd->confs, c); |
793 } else { | 793 } else { |
794 yahoo_chat_leave(yd, gaim_conversation_get_name(c), gaim_connection_get_display_name(gc)); | 794 yahoo_chat_leave(yd, gaim_conversation_get_name(c), gaim_connection_get_display_name(gc)); |
795 } | 795 } |
796 | 796 |
811 if (!c) | 811 if (!c) |
812 return -1; | 812 return -1; |
813 | 813 |
814 if (id != YAHOO_CHAT_ID) { | 814 if (id != YAHOO_CHAT_ID) { |
815 ret = yahoo_conf_send(yd, gaim_connection_get_display_name(gc), | 815 ret = yahoo_conf_send(yd, gaim_connection_get_display_name(gc), |
816 gaim_conversation_get_name(c), gaim_chat_get_users(GAIM_CHAT(c)), what); | 816 gaim_conversation_get_name(c), gaim_conv_chat_get_users(GAIM_CONV_CHAT(c)), what); |
817 } else { | 817 } else { |
818 ret = yahoo_chat_send(yd, gaim_connection_get_display_name(gc), | 818 ret = yahoo_chat_send(yd, gaim_connection_get_display_name(gc), |
819 gaim_conversation_get_name(c), what); | 819 gaim_conversation_get_name(c), what); |
820 if (!ret) | 820 if (!ret) |
821 serv_got_chat_in(gc, gaim_chat_get_id(GAIM_CHAT(c)), | 821 serv_got_chat_in(gc, gaim_conv_chat_get_id(GAIM_CONV_CHAT(c)), |
822 gaim_connection_get_display_name(gc), 0, what, time(NULL)); | 822 gaim_connection_get_display_name(gc), 0, what, time(NULL)); |
823 } | 823 } |
824 return ret; | 824 return ret; |
825 } | 825 } |
826 | 826 |
861 | 861 |
862 if ((type = g_hash_table_lookup(data, "type")) && !strcmp(type, "Conference")) { | 862 if ((type = g_hash_table_lookup(data, "type")) && !strcmp(type, "Conference")) { |
863 id = yd->conf_id++; | 863 id = yd->conf_id++; |
864 c = serv_got_joined_chat(gc, id, room); | 864 c = serv_got_joined_chat(gc, id, room); |
865 yd->confs = g_slist_prepend(yd->confs, c); | 865 yd->confs = g_slist_prepend(yd->confs, c); |
866 gaim_chat_set_topic(GAIM_CHAT(c), gaim_connection_get_display_name(gc), topic); | 866 gaim_conv_chat_set_topic(GAIM_CONV_CHAT(c), gaim_connection_get_display_name(gc), topic); |
867 yahoo_conf_join(yd, c, gaim_connection_get_display_name(gc), room, topic, members); | 867 yahoo_conf_join(yd, c, gaim_connection_get_display_name(gc), room, topic, members); |
868 return; | 868 return; |
869 } else { | 869 } else { |
870 if (yd->in_chat) | 870 if (yd->in_chat) |
871 yahoo_c_leave(gc, YAHOO_CHAT_ID); | 871 yahoo_c_leave(gc, YAHOO_CHAT_ID); |