VLC
4.0.0-dev
|
Go to the source code of this file.
Data Structures | |
struct | vlc_plugin_t |
VLC plugin. More... | |
struct | module_t |
Internal module descriptor. More... | |
Macros | |
#define | MODULE_SHORTCUT_MAX 20 |
#define | module_LoadPlugins(a) module_LoadPlugins(VLC_OBJECT(a)) |
Typedefs | |
typedef struct vlc_plugin_t | vlc_plugin_t |
VLC plugin. More... | |
typedef int(* | vlc_plugin_cb) (int(*) (void *, void *, int,...), void *) |
Plugin entry point prototype. More... | |
Functions | |
int | vlc_entry__core (int(*)(void *, void *, int,...), void *) |
Core module. More... | |
vlc_plugin_t * | vlc_plugin_create (void) |
void | vlc_plugin_destroy (vlc_plugin_t *) |
Destroys a plug-in. More... | |
module_t * | vlc_module_create (vlc_plugin_t *) |
void | vlc_module_destroy (module_t *) |
Destroys a module. More... | |
vlc_plugin_t * | vlc_plugin_describe (vlc_plugin_cb) |
Runs a plug-in descriptor. More... | |
int | vlc_plugin_resolve (vlc_plugin_t *, vlc_plugin_cb) |
void | module_InitBank (void) |
Init bank. More... | |
void | module_LoadPlugins (vlc_object_t *) |
Loads module descriptions for all available plugins. More... | |
void | module_EndBank (bool) |
Unloads all unused plugin modules and empties the module bank in case of success. More... | |
int | module_Map (struct vlc_logger *, vlc_plugin_t *) |
void * | module_Symbol (struct vlc_logger *, vlc_plugin_t *, const char *name) |
ssize_t | module_list_cap (module_t ***, const char *) |
int | vlc_bindtextdomain (const char *) |
void * | vlc_dlopen (const char *path, bool) VLC_USED |
Loads a dynamically linked library. More... | |
int | vlc_dlclose (void *) |
Unloads a dynamic library. More... | |
void * | vlc_dlsym (void *handle, const char *) VLC_USED |
Looks up a symbol from a dynamically loaded library. More... | |
char * | vlc_dlerror (void) VLC_USED |
Formats an error message for vlc_dlopen() or vlc_dlsym(). More... | |
vlc_plugin_t * | vlc_cache_load (vlc_object_t *, const char *, block_t **) |
vlc_plugin_t * | vlc_cache_lookup (vlc_plugin_t **, const char *relpath) |
void | CacheSave (vlc_object_t *, const char *, vlc_plugin_t *const *, size_t) |
Variables | |
struct vlc_plugin_t * | vlc_plugins |
List of all plug-ins. More... | |
#define module_LoadPlugins | ( | a | ) | module_LoadPlugins(VLC_OBJECT(a)) |
Referenced by libvlc_InternalInit().
#define MODULE_SHORTCUT_MAX 20 |
Referenced by vlc_plugin_desc_cb().
typedef int(* vlc_plugin_cb) (int(*)(void *, void *, int,...), void *) |
Plugin entry point prototype.
typedef struct vlc_plugin_t vlc_plugin_t |
VLC plugin.
void CacheSave | ( | vlc_object_t * | , |
const char * | , | ||
vlc_plugin_t *const * | , | ||
size_t | |||
) |
Referenced by module_InitStaticModules().
void module_EndBank | ( | bool | ) |
Unloads all unused plugin modules and empties the module bank in case of success.
References block_ChainRelease(), caches, caps_tree, config_UnsortConfig(), module_Unmap(), modules, vlc_plugin_t::next, tdestroy(), vlc_modcap_free(), vlc_mutex_assert, vlc_mutex_lock(), vlc_mutex_unlock(), vlc_plugin_destroy(), and vlc_plugins.
Referenced by libvlc_InternalCleanup(), and libvlc_InternalInit().
void module_InitBank | ( | void | ) |
Init bank.
Creates a module bank structure which will be filled later on with all the modules found.
References config_SortConfig(), likely, module_InitStatic(), modules, vlc_entry__core(), vlc_mutex_lock(), and vlc_plugin_store().
Referenced by libvlc_InternalInit().
ssize_t module_list_cap | ( | module_t *** | , |
const char * | |||
) |
void module_LoadPlugins | ( | vlc_object_t * | obj | ) |
Loads module descriptions for all available plugins.
Fills the module bank structure with the plugin modules.
p_this | vlc object structure |
References config_SortConfig(), config_UnsortConfig(), count, list, module_InitStaticModules(), module_list_free(), module_list_get(), modules, msg_Dbg, twalk(), vlc_modcap_sort(), and vlc_mutex_unlock().
int module_Map | ( | struct vlc_logger * | , |
vlc_plugin_t * | |||
) |
Referenced by module_InitStaticModules(), and module_load().
void* module_Symbol | ( | struct vlc_logger * | , |
vlc_plugin_t * | , | ||
const char * | name | ||
) |
Referenced by config_GetIntChoices(), config_GetPszChoices(), and module_InitStaticModules().
int vlc_bindtextdomain | ( | const char * | ) |
References config_GetSysPath(), LocaleFree, ToLocale, unlikely, and VLC_LOCALE_DIR.
Referenced by libvlc_InternalInit().
vlc_plugin_t* vlc_cache_load | ( | vlc_object_t * | , |
const char * | , | ||
block_t ** | |||
) |
Referenced by module_InitStaticModules().
vlc_plugin_t* vlc_cache_lookup | ( | vlc_plugin_t ** | , |
const char * | relpath | ||
) |
Referenced by module_InitStaticModules().
int vlc_dlclose | ( | void * | ) |
Unloads a dynamic library.
This function unloads a previously opened dynamically linked library using a system dependent method.
handle | handle of the library |
0 | on success |
-1 | on error (none are defined though) |
Referenced by module_InitStaticModules().
char* vlc_dlerror | ( | void | ) |
Formats an error message for vlc_dlopen() or vlc_dlsym().
References FromLocaleDup, and strdup().
Referenced by module_InitStaticModules().
void* vlc_dlopen | ( | const char * | path, |
bool | |||
) |
Loads a dynamically linked library.
path | library file path |
lazy | whether to resolve the symbols lazily |
References ToLocaleDup, unlikely, and VLC_UNUSED.
Referenced by module_InitStaticModules().
void* vlc_dlsym | ( | void * | handle, |
const char * | |||
) |
Looks up a symbol from a dynamically loaded library.
This function looks for a named symbol within a loaded library.
handle | handle to the library |
name | function name |
Referenced by module_InitStaticModules().
int vlc_entry__core | ( | int(*)(void *, void *, int,...) | , |
void * | |||
) |
Core module.
Referenced by module_InitBank().
module_t* vlc_module_create | ( | vlc_plugin_t * | ) |
References module_t::activate_name, module_t::deactivate, module_t::deactivate_name, module_t::i_score, module_t::i_shortcuts, vlc_plugin_t::module, vlc_plugin_t::modules_count, module_t::next, module_t::pf_activate, module_t::plugin, module_t::pp_shortcuts, module_t::psz_capability, module_t::psz_help, module_t::psz_longname, and module_t::psz_shortname.
Referenced by vlc_plugin_desc_cb().
void vlc_module_destroy | ( | module_t * | ) |
Destroys a module.
References module_t::next, and module_t::pp_shortcuts.
Referenced by vlc_plugin_destroy().
vlc_plugin_t* vlc_plugin_create | ( | void | ) |
vlc_plugin_t* vlc_plugin_describe | ( | vlc_plugin_cb | entry | ) |
Runs a plug-in descriptor.
This loads the plug-in meta-data in memory.
References unlikely, vlc_plugin_create(), vlc_plugin_desc_cb(), and vlc_plugin_destroy().
Referenced by module_InitStatic(), and module_InitStaticModules().
void vlc_plugin_destroy | ( | vlc_plugin_t * | plugin | ) |
Destroys a plug-in.
References vlc_plugin_t::conf, config_Free(), vlc_plugin_t::items, vlc_plugin_t::module, vlc_plugin_t::size, and vlc_module_destroy().
Referenced by module_EndBank(), module_InitStaticModules(), and vlc_plugin_describe().
int vlc_plugin_resolve | ( | vlc_plugin_t * | , |
vlc_plugin_cb | |||
) |
References vlc_plugin_t::module, module_t::next, vlc_plugin_free_symbols(), vlc_plugin_get_symbol(), and vlc_plugin_get_symbols().
Referenced by module_InitStaticModules().
struct vlc_plugin_t* vlc_plugins |
List of all plug-ins.
Referenced by config_LoadCmdLine(), config_ResetAll(), config_SaveConfigFile(), config_SortConfig(), module_EndBank(), Usage(), and vlc_plugin_store().