Thu, 02 Nov 2000 22:29:51 +0000
[gaim-migrate @ 1061]
user_info only in aim_user (saves 2k per connection); mem leak fixes in dialogs.c and multi.c; and proto_opt in aim_user (so prpls can have their own saved information per user). no way to draw protocol option selection window thingy yet, so prpls will either have to do that on their own or something. i don't know. we'll figure it out.
| 1 | 1 | /* |
| 2 | * gaim | |
| 3 | * | |
| 4 | * Copyright (C) 1998-1999, Mark Spencer <markster@marko.net> | |
| 5 | * | |
| 6 | * This program is free software; you can redistribute it and/or modify | |
| 7 | * it under the terms of the GNU General Public License as published by | |
| 8 | * the Free Software Foundation; either version 2 of the License, or | |
| 9 | * (at your option) any later version. | |
| 10 | * | |
| 11 | * This program is distributed in the hope that it will be useful, | |
| 12 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
| 13 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
| 14 | * GNU General Public License for more details. | |
| 15 | * | |
| 16 | * You should have received a copy of the GNU General Public License | |
| 17 | * along with this program; if not, write to the Free Software | |
| 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | |
| 19 | * | |
| 20 | * ---------------- | |
| 21 | * The Plug-in plug | |
| 22 | * | |
| 23 | * Plugin support is currently being maintained by Mike Saraf | |
| 24 | * msaraf@dwc.edu | |
| 25 | * | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
26 | * Well, I didn't see any work done on it for a while, so I'm going to try |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
27 | * my hand at it. - Eric warmenhoven@yahoo.com |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
28 | * |
| 1 | 29 | */ |
| 30 | ||
|
349
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
176
diff
changeset
|
31 | #ifdef HAVE_CONFIG_H |
|
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
176
diff
changeset
|
32 | #include "../config.h" |
|
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
176
diff
changeset
|
33 | #endif |
|
6f7d28b0f98d
[gaim-migrate @ 359]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
176
diff
changeset
|
34 | |
| 1 | 35 | #include <string.h> |
| 36 | #include <sys/time.h> | |
| 37 | ||
| 38 | #include <sys/types.h> | |
| 39 | #include <sys/stat.h> | |
| 40 | ||
| 41 | #include <unistd.h> | |
| 42 | #include <stdio.h> | |
| 43 | #include <stdlib.h> | |
| 44 | #include <gtk/gtk.h> | |
| 45 | #include "gaim.h" | |
| 46 | ||
| 885 | 47 | #ifdef GAIM_PLUGINS |
| 48 | ||
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
49 | #include <dlfcn.h> |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
50 | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
51 | /* ------------------ Global Variables ----------------------- */ |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
52 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
53 | GList *plugins = NULL; |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
54 | GList *callbacks = NULL; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
55 | |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
56 | /* ------------------ Local Variables ------------------------ */ |
| 1 | 57 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
58 | static GtkWidget *plugin_dialog = NULL; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
59 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
60 | static GtkWidget *pluglist; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
61 | static GtkWidget *plugtext; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
62 | static GtkWidget *plugwindow; |
| 1 | 63 | |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
64 | static GtkWidget *config = NULL; |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
65 | static guint confighandle = 0; |
|
1025
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
66 | static char *last_dir = NULL; |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
67 | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
68 | /* --------------- Function Declarations --------------------- */ |
| 1 | 69 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
70 | void show_plugins (GtkWidget *, gpointer); |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
71 | void load_plugin (char *); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
72 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
73 | void gaim_signal_connect (GModule *, enum gaim_event, void *, void *); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
74 | void gaim_signal_disconnect(GModule *, enum gaim_event, void *); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
75 | void gaim_plugin_unload (GModule *); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
76 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
77 | static void destroy_plugins (GtkWidget *, gpointer); |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
78 | static void load_file (GtkWidget *, gpointer); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
79 | static void load_which_plugin(GtkWidget *, gpointer); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
80 | static void unload (GtkWidget *, gpointer); |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
81 | static void unload_immediate (GModule *); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
82 | static void list_clicked (GtkWidget *, struct gaim_plugin *); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
83 | static void update_show_plugins(); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
84 | static void hide_plugins (GtkWidget *, gpointer); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
85 | |
| 1 | 86 | /* ------------------ Code Below ---------------------------- */ |
| 87 | ||
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
88 | static void destroy_plugins(GtkWidget *w, gpointer data) { |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
89 | if (plugin_dialog) |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
90 | gtk_widget_destroy(plugin_dialog); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
91 | plugin_dialog = NULL; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
92 | } |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
93 | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
94 | static void load_file(GtkWidget *w, gpointer data) |
| 1 | 95 | { |
| 943 | 96 | gchar *buf; |
| 1 | 97 | |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
98 | if (plugin_dialog) { |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
99 | gtk_widget_show(plugin_dialog); |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
100 | gdk_window_raise(plugin_dialog->window); |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
101 | return; |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
102 | } |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
103 | |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
104 | plugin_dialog = gtk_file_selection_new(_("Gaim - Plugin List")); |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
105 | |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
106 | gtk_file_selection_hide_fileop_buttons( |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
107 | GTK_FILE_SELECTION(plugin_dialog)); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
108 | |
|
1025
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
109 | if (!last_dir) |
|
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
110 | /* someone fix me please, how do we get the dir from configure? */ |
|
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
111 | buf = g_strdup("/usr/local/lib/gaim/"); |
|
153
0964148d34fe
[gaim-migrate @ 163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
142
diff
changeset
|
112 | else |
|
1025
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
113 | buf = g_strconcat(last_dir, G_DIR_SEPARATOR_S, NULL); |
| 1 | 114 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
115 | gtk_file_selection_set_filename(GTK_FILE_SELECTION(plugin_dialog), buf); |
|
153
0964148d34fe
[gaim-migrate @ 163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
142
diff
changeset
|
116 | gtk_file_selection_complete(GTK_FILE_SELECTION(plugin_dialog), "*.so"); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
117 | gtk_signal_connect(GTK_OBJECT(plugin_dialog), "destroy", |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
118 | GTK_SIGNAL_FUNC(destroy_plugins), plugin_dialog); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
119 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
120 | gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(plugin_dialog)->ok_button), |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
121 | "clicked", GTK_SIGNAL_FUNC(load_which_plugin), NULL); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
122 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
123 | gtk_signal_connect(GTK_OBJECT(GTK_FILE_SELECTION(plugin_dialog)->cancel_button), |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
124 | "clicked", GTK_SIGNAL_FUNC(destroy_plugins), NULL); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
125 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
126 | g_free(buf); |
|
626
e18692a6e87d
[gaim-migrate @ 636]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
619
diff
changeset
|
127 | gtk_widget_show(plugin_dialog); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
128 | gdk_window_raise(plugin_dialog->window); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
129 | } |
| 1 | 130 | |
|
139
5b98973863b7
[gaim-migrate @ 149]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
138
diff
changeset
|
131 | static void load_which_plugin(GtkWidget *w, gpointer data) { |
| 1035 | 132 | char *file; |
| 133 | ||
| 134 | file = gtk_file_selection_get_filename( | |
| 135 | GTK_FILE_SELECTION(plugin_dialog)); | |
| 136 | if (file_is_dir(file, plugin_dialog)) { | |
| 137 | return; | |
| 138 | } | |
| 139 | ||
| 140 | load_plugin(file); | |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
141 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
142 | if (plugin_dialog) |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
143 | gtk_widget_destroy(plugin_dialog); |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
144 | plugin_dialog = NULL; |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
145 | } |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
146 | |
|
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
147 | void load_plugin(char *filename) { |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
148 | struct gaim_plugin *plug; |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
149 | GList *c = plugins; |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
150 | char *(*gaim_plugin_init)(GModule *); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
151 | char *(*cfunc)(); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
152 | char *error; |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
153 | char *retval; |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
154 | char *tmp_filename; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
155 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
156 | if (!g_module_supported()) return; |
|
153
0964148d34fe
[gaim-migrate @ 163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
142
diff
changeset
|
157 | if (filename == NULL) return; |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
158 | |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
159 | while (c) { |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
160 | plug = (struct gaim_plugin *)c->data; |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
161 | if (!strcmp(filename, g_module_name(plug->handle))) { |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
162 | void (*gaim_plugin_remove)(); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
163 | if (g_module_symbol(plug->handle, "gaim_plugin_remove", (gpointer *)&gaim_plugin_remove)) |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
164 | (*gaim_plugin_remove)(); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
165 | |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
166 | unload_immediate(plug->handle); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
167 | c = plugins; |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
168 | } else |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
169 | c = g_list_next(c); |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
170 | } |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
171 | plug = g_malloc(sizeof *plug); |
|
944
27446c4ff162
[gaim-migrate @ 954]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
943
diff
changeset
|
172 | if (!g_path_is_absolute(filename)) |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
173 | tmp_filename = g_strconcat(g_get_home_dir(), G_DIR_SEPARATOR_S, |
| 943 | 174 | PLUGIN_DIR, filename, NULL); |
| 175 | else | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
176 | tmp_filename = g_strdup(filename); |
| 943 | 177 | |
|
1025
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
178 | if (last_dir) |
|
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
179 | g_free(last_dir); |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
180 | last_dir = g_dirname(tmp_filename); |
|
1025
6b935cc3f62d
[gaim-migrate @ 1035]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1000
diff
changeset
|
181 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
182 | debug_printf("Loading %s\n", tmp_filename); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
183 | plug->handle = g_module_open(tmp_filename, 0); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
184 | g_free(tmp_filename); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
185 | if (!plug->handle) { |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
186 | error = (char *)g_module_error(); |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
187 | do_error_dialog(error, _("Plugin Error")); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
188 | g_free(plug); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
189 | return; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
190 | } |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
191 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
192 | if (!g_module_symbol(plug->handle, "gaim_plugin_init", (gpointer *)&gaim_plugin_init)) { |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
193 | do_error_dialog(g_module_error(), _("Plugin Error")); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
194 | g_module_close(plug->handle); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
195 | g_free(plug); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
196 | return; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
197 | } |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
198 | |
|
391
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
199 | retval = (*gaim_plugin_init)(plug->handle); |
| 970 | 200 | debug_printf("loaded plugin returned %d\n", retval); |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
201 | if (retval) { |
|
391
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
202 | GList *c = callbacks; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
203 | struct gaim_callback *g; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
204 | while (c) { |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
205 | g = (struct gaim_callback *)c->data; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
206 | if (g->handle == plug->handle) { |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
207 | callbacks = g_list_remove(callbacks, c->data); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
208 | sprintf(debug_buff, "Removing callback, %d remain\n", |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
209 | g_list_length(callbacks)); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
210 | debug_print(debug_buff); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
211 | c = callbacks; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
212 | if (c == NULL) { |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
213 | break; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
214 | } |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
215 | } else { |
| 943 | 216 | c = g_list_next(c); |
|
391
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
217 | } |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
218 | } |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
219 | do_error_dialog(retval, _("Plugin Error")); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
220 | g_module_close(plug->handle); |
|
391
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
221 | g_free(plug); |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
222 | return; |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
223 | } |
|
677e4414a83f
[gaim-migrate @ 401]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
350
diff
changeset
|
224 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
225 | plugins = g_list_append(plugins, plug); |
| 1 | 226 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
227 | if (g_module_symbol(plug->handle, "name", (gpointer *)&cfunc)) |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
228 | plug->name = (*cfunc)(); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
229 | else |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
230 | plug->name = NULL; |
| 1 | 231 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
232 | if (g_module_symbol(plug->handle, "description", (gpointer *)&cfunc)) |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
233 | plug->description = (*cfunc)(); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
234 | else |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
235 | plug->description = NULL; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
236 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
237 | update_show_plugins(); |
|
153
0964148d34fe
[gaim-migrate @ 163]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
142
diff
changeset
|
238 | save_prefs(); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
239 | } |
| 1 | 240 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
241 | void show_plugins(GtkWidget *w, gpointer data) { |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
242 | /* most of this code was shamelessly stolen from prefs.c */ |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
243 | GtkWidget *page; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
244 | GtkWidget *topbox; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
245 | GtkWidget *botbox; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
246 | GtkWidget *sw; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
247 | GtkWidget *label; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
248 | GtkWidget *list_item; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
249 | GtkWidget *sw2; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
250 | GtkWidget *add; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
251 | GtkWidget *remove; |
|
96
2b8586ab9456
[gaim-migrate @ 106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
252 | GtkWidget *close; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
253 | GList *plugs = plugins; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
254 | struct gaim_plugin *p; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
255 | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
256 | if (plugwindow) return; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
257 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
258 | plugwindow = gtk_window_new(GTK_WINDOW_DIALOG); |
| 905 | 259 | gtk_window_set_wmclass(GTK_WINDOW(plugwindow), "plugins", "Gaim"); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
260 | gtk_widget_realize(plugwindow); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
261 | aol_icon(plugwindow->window); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
262 | gtk_container_border_width(GTK_CONTAINER(plugwindow), 10); |
|
350
b02a56431923
[gaim-migrate @ 360]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
349
diff
changeset
|
263 | gtk_window_set_title(GTK_WINDOW(plugwindow), _("Gaim - Plugins")); |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
264 | gtk_widget_set_usize(plugwindow, 400, 250); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
265 | gtk_signal_connect(GTK_OBJECT(plugwindow), "destroy", |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
266 | GTK_SIGNAL_FUNC(hide_plugins), NULL); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
267 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
268 | page = gtk_vbox_new(FALSE, 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
269 | topbox = gtk_hbox_new(FALSE, 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
270 | botbox = gtk_hbox_new(FALSE, 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
271 | |
| 943 | 272 | /* Left side: list of plugin file names */ |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
273 | sw2 = gtk_scrolled_window_new(NULL, NULL); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
274 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw2), |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
275 | GTK_POLICY_AUTOMATIC, |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
276 | GTK_POLICY_AUTOMATIC); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
277 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
278 | pluglist = gtk_list_new(); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
279 | gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(sw2), pluglist); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
280 | gtk_box_pack_start(GTK_BOX(topbox), sw2, TRUE, TRUE, 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
281 | |
| 943 | 282 | /* Right side: the text description of the plugin */ |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
283 | sw = gtk_scrolled_window_new(NULL, NULL); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
284 | gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(sw), |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
285 | GTK_POLICY_AUTOMATIC, |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
286 | GTK_POLICY_AUTOMATIC); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
287 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
288 | plugtext = gtk_text_new(NULL, NULL); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
289 | gtk_container_add(GTK_CONTAINER(sw), plugtext); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
290 | gtk_box_pack_start(GTK_BOX(topbox), sw, TRUE, TRUE, 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
291 | gtk_text_set_word_wrap(GTK_TEXT(plugtext), TRUE); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
292 | gtk_text_set_editable(GTK_TEXT(plugtext), FALSE); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
293 | |
| 943 | 294 | /* Build the bottom button bar */ |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
295 | add = gtk_button_new_with_label(_("Load Plugin")); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
296 | gtk_signal_connect(GTK_OBJECT(add), "clicked", |
|
142
fc9c79676b08
[gaim-migrate @ 152]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
139
diff
changeset
|
297 | GTK_SIGNAL_FUNC(load_file), NULL); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
298 | gtk_box_pack_start(GTK_BOX(botbox), add, TRUE, FALSE, 5); |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
299 | if (display_options & OPT_DISP_COOL_LOOK) |
|
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
300 | gtk_button_set_relief(GTK_BUTTON(add), GTK_RELIEF_NONE); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
301 | |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
302 | config = gtk_button_new_with_label(_("Configure Plugin")); |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
303 | gtk_widget_set_sensitive(config, 0); |
|
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
304 | gtk_box_pack_start(GTK_BOX(botbox), config, TRUE, FALSE, 5); |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
305 | if (display_options & OPT_DISP_COOL_LOOK) |
|
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
306 | gtk_button_set_relief(GTK_BUTTON(config), GTK_RELIEF_NONE); |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
307 | |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
308 | remove = gtk_button_new_with_label(_("Unload Plugin")); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
309 | gtk_signal_connect(GTK_OBJECT(remove), "clicked", |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
310 | GTK_SIGNAL_FUNC(unload), pluglist); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
311 | gtk_box_pack_start(GTK_BOX(botbox), remove, TRUE, FALSE, 5); |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
312 | if (display_options & OPT_DISP_COOL_LOOK) |
|
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
313 | gtk_button_set_relief(GTK_BUTTON(remove), GTK_RELIEF_NONE); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
314 | |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
315 | close = gtk_button_new_with_label(_("Close")); |
|
96
2b8586ab9456
[gaim-migrate @ 106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
316 | gtk_signal_connect(GTK_OBJECT(close), "clicked", |
|
2b8586ab9456
[gaim-migrate @ 106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
317 | GTK_SIGNAL_FUNC(hide_plugins), NULL); |
|
2b8586ab9456
[gaim-migrate @ 106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
318 | gtk_box_pack_start(GTK_BOX(botbox), close, TRUE, FALSE, 5); |
|
656
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
319 | if (display_options & OPT_DISP_COOL_LOOK) |
|
932dcb1bc5e7
[gaim-migrate @ 666]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
626
diff
changeset
|
320 | gtk_button_set_relief(GTK_BUTTON(close), GTK_RELIEF_NONE); |
|
619
646866fc909a
[gaim-migrate @ 629]
Todd Kulesza <fflewddur@users.sourceforge.net>
parents:
535
diff
changeset
|
321 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
322 | gtk_box_pack_start(GTK_BOX(page), topbox, TRUE, TRUE, 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
323 | gtk_box_pack_start(GTK_BOX(page), botbox, FALSE, FALSE, 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
324 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
325 | while (plugs) { |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
326 | p = (struct gaim_plugin *)plugs->data; |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
327 | label = gtk_label_new(g_module_name(p->handle)); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
328 | list_item = gtk_list_item_new(); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
329 | gtk_container_add(GTK_CONTAINER(list_item), label); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
330 | gtk_signal_connect(GTK_OBJECT(list_item), "select", |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
331 | GTK_SIGNAL_FUNC(list_clicked), p); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
332 | gtk_object_set_user_data(GTK_OBJECT(list_item), p); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
333 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
334 | gtk_widget_show(label); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
335 | gtk_container_add(GTK_CONTAINER(pluglist), list_item); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
336 | gtk_widget_show(list_item); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
337 | |
| 943 | 338 | plugs = g_list_next(plugs); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
339 | } |
| 943 | 340 | |
| 341 | /* Make the first item selected */ | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
342 | if (plugins != NULL) |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
343 | gtk_list_select_item(GTK_LIST(pluglist), 0); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
344 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
345 | gtk_widget_show(page); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
346 | gtk_widget_show(topbox); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
347 | gtk_widget_show(botbox); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
348 | gtk_widget_show(sw); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
349 | gtk_widget_show(sw2); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
350 | gtk_widget_show(pluglist); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
351 | gtk_widget_show(plugtext); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
352 | gtk_widget_show(add); |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
353 | gtk_widget_show(config); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
354 | gtk_widget_show(remove); |
|
96
2b8586ab9456
[gaim-migrate @ 106]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
94
diff
changeset
|
355 | gtk_widget_show(close); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
356 | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
357 | gtk_container_add(GTK_CONTAINER(plugwindow), page); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
358 | gtk_widget_show(plugwindow); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
359 | } |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
360 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
361 | void update_show_plugins() { |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
362 | GList *plugs = plugins; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
363 | struct gaim_plugin *p; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
364 | GtkWidget *label; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
365 | GtkWidget *list_item; |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
366 | |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
367 | if (plugwindow == NULL) return; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
368 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
369 | gtk_list_clear_items(GTK_LIST(pluglist), 0, -1); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
370 | while (plugs) { |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
371 | p = (struct gaim_plugin *)plugs->data; |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
372 | label = gtk_label_new(g_module_name(p->handle)); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
373 | list_item = gtk_list_item_new(); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
374 | gtk_container_add(GTK_CONTAINER(list_item), label); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
375 | gtk_signal_connect(GTK_OBJECT(list_item), "select", |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
376 | GTK_SIGNAL_FUNC(list_clicked), p); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
377 | gtk_object_set_user_data(GTK_OBJECT(list_item), p); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
378 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
379 | gtk_widget_show(label); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
380 | gtk_container_add(GTK_CONTAINER(pluglist), list_item); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
381 | gtk_widget_show(list_item); |
| 943 | 382 | plugs = g_list_next(plugs); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
383 | } |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
384 | if (plugins != NULL) |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
385 | gtk_list_select_item(GTK_LIST(pluglist), 0); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
386 | else { |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
387 | gtk_text_set_point(GTK_TEXT(plugtext), 0); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
388 | gtk_text_forward_delete(GTK_TEXT(plugtext), |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
389 | gtk_text_get_length(GTK_TEXT(plugtext))); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
390 | } |
| 1 | 391 | } |
| 392 | ||
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
393 | void unload(GtkWidget *w, gpointer data) { |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
394 | GList *i; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
395 | struct gaim_plugin *p; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
396 | void (*gaim_plugin_remove)(); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
397 | |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
398 | i = GTK_LIST(pluglist)->selection; |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
399 | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
400 | if (i == NULL) return; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
401 | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
402 | p = gtk_object_get_user_data(GTK_OBJECT(i->data)); |
| 1 | 403 | |
| 943 | 404 | /* Attempt to call the plugin's remove function (if there) */ |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
405 | if (g_module_symbol(p->handle, "gaim_plugin_remove", (gpointer *)&gaim_plugin_remove)) |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
406 | (*gaim_plugin_remove)(); |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
407 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
408 | unload_immediate(p->handle); |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
409 | } |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
410 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
411 | static void unload_for_real(void *handle) { |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
412 | GList *i; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
413 | struct gaim_plugin *p = NULL; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
414 | GList *c = callbacks; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
415 | struct gaim_callback *g; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
416 | |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
417 | i = plugins; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
418 | while (i) { |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
419 | p = (struct gaim_plugin *)i->data; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
420 | if (handle == p->handle) |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
421 | break; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
422 | p = NULL; |
| 943 | 423 | i = g_list_next(i); |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
424 | } |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
425 | |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
426 | if (!p) |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
427 | return; |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
428 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
429 | sprintf(debug_buff, "Unloading %s\n", g_module_name(p->handle)); |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
430 | debug_print(debug_buff); |
|
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
431 | |
|
176
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
432 | sprintf(debug_buff, "%d callbacks to search\n", g_list_length(callbacks)); |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
433 | debug_print(debug_buff); |
| 943 | 434 | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
435 | while (c) { |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
436 | g = (struct gaim_callback *)c->data; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
437 | if (g->handle == p->handle) { |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
438 | callbacks = g_list_remove(callbacks, c->data); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
439 | g_free(g); |
|
176
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
440 | sprintf(debug_buff, "Removing callback, %d remain\n", |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
441 | g_list_length(callbacks)); |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
442 | debug_print(debug_buff); |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
443 | c = callbacks; |
|
176
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
444 | if (c == NULL) { |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
445 | break; |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
446 | } |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
447 | } else { |
| 943 | 448 | c = g_list_next(c); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
449 | } |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
450 | } |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
451 | |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
452 | plugins = g_list_remove(plugins, p); |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
970
diff
changeset
|
453 | g_free(p); |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
454 | if (config) gtk_widget_set_sensitive(config, 0); |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
455 | update_show_plugins(); |
|
154
15299865d6ea
[gaim-migrate @ 164]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
153
diff
changeset
|
456 | save_prefs(); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
457 | } |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
458 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
459 | void unload_immediate(GModule *handle) { |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
460 | unload_for_real(handle); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
461 | g_module_close(handle); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
462 | } |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
463 | |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
464 | static gint unload_timeout(GModule *handle) { |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
465 | g_module_close(handle); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
466 | return FALSE; |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
467 | } |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
468 | |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
469 | void gaim_plugin_unload(GModule *handle) { |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
470 | unload_for_real(handle); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
471 | gtk_timeout_add(5000, (GtkFunction)unload_timeout, handle); |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
472 | } |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
473 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
474 | void list_clicked(GtkWidget *w, struct gaim_plugin *p) { |
| 943 | 475 | gchar *temp; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
476 | guint text_len; |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
477 | void (*gaim_plugin_config)(); |
|
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
478 | char *error; |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
479 | |
|
522
d37b5ddaab58
[gaim-migrate @ 532]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
425
diff
changeset
|
480 | if (confighandle != 0) |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
481 | gtk_signal_disconnect(GTK_OBJECT(config), confighandle); |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
482 | text_len = gtk_text_get_length(GTK_TEXT(plugtext)); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
483 | gtk_text_set_point(GTK_TEXT(plugtext), 0); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
484 | gtk_text_forward_delete(GTK_TEXT(plugtext), text_len); |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
485 | |
| 943 | 486 | temp = g_strdup_printf("%s\n%s", p->name, p->description); |
| 487 | gtk_text_insert(GTK_TEXT(plugtext), NULL, NULL, NULL, temp, -1); | |
| 488 | g_free(temp); | |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
489 | |
| 943 | 490 | /* Find out if this plug-in has a configuration function */ |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
491 | if (g_module_symbol(p->handle, "gaim_plugin_config", (gpointer *)&gaim_plugin_config)) { |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
492 | confighandle = gtk_signal_connect(GTK_OBJECT(config), "clicked", |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
493 | GTK_SIGNAL_FUNC(gaim_plugin_config), NULL); |
|
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
494 | gtk_widget_set_sensitive(config, 1); |
|
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
495 | } else { |
|
403
6086902fc4f1
[gaim-migrate @ 413]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
397
diff
changeset
|
496 | confighandle = 0; |
|
110
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
497 | gtk_widget_set_sensitive(config, 0); |
|
ca79cce0ea62
[gaim-migrate @ 120]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
96
diff
changeset
|
498 | } |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
499 | } |
|
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
500 | |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
501 | void hide_plugins(GtkWidget *w, gpointer data) { |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
502 | if (plugwindow) |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
503 | gtk_widget_destroy(plugwindow); |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
504 | plugwindow = NULL; |
|
425
bc3f0933ce54
[gaim-migrate @ 435]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
403
diff
changeset
|
505 | config = NULL; |
|
522
d37b5ddaab58
[gaim-migrate @ 532]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
425
diff
changeset
|
506 | confighandle = 0; |
|
92
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
507 | } |
|
b2cc29da946e
[gaim-migrate @ 102]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
90
diff
changeset
|
508 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
509 | void gaim_signal_connect(GModule *handle, enum gaim_event which, |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
510 | void *func, void *data) { |
|
981
00723c9a507c
[gaim-migrate @ 991]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
970
diff
changeset
|
511 | struct gaim_callback *call = g_new0(struct gaim_callback, 1); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
512 | call->handle = handle; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
513 | call->event = which; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
514 | call->function = func; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
515 | call->data = data; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
516 | |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
517 | callbacks = g_list_append(callbacks, call); |
|
176
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
518 | sprintf(debug_buff, "Adding callback %d\n", g_list_length(callbacks)); |
|
78f8705b92cb
[gaim-migrate @ 186]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
154
diff
changeset
|
519 | debug_print(debug_buff); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
520 | } |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
521 | |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
522 | void gaim_signal_disconnect(GModule *handle, enum gaim_event which, void *func) { |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
523 | GList *c = callbacks; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
524 | struct gaim_callback *g = NULL; |
| 943 | 525 | |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
526 | while (c) { |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
527 | g = (struct gaim_callback *)c->data; |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
528 | if (handle == g->handle && func == g->function) { |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
529 | callbacks = g_list_remove(callbacks, c->data); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
530 | g_free(g); |
|
138
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
531 | c = callbacks; |
|
96e94ba5be76
[gaim-migrate @ 148]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
134
diff
changeset
|
532 | if (c == NULL) break; |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
533 | } |
| 943 | 534 | c = g_list_next(c); |
|
94
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
535 | } |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
536 | } |
|
0c6ba3d3fa90
[gaim-migrate @ 104]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
92
diff
changeset
|
537 | |
|
90
6a145e05be78
[gaim-migrate @ 100]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1
diff
changeset
|
538 | #endif /* GAIM_PLUGINS */ |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
539 | |
|
797
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
540 | char *event_name(enum gaim_event event) |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
541 | { |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
542 | static char buf[128]; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
543 | switch(event) { |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
544 | case event_signon: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
545 | sprintf(buf, "event_signon"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
546 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
547 | case event_signoff: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
548 | sprintf(buf, "event_signoff"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
549 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
550 | case event_away: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
551 | sprintf(buf, "event_away"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
552 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
553 | case event_back: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
554 | sprintf(buf, "event_back"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
555 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
556 | case event_im_recv: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
557 | sprintf(buf, "event_im_recv"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
558 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
559 | case event_im_send: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
560 | sprintf(buf, "event_im_send"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
561 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
562 | case event_buddy_signon: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
563 | sprintf(buf, "event_buddy_signon"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
564 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
565 | case event_buddy_signoff: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
566 | sprintf(buf, "event_buddy_signoff"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
567 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
568 | case event_buddy_away: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
569 | sprintf(buf, "event_buddy_away"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
570 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
571 | case event_buddy_back: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
572 | sprintf(buf, "event_buddy_back"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
573 | break; |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
574 | case event_buddy_idle: |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
575 | sprintf(buf, "event_buddy_idle"); |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
576 | break; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
577 | case event_buddy_unidle: |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
578 | sprintf(buf, "event_buddy_unidle"); |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
579 | break; |
|
797
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
580 | case event_chat_invited: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
581 | sprintf(buf, "event_chat_invited"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
582 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
583 | case event_chat_join: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
584 | sprintf(buf, "event_chat_join"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
585 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
586 | case event_chat_leave: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
587 | sprintf(buf, "event_chat_leave"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
588 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
589 | case event_chat_buddy_join: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
590 | sprintf(buf, "event_chat_buddy_join"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
591 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
592 | case event_chat_buddy_leave: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
593 | sprintf(buf, "event_chat_buddy_leave"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
594 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
595 | case event_chat_recv: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
596 | sprintf(buf, "event_chat_recv"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
597 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
598 | case event_chat_send: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
599 | sprintf(buf, "event_chat_send"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
600 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
601 | case event_warned: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
602 | sprintf(buf, "event_warned"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
603 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
604 | case event_error: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
605 | sprintf(buf, "event_error"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
606 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
607 | case event_quit: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
608 | sprintf(buf, "event_quit"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
609 | break; |
|
808
d628a65dc058
[gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
806
diff
changeset
|
610 | case event_new_conversation: |
|
d628a65dc058
[gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
806
diff
changeset
|
611 | sprintf(buf, "event_new_conversaion"); |
|
d628a65dc058
[gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
806
diff
changeset
|
612 | break; |
|
797
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
613 | default: |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
614 | sprintf(buf, "event_unknown"); |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
615 | break; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
616 | } |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
617 | return buf; |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
618 | } |
|
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
619 | |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
620 | void plugin_event(enum gaim_event event, void *arg1, void *arg2, void *arg3, void *arg4) { |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
621 | #ifdef USE_PERL |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
622 | char buf[BUF_LONG]; |
|
797
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
623 | char *tmp; |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
624 | #endif |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
625 | #ifdef GAIM_PLUGINS |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
626 | GList *c = callbacks; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
627 | struct gaim_callback *g; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
628 | |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
629 | while (c) { |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
630 | g = (struct gaim_callback *)c->data; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
631 | if (g->event == event && g->function != NULL) { |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
632 | switch(event) { |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
633 | |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
634 | /* struct gaim_connection * */ |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
635 | case event_signon: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
636 | case event_signoff: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
637 | { |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
638 | void (*function)(struct gaim_connection *, void *) = g->function; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
639 | (*function)(arg1, g->data); |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
640 | } |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
641 | break; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
642 | |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
643 | /* no args */ |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
644 | case event_away: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
645 | case event_back: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
646 | case event_quit: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
647 | { |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
648 | void (*function)(void *) = g->function; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
649 | (*function)(g->data); |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
650 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
651 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
652 | |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
653 | /* struct gaim_connection *, char **, char ** */ |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
654 | case event_im_recv: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
655 | { |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
656 | void (*function)(struct gaim_connection *, char **, char **, |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
657 | void *) = g->function; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
658 | (*function)(arg1, arg2, arg3, g->data); |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
659 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
660 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
661 | |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
662 | /* struct gaim_connection *, char *, char ** */ |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
663 | case event_im_send: |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
664 | case event_chat_send: |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
665 | { |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
666 | void (*function)(struct gaim_connection *, char *, char **, |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
667 | void *) = g->function; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
668 | (*function)(arg1, arg2, arg3, g->data); |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
669 | } |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
670 | break; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
671 | |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
672 | /* struct gaim_connection *, char * */ |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
673 | case event_chat_join: |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
674 | case event_chat_leave: |
|
1047
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
675 | case event_buddy_signon: |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
676 | case event_buddy_signoff: |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
677 | case event_buddy_away: |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
678 | case event_buddy_back: |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
679 | case event_buddy_idle: |
|
783f8520d9a0
[gaim-migrate @ 1057]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1039
diff
changeset
|
680 | case event_buddy_unidle: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
681 | { |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
682 | void (*function)(struct gaim_connection *, char *, void *) = |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
683 | g->function; |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
684 | (*function)(arg1, arg2, g->data); |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
685 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
686 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
687 | |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
688 | /* char * */ |
|
808
d628a65dc058
[gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
806
diff
changeset
|
689 | case event_new_conversation: |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
690 | { |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
691 | void (*function)(char *, void *) = g->function; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
692 | (*function)(arg1, g->data); |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
693 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
694 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
695 | |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
696 | /* struct gaim_connection *, char *, char *, char * */ |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
697 | case event_chat_invited: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
698 | case event_chat_recv: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
699 | { |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
700 | void (*function)(struct gaim_connection *, char *, char *, |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
701 | char *, void *) = g->function; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
702 | (*function)(arg1, arg2, arg3, arg4, g->data); |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
703 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
704 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
705 | |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
706 | /* struct gaim_connection *, char *, char * */ |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
707 | case event_chat_buddy_join: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
708 | case event_chat_buddy_leave: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
709 | { |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
710 | void (*function)(struct gaim_connection *, char *, char *, |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
711 | void *) = g->function; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
712 | (*function)(arg1, arg2, arg3, g->data); |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
713 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
714 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
715 | |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
716 | /* char *, int */ |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
717 | case event_warned: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
718 | { |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
719 | void (*function)(char *, int, void *) = g->function; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
720 | (*function)(arg1, (int)arg2, g->data); |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
721 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
722 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
723 | |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
724 | /* int */ |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
725 | case event_error: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
726 | { |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
727 | void (*function)(int, void *) = g->function; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
728 | (*function)((int)arg1, g->data); |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
729 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
730 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
731 | |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
732 | default: |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
733 | sprintf(debug_buff, "unknown event %d\n", event); |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
734 | debug_print(debug_buff); |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
735 | break; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
736 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
737 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
738 | c = c->next; |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
739 | } |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
740 | #endif /* GAIM_PLUGINS */ |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
741 | #ifdef USE_PERL |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
742 | switch (event) { |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
743 | case event_signon: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
744 | g_snprintf(buf, sizeof buf, "\"%s\"", ((struct gaim_connection *)arg1)->username); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
745 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
746 | case event_signoff: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
747 | g_snprintf(buf, sizeof buf, "\"%s\"", ((struct gaim_connection *)arg1)->username); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
748 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
749 | case event_away: |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
750 | buf[0] = 0; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
751 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
752 | case event_back: |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
753 | buf[0] = 0; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
754 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
755 | case event_im_recv: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
756 | g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", ((struct gaim_connection *)arg1)->username, *(char **)arg2, *(char **)arg3); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
757 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
758 | case event_im_send: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
759 | g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", ((struct gaim_connection *)arg1)->username, (char *)arg2, *(char **)arg3); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
760 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
761 | case event_buddy_signon: |
|
1039
7dd4859bba95
[gaim-migrate @ 1049]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1038
diff
changeset
|
762 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
763 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
764 | case event_buddy_signoff: |
|
1039
7dd4859bba95
[gaim-migrate @ 1049]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1038
diff
changeset
|
765 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
766 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
767 | case event_buddy_away: |
|
1039
7dd4859bba95
[gaim-migrate @ 1049]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1038
diff
changeset
|
768 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
769 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
770 | case event_buddy_back: |
|
1039
7dd4859bba95
[gaim-migrate @ 1049]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1038
diff
changeset
|
771 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
772 | break; |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
773 | case event_buddy_idle: |
|
1039
7dd4859bba95
[gaim-migrate @ 1049]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1038
diff
changeset
|
774 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
775 | break; |
|
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
776 | case event_buddy_unidle: |
|
1039
7dd4859bba95
[gaim-migrate @ 1049]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
1038
diff
changeset
|
777 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
778 | break; |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
779 | case event_chat_invited: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
780 | g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", (char *)arg2, (char *)arg3, (char *)arg4); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
781 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
782 | case event_chat_join: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
783 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
784 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
785 | case event_chat_leave: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
786 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg2); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
787 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
788 | case event_chat_buddy_join: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
789 | g_snprintf(buf, sizeof buf, "\"%s\" \"%s\"", (char *)arg2, (char *)arg3); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
790 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
791 | case event_chat_buddy_leave: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
792 | g_snprintf(buf, sizeof buf, "\"%s\" \"%s\"", (char *)arg2, (char *)arg3); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
793 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
794 | case event_chat_recv: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
795 | g_snprintf(buf, sizeof buf, "\"%s\" \"%s\" %s", (char *)arg2, (char *)arg3, (char *)arg4); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
796 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
797 | case event_chat_send: |
|
1000
66436e94d53f
[gaim-migrate @ 1010]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
981
diff
changeset
|
798 | g_snprintf(buf, sizeof buf, "\"%s\" %s", (char *)arg2, *(char **)arg3); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
799 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
800 | case event_warned: |
|
829
3883114b2b71
[gaim-migrate @ 839]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
808
diff
changeset
|
801 | g_snprintf(buf, sizeof buf, "\"%s\" %d", (char *)arg1, (int)arg2); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
802 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
803 | case event_error: |
|
829
3883114b2b71
[gaim-migrate @ 839]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
808
diff
changeset
|
804 | g_snprintf(buf, sizeof buf, "%d", (int)arg1); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
805 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
806 | case event_quit: |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
807 | buf[0] = 0; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
808 | break; |
|
808
d628a65dc058
[gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
806
diff
changeset
|
809 | case event_new_conversation: |
|
829
3883114b2b71
[gaim-migrate @ 839]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
808
diff
changeset
|
810 | g_snprintf(buf, sizeof buf, "\"%s\"", (char *)arg1); |
|
808
d628a65dc058
[gaim-migrate @ 818]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
806
diff
changeset
|
811 | break; |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
812 | default: |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
813 | break; |
|
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
814 | } |
|
797
936aa5bed943
[gaim-migrate @ 807]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
789
diff
changeset
|
815 | tmp = event_name(event); |
|
829
3883114b2b71
[gaim-migrate @ 839]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
808
diff
changeset
|
816 | g_snprintf(debug_buff, sizeof debug_buff, "%s: %s\n", tmp, buf); |
|
783
ebe13222930c
[gaim-migrate @ 793]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
780
diff
changeset
|
817 | debug_print(debug_buff); |
|
806
3e5139e2f16e
[gaim-migrate @ 816]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
802
diff
changeset
|
818 | perl_event(tmp, buf); |
|
780
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
819 | #endif |
|
0513afaaf062
[gaim-migrate @ 790]
Eric Warmenhoven <warmenhoven@yahoo.com>
parents:
656
diff
changeset
|
820 | } |