comparison src/module.c @ 3835:b359aab1c576

[gaim-migrate @ 3985] bugfix. got rid of reload_plugin() function--it's no longer useful. committer: Tailor Script <tailor@pidgin.im>
author Sean Egan <seanegan@gmail.com>
date Wed, 30 Oct 2002 21:38:20 +0000
parents 988485669631
children 4927f8dd046f
comparison
equal deleted inserted replaced
3834:c66ed5df69ef 3835:b359aab1c576
62 /* --------------- Function Declarations --------------------- */ 62 /* --------------- Function Declarations --------------------- */
63 63
64 struct gaim_plugin * load_plugin(const char *); 64 struct gaim_plugin * load_plugin(const char *);
65 #ifdef GAIM_PLUGINS 65 #ifdef GAIM_PLUGINS
66 void unload_plugin(struct gaim_plugin *p); 66 void unload_plugin(struct gaim_plugin *p);
67 struct gaim_plugin *reload_plugin(struct gaim_plugin *p);
68 void gaim_signal_connect(GModule *, enum gaim_event, void *, void *); 67 void gaim_signal_connect(GModule *, enum gaim_event, void *, void *);
69 void gaim_signal_disconnect(GModule *, enum gaim_event, void *); 68 void gaim_signal_disconnect(GModule *, enum gaim_event, void *);
70 void gaim_plugin_unload(GModule *); 69 void gaim_plugin_unload(GModule *);
71 70
72 /* --------------- Static Function Declarations ------------- */ 71 /* --------------- Static Function Declarations ------------- */
214 break; 213 break;
215 p = p->next; 214 p = p->next;
216 } 215 }
217 216
218 if (plug && plug->handle) { 217 if (plug && plug->handle) {
219 reload_plugin(plug); 218 return plug;
220 return NULL;
221 } 219 }
222 220
223 if (!plug) { 221 if (!plug) {
224 plug = g_new0(struct gaim_plugin, 1); 222 plug = g_new0(struct gaim_plugin, 1);
225 g_snprintf(plug->path, sizeof(plug->path), filename); 223 g_snprintf(plug->path, sizeof(plug->path), filename);
332 update_show_plugins(); */ 330 update_show_plugins(); */
333 331
334 g_timeout_add(5000, unload_timeout, handle); 332 g_timeout_add(5000, unload_timeout, handle);
335 } 333 }
336 334
337 /* Do unload/load cycle of plugin. */
338 struct gaim_plugin *reload_plugin(struct gaim_plugin *p)
339 {
340 char file[1024];
341 GModule *handle = p->handle;
342
343 strncpy(file, g_module_name(handle), sizeof(file));
344 file[sizeof(file) - 1] = '\0';
345
346 debug_printf("Reloading %s\n", file);
347
348 /* Unload */
349 unload_plugin(p);
350
351 /* Load */
352 return load_plugin(file);
353 }
354
355 /* Remove all callbacks associated with plugin handle */ 335 /* Remove all callbacks associated with plugin handle */
356 static void plugin_remove_callbacks(GModule *handle) 336 static void plugin_remove_callbacks(GModule *handle)
357 { 337 {
358 GList *c = callbacks; 338 GList *c = callbacks;
359 struct gaim_callback *g; 339 struct gaim_callback *g;