24#define VLC_MODULES_H 1
31typedef int (*
vlc_activate_t)(
void *func,
bool forced, va_list args);
58 size_t *restrict strict_matches);
95 const char *
name,
bool strict,
99#define module_need(a,b,c,d) module_need(VLC_OBJECT(a),b,c,d)
114#define module_need_var(a,b,c) module_need_var(VLC_OBJECT(a),b,c)
117#define module_unneed(a,b) module_unneed(VLC_OBJECT(a),b)
200#define module_GetShortName( m ) module_get_name( m, false )
201#define module_GetLongName( m ) module_get_name( m, true )
static struct @101 modules
struct vlc_param ** list
Definition core.c:402
#define VLC_USED
Definition fourcc_gen.c:32
#define VLC_API
Definition fourcc_gen.c:31
#define unlikely(p)
Predicted false condition.
Definition vlc_common.h:246
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition vlc_variables.h:737
const char name[16]
Definition httpd.c:1298
Configuration item.
Definition vlc_configuration.h:70
Internal module descriptor.
Definition modules.h:76
VLC object common members.
Definition vlc_objects.h:53
This file is a collection of common definitions and types.
static bool module_exists(const char *name)
Checks if a module exists.
Definition vlc_modules.h:135
module_t * vlc_module_load(struct vlc_logger *log, const char *cap, const char *name, bool strict, vlc_activate_t probe,...)
Finds and instantiates the best module of a certain type.
Definition modules.c:195
void * vlc_module_map(struct vlc_logger *log, module_t *mod)
Maps a module in memory.
Definition modules.c:190
int module_get_score(const module_t *m)
Gets the precedence of a module.
Definition modules.c:82
const char * module_get_help(const module_t *m)
Gets the help text for a module.
Definition modules.c:67
module_config_t * module_config_get(const module_t *module, unsigned *restrict psize)
Gets the table of module configuration items.
Definition modules.c:319
const char * module_get_object(const module_t *m)
Gets the internal name of a module.
Definition modules.c:50
#define module_unneed(a, b)
Definition vlc_modules.h:118
static module_t * module_get_main(void)
Definition vlc_modules.h:245
#define module_need(a, b, c, d)
Definition vlc_modules.h:100
void module_list_free(module_t **)
Frees a flat list of VLC modules.
Definition bank.c:824
static bool module_is_main(const module_t *p_module)
Definition vlc_modules.h:250
const char * module_gettext(const module_t *m, const char *s)
Translates a string using the module's text domain.
Definition modules.c:87
void module_config_free(module_config_t *tab)
Releases a configuration items table.
Definition modules.c:356
const char * module_get_capability(const module_t *m)
Gets the capability string of a module.
Definition modules.c:77
bool module_provides(const module_t *m, const char *cap)
Checks whether a module implements a capability.
Definition modules.c:45
int(* vlc_activate_t)(void *func, bool forced, va_list args)
Definition vlc_modules.h:32
module_t * module_find(const char *name)
Get a pointer to a module_t given it's name.
Definition modules.c:296
module_t ** module_list_get(size_t *n)
Gets the flat list of VLC modules.
Definition bank.c:829
const char * module_get_name(const module_t *m, bool longname)
Gets the human-friendly name of a module.
Definition modules.c:57
ssize_t vlc_module_match(const char *capability, const char *names, bool strict, module_t ***restrict modules, size_t *restrict strict_matches)
Finds the candidate modules for given criteria.
Definition modules.c:110
const char * module_get_help_html(const module_t *m)
Gets the help HTML for a module.
Definition modules.c:72
#define module_need_var(a, b, c)
Definition vlc_modules.h:115