Functions | Variables

bank.c File Reference

Include dependency graph for bank.c:

Functions

static module_tmodule_InitStatic (vlc_plugin_cb entry)
 Registers a statically-linked plug-in.
static void module_StoreBank (module_t *module)
static void module_InitStaticModules (void)
void module_InitBank (void)
 Init bank.
void module_EndBank (bool b_plugins)
 Unloads all unused plugin modules and empties the module bank in case of success.
size_t module_LoadPlugins (vlc_object_t *obj)
 Loads module descriptions for all available plugins.
void module_list_free (module_t **list)
 Frees the flat list of VLC modules.
module_t ** module_list_get (size_t *n)
 Gets the flat list of VLC modules.
int module_Map (vlc_object_t *obj, module_t *module)
 Makes sure the module is loaded in memory.

Variables

struct {
   vlc_mutex_t   lock
   module_t *   head
   unsigned   usage
modules
vlc_plugin_cb vlc_static_modules []

Function Documentation

void module_EndBank ( bool  b_plugins  ) 
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(), module_InitStaticModules(), module_StoreBank(), modules, vlc_entry__main(), and vlc_mutex_lock().

Referenced by libvlc_InternalInit().

static module_t * module_InitStatic ( vlc_plugin_cb  entry  )  [static]

Registers a statically-linked plug-in.

References module_t::b_loaded, module_t::b_unloadable, unlikely, and vlc_plugin_describe().

Referenced by module_InitBank(), and module_InitStaticModules().

static void module_InitStaticModules ( void   )  [static]
void module_list_free ( module_t **  list  ) 

Frees the flat list of VLC modules.

Parameters:
list list obtained by module_list_get()
length number of items on the list
Returns:
nothing.

Referenced by config_LoadCmdLine(), config_ResetAll(), config_SaveConfigFile(), config_SortConfig(), ListModules(), module_find(), module_find_by_shortcut(), module_list_get(), module_LoadPlugins(), Usage(), and vlc_module_load().

module_t** module_list_get ( size_t *  n  ) 

Gets the flat list of VLC modules.

Parameters:
n [OUT] pointer to the number of modules or NULL
Returns:
NULL-terminated table of module pointers (release with module_list_free()), or NULL in case of error.

References module_list_free(), and modules.

Referenced by config_LoadCmdLine(), config_ResetAll(), config_SaveConfigFile(), config_SortConfig(), ListModules(), module_find(), module_find_by_shortcut(), module_LoadPlugins(), Usage(), and vlc_module_load().

size_t module_LoadPlugins ( vlc_object_t obj  ) 

Loads module descriptions for all available plugins.

Fills the module bank structure with the plugin modules.

Parameters:
p_this vlc object structure
Returns:
total number of modules in bank after loading all plug-ins

References config_SortConfig(), config_UnsortConfig(), count, list, module_list_free(), module_list_get(), modules, msg_Dbg, and vlc_mutex_unlock().

int module_Map ( vlc_object_t obj,
module_t module 
)

Makes sure the module is loaded in memory.

Returns:
0 on success, -1 on failure

References module_t::b_loaded, CacheMerge(), msg_Err, module_t::parent, module_t::psz_filename, and vlc_module_destroy().

Referenced by vlc_module_load().

static void module_StoreBank ( module_t module  )  [static]

Variable Documentation

Referenced by module_EndBank(), and vout_BuildOSDEpg().

struct { ... } modules [static]
unsigned usage
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines