comparison src/server.c @ 2205:cff4fbe01c7b

[gaim-migrate @ 2215] eric@blue:~/gaim/app/src/protocols $ cat gtk for i in icq irc jabber msn napster oscar toc yahoo zephyr do echo -n $i: grep -i g\[td\]k $i/*.c | wc -l done eric@blue:~/gaim/app/src/protocols $ ./gtk icq: 13 irc: 0 jabber: 59 msn: 0 napster: 106 oscar: 13 toc: 25 yahoo: 15 zephyr: 2 committer: Tailor Script <tailor@pidgin.im>
author Eric Warmenhoven <eric@warmenhoven.org>
date Fri, 31 Aug 2001 20:36:11 +0000
parents edf8c5a70e5b
children 8c4ff1a368bd
comparison
equal deleted inserted replaced
2204:5014b802eb41 2205:cff4fbe01c7b
284 { 284 {
285 if (g->prpl && g->prpl->warn) 285 if (g->prpl && g->prpl->warn)
286 (*g->prpl->warn)(g, name, anon); 286 (*g->prpl->warn)(g, name, anon);
287 } 287 }
288 288
289 void serv_accept_chat(struct gaim_connection *g, int i) 289 void serv_join_chat(struct gaim_connection *g, GList *data)
290 {
291 if (g->prpl && g->prpl->accept_chat)
292 (*g->prpl->accept_chat)(g, i);
293 }
294
295 void serv_join_chat(struct gaim_connection *g, int exchange, char *name)
296 { 290 {
297 if (g->prpl && g->prpl->join_chat) 291 if (g->prpl && g->prpl->join_chat)
298 (*g->prpl->join_chat)(g, exchange, name); 292 (*g->prpl->join_chat)(g, data);
299 } 293 }
300 294
301 void serv_chat_invite(struct gaim_connection *g, int id, char *message, char *name) 295 void serv_chat_invite(struct gaim_connection *g, int id, char *message, char *name)
302 { 296 {
303 if (g->prpl && g->prpl->chat_invite) 297 if (g->prpl && g->prpl->chat_invite)
739 733
740 734
741 735
742 static void close_invite(GtkWidget *w, GtkWidget *w2) 736 static void close_invite(GtkWidget *w, GtkWidget *w2)
743 { 737 {
744 char *str = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); 738 GList *str = gtk_object_get_user_data(GTK_OBJECT(w2));
745 739 GList *tmp = str;
740
741 while (tmp) {
742 g_free(tmp->data);
743 tmp = tmp->next;
744 }
746 if (str) 745 if (str)
747 g_free(str); 746 g_list_free(str);
748 747
749 gtk_widget_destroy(w2); 748 gtk_widget_destroy(w2);
750 } 749 }
751 750
752 static void chat_invite_callback(GtkWidget *w, GtkWidget *w2) 751 static void chat_invite_callback(GtkWidget *w, GtkWidget *w2)
753 { 752 {
754 struct gaim_connection *g = (struct gaim_connection *) 753 struct gaim_connection *g = (struct gaim_connection *)
755 gtk_object_get_user_data(GTK_OBJECT(GTK_DIALOG(w2)->vbox)); 754 gtk_object_get_user_data(GTK_OBJECT(GTK_DIALOG(w2)->vbox));
756 int id; 755 GList *str, *tmp;
757 char *str; 756
758 757 str = gtk_object_get_user_data(GTK_OBJECT(w2));
759 id = (int)gtk_object_get_user_data(GTK_OBJECT(w)); 758
760 str = (char *)gtk_object_get_user_data(GTK_OBJECT(w2)); 759 serv_join_chat(g, str);
761 760
762 if (g->prpl && g->prpl->accept_chat) 761 tmp = str;
763 serv_accept_chat(g, id); 762
764 else 763 while (tmp) {
765 serv_join_chat(g, id, str); 764 /* this is either a g_malloc'd char* or g_malloc'd int* */
766 765 g_free(tmp->data);
766 tmp = tmp->next;
767 }
767 if (str) 768 if (str)
768 g_free(str); 769 g_list_free(str);
769 770
770 gtk_widget_destroy(w2); 771 gtk_widget_destroy(w2);
771 } 772 }
772 773
773 774
774 775
775 void serv_got_chat_invite(struct gaim_connection *g, char *name, int id, char *who, char *message) 776 void serv_got_chat_invite(struct gaim_connection *g, char *name, char *who, char *message, GList *data)
776 { 777 {
777 GtkWidget *d; 778 GtkWidget *d;
778 GtkWidget *label; 779 GtkWidget *label;
779 GtkWidget *yesbtn; 780 GtkWidget *yesbtn;
780 GtkWidget *nobtn; 781 GtkWidget *nobtn;
804 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5); 805 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->vbox), label, FALSE, FALSE, 5);
805 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), yesbtn, FALSE, FALSE, 5); 806 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), yesbtn, FALSE, FALSE, 5);
806 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), nobtn, FALSE, FALSE, 5); 807 gtk_box_pack_start(GTK_BOX(GTK_DIALOG(d)->action_area), nobtn, FALSE, FALSE, 5);
807 808
808 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g); 809 gtk_object_set_user_data(GTK_OBJECT(GTK_DIALOG(d)->vbox), g);
809 if (name) 810 gtk_object_set_user_data(GTK_OBJECT(d), data);
810 gtk_object_set_user_data(GTK_OBJECT(d), (void *)g_strdup(name));
811 gtk_object_set_user_data(GTK_OBJECT(yesbtn), (void *)id);
812 811
813 812
814 gtk_window_set_title(GTK_WINDOW(d), "Buddy chat invite"); 813 gtk_window_set_title(GTK_WINDOW(d), "Buddy chat invite");
815 gtk_signal_connect(GTK_OBJECT(nobtn), "clicked", GTK_SIGNAL_FUNC(close_invite), d); 814 gtk_signal_connect(GTK_OBJECT(nobtn), "clicked", GTK_SIGNAL_FUNC(close_invite), d);
816 gtk_signal_connect(GTK_OBJECT(yesbtn), "clicked", GTK_SIGNAL_FUNC(chat_invite_callback), d); 815 gtk_signal_connect(GTK_OBJECT(yesbtn), "clicked", GTK_SIGNAL_FUNC(chat_invite_callback), d);