Data Structures | Typedefs | Functions

modules.c File Reference

Include dependency graph for modules.c:

Data Structures

struct  module_list_t

Typedefs

typedef struct module_list_t module_list_t

Functions

bool module_provides (const module_t *m, const char *cap)
 Checks whether a module implements a capability.
const char * module_get_object (const module_t *m)
 Get the internal name of a module.
const char * module_get_name (const module_t *m, bool long_name)
 Get the human-friendly name of a module.
const char * module_get_help (const module_t *m)
 Get the help for a module.
const char * module_get_capability (const module_t *m)
 Get the capability for a module.
int module_get_score (const module_t *m)
 Get the score for a module.
const char * module_gettext (const module_t *m, const char *str)
 Translate a string using the module's text domain.
int module_start (vlc_object_t *obj, const module_t *m)
void module_stop (vlc_object_t *obj, const module_t *m)
static int modulecmp (const void *a, const void *b)
module_tvlc_module_load (vlc_object_t *p_this, const char *psz_capability, const char *psz_name, bool b_strict, vlc_activate_t probe,...)
 Finds and instantiates the best module of a certain type.
void vlc_module_unload (module_t *module, vlc_deactivate_t deinit,...)
 Deinstantiates a module.
static int generic_start (void *func, va_list ap)
static void generic_stop (void *func, va_list ap)
module_tmodule_need (vlc_object_t *obj, const char *cap, const char *name, bool strict)
void module_unneed (vlc_object_t *obj, module_t *module)
module_tmodule_find (const char *name)
 Get a pointer to a module_t given it's name.
bool module_exists (const char *psz_name)
 Tell if a module exists and release it in thic case.
module_tmodule_find_by_shortcut (const char *psz_shortcut)
 Get a pointer to a module_t that matches a shortcut.
module_config_tmodule_config_get (const module_t *module, unsigned *restrict psize)
 Get the configuration of a module.
void module_config_free (module_config_t *config)
 Release the configuration.

Typedef Documentation

typedef struct module_list_t module_list_t

Function Documentation

static int generic_start ( void *  func,
va_list  ap 
) [static]

Referenced by module_need().

static void generic_stop ( void *  func,
va_list  ap 
) [static]

Referenced by module_unneed().

void module_config_free ( module_config_t config  ) 

Release the configuration.

Parameters:
the configuration
Returns:
nothing
module_config_t* module_config_get ( const module_t module,
unsigned *restrict  psize 
)

Get the configuration of a module.

Parameters:
module the module
psize the size of the configuration returned
Returns:
the configuration as an array

References module_config_t::b_internal, module_config_t::b_removed, config, module_t::confsize, and module_t::p_config.

bool module_exists ( const char *  psz_name  ) 

Tell if a module exists and release it in thic case.

Parameters:
psz_name th name of the module
Returns:
TRUE if the module exists

References module_find().

Referenced by aout_New().

module_t* module_find ( const char *  name  ) 

Get a pointer to a module_t given it's name.

Parameters:
name the name of the module
Returns:
a pointer to the module or NULL in case of a failure

References module_t::i_shortcuts, list, module_list_free(), module_list_get(), module_t::pp_shortcuts, and unlikely.

Referenced by module_exists(), module_get_main(), and vout_EnableFilter().

module_t* module_find_by_shortcut ( const char *  psz_shortcut  ) 

Get a pointer to a module_t that matches a shortcut.

This is a temporary hack for SD. Do not re-use (generally multiple modules can have the same shortcut, so this is *broken* - use module_need()!).

Parameters:
psz_shortcut shortcut of the module
psz_cap capability of the module
Returns:
a pointer to the module or NULL in case of a failure

References module_t::i_shortcuts, list, module_list_free(), module_list_get(), and module_t::pp_shortcuts.

const char* module_get_capability ( const module_t m  ) 

Get the capability for a module.

Parameters:
m the module return the capability

References module_t::psz_capability.

const char* module_get_help ( const module_t m  ) 

Get the help for a module.

Parameters:
m the module
Returns:
the help

References module_t::psz_help.

const char* module_get_name ( const module_t m,
bool  long_name 
)

Get the human-friendly name of a module.

Parameters:
m the module
long_name TRUE to have the long name of the module
Returns:
the short or long name of the module

References module_get_object(), module_t::psz_longname, and module_t::psz_shortname.

Referenced by filter_chain_AppendFilterInternal(), and services_discovery_GetLocalizedName().

const char* module_get_object ( const module_t m  ) 

Get the internal name of a module.

Parameters:
m the module
Returns:
the module name

References module_t::i_shortcuts, module_t::pp_shortcuts, and unlikely.

Referenced by ListModules(), module_get_name(), module_is_main(), module_unneed(), SaveConfigFile(), Usage(), and vlc_module_load().

int module_get_score ( const module_t m  ) 

Get the score for a module.

Parameters:
m the module return the score for the capability

References module_t::i_score.

const char* module_gettext ( const module_t m,
const char *  str 
)

Translate a string using the module's text domain.

Parameters:
m the module
str the American English ASCII string to localize
Returns:
the gettext-translated string

References module_t::domain, module_t::parent, and unlikely.

Referenced by ListModules(), print_help_section(), and Usage().

module_t* module_need ( vlc_object_t obj,
const char *  cap,
const char *  name,
bool  strict 
)

References generic_start(), and vlc_module_load.

bool module_provides ( const module_t m,
const char *  cap 
)

Checks whether a module implements a capability.

Parameters:
m the module
cap the capability to check
Returns:
TRUE if the module have the capability

References module_t::psz_capability, and unlikely.

Referenced by vlc_module_load(), and vout_EnableFilter().

int module_start ( vlc_object_t obj,
const module_t m 
)

References module_t::pf_activate.

void module_stop ( vlc_object_t obj,
const module_t m 
)
void module_unneed ( vlc_object_t obj,
module_t module 
)
static int modulecmp ( const void *  a,
const void *  b 
) [static]

References module_list_t::i_score.

Referenced by vlc_module_load().

module_t* vlc_module_load ( vlc_object_t p_this,
const char *  psz_capability,
const char *  psz_name,
bool  b_strict,
vlc_activate_t  probe,
  ... 
)

Finds and instantiates the best module of a certain type.

All candidates modules having the specified capability and name will be sorted in decreasing order of priority. Then the probe callback will be invoked for each module, until it succeeds (returns 0), or all candidate module failed to initialize.

The probe callback first parameter is the address of the module entry point. Further parameters are passed as an argument list; it corresponds to the variable arguments passed to this function. This scheme is meant to support arbitrary prototypes for the module entry point.

Parameters:
p_this VLC object
psz_capability capability, i.e. class of module
psz_name name name of the module asked, if any
b_strict if true, do not fallback to plugin with a different name but the same capability
probe module probe callback
Returns:
the module or NULL in case of a failure

References ap, module_list_t::b_force, count, module_list_t::i_score, module_t::i_score, module_t::i_shortcuts, likely, module_get_object(), module_list_free(), module_list_get(), module_Map(), module_provides(), modulecmp(), msg_Dbg, name, module_list_t::p_module, module_t::pf_activate, module_t::pp_shortcuts, strcasecmp(), strdup(), strncasecmp(), va_end(), va_start(), var_CreateGetString, VLC_ETIMEOUT, vlc_object_set_name, and VLC_SUCCESS.

void vlc_module_unload ( module_t module,
vlc_deactivate_t  deinit,
  ... 
)

Deinstantiates a module.

Parameters:
module the module pointer as returned by vlc_module_load()
deinit deactivation callback

References ap, module_t::pf_deactivate, va_end(), and va_start().

Referenced by module_unneed(), vlc_tls_ClientCreate(), vlc_tls_ClientDelete(), and vout_window_Delete().

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines