Mercurial > pidgin
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); |
