comparison src/audacious/pluginenum.c @ 3682:84bc78954db5

Start working on exporting all public functions via a vtable. The API version will be bumped to 7 once I am done and -Wl,-export-dynamic is removed.
author William Pitcock <nenolod@atheme.org>
date Mon, 01 Oct 2007 23:00:46 -0500
parents 6aea4fb32ef4
children 4284187479d7
comparison
equal deleted inserted replaced
3681:7865f8395437 3682:84bc78954db5
55 const gchar *plugin_dir_list[] = { 55 const gchar *plugin_dir_list[] = {
56 PLUGINSUBS, 56 PLUGINSUBS,
57 NULL 57 NULL
58 }; 58 };
59 59
60 /*****************************************************************/
61
62 static struct _AudaciousFuncTableV1 _aud_papi_v1 = {
63 .vfs_fopen = vfs_fopen,
64 .vfs_fclose = vfs_fclose,
65 .vfs_dup = vfs_dup,
66 .vfs_fread = vfs_fread,
67 .vfs_fwrite = vfs_fwrite,
68 .vfs_getc = vfs_getc,
69 .vfs_ungetc = vfs_ungetc,
70 .vfs_fgets = vfs_fgets,
71 .vfs_fseek = vfs_fseek,
72 .vfs_rewind = vfs_rewind,
73 .vfs_ftell = vfs_ftell,
74 .vfs_feof = vfs_feof,
75 .vfs_file_test = vfs_file_test,
76 .vfs_is_writeable = vfs_is_writeable,
77 .vfs_truncate = vfs_truncate,
78 .vfs_fsize = vfs_fsize,
79 .vfs_get_metadata = vfs_get_metadata,
80 .vfs_fprintf = vfs_fprintf,
81 .vfs_register_transport = vfs_register_transport,
82 .vfs_file_get_contents = vfs_file_get_contents,
83 .vfs_is_remote = vfs_is_remote,
84 .vfs_is_streaming = vfs_is_streaming,
85 }
86
87 /*****************************************************************/
88
60 GList *lowlevel_list = NULL; 89 GList *lowlevel_list = NULL;
61 extern GList *vfs_transports; 90 extern GList *vfs_transports;
62 91
63 mowgli_dictionary_t *plugin_dict = NULL; 92 mowgli_dictionary_t *plugin_dict = NULL;
64 93
369 } 398 }
370 399
371 /* v2 plugin loading */ 400 /* v2 plugin loading */
372 if (g_module_symbol(module, "get_plugin_info", &func)) 401 if (g_module_symbol(module, "get_plugin_info", &func))
373 { 402 {
374 PluginHeader *(*header_func_p)() = func; 403 PluginHeader *(*header_func_p)(struct _AudaciousFuncTableV1 *) = func;
375 PluginHeader *header; 404 PluginHeader *header;
376 405
377 /* this should never happen. */ 406 /* this should never happen. */
378 g_return_if_fail((header = header_func_p()) != NULL); 407 g_return_if_fail((header = header_func_p(&_aud_papi_v1)) != NULL);
379 408
380 plugin2_process(header, module, filename); 409 plugin2_process(header, module, filename);
381 return; 410 return;
382 } 411 }
383 412